Patient

Identifikatoren

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.

Name

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.

Basis-Profil für Datentyp HumanName

useΣ ?!0..1codeBinding
textΣ0..1string
namenszusatz0..1Extension(string)
url1..1uriFixed Value
valueBase64Binarybase64Binary
valueBooleanboolean
valueCanonicalcanonical
valueCodecode
valueDatedate
valueDateTimedateTime
valueDecimaldecimal
valueIdid
valueInstantinstant
valueIntegerinteger
valueMarkdownmarkdown
valueOidoid
valuePositiveIntpositiveInt
valueTimetime
valueUnsignedIntunsignedInt
valueUriuri
valueUrlurl
valueUuiduuid
valueAddressAddress
valueAgeAge
valueAnnotationAnnotation
valueAttachmentAttachment
valueCodeableConceptCodeableConcept
valueCodingCoding
valueContactPointContactPoint
valueCountCount
valueDistanceDistance
valueDurationDuration
valueHumanNameHumanName
valueIdentifierIdentifier
valueMoneyMoney
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueSignatureSignature
valueTimingTiming
valueContactDetailContactDetail
valueContributorContributor
valueDataRequirementDataRequirement
valueExpressionExpression
valueParameterDefinitionParameterDefinition
valueRelatedArtifactRelatedArtifact
valueTriggerDefinitionTriggerDefinition
valueUsageContextUsageContext
valueDosageDosage
valueReferenceReference()
valueString0..1string
url1..1uriFixed Value
valueBase64Binarybase64Binary
valueBooleanboolean
valueCanonicalcanonical
valueCodecode
valueDatedate
valueDateTimedateTime
valueDecimaldecimal
valueIdid
valueInstantinstant
valueIntegerinteger
valueMarkdownmarkdown
valueOidoid
valuePositiveIntpositiveInt
valueTimetime
valueUnsignedIntunsignedInt
valueUriuri
valueUrlurl
valueUuiduuid
valueAddressAddress
valueAgeAge
valueAnnotationAnnotation
valueAttachmentAttachment
valueCodeableConceptCodeableConcept
valueCodingCoding
valueContactPointContactPoint
valueCountCount
valueDistanceDistance
valueDurationDuration
valueHumanNameHumanName
valueIdentifierIdentifier
valueMoneyMoney
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueSignatureSignature
valueTimingTiming
valueContactDetailContactDetail
valueContributorContributor
valueDataRequirementDataRequirement
valueExpressionExpression
valueParameterDefinitionParameterDefinition
valueRelatedArtifactRelatedArtifact
valueTriggerDefinitionTriggerDefinition
valueUsageContextUsageContext
valueDosageDosage
valueReferenceReference()
valueString0..1string
givenΣ0..*string
url1..1uriFixed Value
valueBase64Binarybase64Binary
valueBooleanboolean
valueCanonicalcanonical
valueDatedate
valueDateTimedateTime
valueDecimaldecimal
valueIdid
valueInstantinstant
valueIntegerinteger
valueMarkdownmarkdown
valueOidoid
valuePositiveIntpositiveInt
valueStringstring
valueTimetime
valueUnsignedIntunsignedInt
valueUriuri
valueUrlurl
valueUuiduuid
valueAddressAddress
valueAgeAge
valueAnnotationAnnotation
valueAttachmentAttachment
valueCodeableConceptCodeableConcept
valueCodingCoding
valueContactPointContactPoint
valueCountCount
valueDistanceDistance
valueDurationDuration
valueHumanNameHumanName
valueIdentifierIdentifier
valueMoneyMoney
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueSignatureSignature
valueTimingTiming
valueContactDetailContactDetail
valueContributorContributor
valueDataRequirementDataRequirement
valueExpressionExpression
valueParameterDefinitionParameterDefinition
valueRelatedArtifactRelatedArtifact
valueTriggerDefinitionTriggerDefinition
valueUsageContextUsageContext
valueDosageDosage
valueReferenceReference()
valueCode0..1codeBinding
suffixΣ0..*string
periodΣ0..1Period

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

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.

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 der konkrete UseCase eine Differenzierung zwischen "unbestimmt" und "divers" erfordert, ist hierfür die folgende Extension zu verwenden:

urlFixed Value
valueCodingCoding

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>

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>

Mitreden!

Adresse

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!

Basisprofil für Adresse

url1..1uriFixed Value
value[x]0..1
valueString0..1string
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textΣ0..1string
url1..1uriFixed Value
value[x]0..1
valueString0..1string
url1..1uriFixed Value
value[x]0..1
valueString0..1string
url1..1uriFixed Value
value[x]0..1
valueString0..1string
url1..1uriFixed Value
value[x]0..1
valueString0..1string
cityΣ0..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeΣ0..1string
countryΣ0..1stringBinding
startΣ0..1dateTime
endΣ0..1dateTime

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>
    <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>

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>

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 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>