PatientIn (Patient)

Im Gegensatz zu den Deutschen Basisprofile für die FHIR Version STU3 gibt es in der vorliegenden Version der Deutschen Basisprofile für FHIR R4 kein Patient-Profil mehr. Die Gründe dafür sind unter dem Abschnitt Anwendungshinweise - FAQ erläutert.


Identifikatoren

Als Identifier für Patienten (FHIR-Element: Patient.identifier) sind verschiedene Ausprägungen möglich, z.B. Krankenversichertennummer, eine einrichtungsinterne ID ("PID"), Sozialversicherungsnummer, Führerscheinnummer, Teilnehmerkennungen an speziellen Forschungs- oder Versorgungsprogrammen usw.

Welche Identifier jeweils geeignet, verfügbar und zulässig sind, muss abhängig vom UseCase entschieden werden.

Folgende Identifier-Profile werden durch die Deutschen Basisprofile spezifiziert, sodass diese Use-Case und Profil-übergreifend einheitlich verwendet werden können. Siehe Übersicht Identifier für Patient.


Name

Im Datentyp HumanName sind Felder für die üblicherweise verwendeten Namensbestandteile wie Vorname, Nachname und Präfix vorgesehen. Die Auswahl der Elemente folgt der Regel, dass im FHIR-Kern-Standard nur die Dinge spezifiziert werden, die in 80% der Fälle tatsächlich gebraucht werden (Siehe FHIR and Architectural Principles).

Die Datenstruktur, die auf den Deutschen gesetzlichen Krankenversichertenkarten ausgelesen werden kann, sieht jedoch zusätzliche Felder vor (z.B. Namenszusatz, Vorsatzwort) bzw. schränkt die Nutzung von Feldern ein (z.B. akademischer Titel).

Daher wurde das deutsche Profil für HumanName mit Extensions versehen, die es erlauben, die Granularität der Daten von den Versichertenkarten in FHIR 1:1 abzubilden.

Alle Extensions sind im Abschnitt Extension - Kontext Patient dokumentiert.

Häufig ist dies jedoch nicht erforderlich, da die Standard-Felder family, given, prefix den meisten Systemen ausreichend Information bieten. Die Implementierung der Extensions ist daher nicht zwingend erforderlich. Es ist jedoch stets zu beachten, dass alle Informationen, die in den Extensions abgebildet werden, stets auch in den Standard-Feldern enthalten sein müssen, so dass Systeme, die die Extensions ignorieren, zwar Granularität, nicht jedoch Information verlieren.

Basis-Profil für Datentyp HumanName

Name: HumannameDeBasis (Simplifier Projekt Link)

Canonical: http://fhir.de/StructureDefinition/humanname-de-basis

useΣ ?!0..1codeBinding
textΣ0..1string
namenszusatz0..1Extension(string)
nachname0..1Extension(string)
vorsatzwort0..1Extension(string)
givenΣ0..*string
prefix-qualifier0..*Extension(code)
suffixΣ0..*string
periodΣ0..1Period

Die Constraints hum-1 bis hum-4 zu beachten:

keyseverityhumanexpression
hum-1errorWenn die Extension 'namenszusatz' verwendet wird, dann muss der vollständige Name im Attribut 'family' angegeben werdenfamily.extension('http://fhir.de/StructureDefinition/humanname-namenszusatz').empty() or family.hasValue()
hum-2errorWenn die Extension 'nachname' verwendet wird, dann muss der vollständige Name im Attribut 'family' angegeben werdenfamily.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-name').empty() or family.hasValue()
hum-3errorWenn die Extension 'vorsatzwort' verwendet wird, dann muss der vollständige Name im Attribut 'family' angegeben werdenfamily.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-prefix').empty() or family.hasValue()
hum-4errorWenn die Extension 'prefix-qualifier' verwendet wird, dann muss ein Namenspräfix im Attribut 'prefix' angegeben werdenprefix.all($this.extension('http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier').empty() or $this.hasValue())

