addPatient

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.

The resource cannot be rendered.

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

versionIdS Σ0..1id
lastUpdatedS Σ0..1instant
sourceS Σ0..1uri
profileΣ0..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
url1..1System.StringFixed Value
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
url1..1uriFixed Value
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
url1..1uriFixed Value
valuePeriodPeriod
url1..1System.StringFixed Value
customIdatValuesS I0..1Extension(Complex)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeS Σ ?!0..1boolean
useS Σ ?!0..1codeBinding
textΣ0..0string
familyS Σ0..1string
givenS Σ0..*string
url1..1System.StringFixed Value
valueCodecode
suffixS Σ0..*string
periodΣ I0..0Period
telecomΣ I0..0ContactPoint
genderS Σ0..1codeBinding
birthDateS Σ0..1date
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
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ1..1string
photoI0..0Attachment
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:

versionIdΣ0..1id
lastUpdatedS Σ0..1instant
sourceΣ0..1uri
profileΣ0..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
customIdatValuesS I0..*Extension(Complex)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useS Σ ?!0..1codeBinding
textΣ0..0string
familyS Σ0..1string
givenS Σ0..*string
url1..1System.StringFixed Value
valueCodecode
suffixS Σ0..*string
periodΣ I0..1Period
telecomΣ I0..0ContactPoint
genderS Σ0..1codeBinding
birthDateS Σ0..1date
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
referenceΣ I0..1string
typeΣ0..1uriBinding
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
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.
  • 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>
                <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>
                    <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/identifier/BeispielMpiId" />
                        <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>
                    <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>