addPatient

Unterstützt ab TTP-FHIR Gateway Version 2.2.0

Zweck

Anlegen und Matching (Record Linkage) von übermittelten Patienten-Resourcen auf Basis der personenidentifizierenden Informationen (IDAT) im E-PIX.

Dabei werden eine oder mehrere Patientenidentitäten im E-PIX erzeugt. Nach Abschluss des Record Linkage Prozesses werden für jede übermittelte Patienten-Resource der Master Person Index (MPI ID), die MPI-Zuordnung (Person-Ressource) sowie der Match-Status und vorhandene Identitäten zurückgegeben.

Voraussetzung

Die angegebenen Parameter zur Spezifikation der Matching-Domäne und der Datenquelle müssen im E-PIX konfiguriert sein.

Aufruf und Rückgabe

Die bereitgestellte Funktionalität kann per POST-Request aufgerufen werden. Die erforderlichen Angaben werden per POST-BODY in Form von FHIR Parameters übermittelt.

<HOST>:<PORT>/ttp-fhir/fhir/epix/$addPatient

Der Funktionsaufruf liefert eine Parameters-Ressource bestehend aus einem oder mehreren Multi-Part-Parametern zurück.

Invocations

URL: [base]/$addPatient

This operation changes content

Parameters (In)

NameCardinalityTypeBindingDocumentation
domain1..1string

Angabe der Matching-Domaene

source1..1string

Datenquelle

identity1..*Patient

Patient-Ressource (analog zu Patienten-Identität).

saveAction1..1CodingSaveAction (required)
forceReferenceUpdate1..1boolean

Return Values (Out)

NameCardinalityTypeBindingDocumentation
matchResult1..*

Match-Ergebnis zu einer übergebenen Patienten-Identität. Für jeden im Request übergebenen identity-Parameter wird genau ein matchResult zurück gegeben.

matchResult.sourceIdentity1..1Patient

Die im Request übergebene, unveränderte Patienten-Ressource, auf die sich dieses Match-Ergebnis bezieht.

matchResult.matchStatus1..1CodingMatchStatus (required)

Match-Status aus dem Matching der übermittelten Patienten-Identität

matchResult.mpiPerson0..1Person

Person-Ressource, die den MPI-Eintrag repräsentiert.

matchResult.identity0..*Patient

Patient-Ressource (analog zu Patienten-Identität, referenziert aus dem MPI-Index der Personen-Ressource).

Anlegen und Matching (Record Linkage) von übermittelten Patienten-Resourcen auf Basis der personenidentifizierenden Informationen (IDAT) im E-PIX.

Dabei werden eine oder mehrere Patienten-Identitäten im E-PIX erzeugt. Nach Abschluss des Record Linkage Prozesses werden für jede übermittelte Patienten-Resource der Master Person Index (MPI ID), die MPI-Zuordnung (Person-Ressource) sowie der Match-Status und vorhandene Identitäten zurückgegeben.

Die Parameter "identity" und "sourceIdentity" enthalten eine Patient-Ressource entsprechend dem allgemeinen Patient-Profil:

idΣ0..1string
id0..1string
extensionC0..*Extension
versionIdS Σ0..1id
lastUpdatedS Σ0..1instant
sourceS Σ0..1uri
profileΣ0..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
id0..1string
extensionC0..*Extension
useΣ ?!0..0codeBinding
typeΣ0..0codeBinding
textΣ0..0string
lineΣ0..0string
cityS Σ1..1string
districtΣ0..0string
stateΣ0..0string
postalCodeΣ0..0string
countryΣ0..0string
periodΣ0..0Period
id0..1string
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valuePeriodPeriod
url1..1uriFixed Value
customIdatValuesS C0..1Extension(Complex)
modifierExtension?! C0..*Extension
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
activeS Σ ?!0..1boolean
id0..1string
extensionC0..*Extension
useS Σ ?!0..1codeBinding
textΣ0..0string
familyS Σ0..1string
givenS Σ0..*string
id0..1string
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueCodecode
value0..1System.String
suffixS Σ0..*string
periodΣ0..0Period
id0..1string
extensionC0..*Extension
systemS Σ C1..1codeBindingPattern
valueS Σ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ0..1Period
id0..1string
extensionC0..*Extension
systemS Σ C1..1codeBindingPattern
valueS Σ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ0..1Period
genderS Σ0..1codeBinding
birthDateS Σ0..1date
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textΣ0..0string
lineS Σ0..*string
cityS Σ0..1string
districtΣ0..0string
stateS Σ0..1stringBinding
postalCodeS Σ0..1string
countryS Σ0..1stringBinding
periodΣ0..0Period
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ1..1string
photo0..0Attachment
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
preferredS1..1booleanFixed Value
generalPractitioner0..0Reference(Organization | Practitioner | PractitionerRole)
managingOrganizationΣ0..0Reference(Organization)

Der Parameter "mpiPerson" enthält eine Person-Ressource entsprechend dem allgemeinen Person-Profil. Die Angabe link.assurance='level4' kennzeichnet hierbei die Referenz-Identität:

