Als Identifier
für Patienten sind verschiedene Merkmale 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.
Hier wird nur eine Auswahl der in Deutschland üblichen Merkmale genauer beschrieben.
Im Datentyp HumanName
sind - der Regel folgend, dass im FHIR-Kern-Standard nur die Dinge spezifiziert werden, die in 80% der Fälle tatsächlich gebraucht werden - Felder für die üblicherweise verwendeten Namensbestandteile wir Vorname, Nachname und Präfix vorgesehen.
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.
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.
HumanName | 0..* | HumanName | |
use | Σ ?! | 0..1 | codeBinding |
text | Σ | 0..1 | string |
family | Σ | 0..1 | string |
extension | 0..* | Extension | |
namenszusatz | 0..1 | Extension(string) | |
nachname | 0..1 | Extension | |
url | 1..1 | uriFixed Value | |
value[x] | 0..1 | ||
valueBase64Binary | base64Binary | ||
valueBoolean | boolean | ||
valueCanonical | canonical | ||
valueCode | code | ||
valueDate | date | ||
valueDateTime | dateTime | ||
valueDecimal | decimal | ||
valueId | id | ||
valueInstant | instant | ||
valueInteger | integer | ||
valueMarkdown | markdown | ||
valueOid | oid | ||
valuePositiveInt | positiveInt | ||
valueTime | time | ||
valueUnsignedInt | unsignedInt | ||
valueUri | uri | ||
valueUrl | url | ||
valueUuid | uuid | ||
valueAddress | Address | ||
valueAge | Age | ||
valueAnnotation | Annotation | ||
valueAttachment | Attachment | ||
valueCodeableConcept | CodeableConcept | ||
valueCoding | Coding | ||
valueContactPoint | ContactPoint | ||
valueCount | Count | ||
valueDistance | Distance | ||
valueDuration | Duration | ||
valueHumanName | HumanName | ||
valueIdentifier | Identifier | ||
valueMoney | Money | ||
valuePeriod | Period | ||
valueQuantity | Quantity | ||
valueRange | Range | ||
valueRatio | Ratio | ||
valueSampledData | SampledData | ||
valueSignature | Signature | ||
valueTiming | Timing | ||
valueContactDetail | ContactDetail | ||
valueContributor | Contributor | ||
valueDataRequirement | DataRequirement | ||
valueExpression | Expression | ||
valueParameterDefinition | ParameterDefinition | ||
valueRelatedArtifact | RelatedArtifact | ||
valueTriggerDefinition | TriggerDefinition | ||
valueUsageContext | UsageContext | ||
valueDosage | Dosage | ||
valueReference | Reference() | ||
valueString | 0..1 | string | |
vorsatzwort | 0..1 | Extension | |
url | 1..1 | uriFixed Value | |
value[x] | 0..1 | ||
valueBase64Binary | base64Binary | ||
valueBoolean | boolean | ||
valueCanonical | canonical | ||
valueCode | code | ||
valueDate | date | ||
valueDateTime | dateTime | ||
valueDecimal | decimal | ||
valueId | id | ||
valueInstant | instant | ||
valueInteger | integer | ||
valueMarkdown | markdown | ||
valueOid | oid | ||
valuePositiveInt | positiveInt | ||
valueTime | time | ||
valueUnsignedInt | unsignedInt | ||
valueUri | uri | ||
valueUrl | url | ||
valueUuid | uuid | ||
valueAddress | Address | ||
valueAge | Age | ||
valueAnnotation | Annotation | ||
valueAttachment | Attachment | ||
valueCodeableConcept | CodeableConcept | ||
valueCoding | Coding | ||
valueContactPoint | ContactPoint | ||
valueCount | Count | ||
valueDistance | Distance | ||
valueDuration | Duration | ||
valueHumanName | HumanName | ||
valueIdentifier | Identifier | ||
valueMoney | Money | ||
valuePeriod | Period | ||
valueQuantity | Quantity | ||
valueRange | Range | ||
valueRatio | Ratio | ||
valueSampledData | SampledData | ||
valueSignature | Signature | ||
valueTiming | Timing | ||
valueContactDetail | ContactDetail | ||
valueContributor | Contributor | ||
valueDataRequirement | DataRequirement | ||
valueExpression | Expression | ||
valueParameterDefinition | ParameterDefinition | ||
valueRelatedArtifact | RelatedArtifact | ||
valueTriggerDefinition | TriggerDefinition | ||
valueUsageContext | UsageContext | ||
valueDosage | Dosage | ||
valueReference | Reference() | ||
valueString | 0..1 | string | |
given | Σ | 0..* | string |
prefix | Σ | 0..* | string |
extension | 0..* | Extension | |
prefix-qualifier | 0..* | Extension | |
url | 1..1 | uriFixed Value | |
value[x] | 0..1 | ||
valueBase64Binary | base64Binary | ||
valueBoolean | boolean | ||
valueCanonical | canonical | ||
valueDate | date | ||
valueDateTime | dateTime | ||
valueDecimal | decimal | ||
valueId | id | ||
valueInstant | instant | ||
valueInteger | integer | ||
valueMarkdown | markdown | ||
valueOid | oid | ||
valuePositiveInt | positiveInt | ||
valueString | string | ||
valueTime | time | ||
valueUnsignedInt | unsignedInt | ||
valueUri | uri | ||
valueUrl | url | ||
valueUuid | uuid | ||
valueAddress | Address | ||
valueAge | Age | ||
valueAnnotation | Annotation | ||
valueAttachment | Attachment | ||
valueCodeableConcept | CodeableConcept | ||
valueCoding | Coding | ||
valueContactPoint | ContactPoint | ||
valueCount | Count | ||
valueDistance | Distance | ||
valueDuration | Duration | ||
valueHumanName | HumanName | ||
valueIdentifier | Identifier | ||
valueMoney | Money | ||
valuePeriod | Period | ||
valueQuantity | Quantity | ||
valueRange | Range | ||
valueRatio | Ratio | ||
valueSampledData | SampledData | ||
valueSignature | Signature | ||
valueTiming | Timing | ||
valueContactDetail | ContactDetail | ||
valueContributor | Contributor | ||
valueDataRequirement | DataRequirement | ||
valueExpression | Expression | ||
valueParameterDefinition | ParameterDefinition | ||
valueRelatedArtifact | RelatedArtifact | ||
valueTriggerDefinition | TriggerDefinition | ||
valueUsageContext | UsageContext | ||
valueDosage | Dosage | ||
valueReference | Reference() | ||
valueCode | 0..1 | codeBinding | |
suffix | Σ | 0..* | string |
period | Σ | 0..1 | Period |
<name> <family value="Mustermann" /> <given value="Max" /> </name>
<name> <use value="maiden" /> <family value="Testinghausen" /> </name>
<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>
<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>
Anreden sollten, sofern erforderlich, ausschließlich in HumanName.text erscheinen (z.B. "Frau Dr. Martha Musterfrau"). Nach Möglichkeit sollte die Anrede aus dem Geschlecht der Person abgeleitet werden. Das Element prefix wird nur für akademische Titel und andere Namensbestandteile verwendet.
<gender value="female"/>
<gender value="male"/>
Für die Geschlechtskennzeichen "unbestimmt" und "divers" ist der code "other" zu verwenden:
<gender value="other"/>
Falls der konkrete UseCase eine Differenzierung zwischen "unbestimmt" und "divers" erfordert, ist hierfür die folgende Extension zu verwenden:
<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>
<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>
Im FHIR-Standard wird 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, was für die meisten UseCases auch völlig ausreichend ist. In machen Fällen kann die Differenzierung jedoch 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.
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!
Address | 0..* | Address | |
extension | 0..* | Extension | |
Stadtteil | 0..* | Extension | |
url | 1..1 | uriFixed Value | |
value[x] | 0..1 | ||
valueString | 0..1 | string | |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | codeBinding |
text | Σ | 0..1 | string |
line | Σ | 0..* | string |
extension | 0..* | Extension | |
Strasse | 0..1 | Extension | |
url | 1..1 | uriFixed Value | |
value[x] | 0..1 | ||
valueString | 0..1 | string | |
Hausnummer | 0..1 | Extension | |
url | 1..1 | uriFixed Value | |
value[x] | 0..1 | ||
valueString | 0..1 | string | |
Adresszusatz | 0..1 | Extension | |
url | 1..1 | uriFixed Value | |
value[x] | 0..1 | ||
valueString | 0..1 | string | |
Postfach | 0..1 | Extension | |
url | 1..1 | uriFixed Value | |
value[x] | 0..1 | ||
valueString | 0..1 | string | |
city | Σ | 0..1 | string |
district | Σ | 0..0 | string |
state | Σ | 0..1 | stringBinding |
postalCode | Σ | 0..1 | string |
country | Σ | 0..1 | stringBinding |
period | Σ | 0..1 | Period |
start | Σ | 0..1 | dateTime |
end | Σ | 0..1 | dateTime |
<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>
<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>
<address> <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>
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>
<maritalStatus> <coding> <system value="http://terminology.hl7.org/CodeSystem/v3-MaritalStatus" /> <code value="U" /> </coding> </maritalStatus>
<maritalStatus> <coding> <system value="http://terminology.hl7.org/CodeSystem/v3-MaritalStatus" /> <code value="M" /> </coding> </maritalStatus>
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
Das Element birthDate
kann ein tages-, monat- oder jahresgenaues Datum enthalten.
<birthDate value="1980-09-02"/>
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>
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 nullflavor-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/iso21090-nullFlavor"> <valueCode value="NASK"/> </extension> </birthDate>