View Categories

HL7

Script-HL7-Funktionen

Mit den HL7-Funktionen der MediControl Script Engine können Sie standardisierte HL7-Nachrichten einfach erzeugen, exportieren und wieder einlesen. Damit lassen sich z. B. ADT-Nachrichten (Aufnahme, Änderung, Entlassung) automatisiert mit angebundenen Kliniksystemen austauschen.

Überblick

Die beiden zentralen Funktionen sind:

  • HL7.PUTHL7FILE – erstellt aus einer HL7-Vorlage (*.DEF) eine fertige HL7-Datei.
  • HL7.GETHL7FILE – liest eine bestehende HL7-Datei ein und füllt Segmente und Felder in Variablen.

Damit können Sie mit wenigen Skriptzeilen komplette HL7-Nachrichten generieren oder aus externen Systemen übergebene HL7-Dateien auswerten – ohne sich um die technische Struktur (Segmente, Trenner, Felder, Subfelder) kümmern zu müssen.

HL7.PUTHL7FILE – HL7-Dateien erzeugen und exportieren

HL7.PUTHL7FILE erzeugt aus einer vorgegebenen HL7-Definitionsdatei (*.DEF) eine vollständige HL7-Nachricht und speichert diese als Datei in einem definierten Ordner. Alle benötigten Werte werden zuvor im Skript über Variablen gesetzt (z. B. Patienten-ID, Name, Geburtsdatum, Aufnahmedatum, Behandlungsart usw.).

Typische Anwendungsfälle:

  • Erzeugung von ADT-A01-Nachrichten (Patientenaufnahme)
  • Erzeugung von ADT-A08-Nachrichten (Stammdatenänderung / Bewegungsänderung)
  • Erzeugung von ADT-A11-Nachrichten (Stornierung einer Aufnahme)
  • Export von Patienten- und Bewegungsdaten an externe KIS-/Kommunikationsserver

Funktionsprinzip:

  1. Patienten- und Aufnahmedaten werden aus der Stammdatenbank gelesen.
  2. Hilfsvariablen (z. B. Datum im Format YYYYMMDD, Uhrzeit, Behandlungsart) werden berechnet.
  3. Eine HL7-Vorlagendatei (z. B. HL7A01.DEF) definiert den Aufbau der Nachricht.
  4. HL7.PUTHL7FILE fügt die Variablen in die HL7-Struktur ein und schreibt eine fertige *.hl7-Datei.

Beispiel aus einem ADT-A01-Exportskript:

//...
AUSGABEPFAD={APPPATH}\AUFTRAG\HL7\
AUSGABE=TIMESTAMP{}
AUSGABE={AUSGABEPFAD}{AUSGABE}_{PATIENTID}_{NACHRICHT}.hl7IFBLOCK{NACHRICHT=A01}
RES=SETSCRTAG{A01,{PATIENTID},A01,1}
RESULT=HL7.PUTHL7FILE{{APPPATH}\CONFIG\EXPORT\HL7A01.DEF,{AUSGABE}}
ELSEIF{NACHRICHT=A08}
RESULT=HL7.PUTHL7FILE{{APPPATH}\CONFIG\EXPORT\HL7A08.DEF,{AUSGABE}}
ELSEIF{NACHRICHT=A11}
RESULT=HL7.PUTHL7FILE{{APPPATH}\CONFIG\EXPORT\HL7A11.DEF,{AUSGABE}}
ENDIF
//...

Sie definieren einmalig die HL7-Struktur in der DEF-Datei. Änderungen (z. B. zusätzliche Felder oder Segmente) werden zentral in der Vorlage gepflegt; das Skript bleibt weitgehend unverändert.

HL7.GETHL7FILE – HL7-Dateien einlesen und auswerten

HL7.GETHL7FILE liest eine vorhandene HL7-Datei ein und stellt die Inhalte der gewünschten Segmente als Skriptvariablen zur Verfügung. Damit können eingehende HL7-Nachrichten komfortabel geprüft, protokolliert oder für weitere Verarbeitungsschritte genutzt werden.

Typische Anwendungsfälle:

  • Import von ADT-Nachrichten aus einem Kommunikationsserver
  • Auswertung von HL7-Dateien in Importverzeichnissen
  • Übernahme von Patienten-IDs, Fallnummern, Versichertennummern oder Bewegungsinformationen
  • Diagnose von HL7-Kommunikationsproblemen durch gezielte Anzeige einzelner Segmente

Funktionsprinzip:

  1. Sie übergeben den Segmentnamen (z. B. MSHPID) und den Dateipfad der HL7-Datei.
  2. HL7.GETHL7FILE liest die Datei und füllt Segment- und Feldinhalte in Variablen.
  3. Segmentteile stehen anschließend z. B. als MSH_...MSH_PID_... usw. zur Verfügung.
  4. Diese Variablen können in weiteren Skripten verarbeitet, geprüft oder zum Datenabgleich verwendet werden.

Beispiel aus einem Testszenario:

//Wenn kein Patient ausgewählt ist, Script verlassen
DUMMYVAR=IFNOVAREXIT{PATIENTID}
// HL7-Datei lesen und MSH-Segment auswerten
TST=HL7.GETHL7FILE{MSH,...\MCDMS\AUFTRAG\IMPORT\123.hl7}
//Nachricht (z.B. inkl. PID) anzeigen
DLG=DLGMESSAGE{{MSH_PID}}
//Beispiel: Patienten-ID aus einem HL7-Feld
PATIENTNR={MSH_PID_1_3}

Auf diese Weise können Sie eingehende HL7-Nachrichten ohne manuelle Zerlegung auslesen und direkt in die MediControl-Prozesse integrieren.

Vorteile der HL7-Integration in MediControl

  • Standardkonform – HL7-Strukturen werden technisch korrekt aufgebaut und interpretiert.
  • Automatisierbar – ideal in Kombination mit SRV-Watch-Skripten für Hintergrundprozesse.
  • Fehlerarm – keine manuelle Bearbeitung der HL7-Syntax nötig.
  • Flexibel – HL7-Vorlagen können je nach Anforderung angepasst und erweitert werden.

Mit HL7.PUTHL7FILE und HL7.GETHL7FILE steht Ihnen eine leistungsfähige, aber dennoch einfach steuerbare Schnittstelle zur Verfügung, um MediControl nahtlos in bestehende KIS- und Kommunikationsumgebungen einzubinden.