Patient (Patient)

Die nachfolgenden Festlegungen spezifizieren die Abbildung von Minimalanforderungen für die Bereitstellung von administrativen Patientendaten im Rahmen des Bestätigungsverfahrens der gematik.


Motivation

Der Austausch administrativer Patientendaten ist eine der grundlegenden Funktionalitäten beim Datenaustausch in der klinischen Versorgung.

In FHIR werden sämtliche klinischen Ressourcen durch Verlinkung auf die Ressource 'Patient' in einen Patientenkontext gestellt.

Die Herstellung des korrekten Patientenkontextes durch Suchen der Patientenressource anhand von Eigenschaften wie Aufnahmenummer, Name oder Geburtsdatum, die Anzeige der zutreffenden Suchergebnisse und der Auswahl bzw. Bestätigung des richtigen Datensatzes durch den Anwender steht am Beginn der meisten klinischen Workflows.


Kompatibilität

Für das Profil ISIKPatient wird eine Kompatibilität mit folgenden Profilen angestrebt; allerdings kann nicht sichergestellt werden, dass Instanzen, die gegen ISIKPatient valide sind, auch valide sind gegen:

Hinweise zu Inkompatibilitäten können über die Portalseite gemeldet werden..


FHIR-Profil

NameCanonical
ISiKPatienthttps://gematik.de/fhir/isik/StructureDefinition/ISiKPatient
idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeS Σ I1..1CodeableConceptBindingPattern
systemS Σ1..1uriFixed Value
valueS Σ I1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeS Σ I1..1CodeableConceptBindingPattern
systemS Σ1..1uriFixed Value
valueS Σ I1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeS Σ1..1CodeableConceptBindingPattern
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
id0..1string
extensionI0..*Extension
useS Σ ?!0..1codeBindingFixed Value
typeS Σ1..1CodeableConceptBindingPattern
systemΣ0..1uri
valueS Σ1..1string
periodΣ I0..1Period
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBindingPattern
systemS Σ1..1uriFixed Value
valueS Σ I1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayS Σ1..1string
activeS Σ ?!0..1boolean
id0..1string
extensionI0..*Extension
useS Σ ?!1..1codeBindingPattern
textΣ0..1string
id0..1string
namenszusatzS I0..1Extension(string)
nachnameS I0..1Extension(string)
vorsatzwortS I0..1Extension(string)
value0..1System.String
givenS Σ1..*string
id0..1string
id0..1string
extensionI0..0Extension
url1..1uriFixed Value
valueCodecode
value0..1System.String
suffixΣ0..*string
periodΣ I0..1Period
id0..1string
extensionI0..*Extension
useS Σ ?!1..1codeBindingPattern
textΣ0..1string
id0..1string
namenszusatzS I0..1Extension(string)
nachnameS I0..1Extension(string)
vorsatzwortS I0..1Extension(string)
value0..1System.String
givenΣ0..0string
suffixΣ0..*string
periodΣ I0..1Period
id0..1string
extensionI0..*Extension
systemΣ I1..1codeBinding
valueΣ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
id0..1string
Geschlecht-AdministrativS I0..1Extension(Coding)
value0..1System.String
id0..1string
id0..1string
extensionI0..0Extension
url1..1uriFixed Value
valueCodecode
value0..1System.Date
deceasedBooleanboolean
deceasedDateTimedateTime
id0..1string
StadtteilS I0..1Extension(string)
useΣ ?!0..1codeBinding
typeS Σ1..1codeBindingPattern
textΣ0..1string
id0..1string
StrasseS I0..1Extension(string)
HausnummerS I0..1Extension(string)
AdresszusatzS I0..1Extension(string)
PostfachI0..0Extension(string)
value0..1System.String
cityS Σ1..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeS Σ1..1string
countryS Σ1..1stringBinding
periodΣ I0..1Period
id0..1string
StadtteilI0..1Extension(string)
useΣ ?!0..1codeBinding
typeS Σ1..1codeBindingPattern
textΣ0..1string
id0..1string
StrasseI0..0Extension(string)
HausnummerI0..0Extension(string)
AdresszusatzI0..0Extension(string)
PostfachS I0..1Extension(string)
value0..1System.String
cityS Σ1..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeS Σ1..1string
countryS Σ1..1stringBinding
periodΣ I0..1Period
maritalStatus0..1CodeableConceptBinding
multipleBirthBooleanboolean
multipleBirthIntegerinteger
photoI0..*Attachment
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
relationship0..*CodeableConceptBinding
name0..1HumanName
telecomI0..*ContactPoint
address0..1Address
gender0..1codeBinding
organizationI0..1Reference(Organization)
periodI0..1Period
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
language1..1CodeableConceptBinding
preferred0..1boolean
generalPractitionerI0..*Reference(Organization | Practitioner | PractitionerRole)
managingOrganizationΣ I0..1Reference(Organization)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierS Σ0..1Identifier
displayΣ0..1string
typeS Σ1..1codeBinding

