Lieber Herr Baumann,
vielen Dank für Ihre prompte Hilfe, bis ich dann zum Ausprobieren kam hat es deutlich länger gedauert als Ihre sofortige Hilfe! Ihr Tipp war natürlich richtig und mir eine große Hilfe, damit geht es jetzt - vielen Dank!
Da ich glaube, dass die Idee mit dem Auslesen von Listen sehr hilfreich sein kann und das Erstellen (zumindest für mich) etwas aufwendiger war, will ich meine Lösung hier detailliert darstellen. Konkret ist die Idee, dass man Informationen aus Listen, die man in z.B. Excel-Dateien patientenunabhängig hat, patientenspezifische Abfragen generiert (also z.B. Diagnose -> welche Studie passt oder welche Untersuchung soll dann gemacht werden).
Den Weg, den ich mir überlegt habe, ist, zunächst die Excel-Datei in eine Textdatei zu exportieren (Spalten zu Tabstopps) und dann diese Textdatei komplett in einen Textbaustein zu kopieren.
Als Beispiel soll zu der ersten Diagnose, die in der Karteikarte eines Patienten steht, z.B. geprüft werden, welche Untersuchungen bei der Diagnose erforderlich sind.
In den Textbaustein „NameListe“ wurde jetzt eine Textdatei kopiert. Die Spalten sind mit Tab-Stop getrennt. In Spalte 1 befinden sich ein oder mehrere ICD-Codes (wenn mehrere jeweils mit Leerzeichen getrennt). In Spalte 2, 3 etc. die Informationen, die den Diagnosen zugeordnet sind.
Über das Kommando (und hier CAVE: jedes Leerzeichen bzw. fehlende Leerzeichen entscheidet über funktionieren oder scheitern!):
$[regex $[regex ... x DDI 1 _ 0-1d NN NNNN NN0N scheinDiagnosenICDvornauchAbgesetzteDiagnosen K _]$+[^\n\r\t]+\t[^\n\r\t]+\t([^\n\r\t]+) NameListe -anzahlTreffer inf -trennsequenz \n\n]$
wird nun die dritte Spalte der Tabelle ausgegeben (für das Auslesen von Spalte 2: einmal den Term \t[^\n\r\t]+ aus der Mitte löschen, für das Auslesen von Spalte 4 \t[^\n\r\t]+ in die Mitte einfügen, jeweils ohne Leerzeichen zwischen den Termen!).
Durch
-anzahlTreffer inf
Wird jeder Treffer ausgegeben – wenn also eine Diagnose in der Tabelle mehrfach auftaucht, werden mehrere Ergebnisse ausgegeben.
Durch
-trennsequenz \n\n
wird jedes Ergebnis durch 2 Zeilenumbrüche (=einer Leerzeile) voneinander getrennt.
Der Term
x DDI 1 _ 0-1d NN NNNN NN0N scheinDiagnosenICDvornauchAbgesetzteDiagnosen K _
benennt den ICD-Code der Diagnose des Patienten, die drei Punkte im Regex-Term bedeuten, dass vom ICD-Code nur die ersten drei Buchstaben/Ziffern genommen werden.
Ich hoffe, die Darstellung nützt irgendwem; wie gesagt, ich denke kann ganz nützlich sein.
Viel Spaß beim Basteln und frohe Osterfeiertage!
Axel Nogai