Zum Inhalt

Medical Office - Rückimport via GDT Autoimport + Batch Skript

Um einen korrekten GDT Import von labGate Connect zu Medical Office zu realisieren, ist es nötig einige GDT Einstellungen vorzunehmen. Da im Barcode vom Laborauftragschein keine Patienten ID enthalten ist, muss diese später durch eine Batch Datei hinzugefügt werden.

Bitte erstellen Sie zunächst folgende Ordner: C:\AIS\PATGDT ; C:\AIS\TEMP

Diese Variante des Imports regelt die Datenübertragung per GDT. Bei dem Rückimport wird die Datei import.gdt durch labGate Connect generiert, unter einem zu definierenden Pfad abgelegt und durch das AIS ausgewertet.

VERALTET bei Barcode+GDT Export ist das spätere Aufwerten mit PAT-ID nicht notwendig


Als Erstes muss immer beim Öffnen einer Patientenakte eine Patienten GDT Datei erzeugt werden. Diese ist nach der Patienten ID benannt. Dadurch kann später dem Patienten die richtige Patienten ID zugeordnet werden. Wenn sich bei einem Patienten etwas ändert (z.B. Nachname bei Heirat) wird diese beim nächsten Öffnen der Patientenakte aktualisiert.

Dazu muss eine neue Schnellinfo angelegt werden. Die Schnellinfo befindet sich links oben in der Karteikartenansicht.

Um eine neue Schnellinfo zu erstellen klicken SIe bitte mit der rechten Maustaste in die Schnellinfo und wählen "Entwurfsmodus einschalten". Bitte klicken Sie erneut mit der rechten Maustaste in die Schnellinfo und wählen anschließend "Neue Schnellinfo" --> "\".

In dem folgenden Fenster tragen Sie als Bezeichnung "ID" ein. Als Inhalt verwenden wir ein PHP Script. Dieses Script erstellt eine GDT Datei in den Ordner C:\AIS\PATGDT.

Bitte kopieren Sie das folgende PHP Script in das Feld "Inhalt" und klicken abschließend auf "OK". Zum Schluss klicken Sie nochmals mit der rechten Maustaste in die Schnellinfo und wählen "Entwurfmodus ausschalten"


{PHP}
$contents = array(
    "3000{Patient.PatId}\r\n",
    "3101{Patient.stammdaten.nachname}\r\n",
    "3102{Patient.stammdaten.vorname}\r\n",
    "3103{Patient.stammdaten.geburtsdatum}\r\n"
);
//NOT TO EDIT!
$fh=fopen("C:\AIS\PATGDT\ID{Patient.PatId}.gdt","w");
$string="";
foreach($contents as $content ) {
    $string .= str_pad((strlen($content) + 3), 3, "0", STR_PAD_LEFT).$content;
}
$header = "0148100" . str_pad((strlen($string) + 14), 5, "0", STR_PAD_LEFT) . "\r\n";
fputs($fh,$header . $string);
fclose($fh);
{/PHP}

Als nächstes muss der GDT Import konfiguriert werden. Dazu starten Sie das "Datenpflegesystem" über Extras --> Datenpflegesystem. Anschließend wählen Sie in der linken Spalte unter "Arbeitsplatz" "Allgemein" aus.

In der Rubrik BDT-/GDT-/LDT-Import füllen Sie die Felder wie im Bild dargestellt aus. Anschließend können Sie das Datenpflegesystem schließen.


Als nächstes wird das Batch Skript an einen lokalen Ort (wo jeder User Rechte hat zB. unter C:\AIS) abgelegt Die Batch Datei muss den Namen addpatid.bat haben.

labGate Connect legt die GDT Datei im Ordner C:\AIS\TEMP ab.

Die Batch Datei nimmt sich diese GDT Datei und liest den Vornamen, Nachnamen und das Geburtsdatum des Patienten aus. Diese Informationen nutzt er nun um in den Patienten GDT Dateien im Ordner C:\AIS\PATGDT die passende Patienten ID zu finden.

Als nächstes erstellt die Batch Datei eine neue GDT Datei und fügt der GDT Datei die passende Patienten ID hinzu. Diese wird dann im zuvor konfigurierten Import Order (C:\AIS\IN) abgelegt.

