Read from HL7 File

Der Schritt Read from HL7 File liest Health Level Seven-Daten (HL7) aus einer Textdatei als Eingabe in einen Datenfluss. HL7 ist ein Nachrichtenstandard, der im Gesundheitswesen verwendet wird, um Daten zwischen Systemen auszutauschen. Weitere Informationen zu HL7 finden Sie unter www.hl7.org.

HL7-Nachrichtenformat

Daten in einer HL7-Nachricht sind hierarchisch organisiert, wie hier dargestellt ist:

  • Nachricht
    • Segment
      • Feld
        • Komponente
          • Unterkomponente

Jede Zeile einer HL7-Nachricht ist ein Segment. Ein Segment ist eine logische Gruppierung von Feldern. Die ersten drei Zeichen in einem Segment identifizieren den Segmenttyp. Die Beispielnachricht besteht aus fünf Segmenten: MSH (Nachrichten-Header), PID (Patienten-ID), zwei NK1-Segmente (nächster Verwandter) und IN1 (Versicherung).

Jedes Segment besteht aus Feldern. Ein Feld enthält Informationen bezüglich des Zwecks des Segments, wie beispielsweise den Namen der Versicherungsgesellschaft im IN1-Segment (Versicherung). Felder werden normalerweise (aber nicht immer) durch ein |-Zeichen begrenzt.

Felder können in Komponenten unterteilt sein. Komponenten werden normalerweise durch ein ^-Zeichen angezeigt. In der Beispielnachricht enthält das PID-Segment (Patienten-ID) ein Feld für den Patientennamen mit dem Inhalt LEVERKUHN^ADRIAN^C, das aus drei Teilen besteht: Nachname (LEVERKUHN), Vorname (ADRIAN) und Initiale (C). Komponenten können in Unterkomponenten unterteilt sein. Unterkomponenten werden normalerweise durch ein &-Zeichen angezeigt.

Hier folgt ein Beispiel einer HL7-Nachricht:

MSH|^~\&||.|||199908180016||ADT^A04|ADT.1.1698593|P|2.7
PID|1||000395122||LEVERKUHN^ADRIAN^C||19880517180606|M|||6 66TH AVE NE^^WEIMAR^DL^98052||(157)983-3296|||S||12354768|87654321
NK1|1|TALLIS^THOMAS^C|GRANDFATHER|12914 SPEM ST^^ALIUM^IN^98052|(157)883-6176
NK1|2|WEBERN^ANTON|SON|12 STRASSE MUSIK^^VIENNA^AUS^11212|(123)456-7890
IN1|1|PRE2||LIFE PRUDENT BUYER|PO BOX 23523^WELLINGTON^ON^98111|||19601||||||||THOMAS^JAMES^M|F|||||||||||||||||||ZKA535529776
Anmerkung: HL7-Datei mit Beispieltext erstellen:
  1. Kopieren Sie den Beispieltext und fügen Sie ihn unter Verwendung einer beliebigen Textverarbeitungssoftware (z. B. Notepad++) in ein neues Dokument ein.
  2. Nehmen Sie die erforderlichen Änderungen am Inhalt vor.
  3. Konfigurieren Sie die Einstellungen, um Zeilenenden (EOL) anzeigen zu lassen. Navigieren Sie in Notepad++ zu Ansicht > Nicht druckbare Zeichen > Zeilenende anzeigen.
  4. Ändern Sie das Konvertierungsformat für Zeilenende (EOL) auf CR (Carriage Return). Navigieren Sie in Notepad++ zu Bearbeiten > Format Zeilenende > Konvertiere zu Mac (CR).
  5. Speichern Sie nach dieser Formatänderung die HL7-Datei.

Registerkarte „Dateieigenschaften“

Feldname

Beschreibung

Servername

Dies gibt an, ob sich die von Ihnen als Eingabe ausgewählte Datei auf dem Computer mit dem Enterprise Designer oder auf dem Spectrum™ Technology Platform-Server befindet. Wenn Sie eine Datei auf dem lokalen Computer auswählen, lautet der Servername „Arbeitsplatz“. Wenn Sie eine Datei auf dem Server auswählen, lautet der Servername Spectrum™ Technology Platform.

Dateiname

Gibt den Pfad zur Datei an. Klicken Sie auf die Ellipsenschaltfläche (...), um die gewünschte Datei zu lokalisieren.

Anmerkung: Falls der Spectrum™ Technology Platform-Server unter Unix oder Linux ausgeführt wird, berücksichtigen Sie, dass bei Dateinamen und Pfaden auf diesen Plattformen die Groß-/Kleinschreibung beachtet wird.

HL7-Version

Dies ist die Version des HL7-Standards in der von Ihnen angegebenen Datei. Beispielsweise bedeutet „2.7“, dass die Datei HL7-Version 2.7 verwendet. Die HL7-Version wird im 12. Feld des MSH-Segments angezeigt.

Zeichencodierung

Dies ist die Codierung der Textdatei. Wählen Sie eine der folgenden Optionen:

