Testfall
Einführung
Der SPLG-Grouper kann zu einem konkreten Fall einen Testfall erzeugen und ausführen. Dies ist hilfreich, wenn ein unerklärliches oder unerwartetes Gruppierungsergebnis analysiert oder gemeldet werden soll. Durch das Erzeugen eines Testfalls steigt die Chance, dass das Verhalten beim AFG rasch nachvollzogen und korrigiert werden kann.
Ein Testfall ist eine kompakte Textdatei, die einen einzelnen Fall mitsamt der relevanten Konfiguration (Release, ggf. eigene Spitalliste oder Wohnkanton-Override) so beschreibt, dass die Gruppierung reproduzierbar wiederholt werden kann.
Bei Fragen zu einem konkreten Fall sind wir froh, wenn Sie uns den passenden Testfall mitschicken. Damit liegen uns alle nötigen Informationen vor, um den Sachverhalt zu analysieren.
Testfall aus einem Fall erzeugen
Liegt ein konkreter Fall in den Eingabedaten vor, kann zu diesem Fall ein Testfall erzeugt werden. Dazu wird die CLI im Testcase-Modus aufgerufen:
splg-grp-cli.exe --release A_2026 --input C:\Temp\inputdata ^
--create-testcase-for <burnr> <fallid>
Der Grouper sucht in den Eingabedaten den Fall mit der
angegebenen BURNR und Fall-ID, gruppiert ihn und schreibt den
Testfall im aktuellen Verzeichnis unter dem Namen
testcase-<burnr>-<fallid>-<datetime>.txt.
Mit --output <dir> kann ein anderes Zielverzeichnis
angegeben werden.
Mit der zusätzlichen Option --with-log wird der
Testfall um detaillierte Regelverlauf-Informationen erweitert,
die zeigen, wie der Grouper zum Resultat gekommen ist:
splg-grp-cli.exe --release A_2026 --input C:\Temp\inputdata ^
--create-testcase-for <burnr> <fallid> --with-log
Format eines Testfalls
Hier ein Beispiel eines einfachen, aber kompletten Testfalls:
# SPLG Testcase # Timestamp 06.05.2026 17:49:54 # Grouper 2026.2.1 # Defversion A_2023_21 # Spitalliste A_2023_3_zh release A_2023 burnr 12345678 fallid 1234568 plz 8000 standort 01 wohnkanton ZH austritt 20230918 agey 28 aged 0 diagnose Z390 # Output: # SPLG: GEB1 # MFZS: # MFZO: # LACTRL: 99 # Lactrlcodes: # Errorcode: 0
Ein Testfall besteht aus Textzeilen. Zeilen, die mit #
beginnen, sind Kommentare und werden bei der Ausführung ignoriert.
Sie enthalten dennoch wichtige Informationen über den verwendeten
Grouper, die verwendete Definition und (sofern angegeben) die
ursprünglichen Resultate.
Die eigentlichen Daten sind in Blöcke gruppiert:
- Konfigurationsblock:
release, optionalkantonsoverride, eine oder mehrerespitalliste- bzw.sl-Zeilen sowie optionalwith-log. - Falldaten: Basisinformationen wie BURNR, Fall-ID, Wohnkanton, Austrittsdatum, Alter etc.
- Diagnosen (
diagnose-Zeilen). - Behandlungen (
behandlung-Zeilen) und zugehörige Operierende (op-Zeilen). - Patientenbewegungen (
bewegung-Zeilen). - Optional ein auskommentierter Output-Block mit den ursprünglichen Resultaten.
- Optional ein auskommentierter Log-Details-Block mit detaillierten Regelverlauf-Informationen.
Jede Zeile enthält ein Schlüsselwort und einen Wert, getrennt durch Leerzeichen.
Testfall ausführen
Liegt ein Testfall als Datei vor, kann er direkt ausgeführt werden:
splg-grp-cli.exe --testcase testcase.txt
Der Grouper liest den Testfall ein, gruppiert ihn und schreibt einen frischen Testfall (mit aktuellem Output-Block) auf die Standardausgabe. Die Ausgabe lässt sich nach Belieben in eine Datei umleiten oder mit dem ursprünglichen Testfall vergleichen.
Mit --with-log werden zusätzlich die
Regelverlauf-Informationen in die Ausgabe aufgenommen:
splg-grp-cli.exe --testcase <file> --with-log
Wesentliche Optionen wie --release,
--spitalliste oder --wohnkanton-override
können auch beim Ausführen erneut angegeben werden und
überschreiben die Werte aus der Testfalldatei. So lässt sich ein
Fall ohne Änderung der Testfalldatei mit einer anderen Definition
oder einer anderen Spitalliste gegentesten.
Spitallisten im Testfall
Im Testfall können sowohl bestehende Spitallistendateien als auch ad-hoc definierte Spitallisten verwendet werden:
spitalliste <file>- Verwendet die angegebene Spitallistendatei (mehrfach
angebbar). Entspricht der CLI-Option
--spitalliste. sl <eintrag>- Inline-Spitallisteneintrag im Format
burnr,plz,standort,referenz,kanton,jahr[,splg[:vfrom[:vto]],...]. Praktisch für rasche Experimente mit verschiedenen Leistungsaufträgen, ohne dass eine Spitallistendatei erstellt werden müsste. Mehrfach angebbar.
Konkretes Beispiel: BURNR 12345678 erhält für das
Jahr 2025 die Leistungsaufträge BP und NEO1:
sl 12345678,,,1,ZH,2025,BP,NEO1
Bei sl sind vfrom und vto
optional und werden nur verwendet, wenn eine SPLG nur für einen
Teil des Jahres gültig ist (Format MMTT, z. B.
0106:3112). Wird eine Standort-BURNR verwendet,
können plz und standort leer gelassen
werden. referenz ist 1, falls die
Spitalliste eine Referenzspitalliste ist, ansonsten
0.
Kommando-Referenz
Die folgenden Kommandos können in einer Testfalldatei vorkommen. Unbekannte Kommandos werden beim Einlesen stillschweigend ignoriert. Damit lassen sich Testfälle, die für andere Varianten des SPLG-Groupers (z. B. die Integrationsmodule) erstellt wurden, ohne Anpassung verwenden — nicht unterstützte Felder bleiben einfach wirkungslos.
Konfiguration
release <release>- Wählt die zu verwendende SPLG-Definition (z. B.
A_2026). kantonsoverride <kanton>- Überschreibt den Wohnkanton des Falls. Mit
-wird der Override zurückgesetzt. spitalliste <file>- Verwendet die angegebene Spitallistendatei.
sl <burnr,plz,standort,referenz,kanton,jahr,splg:vfrom:vto,...>- Inline-Spitallisteneintrag (siehe oben).
with-log- Aktiviert den Detail-Log für die Gruppierung.
Falldaten
burnr <wert>- BURNR des Betriebs.
fallid <wert>- Fall-ID innerhalb des Betriebs.
plz <wert>- PLZ des Betriebs.
standort <wert>- Standortnummer des Betriebs.
wohnkanton <wert>- Wohnkanton des Patienten.
austritt <yyyymmdd>- Austrittsdatum des Patienten.
agey <wert>- Alter in Jahren.
aged <wert>- Alter in Tagen (nur bei Neugeborenen mit
ageygleich0). ssw <wert>- Gestationsalter (in Tagen).
ggw <wert>- Geburtsgewicht (in Gramm).
dmb <wert>- Dauer manueller Beatmung.
freiwilligkeit <wert>- Freiwilligkeit (nur Psychiatrie).
Diagnosen, Behandlungen, Bewegungen
diagnose <code,seitigkeit>- Fügt eine Diagnose hinzu.
seitigkeitist optional (0=beidseitig,1=links,2=rechts). Die erste Diagnose-Zeile gilt als Hauptdiagnose. behandlung <code,seitigkeit,beginn,ambext>- Fügt eine Behandlung hinzu. Felder am Ende können weggelassen werden.
op <gln,funktion,zulassung>- Fügt der zuletzt angegebenen Behandlung einen Operateur
hinzu (
funktion:1=primär,2=sekundär;zulassung:1=auf Spitalliste). bewegung <beginn,ende,art,burnr>- Fügt eine Patientenbewegung (Episode) hinzu
(
art:1=inhouse).