Das Skript selber kann hier heruntergeladen werden.




@echo off & setlocal EnableDelayedExpansion

echo.
echo Bitte warten Sie bis sich das Fenster von alleine schlieát!

set erweiterterGDTSatz=0
set patgdtOrdner=C:\AIS\PATGDT\
set rueckImportOrdner=C:\AIS\TEMP\
set autoImportOrdner=C:\AIS\IN\
set tempOrdner=%temp%\

set rueckImportDateiListe=dir /a-d /b /od %rueckImportOrdner%
set patgdtDateiListe=dir /a-d /b /o-d %patgdtOrdner%

for /f "delims=*" %%d in ('%rueckImportDateiListe%') do (
set treffer=false
set /a zeichenanzahl=0
set dateiname=%%~nd
for /f "delims=*" %%z in ('findstr /r . "!rueckImportOrdner!%%d"') do (
set /a laenge=0
set zeile=%%z
set feldkennung=!zeile:~3,4!
set inhalt=!zeile:~7!
if /i "!feldkennung!" EQU "3101" set nachnameIMPORT=!inhalt!
if /i "!feldkennung!" EQU "3102" set vornameIMPORT=!inhalt!
if /i "!feldkennung!" EQU "3103" set geburtsdatumIMPORT=!inhalt!
if /i "!zeile:~,1!" EQU "0" (
if /i "!zeile:~1,1!" EQU "0" (
set /a laenge=!zeile:~2,1!
) else (
set /a laenge=!zeile:~1,2!
)
) else (
set /a laenge=!zeile:~,3!
)
set /a zeichenanzahl=!zeichenanzahl!+!laenge!
)
call :PATGDT
if /i "!treffer!" EQU "true" (
del /f /q "!rueckImportOrdner!%%d">nul
move "!tempOrdner!!dateiname!.gdt" "!autoImportOrdner!">nul
)
)
goto :eof

:PATGDT
for /f "delims=*" %%p in ('!patgdtDateiListe!') do (
for /f "delims=*" %%z in ('findstr /r . "!patgdtOrdner!%%p"') do (
set zeile=%%z
set feldkennung=!zeile:~3,4!
set inhalt=!zeile:~7!
if /i "!feldkennung!" EQU "3000" set patid=!zeile!
if /i "!feldkennung!" EQU "3101" set nachname=!inhalt!
if /i "!feldkennung!" EQU "3102" set vorname=!inhalt!
if /i "!feldkennung!" EQU "3103" set geburtsdatum=!inhalt:~0,2!!inhalt:~3,2!!inhalt:~6,4!
)
if /i "!nachname!" EQU "!nachnameIMPORT!" if /i "!vorname!" EQU "!vornameIMPORT!" if /i "!geburtsdatum!" EQU "!geburtsdatumIMPORT!" (
set treffer=true
copy nul !tempOrdner!!dateiname!.gdt>nul
for /f "delims=*" %%z in ('findstr /r . "!rueckImportOrdner!%%d"') do (
set zeile=%%z
set feldkennung=!zeile:~3,4!
set inhalt=!zeile:~7!
if /i "!feldkennung!" EQU "8100" (
if /i "!patid:~,1!" EQU "0" (
if /i "!patid:~1,1!" EQU "0" (
set /a laenge=!patid:~2,1!
) else (
set /a laenge=!patid:~1,2!
)
) else (
set /a laenge=!patid:~,3!
)
if /i "!erweiterterGDTSatz!" EQU "1" (
set /a zeichenanzahl=!zeichenanzahl!+!laenge!+14
) else (
set /a zeichenanzahl=!zeichenanzahl!+!laenge!+2
)
if /i !zeichenanzahl! LEQ 9 (
echo !zeile:~,7!0000!zeichenanzahl!>>!tempOrdner!!dateiname!.gdt
) else if /i !zeichenanzahl! LEQ 99 (
echo !zeile:~,7!000!zeichenanzahl!>>!tempOrdner!!dateiname!.gdt
) else if /i !zeichenanzahl! LEQ 999 (
echo !zeile:~,7!00!zeichenanzahl!>>!tempOrdner!!dateiname!.gdt
) else if /i !zeichenanzahl! LEQ 9999 (
echo !zeile:~,7!0!zeichenanzahl!>>!tempOrdner!!dateiname!.gdt
) else (
echo !zeile:~,7!!zeichenanzahl!>>!tempOrdner!!dateiname!.gdt
)
) else if /i "!feldkennung!" EQU "3101" (
echo !patid!>>!tempOrdner!!dateiname!.gdt
echo !zeile!>>!tempOrdner!!dateiname!.gdt
) else if /i "!feldkennung!" EQU "3103" (
echo 0193101!geburtsdatum:~0,2!.!geburtsdatum:~2,2!.!geburtsdatum:~4,4!>>!tempOrdner!!dateiname!.gdt
) else if /i "!feldkennung!" EQU "6201" (
if /i "!erweiterterGDTSatz!" EQU "1" (
echo !zeile!>>!tempOrdner!!dateiname!.gdt
echo 0116330AK>>!tempOrdner!!dateiname!.gdt
) else (
echo !zeile!>>!tempOrdner!!dateiname!.gdt
)
) else if /i "!feldkennung!" EQU "6228" (
if /i "!erweiterterGDTSatz!" EQU "1" (
echo !zeile:~,3!6331!inhalt!>>!tempOrdner!!dateiname!.gdt
) else (
echo !zeile!>>!tempOrdner!!dateiname!.gdt
)
) else (
echo !zeile!>>!tempOrdner!!dateiname!.gdt
)
)
goto :eof
)
)
goto :eof


