Testcase
Zur Überprüfung einer Integration können Fälle als Testcase festgehalten werden. Ein Testcase enthält die Eingabedaten eines Falls zusammen mit dem erwarteten Gruppierungsergebnis und lässt sich so reproduzierbar gegen den Grouper prüfen. Das Format wird auch verwendet, um Fragen zu einzelnen Fällen eindeutig zu dokumentieren.
Erzeugung
Beide Module können zu einem Fall den passenden Testcase schreiben. Im Java-Modul beispielsweise:
Result result = grouper.group(fall); grouper.writeTestcaseWithLog(fall, result, "fall-0815.txt");
Die erzeugte Datei enthält die Eingabefelder des Falls, die verwendete Konfiguration sowie das ermittelte Ergebnis samt Nachvollziehbarkeits-Log. Sie kann unverändert zurückgeschickt werden, um ein Ergebnis zu belegen oder eine Abweichung zu melden.
Aufbau
Ein Testcase ist eine einfache UTF-8-Textdatei mit zeilenweisen
Schlüssel Wert-Angaben. Zeilen, die mit #
beginnen, sind Kommentare (und enthalten u. a. das ermittelte
Ergebnis). Der funktionale Teil – Konfiguration und Falldaten – wird beim
erneuten Einlesen wieder zum selben Fall.
Kopf (Umgebung und Ergebnisübersicht)
Kommentarzeilen mit Angaben zur Umgebung und – falls ein Ergebnis vorliegt – zur verwendeten Definition und Spitalliste:
# SPLG Testcase # Timestamp 2026-03-15 10:13:26 # Platform linux # OS 6.12.90-amd64 # CPU 4 cores # Grouper 2026.2.1 # Defversion A_2026_8 # Spitalliste A_2026_zh_1 # LA 71291845,8000 2026: GEB1,VIS1.3|0101-3008,...
Die # LA-Zeile listet die Leistungsaufträge des Betriebs des
Falls (mit Gültigkeitszeitraum im Format TTMM-TTMM, siehe
Gültigkeitszeiträume).
Konfiguration
release <Release>- Der zu verwendende Release, z. B.
A_2026. kantonsoverride <Kanton>- Optionaler Wohnkanton-Override.
with-log- Markiert, dass beim erneuten Gruppieren das Nachvollziehbarkeits-Log erzeugt werden soll.
sl <burnr,plz,standort,referenz,jahr,kanton,SPLG,…>- Eine In-Memory-Spitalliste (aus
addSpitalliste), ein Eintrag pro Zeile.
Falldaten
Die Fallfelder entsprechen den Feldern der
Falldaten-Klasse.
Skalare Felder werden als schlüssel wert geschrieben, die
Listenfelder als eigene Zeilen:
- Skalare
burnr,fallid,plz,standort,standortkanton,wohnkanton,austritt,agey,aged,ssw,ggw,dmb,freiwilligkeit,falltypsowie die Durchreiche-Felder. Leere Felder werden weggelassen.diagnose <code,seitigkeit>- Eine Diagnose (die erste ist die Hauptdiagnose).
behandlung <code,seitigkeit,beginn,ambExt>- Eine Behandlung; direkt darauf folgende
op-Zeilen gehören zu ihr. op <gln,funktion,zulassung>- Ein Operateur der vorangehenden Behandlung.
bewegung <beginn,ende,art,burnr>- Eine Patientenbewegung.
Ergebnis
Das ermittelte Ergebnis wird als Kommentarblock angehängt (rein
informativ – die Felder entsprechen der
Result-Klasse):
# Output: # SPLG: GEB1 # Quer: … # MFZS: … # MFZO: … # Operateure: … # LACTRL: 0 # Lactrlcodes: … # SLST: 2 Liste des Wohnkantons # Errorcode: 0
Wurde der Testcase mit with-log erzeugt, folgt am Ende ein
# Log-Details-Block mit dem Regel-Trace der Gruppierung.
Da der funktionale Teil dem Eingabeformat des eigenständigen Groupers entspricht (siehe Eingabeformate), lässt sich ein Testcase auch direkt vom Grouper einlesen.