SteriBase-Handbuch
Artikel Lagerverwaltung | Bestellung | Geschäftspartner | Auftrag | Taxation / Rezeptdruck | Weitere Funktionen |
Stoffe |
Rezeptpositionen | Rechnung | Ausdruck | Produktion | Schnittstellen |
TOOLS | eRezept |
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.
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.
+++++++++++++++++++++++++++++++++++++++++
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.