Groupeur GPPH

Cas de test

Introduction

Le groupeur GPPH peut générer et exécuter un cas de test pour un cas concret. Cela est utile lorsqu'un résultat de groupage inattendu ou inexplicable doit être analysé ou signalé. La création d'un cas de test augmente les chances que le comportement puisse être rapidement reproduit et corrigé par l'AFG.

Un cas de test est un fichier texte compact qui décrit un cas unique ainsi que la configuration pertinente (release, liste hospitalière éventuelle, surcharge du canton de domicile) de manière à pouvoir reproduire le groupage.

En cas de questions sur un cas concret, nous apprécions que vous nous transmettiez le cas de test correspondant. Nous disposons alors de toutes les informations nécessaires à l'analyse.

Générer un cas de test à partir d'un cas

Si un cas concret est présent dans les données d'entrée, un cas de test peut être généré pour ce cas. Pour cela, la CLI est appelée en mode testcase :

splg-grp-cli.exe --release A_2026 --input C:\Temp\inputdata ^
                 --create-testcase-for <burnr> <fallid>

Le groupeur cherche dans les données d'entrée le cas correspondant au BURNR et au Fall-ID indiqués, le groupe et écrit le cas de test dans le répertoire courant sous le nom testcase-<burnr>-<fallid>-<datetime>.txt. Avec --output <dir>, un autre répertoire cible peut être indiqué.

Avec l'option supplémentaire --with-log, le cas de test est enrichi d'informations détaillées sur le déroulement des règles, qui montrent comment le groupeur est arrivé au résultat :

splg-grp-cli.exe --release A_2026 --input C:\Temp\inputdata ^
                 --create-testcase-for <burnr> <fallid> --with-log

Format d'un cas de test

Voici un exemple de cas de test simple mais complet :

# SPLG Testcase
# Timestamp   06.05.2026 17:49:54
# Grouper     2026.2
# 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

Un cas de test est composé de lignes de texte. Les lignes commençant par # sont des commentaires et sont ignorées lors de l'exécution. Elles contiennent toutefois des informations importantes sur le groupeur, la définition utilisée et (le cas échéant) les résultats d'origine.

Les données proprement dites sont organisées en blocs :

Chaque ligne contient un mot-clé et une valeur, séparés par des espaces.

Exécuter un cas de test

Si un cas de test est disponible sous forme de fichier, il peut être exécuté directement :

splg-grp-cli.exe --testcase testcase.txt

Le groupeur lit le cas de test, le groupe et écrit un nouveau cas de test (avec un bloc de résultats à jour) sur la sortie standard. La sortie peut être redirigée vers un fichier ou comparée au cas de test d'origine.

Avec --with-log, les informations détaillées sur le déroulement des règles sont également incluses dans la sortie :

splg-grp-cli.exe --testcase <file> --with-log

Les options principales telles que --release, --spitalliste ou --wohnkanton-override peuvent être indiquées à nouveau lors de l'exécution et remplacent les valeurs du fichier de cas de test. Cela permet de tester un cas avec une autre définition ou une autre liste hospitalière sans modifier le fichier.

Listes hospitalières dans le cas de test

Dans un cas de test, on peut utiliser aussi bien des fichiers de liste hospitalière existants que des listes définies en ligne :

spitalliste <file>
Utilise le fichier de liste hospitalière indiqué (peut être indiqué plusieurs fois). Correspond à l'option CLI --spitalliste.
sl <entrée>
Entrée de liste hospitalière en ligne, au format burnr,plz,standort,referenz,kanton,année[,gpph[:vfrom[:vto]],...]. Pratique pour des expériences rapides avec différents mandats de prestations, sans devoir créer un fichier de liste hospitalière. Peut être indiqué plusieurs fois.

Exemple concret : le BURNR 12345678 reçoit pour l'année 2025 les mandats de prestations BP et NEO1 :

sl              12345678,,,1,ZH,2025,BP,NEO1

Pour sl, vfrom et vto sont facultatifs et ne sont utilisés que si une GPPH n'est valide que pour une partie de l'année (format MMJJ, p. ex. 0106:3112). Si un BURNR de site est utilisé, plz et standort peuvent être laissés vides. referenz vaut 1 si la liste hospitalière est une liste de référence, sinon 0.

Référence des commandes

Les commandes suivantes peuvent apparaître dans un fichier de cas de test. Les commandes inconnues sont silencieusement ignorées lors de la lecture. Cela permet d'utiliser sans modification des cas de test générés pour d'autres variantes du groupeur GPPH (p. ex. les modules d'intégration) — les champs non pris en charge sont simplement sans effet.

Configuration

release <release>
Sélectionne la définition GPPH à utiliser (p. ex. A_2026).
kantonsoverride <kanton>
Force le canton de domicile du cas. Avec -, la surcharge est réinitialisée.
spitalliste <file>
Utilise le fichier de liste hospitalière indiqué.
sl <burnr,plz,standort,referenz,kanton,année,gpph:vfrom:vto,...>
Entrée de liste hospitalière en ligne (voir ci-dessus).
with-log
Active le log détaillé pour le groupage.

Données du cas

burnr <valeur>
BURNR de l'établissement.
fallid <valeur>
Fall-ID au sein de l'établissement.
plz <valeur>
NPA de l'établissement.
standort <valeur>
Numéro de site de l'établissement.
wohnkanton <valeur>
Canton de domicile du patient.
austritt <aaaammjj>
Date de sortie du patient.
agey <valeur>
Âge en années.
aged <valeur>
Âge en jours (uniquement pour les nouveau-nés avec agey égal à 0).
ssw <valeur>
Âge gestationnel (en jours).
ggw <valeur>
Poids de naissance (en grammes).
dmb <valeur>
Durée de la ventilation manuelle.
freiwilligkeit <valeur>
Caractère volontaire (uniquement psychiatrie).

Diagnostics, traitements, mouvements

diagnose <code,latéralité>
Ajoute un diagnostic. latéralité est facultative (0=bilatérale, 1=gauche, 2=droite). La première ligne diagnose est considérée comme diagnostic principal.
behandlung <code,latéralité,début,ambext>
Ajoute un traitement. Les champs en fin peuvent être omis.
op <gln,fonction,admission>
Ajoute un opérateur au dernier traitement indiqué (fonction : 1=primaire, 2=secondaire ; admission : 1=sur la liste hospitalière).
bewegung <début,fin,type,burnr>
Ajoute un mouvement de patient (épisode) (type : 1=inhouse).