test(review): étendre couche 2 à 10 cas et brancher gate pytest avec xfail strict
Couche 2 (revue humaine sur documents complets) : ajout de 6 cas
synthétiques pour atteindre la cible cadrage produit (10 cas).
Cas ajoutés :
- 005_bacterio_complete : layout BACTERIO N° venue rejeté avant IPP
+ RPPS prescripteur (pattern qualifié non détecté).
- 006_trackare_soignants : export Trackare avec activités HH:MM NOM,
Note IDE/médicale, Signé — médicament greedy.
- 007_lettre_sortie_complete : courrier médecin→médecin, multi-villes,
email institutionnel @chcb.fr (cassé par le force_term CHCB).
- 008_anesthesie_complete : protocole anesthésique avec molécules
BDPM, prénoms basques rares (Maddi, Pantxoa).
- 009_multi_etablissements : 3 établissements distincts (CHCB, CHU
Bordeaux, Clinique Aguilera), prénoms basques avec ñ (Beñat).
- 010_fiche_admission_minimale : fiche administrative dense, labels
variés (Nom de jeune fille :, Prénom :, Ville :, Mutuelle :).
Gate pytest (tests/unit/test_synthetic_review.py) :
- vérifie l'inventaire (10 cas) et fait passer chaque cas via run_case.
- 3 cas marqués xfail(strict=True) pour révéler 9 fuites de PII et
2 patterns partiels que le moteur ne couvre pas aujourd'hui :
* 005 — RPPS avec qualificateur (RPPS prescripteur :)
* 009 — Bordeaux résiduel après [ETAB], CHCB en fin de phrase,
Biarritz sur ligne Ville :, ñ qui casse Beñat → [NOM]ñat
* 010 — Nom de jeune fille / Prénom / Ville sans label "Patient :",
NIR au format espacé partiellement consommé en TEL,
numéro de mutuelle MGEN non couvert
- xfail strict force pytest à signaler un xpass quand un fix passe :
rappel automatique de retirer l'entrée de KNOWN_FAILURES.
Le runner tools/run_synthetic_review_corpus.py reste utilisable en
direct (sortie diff/audit/summary) pour la revue humaine. Les sorties
actual/ sont gitignorées (régénérées à chaque exécution).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"required_kinds": [
|
||||
"ETAB",
|
||||
"IPP",
|
||||
"NDA",
|
||||
"RPPS",
|
||||
"TEL",
|
||||
"VILLE"
|
||||
],
|
||||
"must_contain": [
|
||||
"Service de néphrologie",
|
||||
"prise en charge",
|
||||
"Escherichia coli",
|
||||
"Antibiogramme",
|
||||
"Amoxicilline",
|
||||
"Céfotaxime",
|
||||
"Ciprofloxacine"
|
||||
],
|
||||
"must_not_contain": [
|
||||
"LARRALDE",
|
||||
"MARIE-PIERRE",
|
||||
"DUHALDE",
|
||||
"2300451267",
|
||||
"DEF98765",
|
||||
"10101010101",
|
||||
"18/06/1972",
|
||||
"05 59 44 35 35",
|
||||
"CHCB",
|
||||
"COTE BASQUE",
|
||||
"Bayonne"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
[ETABLISSEMENT]
|
||||
Laboratoire de bactériologie
|
||||
[VILLE], le 03/04/2024
|
||||
|
||||
RESULTAT D'EXAMEN BACTERIOLOGIQUE
|
||||
|
||||
N° venue
|
||||
[DATE_NAISSANCE]
|
||||
[NOM] [NOM]
|
||||
[NDA]
|
||||
IPP : [IPP]
|
||||
RPPS prescripteur : [RPPS]
|
||||
|
||||
Prélèvement : ECBU
|
||||
Date de prélèvement : 02/04/2024 à 08h30
|
||||
Service prescripteur : Service de néphrologie
|
||||
|
||||
Examen direct : leucocytes nombreux, hématies rares.
|
||||
Culture : Escherichia coli >100 000 UFC/mL.
|
||||
|
||||
Antibiogramme :
|
||||
- Amoxicilline : R
|
||||
- Céfotaxime : S
|
||||
- Ciprofloxacine : S
|
||||
|
||||
Conclusion : infection urinaire à Escherichia coli sensible aux céphalosporines.
|
||||
La prise en charge thérapeutique relève de l'antibiothérapie ciblée.
|
||||
|
||||
Validé par [NOM], biologiste médicale.
|
||||
Tel laboratoire : [TEL]
|
||||
34
tests/synthetic_review/cases/005_bacterio_complete/review.md
Normal file
34
tests/synthetic_review/cases/005_bacterio_complete/review.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Revue 005 — résultat bactériologique
|
||||
|
||||
Famille documentaire : résultat d'examen biologique avec entête multi-ligne
|
||||
typique du laboratoire (N° venue, DDN, nom, NDA, IPP empilés sans label
|
||||
explicite avant chaque valeur).
|
||||
|
||||
Points critiques :
|
||||
- le numéro de venue est rejeté plusieurs lignes après son libellé, juste
|
||||
avant la ligne IPP — ce layout BACTERIO est précisément ce que la règle
|
||||
`_RE_VENUE_BEFORE_IPP` doit attraper ;
|
||||
- la date de naissance doit être masquée, pas la date de prélèvement ni
|
||||
l'horaire de prélèvement ;
|
||||
- le RPPS du prescripteur doit disparaître ;
|
||||
- le téléphone du laboratoire est une donnée de contact à masquer ;
|
||||
- le vocabulaire microbiologique (`Escherichia coli`, `Antibiogramme`,
|
||||
`Amoxicilline`, `Céfotaxime`, `Ciprofloxacine`) doit rester lisible
|
||||
intégralement, c'est l'utilité métier du document ;
|
||||
- `Service de néphrologie` doit rester lisible ;
|
||||
- `prise en charge` doit rester lisible ;
|
||||
- le nom composé `MARIE-PIERRE` doit être traité en bloc ;
|
||||
- le biologiste signataire (`Dr DUHALDE Anne`) doit être masqué.
|
||||
|
||||
Écarts détectés au runner (à corriger) :
|
||||
- **fuite RPPS critique** : `RPPS prescripteur : 10101010101` n'est pas masqué.
|
||||
La règle RPPS courante attend `RPPS\s*:\s*\d{11}` et ne tolère pas un
|
||||
qualificateur (`prescripteur`, `signataire`, `prescripteur du jour`, …)
|
||||
entre `RPPS` et `:`. Mêmes layouts probables pour FINESS, IPP, NDA.
|
||||
- bloc `Dr DUHALDE Anne` masqué comme un seul `[NOM]` plutôt que
|
||||
`Dr [NOM] [NOM]` — accepté tant qu'aucun token de nom ne fuit ; à
|
||||
retraiter si l'usage demande la conservation du préfixe `Dr`.
|
||||
|
||||
Vérification BDPM/gazetteer :
|
||||
- `Amoxicilline`, `Céfotaxime`, `Ciprofloxacine`, `Escherichia coli`,
|
||||
`Antibiogramme` doivent rester intacts (contenu métier).
|
||||
30
tests/synthetic_review/cases/005_bacterio_complete/test.txt
Normal file
30
tests/synthetic_review/cases/005_bacterio_complete/test.txt
Normal file
@@ -0,0 +1,30 @@
|
||||
CENTRE HOSPITALIER DE LA COTE BASQUE
|
||||
Laboratoire de bactériologie
|
||||
Bayonne, le 03/04/2024
|
||||
|
||||
RESULTAT D'EXAMEN BACTERIOLOGIQUE
|
||||
|
||||
N° venue
|
||||
DDN : 18/06/1972
|
||||
LARRALDE MARIE-PIERRE
|
||||
2300451267
|
||||
IPP : DEF98765
|
||||
RPPS prescripteur : 10101010101
|
||||
|
||||
Prélèvement : ECBU
|
||||
Date de prélèvement : 02/04/2024 à 08h30
|
||||
Service prescripteur : Service de néphrologie
|
||||
|
||||
Examen direct : leucocytes nombreux, hématies rares.
|
||||
Culture : Escherichia coli >100 000 UFC/mL.
|
||||
|
||||
Antibiogramme :
|
||||
- Amoxicilline : R
|
||||
- Céfotaxime : S
|
||||
- Ciprofloxacine : S
|
||||
|
||||
Conclusion : infection urinaire à Escherichia coli sensible aux céphalosporines.
|
||||
La prise en charge thérapeutique relève de l'antibiothérapie ciblée.
|
||||
|
||||
Validé par Dr DUHALDE Anne, biologiste médicale.
|
||||
Tel laboratoire : 05 59 44 35 35
|
||||
Reference in New Issue
Block a user