Codesysteme und Value Sets

Aus Hl7wiki
Wechseln zu: Navigation, Suche

Codesysteme und Value Sets

HL7 Vocabulary legt Regeln für den Umgang mit kodierten Werten fest. Diese Regeln werden zusammengefasst dargestellt in den "Core Principles". Für kodierte Werte wird der Datentyp CD (Concept Descriptor) oder ein davon abgeleiteter Datentyp verwendet. Für jedes codierte Attribut innerhalb des CDA-Modells und seiner Unterstrukturen muss festgelegt werden, welche Codewerte für dieses Attribut zulässig sind. Diese Festlegung wird als "vocabulary binding" bezeichnet. HL7 kennt dabei zwei grundsätzliche Vorgehensweisen für das "Binden" von ausgewählten kodierten Konzepten an ein bestimmtes Attribut im Modell: "Context Binding" und "Model Binding".

Vorgehensweise für "Context Binding":

RIM:

Im RIM oder in einem vom RIM abgeleiteten Modell wird einem Attribut eine "ConceptDomain" zugeordnet. Die Beschreibung der ConceptDomain legt genau fest, welche Art von Konzepten als Wert für dieses Attribut in Frage kommt.

  • Beispiel: Participation.functionCode verwendet die Concept Domain ParticipationFunction

Bei der Verfeinerung des Modells und/oder der Anpassung an einen bestimmten Verwendungszweck wird die ConceptDomain dann zur Grundlage einer genaueren Beschreibung und/oder zur Festlegung bestimmter Codewerte, die in diesem Zusammenhang hier zulässig sein sollen.

  • Beispiel: Im HL7 Vocabulary gibt es als Spezialisierung von ParticipationFunction u.a. die Concept Domain AuthorizedParticipationFunction.

Codesysteme

Für viele der von HL7 definierten ConceptDomains sind von HL7 Codesysteme entwickelt worden, in denen zur ConceptDomain passende Konzepte und Codes enthalten sind. Jedes Codesystem ist durch eine eindeutige OID gekennzeichnet, dadurch wird durch Angabe von Code und OID ein bestimmtes Konzept eindeutig bezeichnet.

  • Beispiel: Als Codesystem für die Concept Domain ParticipationFunction steht im HL7 Vocabulary zur Verfügung: ParticipationFunction [2.16.840.1.113883.5.88]


Vorgehensweise für "Model Binding":

Alternativ dazu kann auch direkt eine spezielle Auswahl von Codes an ein Attribut in einem Modell gebunden werden ("Model Binding"). Dies geschieht z.B. für Attribute, die die Bedeutung von Objekten, ihren Status und ihr Verhalten beschreiben, sofern dies für die Konsistenz des Modells erforderlich ist (structural attributes).

Value Sets

Die Festlegung der zulässigen Menge von Codes für ein bestimmtes "Binding" erfolgt in beiden Fällen (Context Binding und Model binding) über eine "Value Set Assertion". Dadurch werden Codes aus einem oder mehreren Codesystemen ausgewählt, eine solche Auswahl stellt ein "Value Set" dar. Dabei wird u.a. angegeben, welche Codes bei der Implementierung unterstützt werden müssen, welche Codes unterstützt werden dürfen und welche Codes nicht verwendet werden dürfen. Jedem Value Set wird wiederum eine OID zur eindeutigen Referenzierung zugeordnet.

  • Beispiel: Verschiedene im HL7 Vocabulary definierte ValueSets verwenden Codes aus dem Codesystem ParticipationFunction, u.a.
    • AuthorizedParticipationFunction [2.16.840.1.113883.1.11.19929]
    • AuthorizedReceiverParticipationFunction [2.16.840.1.113883.1.11.19932]

ACHTUNG: Die OID des Value Sets dient nur der Referenzierung des Value Sets, sie ersetzt nicht die OID des Codesystems. Die Bedeutung eines kodierten Konzepts ergibt sich immer aus der Kombination Code/Codesystem. (So kann ein ValueSeet theoretisch mehrere gleichlautende Codes enthalten, die aber zu verschiedenen Codesystemen gehören!)

Binding

Die eigentliche Festlegung, das "Binding" beschreibt dann die Zuordnung eines Value Sets zu einem bestimmten Attribut. Durch diese formale Vorgehensweise wird sichergestellt, dass

  • Modelle und Teile von Modellen als Struktur wiederverwendbar sind, unabhängig davon, welche Konzepte oder Codesysteme bei der Implementierung letzlich zum Einsatz kommen.
  • Konzepte und ihre Codierung wiederverwendbar sind (und somit nicht für jede Verwendung des Konzeptes in einem anderen Zusammenhang wieder eine neue Codetabelle samt Code und Bedeutung des Konzeptes spezifiziert werden muss)
  • Validierung von Datenstrukturen und Codes gegen die für den speziellen Fall festgelegten ValueSets möglich ist
  • Erweiterung um neue Inhalte und Bedeutungen ist oft möglich ohne Änderung der Strukturmodelle

Weitere Informationen siehe: CDA und HL7 V3