Files
anonymisation/tests/synthetic_review/cases/008_anesthesie_complete/review.md
Domi31tls cf36357fe5 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>
2026-04-27 20:46:22 +02:00

1.8 KiB

Revue 008 — consultation pré-anesthésique

Famille documentaire : compte rendu de consultation pré-opératoire en anesthésie-réanimation. Très chargé en terminologie médicale (ASA, constantes vitales, protocoles d'induction et d'entretien) et en noms de molécules anesthésiques.

Patterns testés :

  • prénoms locaux basques rares (Maddi, Pantxoa) qui peuvent ne pas être dans les gazetteers INSEE classiques — risque de FN ;
  • prénom composé Anne-Sophie (anesthésiste) ;
  • nombreux noms de médicaments en majuscules à préserver (HYDROXYZINE, PROPOFOL, SUFENTANIL, SEVOFLURANE, PARACETAMOL, KETOPROFENE) ;
  • doses avec unités complexes (mg/kg, µg/kg, mg, g IV, 100 mg) ;
  • constantes vitales (TA 120/75 mmHg, FC 72 bpm, SpO2 98%) qui ne doivent JAMAIS être prises pour des identifiants.

Points critiques :

  • le terme ASA 1 (classification anesthésique) doit rester intact ; attention au sigle ASA qui peut ressembler à un identifiant ;
  • les abréviations cliniques IMC 23, NFS, ECG, SSPI doivent rester ;
  • cholécystectomie et coelioscopie (actes CCAM) doivent rester ;
  • lithiase vésiculaire (diagnostic) doit rester ;
  • les ratios constantes (120/75) ne doivent pas être interprétés comme dates ou identifiants.

Préservation à surveiller :

  • aucun nom de molécule ne doit être tronqué par un masquage erroné ;
  • le préfixe Dr est suivi du nom ; si un seul [NOM] apparaît à la place de Dr NOM Prenom, accepter tant que les noms et prénoms sont bien dans l'audit.

Écarts attendus (déjà observés sur d'autres cas) :

  • Saint-Jean-de-Luz partiellement masqué en [ETABLISSEMENT]-de-Luz ;
  • classification NDADOSSIER dans l'audit ;
  • Dr NOM Prenom masqué en bloc unique [NOM].