Folgende FHIRPath-Constraints sind im Profil zu beachten:

keyseverityhumanexpression
isik-pat-1errorFalls die Geschlechtsangabe 'other' gewählt wird, muss die amtliche Differenzierung per Extension angegeben werdengender.exists() and gender='other' implies gender.extension('http://fhir.de/StructureDefinition/gender-amtlich-de').exists()
address-cnt-2or3-charwarningThe content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))
address-cnt-2or3-charwarningThe content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))

Anmerkungen zu Must-Support-Feldern

Patient.active

Bedeutung: Indikator "Patientdatensatz ist in aktiver Benutzung"

Hinweise: Siehe Beschreibung in der FHIR Kernspezifikation

Patient.identifier:versichertenId_GKV

Bedeutung: Versicherten ID der gesetzlichen Krankenkasse

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

Patient.identifier:pid

Bedeutung: Organisationsinterner Patienten-Identifier

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

Patient.identifier:versicherungsnummer_pkv

Bedeutung: Versicherten Nr., falls versichert bei einer privaten Krankenkasse

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

Patient.name:name

Bedeutung: Vollständiger Name

Hinweise: Wenn kein Name vorliegt, SOLLTE die data-absent-reason-Extension eingesetzt werden. Siehe Beschreibung der Deutschen Basisprofile

Patient.name:geburtsname

Bedeutung: Geburtsname des Patienten (nur Nachname)

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

Patient.address:Strassenanschrift

Bedeutung: Straßenadresse

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

Patient.address:Postfach

Bedeutung: Postfachadresse

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

Patient.gender

Bedeutung: Administratives Geschlecht

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

Patient.birthdate

Bedeutung: Geburtsdatum

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

Stornierung von Patienten

"Im Rahmen des ISiK Basismoduls SOLL die Stornierung eines Patienten entweder erfolgen durch

  • das Löschen der Patienten-Ressource oder
  • die Verwendung des Feldes Patient.active Die konkrete Implementierung ist abhängig davon, wie die Stornierung im bestätigungsrelevanten System umgesetzt ist. Im letzteren Fall wird die Stornierung durch das Setzen von Patient.active auf "false" gekennzeichnet.

Interaktionen

Für die Ressource Patient MUSS die REST-Interaktion "READ" implementiert werden.

