SteriBase-Handbuch

Artikel Lagerverwaltung Bestellung Geschäftspartner Auftrag Taxation / Rezeptdruck Weitere Funktionen
Stoffe Rezeptpositionen Rechnung Ausdruck Produktion Schnittstellen

HL-7 Schnittstelle

Health Level 7 (HL7) ist ein internationaler Standard für den Austausch von Daten zwischen Computersystemen im Gesundheitswesen und wird besonders im Klinikbereich eingesetzt. Aus dem Klinikverwaltungssystem heraus (z.B. Orbis, SAP, Clinicom, usw.) lassen sich diese Daten exportieren und in SteriBase importieren.

Sie können den Datenimport entweder aus der Geschäftspartner-Übersichtsliste oder aus dem Auftragsformular heraus starten.

 

Geschäftspartner-Übersicht

Klicken Sie im SteriBase Hauptmenü auf GP und wählen in dem Formular GP suchen und selektieren oben links in der Menüleiste über die Funktion DATEI den Eintrag "Pat. aus HL7-Datenbank".

 

Es öffnet sich das HL7-Patienten-Pool.

Um nun einen Patienten zu suchen, geben Sie eines der folgenden Kriterien ein:

 

Markieren Sie die Zeile des gesuchten Patienten und bestätigen Ihre Eingabe mit "OK, um die Patientendaten in SteriBase zu importieren. Nun können Sie in der GP-Übersichtsliste den soeben importierten Patienten suchen und bearbeiten bzw. einen Auftrag für diesen Patienten anlegen.

  GP suchen

 

 

Auftragsformular

In dem Formular Aufträge suchen und selektieren klicken Sie auf die Schaltfläche "neue Zub./Auftr.", um einen Auftrag neu anzulegen. Sie erhalten das Auftragsformular, in dem Sie zunächst einen Patienten auswählen. Klicken Sie mit der rechten Maustaste in das Auswahlfeld für den Patienten/Kunden und wählen die Funktion "Pat. aus HL7-Datenbank" aus.

Es öffnet sich das HL7-Patienten-Pool.

Suchen Sie nun - wie oben beschrieben- den Patienten aus, markieren die Zeile und bestätigen Ihre Eingabe mit "OK", um die Patientendaten nach SteriBase zu importieren.

Damit Sie den Patienten nun diesen Auftrag zuordnen können, drücken Sie einmal die F9-Taste. Somit haben Sie den soeben importierten Patientennamen in der Auswahlliste zur Verfügung.

Auf diese Weise wählen Sie die Patienten im Auftragsformular aus. Zu jedem neu angelegtem Auftrag wird optimalerweise der Patient neu importiert. Somit bleiben die GP-Daten stets auf dem aktuellsten Stand. Sie können bei einem Import zusätzlich wählen, ob Sie den Versicherungsstatus bei bekannten Patienten mit updaten wollen oder nicht.

Hinweise

 

+++++++++++++++++++++++++++++++++++++++++

 

Technischer Aufbau:

Das primäre Klinikverwaltungssystem sendet die Nachrichten (ADT-Nachrichten) über die Neuaufnahmen, Verlegungen, Entlassungen, etc. als HL7-Nachrichtendatei in ein für die SteriBase-Hl7-Schnittstelle freigegebenes Verzeichnis auf einem Server.

Die Namen der Nachrichtendateien müssen so vergeben werden, dass deren Sortierung der Reihenfolge entspricht, in der die Nachrichten entstanden sind und auch eingelesen werden sollen (z.B. einfach eine fortlaufende Nummerierung als Dateiname mit fester Länge
00000001.hl7, 00000002.hl7, 00000003.hl7, ...).

Die Nachrichten im HL7-Eingangsverzeichnis werden vom HL7-Watcher der Reihe nach abgearbeitet und in die separate SteriBase-HL7-Datenbank eingefügt.

Soll ein Patient mit seinen aktuellen Daten in die eigentliche SteriBase-Datenbank importiert werden, so greift der entsprechende SteriBase-Import-Dialog auf die HL7-Datenbank zu und ermöglicht darüber eine komfortable Suche nach dem gewünschten Patienten.

Ein erneuter Import eines bereits importierten Patienten bewirkt ein Update der Patientendaten in der SteriBase-DB.
Die Erkennung des Patienten erfolgt dabei über die eindeutige (Lebens)-Nummer des Patienten innerhalb des sendenden Systems.

Die HL7-DB stellt also gewissermaßen eine SQL-Version der gesammelten HL7-Nachrichten dar, aus der sich grundsätzlich auch andere Systeme innerhalb des Hauses bedienen könnten.

 

Die HL7-DB speichert dabei:

Die HL7-Field-Map-DB dient dem Mapping der Felder der HL7-Nachrichten auf die Felder der HL7-DB

Tabellen der Field-Map-DB:

Hier ein Bsp.-Ausschnitt aus der DBFldMap-Tabelle

