Was ist HL7?

HL7® v2.x ist die am häufigsten verwendete HL7-Spezifikationsfamilie. Der Standard wurde für den Datenaustausch zwischen Gesundheitssystemen entwickelt, unabhängig von der jeweils verwendeten Technologie. Tatsächlich legt HL7 lediglich das Format der ausgetauschten Daten fest und bestimmt nicht, wie die Daten übertragen oder gesichert werden sollen.

Wenn in einem System ein Ereignis eintritt, kann dies dazu führen, dass das System bestimmte Informationen an andere Systeme sendet. Ein HL7-Datenaustausch erfolgt auf Nachrichtenbasis und eine solche Nachricht würde wie folgt aussehen:

MSH|^~\&|ADT1|GOOD HEALTH HOSPITAL|GHH LAB, INC.|GOOD HEALTH HOSPITAL|198808181126|SECURITY|ADT^A01^ADT_A01|MSG00001|T|2.5.1
EVN||200708181123||
PID|1||PATID1234^5^M11^ADT1^MR^GOOD HEALTH HOSPITAL~123456789^^^USSSA^SS||EVERYMAN^ADAM^A^III||19610615|M||2106 -3|2222 HOME STREET^^GREENSBORO^NC^27401-1020
NK1|1|JONES^BARBARA^K|SPO^Ehepartner^HL70063||||NK^NÄCHSTER ANGEHÖRIGER
PV1|1|I|2000^2012^01||||004777^BETREUEND^AARON^A|||SUR||||7|A0|

Jede Nachricht wird auf der Grundlage eines auslösenden Ereignisses (in diesem Fall einer Patientenaufnahme – A01) erstellt und setzt sich aus einer Reihe von Segmenten zusammen. Segmente sind Zeilen, die mit einer dreistelligen Kennung (Segment-ID) beginnen. Jede Zeile enthält eine Gruppe von Feldern, die jeweils durch ein Trennzeichen getrennt sind (das Standardtrennzeichen ist „|“). Das erste Segment jeder Nachricht ist das MSH-Segment. Es beschreibt den Nachrichtenumschlag.

Was ist ein Trigger-Ereignis?

Ein Trigger-Ereignis ist eine Nachricht oder ein ausgetauschter Datenblock, der ein eingetretenes Ereignis beschreibt.

HL7® definiert Trigger-Ereignisse in Kapitel 2: Der Standard basiert auf der Annahme, dass ein Ereignis in der realen Welt des Gesundheitswesens den Bedarf an einem Datenfluss zwischen Systemen schafft. Das reale Ereignis wird als Trigger-Ereignis bezeichnet. Beispielsweise kann das Triggerereignis „Aufnahme eines Patienten“ dazu führen, dass Daten über diesen Patienten an andere Systeme gesendet werden müssen. Das Triggerereignis „Eine Beobachtung (z. B. ein Blutbild) für einen Patienten ist verfügbar“ kann ebenfalls dazu führen, dass diese Beobachtung an andere Systeme gesendet werden muss. Wenn die Übertragung von Informationen durch das Anwendungssystem initiiert wird, das das auslösende Ereignis verarbeitet, wird der Austausch als unaufgeforderte Aktualisierung bezeichnet.

HL7® ermöglicht die Verwendung von Triggerereignissen auf verschiedenen Ebenen der Datengranularität und der gegenseitigen Beziehungen. Beispielsweise betreffen die meisten Triggerereignisse der Patientenverwaltung (ADT) einzelne Objekte (wie z. B. ein Aufnahmeereignis, das eine Nachricht erzeugt, die Daten zu einer einzelnen Person und/oder einem einzelnen Konto enthält). Andere ADT-Auslöseereignisse beziehen sich auf Beziehungen zwischen mehr als einem Objekt (z. B. die Zusammenführungsereignisse, die die Zusammenführung von Patienten oder Konten festlegen). Einige ADT-Auslöseereignisse beziehen sich auf eine Sammlung von Objekten, die möglicherweise keine wesentlichen Beziehungen zueinander aufweisen (z. B. eine datensatzorientierte, standortbasierte Abfrage, deren Antwort Daten über eine Gruppe stationärer Patienten enthält, die nur vorübergehend durch ihre geografische Lage miteinander verbunden sind).

Was ist ein Segment?

Ein Segment ist eine Gruppe von durch Trennzeichen getrennten Feldern, die alle in einer einzigen Zeile gespeichert sind. Ein Segment beschreibt einen thematischen Teil der Nachricht, wie beispielsweise die Nachricht selbst (MSH), einen Patienten (PID) oder einen Auftrag (ORC).

HL7® definiert Segmente in Kapitel 2: Ein Segment ist eine logische Gruppierung von Datenfeldern. Segmente einer Nachricht können obligatorisch oder optional sein. Sie können in einer Nachricht nur einmal vorkommen oder sich wiederholen. Jedem Segment wird ein Name zugewiesen. Beispielsweise kann die ADT-Nachricht die folgenden Segmente enthalten: Nachrichtenkopf (MSH), Ereignistyp (EVN), Patienten-ID (PID) und Patientenbesuch (PV1). Jedes Segment wird durch einen eindeutigen dreistelligen Code identifiziert, der als Segment-ID bezeichnet wird. Obwohl die eigentlichen Segmente in verschiedenen Kapiteln definiert sind, sind die den verschiedenen Segmenten zugewiesenen ID-Codes in Anhang A aufgeführt. Alle Segment-ID-Codes, die mit dem Buchstaben Z beginnen, sind für lokal definierte Segmente reserviert. Z-Codes DÜRFEN NICHT innerhalb des HL7-Standards definiert werden.

