---
title: HL7
description: "## 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:…"
url: "https://aspi-gmbh.de/docs/hl7/"
updated: "2026-03-08"
category: Schnittstellen
---

# HL7

## 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:**

```javascript

                //...
AUSGABEPFAD={APPPATH}AUFTRAGHL7
AUSGABE=TIMESTAMP{}
AUSGABE={AUSGABEPFAD}{AUSGABE}_{PATIENTID}_{NACHRICHT}.hl7IFBLOCK{NACHRICHT=A01}
RES=SETSCRTAG{A01,{PATIENTID},A01,1}
RESULT=HL7.PUTHL7FILE{{APPPATH}CONFIGEXPORTHL7A01.DEF,{AUSGABE}}
ELSEIF{NACHRICHT=A08}
RESULT=HL7.PUTHL7FILE{{APPPATH}CONFIGEXPORTHL7A08.DEF,{AUSGABE}}
ELSEIF{NACHRICHT=A11}
RESULT=HL7.PUTHL7FILE{{APPPATH}CONFIGEXPORTHL7A11.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. `MSH`, `PID`) 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:**

```javascript

                //Wenn kein Patient ausgewählt ist, Script verlassen
DUMMYVAR=IFNOVAREXIT{PATIENTID}
// HL7-Datei lesen und MSH-Segment auswerten
TST=HL7.GETHL7FILE{MSH,...MCDMSAUFTRAGIMPORT123.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.
