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,45 @@
|
||||
{
|
||||
"required_kinds": [
|
||||
"ADRESSE",
|
||||
"CODE_POSTAL",
|
||||
"DATE_NAISSANCE",
|
||||
"ETAB",
|
||||
"IPP",
|
||||
"TEL"
|
||||
],
|
||||
"must_contain": [
|
||||
"Service de neurologie",
|
||||
"neurochirurgie",
|
||||
"neuropathie périphérique",
|
||||
"rééducation fonctionnelle",
|
||||
"EMG",
|
||||
"IRM médullaire",
|
||||
"classification internationale",
|
||||
"CIM-10",
|
||||
"G56.8",
|
||||
"prise en charge",
|
||||
"réflexes ostéotendineux"
|
||||
],
|
||||
"must_not_contain": [
|
||||
"SALABERRY",
|
||||
"Iban",
|
||||
"ELISSALDE",
|
||||
"Xabi",
|
||||
"LARRALDE",
|
||||
"Maïté",
|
||||
"ITHURRIAGUE",
|
||||
"Beñat",
|
||||
"Bordeaux",
|
||||
"Biarritz",
|
||||
"Bayonne",
|
||||
"Aguilera",
|
||||
"STU77889",
|
||||
"2400556677",
|
||||
"33344455566",
|
||||
"14/05/1965",
|
||||
"06 23 45 67 89",
|
||||
"05 59 44 35 19",
|
||||
"CHCB",
|
||||
"CHU de Bordeaux"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
[ETABLISSEMENT]
|
||||
Service de neurologie
|
||||
[VILLE], le 25/08/2024
|
||||
|
||||
COMPTE RENDU DE CONSULTATION
|
||||
|
||||
Patient : [NOM] [NOM]
|
||||
[DATE_NAISSANCE]
|
||||
IPP : [IPP]
|
||||
NDA : [DOSSIER]
|
||||
Adresse : [ADRESSE]
|
||||
Code postal : [CODE_POSTAL]
|
||||
Ville : [VILLE]
|
||||
Téléphone : [TEL]
|
||||
|
||||
Patient adressé par le Dr [NOM] du [ETABLISSEMENT], service de neurochirurgie, pour avis
|
||||
sur une suspicion de neuropathie périphérique post-traumatique.
|
||||
|
||||
Antécédents :
|
||||
- accident de la voie publique en 2022, traité initialement au [ETABLISSEMENT] puis transféré au [MASK] pour la rééducation ;
|
||||
- séjour en service de rééducation fonctionnelle de la [ETABLISSEMENT] à [VILLE] du 12/06/2022 au 30/07/2022.
|
||||
|
||||
Examen neurologique : déficit sensitif territoire L5 droit,
|
||||
réflexes ostéotendineux normaux. Force motrice cotée 4/5 sur le
|
||||
quadriceps droit.
|
||||
|
||||
Conduite à tenir :
|
||||
- EMG demandé en urgence au laboratoire de neurophysiologie du [ETABLISSEMENT] (Dr [NOM] [NOM], neurophysiologiste) ;
|
||||
- IRM médullaire programmée à la [ETABLISSEMENT] ;
|
||||
- la classification internationale CIM-10 retient G56.8.
|
||||
|
||||
La prise en charge multidisciplinaire sera coordonnée entre nos
|
||||
trois établissements. Service de neurologie disponible pour suivi.
|
||||
|
||||
Signé Dr [NOM], neurologue
|
||||
RPPS : [RPPS]
|
||||
Tel : [TEL]
|
||||
@@ -0,0 +1,37 @@
|
||||
# Revue 009 — compte rendu multi-établissements
|
||||
|
||||
Famille documentaire : consultation neurologique impliquant trois
|
||||
établissements distincts cités dans le narratif (CHCB, CHU de Bordeaux,
|
||||
Clinique Aguilera). Document typique du parcours de soin patient passant
|
||||
d'un établissement à l'autre.
|
||||
|
||||
Patterns testés :
|
||||
- établissement principal en entête (CHCB) ;
|
||||
- établissement secondaire en narratif (`Centre Hospitalier Universitaire
|
||||
de Bordeaux`, `CHU de Bordeaux`) — variantes longue et courte du même
|
||||
établissement ;
|
||||
- établissement privé en narratif (`Clinique Aguilera`) — pas dans les
|
||||
gazetteers FINESS publics par défaut, doit être détecté contextuellement
|
||||
via le mot-clé `Clinique` ;
|
||||
- prénoms basques rares (Iban, Xabi, Maïté, Beñat) sur trois noms de
|
||||
médecins différents — risque de FN si gazetteer prénoms incomplet ;
|
||||
- nom composé avec accent (`Maïté`) ;
|
||||
- code CIM `G56.8` cité littéralement — préservation obligatoire.
|
||||
|
||||
Points critiques :
|
||||
- aucun token nominal de patient (SALABERRY Iban) ni des trois médecins
|
||||
(ELISSALDE Xabi, LARRALDE Maïté, ITHURRIAGUE Beñat) ne doit fuiter ;
|
||||
- les villes Bordeaux, Biarritz, Bayonne et le nom d'établissement
|
||||
Aguilera doivent toutes disparaître ;
|
||||
- le sigle `CHCB` doit être masqué (force_term) ;
|
||||
- le terme `CHU de Bordeaux` doit être masqué — y compris la version
|
||||
courte qui ne contient pas explicitement `Centre Hospitalier` ;
|
||||
- terminologie médicale dense doit rester intacte :
|
||||
`neuropathie périphérique`, `réflexes ostéotendineux`,
|
||||
`rééducation fonctionnelle`, `EMG`, `IRM médullaire`.
|
||||
|
||||
Écart spécifique à observer :
|
||||
- détection des établissements non FINESS publics (cliniques privées) ;
|
||||
- détection variante longue vs sigle (`Centre Hospitalier Universitaire
|
||||
de Bordeaux` vs `CHU de Bordeaux`) — la version sigle peut échapper au
|
||||
matcher si `CHU` n'est pas en règle force_term ou contextuelle.
|
||||
@@ -0,0 +1,41 @@
|
||||
CENTRE HOSPITALIER DE LA COTE BASQUE
|
||||
Service de neurologie
|
||||
Bayonne, le 25/08/2024
|
||||
|
||||
COMPTE RENDU DE CONSULTATION
|
||||
|
||||
Patient : SALABERRY Iban
|
||||
Né le 14/05/1965
|
||||
IPP : STU77889
|
||||
NDA : 2400556677
|
||||
Adresse : 5 allée des Platanes
|
||||
Code postal : 64200
|
||||
Ville : Biarritz
|
||||
Téléphone : 06 23 45 67 89
|
||||
|
||||
Patient adressé par le Dr ELISSALDE Xabi du Centre Hospitalier
|
||||
Universitaire de Bordeaux, service de neurochirurgie, pour avis
|
||||
sur une suspicion de neuropathie périphérique post-traumatique.
|
||||
|
||||
Antécédents :
|
||||
- accident de la voie publique en 2022, traité initialement au CHU
|
||||
de Bordeaux puis transféré au CHCB pour la rééducation ;
|
||||
- séjour en service de rééducation fonctionnelle de la Clinique
|
||||
Aguilera à Biarritz du 12/06/2022 au 30/07/2022.
|
||||
|
||||
Examen neurologique : déficit sensitif territoire L5 droit,
|
||||
réflexes ostéotendineux normaux. Force motrice cotée 4/5 sur le
|
||||
quadriceps droit.
|
||||
|
||||
Conduite à tenir :
|
||||
- EMG demandé en urgence au laboratoire de neurophysiologie du CHU
|
||||
de Bordeaux (Dr LARRALDE Maïté, neurophysiologiste) ;
|
||||
- IRM médullaire programmée à la Clinique Aguilera ;
|
||||
- la classification internationale CIM-10 retient G56.8.
|
||||
|
||||
La prise en charge multidisciplinaire sera coordonnée entre nos
|
||||
trois établissements. Service de neurologie disponible pour suivi.
|
||||
|
||||
Signé Dr ITHURRIAGUE Beñat, neurologue
|
||||
RPPS : 33344455566
|
||||
Tel : 05 59 44 35 19
|
||||
Reference in New Issue
Block a user