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)

NameCardinalityTypeDocumentation
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..1Coding

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
extensionI0..*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
extensionI0..0Extension
url1..1uriFixed Value
id0..1string
extensionI0..*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Σ I0..0Period
id0..1string
id0..1string
extensionI0..0Extension
url1..1uriFixed Value
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
id0..1string
extensionI0..0Extension
url1..1uriFixed Value
valuePeriodPeriod
url1..1uriFixed Value
customIdatValuesS I0..1Extension(Complex)
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeS Σ ?!0..1boolean
id0..1string
extensionI0..*Extension
useS Σ ?!0..1codeBinding
textΣ0..0string
familyS Σ0..1string
givenS Σ0..*string
id0..1string
id0..1string
extensionI0..0Extension
url1..1uriFixed Value
valueCodecode
value0..1System.String
suffixS Σ0..*string
periodΣ I0..0Period
id0..1string
extensionI0..*Extension
systemS Σ I1..1codeBindingPattern
valueS Σ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
id0..1string
extensionI0..*Extension
systemS Σ I1..1codeBindingPattern
valueS Σ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
genderS Σ0..1codeBinding
birthDateS Σ0..1date
id0..1string
extensionI0..*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Σ I0..0Period
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ1..1string
photoI0..0Attachment
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
preferredS1..1booleanFixed Value
generalPractitionerI0..0Reference(Organization | Practitioner | PractitionerRole)
managingOrganizationΣ I0..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
extensionI0..*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 I0..*Extension(Complex)
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
id0..1string
extensionI0..*Extension
useS Σ ?!0..1codeBinding
textΣ0..0string
familyS Σ0..1string
givenS Σ0..*string
id0..1string
id0..1string
extensionI0..0Extension
url1..1uriFixed Value
valueCodecode
value0..1System.String
suffixS Σ0..*string
periodΣ I0..1Period
id0..1string
extensionI0..*Extension
systemS Σ I1..1codeBindingPattern
valueS Σ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
id0..1string
extensionI0..*Extension
systemS Σ I1..1codeBindingPattern
valueS Σ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
genderS Σ0..1codeBinding
birthDateS Σ0..1date
id0..1string
extensionI0..*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Σ I0..0Period
photoI0..0Attachment
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
activeS Σ ?!0..1boolean
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
referenceS Σ I1..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" />
    <parameter>
        <name value="domain" />
        <valueString value="MIRACUM" />
    </parameter>
    <parameter>
        <name value="source" />
        <valueString value="KlinikumXY" />
    </parameter>
    <parameter>
        <name value="identity" />
        <resource>
            <Patient>
                <meta>
                    <profile value="https://ths-greifswald.de/fhir/StructureDefinition/epix/Patient" />
                </meta>
                <extension>
                    <extension>
                        <valueString value="A38" />
                    </extension>
                    <extension>
                        <valueBoolean value="true" />
                    </extension>
                </extension>
                <identifier>
                    <system value="https://ths-greifswald.de/fhir/epix/identifier/SystemXY" />
                    <value value="ABC_12345" />
                </identifier>
                <name>
                    <family value="xxxxx" />
                    <given value="Stefanie" />
                </name>
                <birthDate value="1962-12-17" />
                <address>
                    <city value="Sp&#246;ck" />
                    <postalCode value="76297" />
                </address>
                <address>
                    <line value="Musterstrasse 1" />
                    <city value="Greifswald" />
                    <postalCode value="17487" />
                </address>
            </Patient>
        </resource>
    </parameter>
    <parameter>
        <name value="saveAction" />
        <valueCoding>
            <system value="https://ths-greifswald.de/fhir/CodeSystem/epix/SaveAction" />
            <code value="SAVE_ALL" />
        </valueCoding>
    </parameter>
    <parameter>
        <name value="forceReferenceUpdate" />
        <valueBoolean value="false" />
    </parameter>
</Parameters>

Beispielhafte Response:

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