Class Iti104UpdateResourceProvider
java.lang.Object
org.openehealth.ipf.commons.ihe.fhir.FhirProvider
org.openehealth.ipf.commons.ihe.fhir.AbstractPlainProvider
org.openehealth.ipf.commons.ihe.fhir.AbstractResourceProvider
org.openehealth.ipf.commons.ihe.fhir.iti104.Iti104UpdateResourceProvider
- All Implemented Interfaces:
IResourceProvider, Serializable
- Direct Known Subclasses:
Iti104ResourceProvider
Resource Provider for the Patient Identity Feed FHIR [ITI-104] transaction of a Patient Identifier
Cross-reference Manager that does not support the Remove Patient Option. It only accepts the
conditional update (
PUT Patient?identifier=system|value) of the Add/Revise Patient and
Resolve Duplicate Patient messages, so delete is not advertised in the CapabilityStatement. This
suits e.g. a Manager that proxies ITI-104 to a PIX Feed (ITI-8), which has no equivalent of
Remove Patient. Use it with the resourceProvider endpoint parameter.
Requests that are not conditional on exactly one patient identifier are rejected. The route receives
the Patient as body, and the identifier as Iti104Parameters in the
Constants.FHIR_REQUEST_PARAMETERS header. It is
expected to return a MethodOutcome; for an update that created the patient,
MethodOutcome.setCreated(Boolean) shall be set.
ITI-104 defers to the FHIR conditional update and delete semantics, which the route has to implement,
as only it knows the patients: e.g. if the condition matches more than one patient, it shall reject the
request with 412 Precondition Failed (PreconditionFailedException).
A conditional delete that matches no patient is not an error.
- Since:
- 6.0
- Author:
- Christian Ohr
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionClass<? extends IBaseResource> protected static Iti104Parametersiti104Parameters(IdType resourceId, String conditionalUrl, RequestDetails requestDetails) updatePatient(Patient patient, IdType resourceId, String conditionalUrl, RequestDetails requestDetails, jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.servlet.http.HttpServletResponse httpServletResponse) Methods inherited from class AbstractPlainProvider
getFhirContext, getRequestConsumer, requestAction, requestBundle, requestBundleProvider, requestResource, setConsumer, unsetConsumerMethods inherited from class FhirProvider
enrichParameters, processOutHeaders, requiresDeregistration, requiresRegistration
-
Constructor Details
-
Iti104UpdateResourceProvider
public Iti104UpdateResourceProvider()
-
-
Method Details
-
getResourceType
-
updatePatient
public MethodOutcome updatePatient(Patient patient, IdType resourceId, String conditionalUrl, RequestDetails requestDetails, jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.servlet.http.HttpServletResponse httpServletResponse) -
iti104Parameters
protected static Iti104Parameters iti104Parameters(IdType resourceId, String conditionalUrl, RequestDetails requestDetails)
-