idΣ0..1string
id0..1string
extensionC0..*Extension
versionIdΣ0..1id
lastUpdatedS Σ0..1instant
sourceΣ0..1uri
profileΣ0..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
customIdatValuesS C0..*Extension(Complex)
modifierExtension?! C0..*Extension
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
id0..1string
extensionC0..*Extension
useS Σ ?!0..1codeBinding
textΣ0..0string
familyS Σ0..1string
givenS Σ0..*string
id0..1string
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueCodecode
value0..1System.String
suffixS Σ0..*string
periodΣ0..1Period
id0..1string
extensionC0..*Extension
systemS Σ C1..1codeBindingPattern
valueS Σ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ0..1Period
id0..1string
extensionC0..*Extension
systemS Σ C1..1codeBindingPattern
valueS Σ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ0..1Period
genderS Σ0..1codeBinding
birthDateS Σ0..1date
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textΣ0..0string
lineS Σ0..*string
cityS Σ0..1string
districtΣ0..0string
stateS Σ0..1string
postalCodeS Σ0..1string
countryS Σ0..1string
periodΣ0..0Period
photo0..0Attachment
id0..1string
extensionC0..*Extension
referenceΣ C0..1string
typeΣ0..1uriBinding
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
displayΣ0..1string
activeS Σ ?!0..1boolean
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
id0..1string
extensionC0..*Extension
referenceS Σ C1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
assuranceS0..1codeBinding

Im Erfolgsfall wird der HTTP Statuscode 200 zurückgegeben.

Im Fehlerfall wird einer der folgenden HTTP Statuscodes in Verbindung mit einer OperationOutcome-Ressource zurückgegeben:

  • 400: Fehlende oder fehlerhafte Parameter.
  • 401: Fehlende Authentifizierung oder Autorisierung.
  • 404: Parameter mit unbekanntem Inhalt.
  • 422: Fehlende oder falsche Patienten-Attribute.
Beispiel

Beispielhafter Request-Body:

<Parameters xmlns="http://hl7.org/fhir">
<id value="Parameters-AddPatient-request-example-1" />
<name value="domain" />
<valueString value="MIRACUM" />
</parameter>
<name value="source" />
<valueString value="KlinikumXY" />
</parameter>
<name value="identity" />
<Patient>
<profile value="https://ths-greifswald.de/fhir/StructureDefinition/epix/Patient" />
</meta>
<valueString value="A38" />
</extension>
<valueBoolean value="true" />
</extension>
</extension>
<system value="https://ths-greifswald.de/fhir/epix/identifier/SystemXY" />
<value value="ABC_12345" />
</identifier>
<family value="xxxxx" />
<given value="Stefanie" />
</name>
<birthDate value="1962-12-17" />
<city value="Spöck" />
<postalCode value="76297" />
</address>
<line value="Musterstrasse 1" />
<city value="Greifswald" />
<postalCode value="17487" />
</address>
</Patient>
</resource>
</parameter>
<name value="saveAction" />
<system value="https://ths-greifswald.de/fhir/CodeSystem/epix/SaveAction" />
<code value="SAVE_ALL" />
</valueCoding>
</parameter>
<name value="forceReferenceUpdate" />
<valueBoolean value="false" />
</parameter>
</Parameters>

Beispielhafte Response:

<Parameters xmlns="http://hl7.org/fhir">
<id value="Parameters-AddPatient-response-example-1" />
<name value="matchResult" />
<name value="sourceIdentity" />
<Patient>
<profile value="https://ths-greifswald.de/fhir/StructureDefinition/epix/Patient" />
</meta>
<valueString value="A38" />
</extension>
<valueBoolean value="true" />
</extension>
</extension>
<family value="xxxxx" />
<given value="Stefanie" />
</name>
<birthDate value="1962-12-17" />
</Patient>
</resource>
</part>
<name value="matchStatus" />
<system value="https://ths-greifswald.de/fhir/CodeSystem/epix/MatchStatus" />
<code value="MATCH" />
</valueCoding>
</part>
<name value="mpiPerson" />
<Person>
<id value="52" />
<lastUpdated value="2021-06-17T08:28:03.200+02:00" />
<profile value="https://ths-greifswald.de/fhir/StructureDefinition/epix/Person" />
</meta>
<system value="https://ths-greifswald.de/fhir/epix/identifier/MPI" />
<value value="1001000000066" />
</identifier>
<value value="MIRACUM" />
</identifier>
</managingOrganization>
<active value="true" />
<reference value="Patient/52" />
</target>
</link>
<reference value="Patient/53" />
</target>
<assurance value="level4" />
</link>
</Person>
</resource>
</part>
<name value="identity" />
<Patient>
<id value="52" />
<versionId value="1" />
<lastUpdated value="2021-06-17T08:28:03.200+02:00" />
<source value="dummy_safe_source" />
<profile value="https://ths-greifswald.de/fhir/StructureDefinition/epix/Patient" />
</meta>
<valueString value="A38" />
</extension>
<valueBoolean value="true" />
</extension>
</extension>
<system value="https://ths-greifswald.de/fhir/epix/identifier/SystemXY" />
<value value="ABC_12345" />
</identifier>
<active value="true" />
<family value="xxxxx" />
<given value="Stefanie" />
</name>
<gender value="male" />
<birthDate value="1962-12-17" />
</Patient>
</resource>
</part>
<name value="identity" />
<Patient>
<id value="53" />
<versionId value="1" />
<lastUpdated value="2021-06-17T08:28:24.180+02:00" />
<source value="dummy_safe_source" />
<profile value="https://ths-greifswald.de/fhir/StructureDefinition/epix/Patient" />
</meta>
<active value="true" />
<family value="xxxxx" />
<given value="Stefanie" />
</name>
<gender value="male" />
<birthDate value="1962-12-16" />
</Patient>
</resource>
</part>
</parameter>
</Parameters>