UTF-8
Die Datei unterstützt alle Unicode-Zeichen und ist abwärtskompatibel mit ASCII. Weitere Informationen zu UTF finden Sie unter unicode.org/faq/utf_bom.html.
UTF-16
Die Datei unterstützt alle Unicode-Zeichen, ist aber nicht abwärtskompatibel mit ASCII. Weitere Informationen zu UTF finden Sie unter unicode.org/faq/utf_bom.html.
US-ASCII
Die Zeichencodierung basiert auf der Reihenfolge des englischen Alphabets.
UTF-16BE
Die Datei ist UTF-16-codiert mit Big-Endian-Reihenfolge (höchstwertiges Byte zuerst).
UTF-16LE
Die Datei ist UTF-16-codiert mit Little-Endian-Reihenfolge (niedrigstwertiges Byte zuerst).
ISO-8859-1
Dies ist eine ASCII-Zeichencodierung, die normalerweise für westeuropäische Sprachen verwendet wird. Sie ist auch bekannt als Latin-1.
ISO-8859-3
Dies ist eine ASCII-Zeichencodierung, die normalerweise für südeuropäische Sprachen verwendet wird. Sie ist auch bekannt als Latin-3.
ISO-8859-9
Dies ist eine ASCII-Zeichencodierung, die normalerweise für Türkisch verwendet wird. Sie ist auch bekannt als Latin-5.
CP850
Dies ist eine ASCII-Codeseite, die für westeuropäische Sprachen verwendet wird.
CP500
Dies ist eine EBCDIC-Codeseite, die für westeuropäische Sprachen verwendet wird.
Shift_JIS
Dies ist eine Zeichencodierung für Japanisch.
MS932
Dies ist eine Shift_JIS-Erweiterung von Microsoft, die besondere NEC-Zeichen, eine NEC-Auswahl aus IBM-Erweiterungen und IBM-Erweiterungen einschließt.
CP1047
Dies ist eine EBCDIC-Codeseite mit dem vollständigen Latin-1-Zeichensatz.

„Validate

Diese Option gibt an, ob die Datei überprüft werden soll, um sicherzustellen, dass der HL7 2.7-Standard eingehalten wurde. Wenn die Überprüfung bei irgendeiner Nachricht in der Datei einen Fehler ausgibt, wird sie als falsch formatierter Datensatz behandelt. In diesem Fall gelten die Optionen für falsch formatierte Datensätze, die für den Auftrag (im Enterprise Designer unter Bearbeiten > Auftragsoptionen) oder für das System (in der Management Console) angegeben wurden.

Pflichtfelder
Aktivieren Sie dieses Kästchen, wenn Sie sicherstellen möchten, dass jedes Segment, jedes Feld, jede Komponente und Unterkomponente die Elemente enthalten, die nach HL7-2.7-Standard erforderlich sind.
Länge
Aktivieren Sie dieses Kästchen, wenn Sie sicherstellen möchten, dass jedes Element die Anforderungen an Mindest- und Maximallänge des Elements erfüllt, wie sie im HL7-2.7-Standard definiert sind.

Unerwartete ignorieren

Wählen Sie diese Optionen aus, wenn Sie zulassen möchten, dass Nachrichten Segmente, Felder, Komponenten und Unterkomponenten an unerwarteten Positionen enthalten. Die erwarteten Positionen sind im HL7-Standard oder im Falle von benutzerdefinierten Nachrichtentypen im Tool HL7-Schema-Verwaltung im Enterprise Designer definiert.

Hier dient als Beispiel das folgende benutzerdefinierte Nachrichtenschema:

MSH
[PID]
{ZSS}
PV1
NK1
{[DG1]}

zusammen mit folgenden Daten:

MSH|^~\&|Pharm|GenHosp|CIS|GenHosp|198807050000||RAS^O17|RAS1234|P|2.7
ZSS|100|abc
PID|1234||PATID1234^5^M11^ADT1^MR^GOOD HEALTH HOSPITAL~123456789^^^USSSA^SS|
PV1||O|O/R||||0148^ADDISON,JAMES|0148^ADDISON,JAMES
NK1|Son|John

In diesem Fall ist das Segment PID an unerwarteter Position, da es sich vor dem Segment ZSS befindet.

Nachrichten, die Elemente an unerwarteten Positionen enthalten, werden als falsch formatierte Datensätze behandelt. In diesem Fall gelten die Optionen für falsch formatierte Datensätze, die für den Auftrag (im Enterprise Designer unter Bearbeiten > Auftragsoptionen) oder für das System (in der Management Console) angegeben wurden.

Standardmäßig sind alle Optionen unter Unerwartete ignorieren aktiviert, damit so viele Datensätze wie möglich erfolgreich verarbeitet werden können.