Was ist ein Datentyp?

Manchmal betrachten HL7-Anwender jedes Feld als Zeichenfolge. Der Standard legt jedoch für jedes Feld einen Datentyp fest. Datentypen sind eine gute Möglichkeit, um sicherzustellen, dass die Daten vom empfangenden System geparst und verarbeitet werden können.

HL7® definiert Datentypen in Kapitel 2: Der grundlegende Baustein, der zum Aufbau oder zur Einschränkung des Inhalts eines Datenfeldes verwendet wird. Jedem Feld wird ein Datentyp zugewiesen, der den Wertebereich des Feldes definiert – also die möglichen Werte, die es annehmen MUSS. Der Datentyp MUSS einen Typ aus der Liste der definierten Datentypen haben. Datentypen können entweder primitiv oder zusammengesetzt sein. Primitive Datentypen bestehen aus einer Reihe von Zeichen, wie vom Datentyp festgelegt. Zusammengesetzte Datentypen setzen sich aus einer Reihe von Komponenten zusammen, denen wiederum jeweils ein Datentyp zugewiesen ist, bei dem es sich wiederum um primitive oder zusammengesetzte Datentypen handeln kann. Bei zusammengesetzten Datentypen werden die Bestandteile einer Komponente als Unterkomponenten bezeichnet, und ihnen MÜSSEN ausschließlich primitive Datentypen zugewiesen werden. Beachten Sie, dass die Datentypen nicht festlegen, wie Systeme Daten innerhalb einer Anwendung speichern. Bei der Übertragung von Feldern werden diese als Zeichenfolgen gesendet, wie sie durch den Datentyp definiert sind.

Was ist eine Tabelle?

Tabellen dienen dazu, Dateninhalte zu definieren, die das System verwendet oder erwartet. Sie listen alle gültigen Werte für Felder auf, die diese Tabelle verwenden. Beachten Sie, dass der Standard zwar eine Liste von Werten vorschlagen kann, jedes System jedoch seine eigenen Werte definieren kann.

HL7® definiert vier Tabellentypen, die die Zuständigkeit für den Inhalt in Kapitel 2 widerspiegeln.

  • HL7-Standard: Eine HL7-Tabelle ist eine von HL7 definierte und veröffentlichte Wertemenge. Sie ist Teil des HL7-Standards, da sie die Interpretation der Nachrichten beeinflusst, in denen sie enthalten ist. Diese Werte dürfen lokal nicht neu definiert werden; die Tabelle selbst kann jedoch erweitert werden, um lokal definierte Werte aufzunehmen. Dies gilt insbesondere für die HL7-Tabelle 0003 – Ereignistyp. Zur Kodierung von Werten für HL7-Tabellen wird meist der Datentyp „ID“ verwendet. Die Werte sind in Anhang A aufgeführt. Diese HL7-Tabellen erscheinen im Text zudem in einem standardisierten Kastenformat (z. B. HL7-Tabelle 0003 – Ereignistyp).
  • Benutzerdefiniert: Eine benutzerdefinierte Tabelle ist eine Reihe von Werten, die lokal oder standortspezifisch definiert sind. Dies ermöglicht die Berücksichtigung spezifischer Felder wie PV1-3 – „Assigned Patient Location“ (Zugewiesener Patientenstandort), deren Werte von Einrichtung zu Einrichtung variieren. Auch wenn diese Tabellen nicht im Standard definiert sind, erhalten sie eine benutzerdefinierte Tabellennummer, um die Implementierung zu erleichtern. HL7 veröffentlicht gelegentlich empfohlene Werte, die eine Einrichtung als Ausgangssatz verwenden kann (z. B. Tabelle 0001 – „Sex“ (Geschlecht)). Der Datentyp CWE wird häufig zur Kodierung von Werten für diese Tabellen verwendet. Beachten Sie, dass einige dieser Tabellen (z. B. Tabelle 0302 – Point of Care) auf gemeinsame Stammdateien verweisen können.
  • Extern: Eine externe Tabelle ist eine Menge kodierter Werte, die von einer anderen Standardisierungsorganisation definiert und veröffentlicht wurden. Externe Tabellen werden verwendet, um Felder wie FT1-19 – Diagnosecode – FT1 zu füllen. Ein weiteres Beispiel ist die Kodierung klinischer Beobachtungen mithilfe von LOINC-Codes. Die Datentypen CF, CNE und CWE werden verwendet, um Werte für diese Felder darzustellen.
  • Lokal: Eine lokale Tabelle ist eine Tabelle mit einer nicht von HL7 zugewiesenen Tabellenkennung, die eine Reihe lokal oder standortbezogen definierter Werte enthält. Sie kann lokal Feldern in Z-Segmenten oder HL7-Feldern mit dem Datentyp CWE zugewiesen werden. Eine lokale Implementierung kann diese Tabellentypen weiter einschränken.