Für die Ressource Patient KANN die REST-Interaktion "POST" implementiert werden. Diese Interaktion dient für die Vorabübermittelung von (unverifizierten und/oder unvollständigen) Patientenstammdaten.

  • Das bestätigungsrelevante System SOLL die übermittelte Patient-Ressource löschen oder als inaktiv kennzeichnen, insoweit Geschäftsregeln oder andere Gründe dazu führen, dass die Patient-Ressource nicht permanent im System angelegt wird (z.B. keine Bestätigung durch die Anwender*in des Systems oder keine Aufnahme der Patient*in).

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

  1. Der Suchparameter "_id" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Patient?_id=103270

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

  2. Der Suchparameter "identifier" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Patient?identifier=http://fhir.krankenhaus.example|1032702

    GET [base]/Patient?identifier=1032702

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.identifier" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

  3. Der Suchparameter "given" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Patient?given=Erika

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.name.given" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

  4. Der Suchparameter "family" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Patient?family=Musterfrau

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.name.family" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

  5. Der Suchparameter "birthdate" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Patient?birthdate=1964-12-08

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.birthDate" finden sich in der FHIR-Basisspezifikation - Abschnitt "Date Search".

  6. Der Suchparameter "gender" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Patient?gender=female

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.gender" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

  7. Der Suchparameter "name" KANN unterstützt werden:

    Beispiele:

    GET [base]/Patient?name=Erika

    GET [base]/Patient?name=Musterfrau

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.name" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

  8. Der Suchparameter "address" KANN unterstützt werden:

    Beispiele

    GET [base]/Patient?address=Berlin

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.address" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

  9. Der Suchparameter "address-city" KANN unterstützt werden:

    Beispiele:

    GET [base]/Patient?address-city=Berlin

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.address.city" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

  10. Der Suchparameter "address-country" KANN unterstützt werden:

    Beispiele:

    GET [base]/Patient?address-country=DE

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.address.country" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

  11. Der Suchparameter "address-postalcode" KANN unterstützt werden:

    Beispiele:

    GET [base]/Patient?address-postalcode=10117

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.address.postalCode" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

  12. Der Suchparameter "active" KANN unterstützt werden:

    Beispiele:

    GET [base]/Patient?active=true

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.active" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

  13. Der Suchparameter "telecom" KANN unterstützt werden:

    Beispiele:

    GET [base]/Patient?telecom=phone|+49152236898

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.telecom" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.


Verkettete Suchparameter (Chaining und Reverse Chaining)

Auch die verketteten Suchparameter MÜSSEN unterstützt werden und sind mit entsprechenden Referenzen im CapabilityStatement unter CapabilityStatement.rest.resource.searchInclude bzw. CapabilityStatement.rest.resource.searchRevInclude angegeben. Siehe CapabilityStatement

Weitere Informationen und Beispiele zur Suche nach verketteten Parametern finden sich in diesem IG unter Suchparameter und in der FHIR-Basisspezifikation im Abschnitt "Chained Parameters" und im Abschnitt "Reverse Chaining".

Die verketteten Suchparameter des Profils Patient hängen wie folgt mit den festgelegten Anwendungsfällen (Use Cases) zusammen:

  1. Der verkette Suchparameter Composition:patient unterstüzt den Anwendungsfall:

    Um eine Grundlagen-Funktion zu ermöglichen, in der für einen Patienten all seine Dokumenten-Kontexte identifizierte werden können.

  2. Der verkette Suchparameter Composition:subject unterstüzt den Anwendungsfall:

    Um eine Grundlagen-Funktion zu ermöglichen, in der für eine Person all ihre Dokumenten-Kontexte identifiziert werden können.

  3. Der verkette Suchparameter Composition:author unterstüzt den Anwendungsfall:

    Um eine Grundlagen-Funktion zu ermöglichen, in der für einen Urheber all seine Dokumenten-Kontexte identifiziert werden können.

  4. Der verkette Suchparameter Condition:patient unterstüzt den Anwendungsfall:

    Um für einen Patienten eindeutig all seine Diagnosen zu finden und eine Verwechslung auszuschließen.

  5. Der verkette Suchparameter Condition:subject unterstüzt den Anwendungsfall:

    Um für eine Person eindeutig zu all ihren zugehörigen Diagnosen zu finden und eine Verwechslung auszuschließen.

  6. Der verkette Suchparameter Procedure:patient unterstüzt den Anwendungsfall:

    Um für einen Patienten eindeutig zu all seinen Behandlungsprozeduren zu finden und eine Verwechslung auszuschließen.

  7. Der verkette Suchparameter Procedure:subject unterstüzt den Anwendungsfall:

    Um für eine Person eindeutig zu all ihre zugehörigen Behandlungsprozeduren zu finden und eine Verwechslung auszuschließen.

  8. Der verkette Suchparameter Encounter:patient unterstüzt den Anwendungsfall:

    Um für einen Patienten eindeutig die komplette Fallhistorie mit allen Kontakten zu finden und eine Verwechslung auszuschließen.

  9. Der verkette Suchparameter Encounter:subject unterstüzt den Anwendungsfall:

    Um für eine Person eindeutig die komplette Fallhistorie mit allen Kontakten zu finden und eine Verwechslung auszuschließen.

  10. Der verkette Suchparameter Account:patient unterstüzt den Anwendungsfall:

    Um für einen Patienten eindeutig die komplette Abrechnungshistorie mit allen Kosten zu finden und eine falsche Abrechnung auszuschließen.

  11. Der verkette Suchparameter Account:subject unterstüzt den Anwendungsfall:

    Um für eine Person eindeutig die komplette Abrechnungshistorie mit allen Kosten zu finden und eine falsche Abrechnung auszuschließen.

  12. Der verkette Suchparameter Coverage:patient unterstüzt den Anwendungsfall:

    Um für einen Patienten das korrekte Versicherungsverhältnis zuzuordnen und eine korrekte Abrechnung zu gewährleisten.

  13. Der verkette Suchparameter Coverage:subscriber unterstüzt den Anwendungsfall:

    Um für einen Versicherungsnehmer das korrekte Versicherungsverhältnis zuzuordnen und eine korrekte Abrechnung zu gewährleisten.

  14. Der verkette Suchparameter Coverage:beneficiary unterstüzt den Anwendungsfall:

    Um für eine versicherte Person das korrekte Versicherungsverhältnis zuzuordnen und eine korrekte Abrechnung zu gewährleisten.

  15. Der verkette Suchparameter Coverage:payor unterstüzt den Anwendungsfall:

    Um für einen zahlendes Unternehmen alle betreuten Versicherungsverhältnisse zuzuordnen und eine korrekte Abrechnung zu gewährleisten.