Segmente
Aktivieren Sie dieses Kästchen, um zuzulassen, dass Nachrichten Segmente enthalten, die nicht im HL7 2.7-Standard definiert sind. Unerwartete Segmente werden ignoriert, und andere Segmente in der Nachricht werden verarbeitet.
Felder
Aktivieren Sie dieses Kästchen, um zuzulassen, dass Segmente Felder enthalten, die nicht im HL7 2.7-Standard definiert sind. Unerwartete Felder werden ignoriert, und andere Felder im Segment werden verarbeitet.
Komponenten
Aktivieren Sie dieses Kästchen, um zuzulassen, dass Felder Komponenten enthalten, die nicht im HL7 2.7-Standard definiert sind. Unerwartete Komponenten werden ignoriert, und andere Komponenten im Feld werden verarbeitet.
Unterkomponenten
Aktivieren Sie dieses Kästchen, um zuzulassen, dass Komponenten Unterkomponenten enthalten, die nicht im HL7 2.7-Standard definiert sind. Unerwartete Unterkomponenten in der Komponente werden ignoriert, und andere Unterkomponenten werden verarbeitet.

Registerkarte „Felder“

Auf der Registerkarte Felder werden die Segmente, Felder, Komponenten und Unterkomponenten angezeigt. Verwenden Sie die Registerkarte Felder, um die Daten auszuwählen, die Sie in den Datenfluss einlesen möchten.

Segmentgruppen sind Sammlungen von Segmenten, die zusammen verwendet werden und eine Datenkategorie enthalten. Sie werden unter Verwendung eines Nummerierungssystems angezeigt, das deutlich macht, wo die Gruppe im Nachrichtenschema erscheint. Jede Segmentgruppe verfügt über eine Beschriftung „Group_n“, wobei n eine Zahl ist, die der Position der Gruppe im Nachrichtenschema entspricht. Hier ein Beispiel zur Veranschaulichung des Nummerierungssystems:



In diesem Beispiel wird die Feldliste für die Nachricht „RAS^017“ angezeigt. Diese Nachricht enthält zwei Segmentgruppen: RAS_017_Group_1 und RAS_017_Group_2. Die Segmentgruppe „Group_1“ verweist auf die erste Segmentgruppe im Schema „RAS^017“, und die zweite Gruppe „Group_2“ verweist auf die zweite Gruppe, die im Schema „RAS^017“ aufgelistet ist.

Um festzustellen, welche Segmentgruppe durch „Group_1“ und „Group_2“ repräsentiert wird, suchen Sie nach der Beschreibung der Nachricht „RAS^017“ im Dokument HL7 Version 2.7 Standard. Sie können eine Kopie dieses Dokuments unter www.hl7.org herunterladen.

Suchen Sie in der Beschreibung der Nachricht nach der ersten Gruppe. Diese ist bei „RAS^017“ die Gruppe „PATIENT“. Die zweite Gruppe im Schema ist die Gruppe „ORDER“.

Bei Segmentgruppen, die unter einer Segmentgruppe verschachtelt sind, wird eine zusätzliche Nummer an ihre Gruppennummer angehängt. Beispielsweise repräsentiert „Group_21“ die erste verschachtelte Gruppe unter der zweiten Gruppe. Bei weiteren Untergruppen werden zusätzliche Nummern angehängt. Beispielsweise repräsentiert die Gruppe „Group_221“ bei der Nachricht „RAS^017“ die Segmentgruppe „ORDER_DETAIL_SUPPLEMENT“. Im Folgenden finden Sie ein Beispiel für verschachtelte Gruppen:



Die Steuerungselemente auf der Registerkarte Felder werden in der folgenden Tabelle beschrieben.

Tabelle 1. Registerkarte „Felder“

Name der Option

Beschreibung

Erneut generieren

Klicken Sie auf diese Schaltfläche, um die Registerkarte Felder mit einer Liste aller Segmente, Felder, Komponenten und Unterkomponenten für den in der Eingabedatei enthaltenen Nachrichtentyp zu füllen. Alle Elemente des Nachrichtentyps werden basierend auf dem HL7-Schema angezeigt, unabhängig davon, ob die Eingabedatei all diese Elemente enthält. Wenn die Datei beispielsweise eine RAS-Nachricht enthält, wird das Schema für den gesamten RAS-Nachrichtentyp angezeigt, unabhängig davon, ob die Eingabedatei tatsächlich Daten für alle möglichen Segmente, Felder, Komponenten und Unterkomponenten enthält.

Wenn Sie unter Verwendung des Tools HL7-Schema-Verwaltung im Enterprise Designer irgendwelche benutzerdefinierten Elemente definiert haben, werden auch diese Elemente aufgelistet.

Alle erweitern

Dies erweitert alle Elemente auf der Registerkarte „Felder“, sodass Sie alle Segmente, Felder, Komponenten und Unterkomponenten für den in der Datei enthaltenen Nachrichtentyp sehen können.

Alle reduzieren

Dies schließt alle Knoten in dieser Ansicht, sodass nur die Segmente angezeigt werden. Verwenden Sie diese Option, um einfach einen Überblick über die Segmente für die Nachrichtentypen in der Datei zu erhalten. Sie können dann einzelne Segmente erweitern, um die Felder, Komponenten und Unterkomponenten eines Segments anzuzeigen.

Alle auswählen

Aktivieren Sie dieses Kästchen, um Datenflussfelder für alle Segmente, Felder, Komponenten und Unterkomponenten für alle in der Datei enthaltenen Nachrichtentypen zu erstellen.