Wenn der HL7-Watcher eine Nachricht aus dem Eingangsverzeichnis liest, um sie in die HL7-DB einzufügen, wandelt er die Nachricht zunächst in eine XML-Datei um, um das Mapping klarer strukturieren zu können.

Das Feld FldID der DBFldMap-Tabelle gibt das Zielfeld in der HL7-DB an.
Das Feld ValSource gibt die Quelle des Wertes an, der in das Zielfeld eingetragen werden soll.
Dies ist dann meist einfach ein X-Path-Krieterien-Ausdruck, um den betreffenden Wert aus der intermediär erzeugten XML-Datei auszulesen.

Bsp.: Vorname des Patienten.
Der Vorname des Patienten steht im 2. Unterfeld des 5. Feldes des HL7-Segments "PID"

Daher lautet der X-Path zu diesem Feld: PID/PID_5/PID_5_2

Neben dem ValSoureTyp "XPath-Criteria" gibt es noch weitere Quell-Typen, die weniger benötigt werden.

Dies ist v.a. der Typ "Function-Value" mit dem das Ergebnis einer Funktion als Wert in das Ziel-Feld übertragen werden kann.
z.B.

NULL: liefert NULL-Wert

Date(): liefert das aktuelle Datum

Now(): liefert das aktuelle Datum mit Uhrzeit auf Sek.

Hier können allgemeine VB-Funktionen, oder spezielle Funktionen des HL7-Watchers eingetragen werden.
Die Syntax muss dabei so gewählt werden, dass der Inhalt des Feldes durch die Access-VBA-Funktion EVAL() korrekt ausgewertet werden kann.

 

Es ist auch möglich die Inhalte mehrer Felder der HL7-Nachricht zunächst zu verknüpfen, und das Verknüpfungsergebnis in die HL7-DB einzufügen.

So z.b. für das Ziel-Feld Angehörige der HL7-DB.

Dazu wird das betroffene Ziel-Feld mehrfach in die Tabelle DBFldMap eingetragen.

Jeder Datensatz wird dann im Feld "ConcatOrder" mit einer Nummer versehen, die angibt, in welcher Reihenfolge die Quell-Werte verknüpft werden sollen.
Zusätzlich wird für jeden Quellwert (bis auf den letzten) angegeben, mit welchen Zeichen die einzelnen Quell-Werte untereinander verknüpft werden sollen. Dazu dient das Feld "ConcatCharCodeList".
hier werden die ASCII-Codes des bzw. der Zeichen angegeben, die dazu verwendet werden sollen (59;32 ergibt z.B. Semicolon und Space)
 

 

Der HL7-Watcher selbst führt die Transformationen der Nachrichten gem. den Einstellungen in der Field-Map-DB in die HL7-DB durch.

Darin werden noch einige Konfigurationen vorgenommen (Pfade etc.)

 

ProfID ID des Profils; es können mehrere Profile definiert werden
DataSource ADO-Data-Source, in der die Inhalte der Nachrichten gespeichert werden
Provider ADO-Provider für den DB-Zugriff
WatchDirName Verzeichnis, in das die HL7-Nachrichten eingehen
FileNameRestr Syntax für den Dateinamen einer HL7-Nachrichtendatei (z.B. *.hl7), damit nicht andere evtl. in der Inbox befindliche Dateien stören.
FileMinAge_s Mindestalter der Nachrichtendatei, bevor Sie verarbeitet wird (in sec); bezogen aus Systemdatum und letzte Bearbeitung der Datei (last modified), damit nicht gelesen wird, bevor die Datei zu Ende geschrieben ist.
ArchivDirName Verzeichnis, in das die HL7-Nachrichtendatei verschoben wird, nachdem sie verarbeitet wurde (z.B: X:\hl7\inbox\archiv\); $KILL$ löscht die Datei; keine Angabe: archiviert im Unterverzeichnis "archiv" des WatchDir
UseAsDft Kennzeichnet das Profil als aktuelles Standard-Profil
MaxFilesToProc Anzahl der Nachrichtendateien, die maximal in einem Durchlauf verarbeitet werden sollen (z.B. 60); 0 bedeutet ohne Limit
WatchTimer_s Timereinstellung in sec; Abstand in sec, in der das Verzeichnis durchsucht wird (z.B. 300 -> 5min )
DataSourceFldMap ADO-Data-Source, in der die Field-Maps definiert sind
ProviderFldMap ADO-Provider für den DB-Zugriff auf die DataSourceMapDB
SaveMsgAsXMLFile Soll die Nachricht als XML-Datei gespeichert werden (oder wieder gelöscht werden)

 

 

Die Field-Map-DB und der Watcher liegen normalerweise im gleichen Verzeichnis.
Die HL7-DB auf einem freigegebenen Server-Verzeichnis.

 

Weitere Informationen über die HL7-Schnittstelle erfahren Sie über die Hotline.