Beispiele

Valides Minimalbeispiel Patient:

{
    "resourceType": "Patient",
    "id": "PatientinMusterfrau",
    "meta": {
        "profile":  [
            "https://gematik.de/fhir/isik/StructureDefinition/ISiKPatient"
        ]
    },
    "identifier":  [
        {
            "type": {
                "coding":  [
                    {
                        "code": "MR",
                        "system": "http://terminology.hl7.org/CodeSystem/v2-0203"
                    }
                ]
            },
            "system": "https://fhir.krankenhaus.example/sid/PID",
            "value": "TestPID"
        },
        {
            "type": {
                "coding":  [
                    {
                        "code": "KVZ10",
                        "system": "http://fhir.de/CodeSystem/identifier-type-de-basis"
                    }
                ]
            },
            "system": "http://fhir.de/sid/gkv/kvid-10",
            "value": "A123456789"
        },
        {
            "use": "secondary",
            "type": {
                "coding":  [
                    {
                        "code": "PKV",
                        "system": "http://fhir.de/CodeSystem/identifier-type-de-basis"
                    }
                ]
            },
            "value": "1234567890",
            "assigner": {
                "display": "Test PKV AG"
            }
        }
    ],
    "name":  [
        {
            "use": "official",
            "family": "Fürstin von Musterfrau",
            "_family": {
                "extension":  [
                    {
                        "url": "http://fhir.de/StructureDefinition/humanname-namenszusatz",
                        "valueString": "Fürstin"
                    },
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name",
                        "valueString": "Musterfrau"
                    },
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-prefix",
                        "valueString": "von"
                    }
                ]
            },
            "given":  [
                "Erika"
            ],
            "prefix":  [
                "Dr."
            ],
            "_prefix":  [
                {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier",
                            "valueCode": "AC"
                        }
                    ]
                }
            ]
        },
        {
            "use": "maiden",
            "family": "Gabler",
            "_family": {
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name",
                        "valueString": "Gabler"
                    }
                ]
            }
        }
    ],
    "active": true,
    "gender": "female",
    "birthDate": "1964-08-12",
    "address":  [
        {
            "type": "both",
            "line":  [
                "Musterweg 2",
                "3. Etage"
            ],
            "_line":  [
                {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName",
                            "valueString": "Musterweg"
                        },
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber",
                            "valueString": "2"
                        }
                    ]
                },
                {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator",
                            "valueString": "3. Etage"
                        }
                    ]
                }
            ],
            "city": "Musterhausen",
            "postalCode": "98764",
            "country": "DE"
        },
        {
            "type": "postal",
            "line":  [
                "Postfach 8 15"
            ],
            "_line":  [
                {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-postBox",
                            "valueString": "Postfach 8 15"
                        }
                    ]
                }
            ],
            "city": "Musterhausen",
            "postalCode": "98764",
            "country": "DE"
        }
    ]
}