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 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 Extensions für 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
HumanName | I | HumanName | |
use | Σ ?! | 0..1 | codeBinding |
text | Σ | 0..1 | string |
family | Σ | 0..1 | string |
extension | I | 0..* | Extension |
namenszusatz | I | 0..1 | Extension(string) |
nachname | I | 0..1 | Extension(string) |
vorsatzwort | I | 0..1 | Extension(string) |
given | Σ | 0..* | string |
prefix | Σ | 0..* | string |
extension | I | 0..* | Extension |
prefix-qualifier | I | 0..1 | Extension(code) |
suffix | Σ | 0..* | string |
period | Σ I | 0..1 | Period |
Die Constraints hum-1 bis hum-4 zu beachten:
key | severity | human | expression |
---|---|---|---|
hum-1 | error | Wenn die Extension 'namenszusatz' verwendet wird, dann muss der vollständige Name im Attribut 'family' angegeben werden | family.extension('http://fhir.de/StructureDefinition/humanname-namenszusatz').empty() or family.hasValue() |
hum-2 | error | Wenn die Extension 'nachname' verwendet wird, dann muss der vollständige Name im Attribut 'family' angegeben werden | family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-name').empty() or family.hasValue() |
hum-3 | error | Wenn die Extension 'vorsatzwort' verwendet wird, dann muss der vollständige Name im Attribut 'family' angegeben werden | family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-prefix').empty() or family.hasValue() |
hum-4 | error | Wenn die Extension 'prefix-qualifier' verwendet wird, dann muss ein Namenspräfix im Attribut 'prefix' angegeben werden | prefix.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"> <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 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 Extensions für 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:
key | severity | human | expression |
---|---|---|---|
gender-amtlich-1 | error | Die 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 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
Address | I | Address | |
extension | I | 0..* | Extension |
Stadtteil | I | 0..1 | Extension(string) |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | codeBinding |
text | Σ | 0..1 | string |
line | Σ | 0..3 | string |
extension | I | 0..* | Extension |
Strasse | I | 0..1 | Extension(string) |
Hausnummer | I | 0..1 | Extension(string) |
Adresszusatz | I | 0..1 | Extension(string) |
Postfach | I | 0..1 | Extension(string) |
city | Σ | 0..1 | string |
district | Σ | 0..0 | string |
state | Σ | 0..1 | stringBinding |
postalCode | Σ | 0..1 | string |
country | Σ | 0..1 | stringBinding |
period | Σ I | 0..1 | Period |
Die Constraints add-1 bis add-7 zu beachten:
key | severity | human | expression |
---|---|---|---|
add-1 | error | Wenn die Extension 'Hausnummer' verwendet wird, muss auch Address.line gefüllt werden | line.all($this.extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber').empty() or $this.hasValue()) |
add-2 | error | Wenn die Extension 'Strasse' verwendet wird, muss auch Address.line gefüllt werden | line.all($this.extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName').empty() or $this.hasValue()) |
add-3 | error | Wenn die Extension 'Postfach' verwendet wird, muss auch Address.line gefüllt werden | line.all($this.extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-postBox').empty() or $this.hasValue()) |
add-4 | warning | Eine 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-5 | error | Wenn die Extension 'Adresszusatz' verwendet wird, muss auch Address.line gefüllt werden | line.all($this.extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator').empty() or $this.hasValue()) |
add-6 | warning | Wenn die Extension 'Postfach' verwendet wird, dürfen die Extensions 'Strasse' und 'Hausnummer' nicht verwendet werden | line.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-7 | warning | Wenn 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 all(line contains extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-precinct').value.ofType(string)) |
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 Extensions für 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 Extensions für 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:
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>