Beispiel: einfacher Name ohne Extensions

    <name>
        <family value="Mustermann" />
        <given value="Max" />
    </name>

Beispiel: Geburtsname

    <name>
        <use value="maiden" />
        <family value="Testinghausen" />
    </name>

Beispiel: Name mit Vorsatzwort

    <name>
        <use value="official" />
        <text value="Ludwig van Beethoven" />
        <family value="van Beethoven">
            <extension url="http://hl7.org/fhir/StructureDefinition/humanname-own-prefix">
                <valueString value="van" />
            </extension>
            <extension url="http://hl7.org/fhir/StructureDefinition/humanname-own-name">
                <valueString value="Beethoven" />
            </extension>
        </family>
        <given value="Ludwig" />
    </name>

Beispiel: Name mit Vorsatzwort, Namenszusatz und akademischem Titel

    <name>
        <use value="official" />
        <text value="Prof. Dr. med. Dr. rer. nat. Fritz Julius Karl Freiherr von und zu Rathenburg vor der Isar, MdB" />
        <family value="Freiherr von und zu Rathenburg vor der Isar">
            <extension url="http://fhir.de/StructureDefinition/humanname-namenszusatz/0.2">
                <valueString value="Freiherr" />
            </extension>
            <extension url="http://hl7.org/fhir/StructureDefinition/humanname-own-prefix">
                <valueString value="von und zu" />
            </extension>
            <extension url="http://hl7.org/fhir/StructureDefinition/humanname-own-name">
                <valueString value="Rathenburg vor der Isar" />
            </extension>
        </family>
        <given value="Fritz" />
        <given value="Julius" />
        <given value="Karl" />
        <prefix value="Prof. Dr. med. Dr. rer. nat.">
            <extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
                <valueCode value="AC" />
            </extension>
        </prefix>
        <suffix value="MdB" />
    </name>


Anrede

Der vollständige Name inkl. Anrede sollte, falls für den Use-Case erforderlich, in HumanName.text in korrekter Reihenfolge dokumentiert werden (z.B. "Frau Dr. Martha Musterfrau"). Andernfalls kann die Anrede teilweise aus dem Administrativen Geschlecht der Person (Patien.gender) abgeleitet werden. Hier sind jedoch Extensions zur Abbildung des Geschlechts 'Divers' und einer abweichenden Gender Identity (Siehe Ressourcen - PatientIn (Patient) - Geschlecht) in Betracht zu ziehen um nicht fälschlicherweise eine falsche Anrede zu verwenden.

Das Element HumanName.prefix wird nur für akademische Titel und andere Namensbestandteile verwendet und sollte nicht zur Abbildung der Anrede verwendet werden


Geschlecht

Beispiel: weiblich

<gender value="female"/>

Beispiel: männlich

<gender value="male"/>

Geschlechtskennzeichen "unbestimmt" und "divers"

Für die Geschlechtskennzeichen "unbestimmt" und "divers" ist der code "other" zu verwenden:

<gender value="other"/>

Falls ein administratives Geschlecht 'divers' abzubilden ist (z.B. da dieses Geschlecht auf offiziellen Ausweisen eingetragen ist) muss eine Differenzierung zwischen 'other' und 'divers' als positiver Geschlechtseintrag erfolgen. Hierfür ist die 'other-amtlich'-Extension zu verwenden. Siehe Extensions-Dokumentation für Extension - Kontext Patient.

Beispiel: divers

<gender value="other">
    <extension url="http://fhir.de/StructureDefinition/gender-amtlich-de"/>
        <valueCoding>
            <system value="http://fhir.de/CodeSystem/gender-amtlich-de"/>
            <code value="D"/>
        </valueCoding>
    </extension>
</gender>

Folgende Constraints sind im Kontext der Gender-Amtlich-De Extension zu beachten:

keyseverityhumanexpression
gender-amtlich-1errorDie amtliche Differenzierung der Geschlechtsangabe 'other' darf nur gefüllt sein, wenn das Geschlecht 'other' angegeben ist%resource.where(gender='other').exists()

Zudem wird empfohlen bei der Einbindung der Extension in ein eigenes FHIR-Profil einen weiteren Constraint hinzuzufügen um zu überprüfen, dass die Extension konsequent verwendet wird:

gender.exists() and gender = 'other' implies gender.extension('http://fhir.de/StructureDefinition/gender-amtlich-de').exists()

Für Extensions zur Differenzierung von z.B. Gender Identity, Sex Assigned At Brith, siehe Patient Gender and Sex

Beispiel: unbestimmt

<gender value="other">
    <extension url="http://fhir.de/StructureDefinition/gender-amtlich-de"/>
        <valueCoding>
            <system value="http://fhir.de/CodeSystem/gender-amtlich-de"/>
            <code value="X"/>
        </valueCoding>
    </extension>
</gender>


Adresse

Nach DIN 5008 (Schreib- und Gestaltungsregeln für die Text- und Informationsverarbeitung) besteht eine postalische Anschrift aus folgende Bestandteilen:

  • Name
  • Zustell- oder Abholangabe
  • Postleitzahl
  • Ort
  • Land (Bei internationanlen Adressen)

Dies Address-bezogenen Bestandteilen der Anschrift lassen sich in FHIR wie folgt abbilden:

DIN 5008 Element FHIR-Repräsentation
Name Siehe Ressourcen - PatientIn (Patient) - Name oder Patient.contact.organization (z.B. bei der Anschrift eines Arbeitgebers)
Zustell- oder Abholangabe Address.line
Postleitzahl Address.postalCode
Ort Address.city
Land Address.country

Basisprofil für Adresse

Name: AddressDeBasis (Simplifier Projekt Link)

Canonical: http://fhir.de/StructureDefinition/address-de-basis

Stadtteil0..1Extension(string)
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textΣ0..1string
Strasse0..1Extension(string)
Hausnummer0..1Extension(string)
Adresszusatz0..1Extension(string)
Postfach0..1Extension(string)
cityΣ0..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeΣ0..1string
countryΣ0..1stringBinding
startΣ0..1dateTime
endΣ0..1dateTime

Die Constraints add-1 bis add-7 zu beachten:

keyseverityhumanexpression
add-1errorWenn die Extension 'Hausnummer' verwendet wird, muss auch Address.line gefüllt werdenline.all($this.extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber').empty() or $this.hasValue())
add-2errorWenn die Extension 'Strasse' verwendet wird, muss auch Address.line gefüllt werdenline.all($this.extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName').empty() or $this.hasValue())
add-3errorWenn die Extension 'Postfach' verwendet wird, muss auch Address.line gefüllt werdenline.all($this.extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-postBox').empty() or $this.hasValue())
add-4warningEine Postfach-Adresse darf nicht vom Type "physical" oder "both" sein.line.all($this.extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-postBox').empty() or $this.hasValue()) or type='postal' or type.empty()
add-5errorWenn die Extension 'Adresszusatz' verwendet wird, muss auch Address.line gefüllt werdenline.all($this.extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator').empty() or $this.hasValue())
add-6warningWenn die Extension 'Postfach' verwendet wird, dürfen die Extensions 'Strasse' und 'Hausnummer' nicht verwendet werdenline.all($this.extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-postBox').empty() or ($this.extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName').empty() and $this.extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber').empty()))
add-7warningWenn die Extension 'Precinct' (Stadtteil) verwendet wird, dann muss diese Information auch als separates line-item abgebildet sein.extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-precinct').empty() or line.where(extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-precinct').valueString=$this).exists()

Abbildung der Zustell- oder Abholangabe

Für Zustell- (z.B. Straße und Hausnummer) oder Abholangabe (z.B. Postfach mit Nummer) wird im FHIR-Standard bei der Adresse nicht zwischen Straße, Hausnummer, Postfach oder weiteren Zusätzen unterschieden. Sämtliche Angaben werden schlicht in ein oder mehrere line-Items geschrieben:

Abbildung einer Zustellangabe FHIR-Repräsentation (inkl. Index der Zeile)
Zustellangabe (z.B. Straße und Hausnummer) Address.line[0]
Gebäudeteil, Stockwerk, Wohnungsnummer Address.line[0] (offiziell abgetrennt durch "//" von der Straße, Hausnummer)
Abbildung einer Zustellangabe ("c/o") FHIR-Repräsentation (inkl. Index der Zeile)
Name des Wohnungsinhabers Address.line[0]
Zustellangabe (z.B. Straße und Hausnummer) Address.line[1]
Gebäudeteil, Stockwerk, Wohnungsnummer Address.line[1] (offiziell abgetrennt durch "//" von der Straße, Hausnummer )
Abbildung einer Abholangabe (Postfach) FHIR-Repräsentation (inkl. Index der Zeile)
Postfach Address.line[0]
Abbildung einer Abholangabe (Packstation) FHIR-Repräsentation (inkl. Index der Zeile)
Postnummer Address.line[0]
Packstationsnummer Address.line[1]

Alle Adresse können zusätzlich einen Ortsteil enthalten. Weitere Infos siehe Abschnitt Stadtteil/Ortsteil.

In machen Fällen kann die explizite Differenzierung der Adressbestandteile in eigene Elemente erforderlich sein, sei es nur, um einen von der eGK eingelesenen Datensatz, in dem eine solche Differenzierung stattfindet, exakt reproduzieren zu können. Für diesen Fall stehen diverse Extensions zur Verfügung.

Alle Extensions die innerhalb der Deutschen Basisprofile spezifiziert werden sind im Abschnitt Extension - Kontext Patient dokumentiert.

Es ist jedoch zu beachten, dass Address.line auch bei Verwendung der Extensions stets gefüllt sein muss, da nicht davon ausgegangen werden kann, dass alle Systeme die Extensions interpretieren können!

Im Allgemeinen wird der Code "both" zur Codierung von Address.type empfohlen. Ein Postfach inkl. Postfach Extension für Address.line muss mit "postal" als Type codiert werden.


Beispiele für Adressen ohne Extensions

<address>
    <line value="221B Baker Street"/>
    <city value="London"/>
</address>
<address>
    <use value="home" />
    <type value="both" />
    <line value="Milchstrasse 42" />
    <city value="Spöck" />
    <postalCode value="76297" />
    <country value="DE" />
 </address>

Beispiel für Addresse mit Straße-/Hausnummer-Extension

<address>
    <line value="Musterstraße 1">
        <extension url="http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber">
            <valueString value="1" />
        </extension>
        <extension url="http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName">
            <valueString value="Musterstraße" />
        </extension>
    </line>
    <city value="Musterstadt" />
    <postalCode value="77777" />
    <country value="DE" />
</address>

Beispiel für Postfach-Adresse

<address>
    <type value="postal" />
    <line value="Postfach 670525">
        <extension url="http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-postBox">
            <valueString value="Postfach 670525" />
        </extension>
    </line>
    <city value="Musterstadt" />
    <postalCode value="77777" />
    <country value="DE" />
</address>

Bei der Angabe einer Postfach-Adresse ist auf die Verwendung der entsprecheneden Angabe eines "type"-Elementes zu achten.


Stadtteil/Ortsteil

Nach § 21 KHEntgG muss beim Wohnort eines Patienten in Stadtstaaten zusätzlich in der Adresse der Stadtteil (oft auch "Ortsteil" genannt) angeben werden. Z.b. "Musterstraße 1a, 10409 Berlin, Kreuzberg". Es ist zu beachten, dass "Kreuzberg" hier ein eigenständiges Datenelement ist und nicht mit dem Wohnort (Address.city) vermischt werden sollte.

Der Ortsteil wird in FHIR als Address.line abgebildet. Zusätzlich kann die Extension iso21090-ADXP-precinct zur Differenzierung von anderen Adresskomponenten genutzt werden.

Beispiel:

<address>
  <extension url="http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-precinct">
      <valueString value="Kreuzberg"/>
  </extension>
  <line value="Erlanger Allee 112"/>
  <line value="Kreuzberg"/>
  <city value="Berlin"/>
</address>


Amtlicher Gemeindeschlüssel

Für Forschungsdatensätzen mit Bezug auf regionale Auswertungen kann zusätzlich zur PLZ der Amtliche Gemeindeschlüssel angegeben werden. Hierzu kann die Extension Extension-destatis-ags verwendet werden. Siehe Extension - Kontext Patient.


Patient.maritalStatus

Beispiel unverheiratet:

<maritalStatus>
    <coding>
        <system value="http://terminology.hl7.org/CodeSystem/v3-MaritalStatus" />
        <code value="U" />
    </coding>
</maritalStatus>

Beispiel verheiratet/eingetragene Lebenspartnerschaft:

<maritalStatus>
    <coding>
        <system value="http://terminology.hl7.org/CodeSystem/v3-MaritalStatus" />
        <code value="M" />
    </coding>
</maritalStatus>

Hinweis zur Eingetragenen Lebenspartnerschaft

Für die eingetragene Lebenspartnerschaft findet sich im internationalen ValueSet "MaritalStatus" kein entsprechender Code. Das Technische Komitee hat jedoch beschlossen, dafür keinen zusätzlichen Code einzuführen, da die Unterschiede zwischen eingetragener Lebenspartnerschaft und Ehe (z.B. Steuer-/Adoptionsrecht) im Kontext der Erfassung von administrativen Patientendaten keine Rolle spielen.

Für die eingetragene Lebenspartnerschaft ist daher der Code "M" (verheiratet) zu verwenden.

Dieser Leitfaden enthält ein Supplement zum CodeSystem v3-MaritalStatus mit deutschen Anzeigetexten:
Terminologie - Codesystem-Übersetzungen - marital-status


Patient.birthDate

Das Element birthDate kann ein tages-, monat- oder jahresgenaues Datum enthalten.

<birthDate value="1980-09-02"/>

Zeitgenaue Angabe des Geburtsdatums

Wenn eine höhrere Genauigkeit benötigt wird, so mus die Extension patient-birthtime dafür verwendet werden.

Beispiel:

  <birthDate value="2017-09-05">
    <extension url="http://hl7.org/fhir/StructureDefinition/patient-birthTime">
      <valueDateTime value="2017-09-05T17:11:00+01:00"/> 
    </extension> 
  </birthDate> 

Fehlende Angaben

Es ist zubeachten, dass fehlende Genauigkeit in den VSDM-Datensätzen auf der Verichertenkate mit Null-Stellen angegeben werden, z.B. "19800000" oder "19990100". Bei der Abbildung in FHIR sind fehlden Informationen einfach wegzulassen.

Ein Geburtsdatum, bei dem lediglich das Jahr bekannt ist, wird wie folgt notiert:

<birthDate value="1980"/>

In VSDM ist auch die Angabe "00000000" für ein vollständig fehlendes Geburtsdatum möglich. In FHIR würde dies durch das Weglassen des birthDate-Elementes ausgedrückt.

Sofern bekannt kann auch die data-absent-reasons-Extension eingesetzt werden, genauere Angaben zum Grund der fehlenden Information anzugeben.

Beispiel: Angabe zum Geburtsdatum fehlt, da es nicht erfragt wurde:

<birthDate>
    <extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
        <valueCode value="not-asked"/>
    </extension>
</birthDate>