Um die Batch Datei über eine Schaltfläche auslösen zu können, muss ein Auftrag eingerichtet werden.

Dazu starten Sie das "Datenpflegesystem" über Extras --> Datenpflegesystem. Anschließend wählen Sie in der linken Spalte unter "Aufträge" "Aufträge" aus. Dort klicken Sie bitte auf "Neu" um einen neuen Auftrag zu erstellen.

Im Reiter "Schlüssel" füllen Sie bitte die Felder wie im Bild dargestellt aus:

Im Reiter "Geräteanbindung" füllen Sie bitte die Felder wie im Bild dargestellt aus und klicken anschließend auf "OK":

Nun muss ein Button erstellt werden um den soeben erstellten Auftrag auszulösen.

Dazu öffnen Sie zunächst die Karteikarte eines beliebigen Patienten. Auf der rechten Seite befinden sich die Schaltflächen. Um eine neue Schaltfläche zu erstellen klicken Sie mit der rechten Maustaste auf eine Schaltfläche und wählen "Entwurfsmodus einschalten".

Als nächstes klicken Sie noch einmal auf eine Schaltfläche und wählen "Neue Schablone anlegen".

Füllen Sie die Felder wie im Bild dargestellt aus und klicken anschließend auf "OK".

Im nächsten Fenster wählen Sie bitte "Auftrag - Auftrag" aus dem Drop-Down Menü aus. Zuletzt schreiben Sie bitte ein "LAB-IMPORT" in das Textfeld für das Zusatzkürzel und klicken auf "OK".

Zum Abschluss dieses Punktes klicken Sie noch einmal mit der rechten Maustaste auf eine Schaltfläche und wählen"Entwurfsmodus ausschalten".


Zum Schluss werden die GDT Export Einstellungen im labGate Connect eingerichtet.

Dazu öffnen Sie bitte die Konfiguration von labGate Connect in dem sie auf das labGate Connect Symbol einen Rechtsklick machen und "Konfiguration..." auswählen.

Unter dem Punkt Export wählen Sie bitte "GDT" aus der Dropdown Liste aus und klicken anschließend auf "Konfigurieren...".

Füllen Sie die Felder wie im Bild dargestellt aus und klicken anschließend auf "OK".


Wenn nun eine GDT Datei vom labGate Connect erstellt wird, klickt der Anwender auf die Schaltfläche "Labor Import" und die Batch Datei wird ausgeführt.

Ein Karteikarteneintrag sieht dann wie folgt aus: