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:
2
tests/synthetic_review/.gitignore
vendored
Normal file
2
tests/synthetic_review/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# Sorties régénérées à chaque exécution du runner couche 2.
|
||||||
|
actual/
|
||||||
@@ -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
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
{
|
||||||
|
"required_kinds": [
|
||||||
|
"ADRESSE",
|
||||||
|
"CODE_POSTAL",
|
||||||
|
"DATE_NAISSANCE",
|
||||||
|
"DOSSIER",
|
||||||
|
"ETAB",
|
||||||
|
"IPP",
|
||||||
|
"NOM_FORCE",
|
||||||
|
"NOM_GLOBAL",
|
||||||
|
"TEL",
|
||||||
|
"VILLE"
|
||||||
|
],
|
||||||
|
"must_contain": [
|
||||||
|
"Service de chirurgie viscérale",
|
||||||
|
"Détails des patients",
|
||||||
|
"prise en charge",
|
||||||
|
"cholécystectomie",
|
||||||
|
"EVA 2/10",
|
||||||
|
"PARACETAMOL"
|
||||||
|
],
|
||||||
|
"must_not_contain": [
|
||||||
|
"PIERRE",
|
||||||
|
"HARRIET",
|
||||||
|
"ETCHEBARNE",
|
||||||
|
"ALVARADO",
|
||||||
|
"LACLAU ",
|
||||||
|
"NARZABAL",
|
||||||
|
"LACROUTS",
|
||||||
|
"LARRIEU ",
|
||||||
|
"DUPONT",
|
||||||
|
"MARTIN",
|
||||||
|
"DURAND",
|
||||||
|
"Jean-Paul",
|
||||||
|
"Sophie",
|
||||||
|
"GHI11223",
|
||||||
|
"2300784512",
|
||||||
|
"23145678",
|
||||||
|
"04/09/1956",
|
||||||
|
"06 87 65 43 21",
|
||||||
|
"05 59 44 35 35",
|
||||||
|
"CHCB"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
[ETABLISSEMENT]
|
||||||
|
Service de chirurgie viscérale
|
||||||
|
|
||||||
|
Dossier Patient — Détails des patients
|
||||||
|
[VILLE], le 22/05/2024
|
||||||
|
|
||||||
|
Patient :
|
||||||
|
[NOM]
|
||||||
|
[NOM]
|
||||||
|
Nom de naissance : [NOM]
|
||||||
|
[DATE_NAISSANCE]
|
||||||
|
N° dossier : [DOSSIER]
|
||||||
|
NDA : [DOSSIER]
|
||||||
|
IPP : [IPP]
|
||||||
|
|
||||||
|
Adresse : [ADRESSE]
|
||||||
|
Code postal : [CODE_POSTAL]
|
||||||
|
Ville : [ETABLISSEMENT]-de-Luz
|
||||||
|
Téléphone : [TEL]
|
||||||
|
|
||||||
|
Activités de soins :
|
||||||
|
07 : 00 [NOM] Pose voie veineuse périphérique.
|
||||||
|
07 : 15 [NOM] Surveillance constantes.
|
||||||
|
08 : 00 [NOM]- Bilan d'entrée terminé.
|
||||||
|
12 : 30 [NOM] Distribution médicamenteuse.
|
||||||
|
19 : 00 [NOM] Sortie de bloc, surveillance post-op.
|
||||||
|
|
||||||
|
Note IDE [NOM]
|
||||||
|
Patient calme, douleur EVA 2/10. Pansement propre.
|
||||||
|
|
||||||
|
Note médicale Dr [NOM]
|
||||||
|
Suites simples post cholécystectomie. La prise en charge anti-douleur
|
||||||
|
est efficace. Reprise alimentaire progressive. Service de chirurgie
|
||||||
|
viscérale : rendez-vous de contrôle à J+15.
|
||||||
|
|
||||||
|
Signé — PARACETAMOL BBM 1000 MG INJ [NOM] [NOM]
|
||||||
|
Signé [NOM]-
|
||||||
|
|
||||||
|
Tel service : [TEL]
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
# Revue 006 — dossier de soins Trackare
|
||||||
|
|
||||||
|
Famille documentaire : export Trackare/TrakCare avec activités de soins
|
||||||
|
horodatées et noms de soignants en formats variés. Regroupe les patterns
|
||||||
|
historiquement les plus piégeux du moteur (cf. mémoire `soignants-trackare`).
|
||||||
|
|
||||||
|
Le document doit contenir au moins deux marqueurs Trackare reconnus
|
||||||
|
(`Détails des patients`, `Nom de naissance`, `Dossier Patient`) pour que
|
||||||
|
`_extract_trackare_identity` se déclenche. Sans ces marqueurs, les patterns
|
||||||
|
spécifiques (HH:MM NOM, Note IDE NOM, Signé NOM, etc.) ne tournent pas.
|
||||||
|
|
||||||
|
Patterns testés et confirmés masqués :
|
||||||
|
- `Patient :\n<PRENOM>\n<NOM>` (PIERRE / HARRIET) sur trois lignes ;
|
||||||
|
- soignants `HH:MM <NOM>` dans les activités de soins (ETCHEBARNE,
|
||||||
|
ALVARADO, LACLAU-, NARZABAL, LACROUTS) — kind NOM_GLOBAL ;
|
||||||
|
- soignants `Note IDE <NOM>` (DUPONT) — kind NOM_FORCE ;
|
||||||
|
- soignant `Note médicale Dr <NOM> <Prénom-composé>` (MARTIN Jean-Paul)
|
||||||
|
— capturé en bloc puis Jean-Paul re-confirmé en NOM_FORCE ;
|
||||||
|
- soignant après médicament greedy `Signé — PARACETAMOL BBM 1000 MG INJ
|
||||||
|
DURAND Sophie` — DURAND et Sophie sont masqués via NOM_GLOBAL ;
|
||||||
|
- nom tronqué `Signé LARRIEU-` — masqué (kind NOM_FORCE).
|
||||||
|
|
||||||
|
Vérification métier (préservation) :
|
||||||
|
- `PARACETAMOL BBM 1000 MG INJ` reste lisible (gazetteer BDPM) ;
|
||||||
|
- `cholécystectomie`, `EVA 2/10`, `Service de chirurgie viscérale`
|
||||||
|
restent intacts ;
|
||||||
|
- `Détails des patients` doit rester pour conserver la trace de la
|
||||||
|
source documentaire.
|
||||||
|
|
||||||
|
Écarts détectés au runner (à fixer ultérieurement) :
|
||||||
|
- **`Saint-Jean-de-Luz` partiellement masqué en `[ETABLISSEMENT]-de-Luz`**
|
||||||
|
via un hit `ETAB_FINESS` sur `Saint-Jean`. La ville composée doit être
|
||||||
|
prise comme un bloc avant que le matcher FINESS ne morde. Laisser le
|
||||||
|
résiduel `-de-Luz` est un FP visuel mais pas une fuite directe.
|
||||||
|
- **classification `NDA` → `DOSSIER`** : la valeur `2300784512` derrière
|
||||||
|
`NDA :` est masquée mais le kind utilisé est `DOSSIER`, pas `NDA`. Le
|
||||||
|
texte est masqué correctement, c'est la cohérence d'audit qui souffre.
|
||||||
|
- **horodatages `07:00` deviennent `07 : 00`** : une normalisation
|
||||||
|
cosmétique ajoute des espaces autour du `:`. Sans impact sur la sécurité
|
||||||
|
mais altère la lisibilité du document final.
|
||||||
|
- **bloc `Dr MARTIN Jean-Paul` masqué en un seul `[NOM]`** : MARTIN et
|
||||||
|
Jean-Paul sont bien dans l'audit, mais le rendu `Note médicale Dr [NOM]`
|
||||||
|
efface la structure préfixe+nom+prénom.
|
||||||
39
tests/synthetic_review/cases/006_trackare_soignants/test.txt
Normal file
39
tests/synthetic_review/cases/006_trackare_soignants/test.txt
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
CENTRE HOSPITALIER DE LA COTE BASQUE
|
||||||
|
Service de chirurgie viscérale
|
||||||
|
|
||||||
|
Dossier Patient — Détails des patients
|
||||||
|
Bayonne, le 22/05/2024
|
||||||
|
|
||||||
|
Patient :
|
||||||
|
PIERRE
|
||||||
|
HARRIET
|
||||||
|
Nom de naissance : HARRIET
|
||||||
|
Né le 04/09/1956
|
||||||
|
N° dossier : 23145678
|
||||||
|
NDA : 2300784512
|
||||||
|
IPP : GHI11223
|
||||||
|
|
||||||
|
Adresse : 3 chemin du Moulin
|
||||||
|
Code postal : 64500
|
||||||
|
Ville : Saint-Jean-de-Luz
|
||||||
|
Téléphone : 06 87 65 43 21
|
||||||
|
|
||||||
|
Activités de soins :
|
||||||
|
07:00 ETCHEBARNE Pose voie veineuse périphérique.
|
||||||
|
07:15 ALVARADO Surveillance constantes.
|
||||||
|
08:00 LACLAU- Bilan d'entrée terminé.
|
||||||
|
12:30 NARZABAL Distribution médicamenteuse.
|
||||||
|
19:00 LACROUTS Sortie de bloc, surveillance post-op.
|
||||||
|
|
||||||
|
Note IDE DUPONT
|
||||||
|
Patient calme, douleur EVA 2/10. Pansement propre.
|
||||||
|
|
||||||
|
Note médicale Dr MARTIN Jean-Paul
|
||||||
|
Suites simples post cholécystectomie. La prise en charge anti-douleur
|
||||||
|
est efficace. Reprise alimentaire progressive. Service de chirurgie
|
||||||
|
viscérale : rendez-vous de contrôle à J+15.
|
||||||
|
|
||||||
|
Signé — PARACETAMOL BBM 1000 MG INJ DURAND Sophie
|
||||||
|
Signé LARRIEU-
|
||||||
|
|
||||||
|
Tel service : 05 59 44 35 35
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
{
|
||||||
|
"required_kinds": [
|
||||||
|
"ADRESSE",
|
||||||
|
"CODE_POSTAL",
|
||||||
|
"DATE_NAISSANCE",
|
||||||
|
"DOSSIER",
|
||||||
|
"EMAIL",
|
||||||
|
"ETAB",
|
||||||
|
"IPP",
|
||||||
|
"RPPS",
|
||||||
|
"TEL",
|
||||||
|
"VILLE"
|
||||||
|
],
|
||||||
|
"must_contain": [
|
||||||
|
"Service de cardiologie",
|
||||||
|
"classification internationale",
|
||||||
|
"prise en charge",
|
||||||
|
"insuffisance cardiaque",
|
||||||
|
"infarctus du myocarde",
|
||||||
|
"hypertension artérielle",
|
||||||
|
"diabète de type 2",
|
||||||
|
"FUROSEMIDE",
|
||||||
|
"BISOPROLOL",
|
||||||
|
"RAMIPRIL",
|
||||||
|
"CIM-10",
|
||||||
|
"I50.0"
|
||||||
|
],
|
||||||
|
"must_not_contain": [
|
||||||
|
"CASTAIGNEDE",
|
||||||
|
"Olivier",
|
||||||
|
"ARRAMBIDE",
|
||||||
|
"Jean-Baptiste",
|
||||||
|
"LAFITTE",
|
||||||
|
"Marie-Hélène",
|
||||||
|
"Biarritz",
|
||||||
|
"Anglet",
|
||||||
|
"Bayonne",
|
||||||
|
"MNO55667",
|
||||||
|
"2400112233",
|
||||||
|
"11122233344",
|
||||||
|
"23/11/1948",
|
||||||
|
"06 33 22 11 99",
|
||||||
|
"05 59 44 35 22",
|
||||||
|
"jb.arrambide@example.fr",
|
||||||
|
"mh.lafitte@chcb.fr",
|
||||||
|
"CHCB"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
[ETABLISSEMENT]
|
||||||
|
Service de cardiologie
|
||||||
|
[VILLE], le 17/06/2024
|
||||||
|
|
||||||
|
Dr [NOM]
|
||||||
|
Cabinet médical
|
||||||
|
[ADRESSE]
|
||||||
|
[CODE_POSTAL]
|
||||||
|
|
||||||
|
Cher Confrère,
|
||||||
|
|
||||||
|
Je me permets de vous adresser le compte rendu de l'hospitalisation
|
||||||
|
de votre patient Monsieur [NOM], [DATE_NAISSANCE],
|
||||||
|
demeurant [ADRESSE], [CODE_POSTAL], joignable au
|
||||||
|
[TEL] ou par courriel [EMAIL].
|
||||||
|
|
||||||
|
IPP : [IPP]
|
||||||
|
NDA : [DOSSIER]
|
||||||
|
|
||||||
|
Motif d'hospitalisation : insuffisance cardiaque décompensée sur
|
||||||
|
cardiopathie ischémique connue. Le patient a été admis le 12/06/2024
|
||||||
|
en unité de soins intensifs cardiologiques.
|
||||||
|
|
||||||
|
Antécédents : infarctus du myocarde en 2018, hypertension artérielle,
|
||||||
|
diabète de type 2 équilibré.
|
||||||
|
|
||||||
|
Évolution : amélioration sous traitement diurétique et bêta-bloquant.
|
||||||
|
La classification internationale CIM-10 retient I50.0 (insuffisance
|
||||||
|
cardiaque congestive). La prise en charge thérapeutique a été optimisée.
|
||||||
|
|
||||||
|
Sortie le 16/06/2024 avec ordonnance de sortie comprenant FUROSEMIDE,
|
||||||
|
BISOPROLOL et RAMIPRIL aux posologies adaptées.
|
||||||
|
|
||||||
|
Un rendez-vous de contrôle est programmé en consultation externe le
|
||||||
|
17/07/2024 dans notre Service de cardiologie.
|
||||||
|
|
||||||
|
Confraternellement,
|
||||||
|
|
||||||
|
Dr [NOM]
|
||||||
|
Cardiologue, RPPS : [RPPS]
|
||||||
|
Tel secrétariat : [TEL]
|
||||||
|
mh.[NOM]@[MASK].fr
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
# Revue 007 — lettre de sortie médecin → médecin
|
||||||
|
|
||||||
|
Famille documentaire : courrier médical adressé d'un médecin hospitalier
|
||||||
|
vers un correspondant de ville, contenant un compte rendu narratif
|
||||||
|
d'hospitalisation. Format classique français très répandu.
|
||||||
|
|
||||||
|
Patterns testés :
|
||||||
|
- en-tête établissement + service + ville + date ;
|
||||||
|
- adresse complète du destinataire (médecin de ville) avec rue, CP, ville ;
|
||||||
|
- coordonnées patient en narratif continu (nom, prénom composé, date de
|
||||||
|
naissance, adresse, CP, ville, téléphone, email) sur plusieurs lignes ;
|
||||||
|
- IPP / NDA en lignes structurées ;
|
||||||
|
- terminologie médicale dense : `insuffisance cardiaque`, `infarctus du
|
||||||
|
myocarde`, `hypertension artérielle`, `diabète de type 2`, `cardiopathie
|
||||||
|
ischémique`, `unité de soins intensifs cardiologiques` ;
|
||||||
|
- code CIM-10 cité littéralement (`I50.0`) — ne doit PAS être masqué ;
|
||||||
|
- noms de médicaments en majuscules cités dans l'ordonnance de sortie ;
|
||||||
|
- formule de politesse `Cher Confrère`, `Confraternellement` à préserver ;
|
||||||
|
- signature médecin avec RPPS et email institutionnel se terminant en
|
||||||
|
`@chcb.fr` (le sigle CHCB doit être masqué dans l'email aussi).
|
||||||
|
|
||||||
|
Points critiques :
|
||||||
|
- aucun token nominal du destinataire (CASTAIGNEDE Olivier) ni du
|
||||||
|
signataire (LAFITTE Marie-Hélène) ne doit fuiter ;
|
||||||
|
- aucun token nominal du patient (ARRAMBIDE Jean-Baptiste) ne doit
|
||||||
|
fuiter, y compris en reprise narrative ;
|
||||||
|
- toutes les villes (Bayonne, Biarritz, Anglet) doivent être masquées ;
|
||||||
|
- la date de soin (12/06/2024, 16/06/2024, 17/07/2024) reste lisible ;
|
||||||
|
- la date de naissance (23/11/1948) doit être masquée ;
|
||||||
|
- le sigle `CHCB` est dans l'adresse email — vérifier que l'email entier
|
||||||
|
est masqué (et pas juste le local-part).
|
||||||
|
|
||||||
|
Écarts détectés au runner (à fixer ultérieurement) :
|
||||||
|
- **fuite indirecte sur email institutionnel** : `mh.lafitte@chcb.fr` est
|
||||||
|
masqué en `mh.[NOM]@[MASK].fr` au lieu de `[EMAIL]`. Le sigle CHCB
|
||||||
|
(force_term) est appliqué AVANT la règle EMAIL et casse la capture du
|
||||||
|
pattern complet, laissant le local-part `mh.` (initiales du signataire)
|
||||||
|
exposé. À refondre : la détection EMAIL doit précéder le masquage des
|
||||||
|
force_terms à l'intérieur d'une adresse email.
|
||||||
|
- **villes consommées dans le hit `CP+VILLE`** : `64200 Biarritz` et
|
||||||
|
`64600 Anglet` deviennent `[CODE_POSTAL]` sans placeholder `[VILLE]`
|
||||||
|
visible. Pas de fuite (les villes disparaissent), mais perte
|
||||||
|
d'information sur la structure du document.
|
||||||
|
- **classification `NDA` → `DOSSIER`** : même quirk que dans 005/006.
|
||||||
|
- **bloc `Dr CASTAIGNEDE Olivier`** masqué en un seul `[NOM]` (idem 006).
|
||||||
|
|
||||||
|
Préservation à confirmer :
|
||||||
|
- préfixe `Monsieur` avant le patient : préservé.
|
||||||
|
- prénom composé `Marie-Hélène` traité dans le bloc nom.
|
||||||
|
- code CIM `I50.0` cité littéralement, doit rester intact.
|
||||||
|
- noms de médicaments `FUROSEMIDE`, `BISOPROLOL`, `RAMIPRIL` doivent
|
||||||
|
rester (gazetteer BDPM).
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
CENTRE HOSPITALIER DE LA COTE BASQUE
|
||||||
|
Service de cardiologie
|
||||||
|
Bayonne, le 17/06/2024
|
||||||
|
|
||||||
|
Dr CASTAIGNEDE Olivier
|
||||||
|
Cabinet médical
|
||||||
|
12 avenue de la République
|
||||||
|
64200 Biarritz
|
||||||
|
|
||||||
|
Cher Confrère,
|
||||||
|
|
||||||
|
Je me permets de vous adresser le compte rendu de l'hospitalisation
|
||||||
|
de votre patient Monsieur ARRAMBIDE Jean-Baptiste, né le 23/11/1948,
|
||||||
|
demeurant 8 impasse des Rosiers, 64600 Anglet, joignable au
|
||||||
|
06 33 22 11 99 ou par courriel jb.arrambide@example.fr.
|
||||||
|
|
||||||
|
IPP : MNO55667
|
||||||
|
NDA : 2400112233
|
||||||
|
|
||||||
|
Motif d'hospitalisation : insuffisance cardiaque décompensée sur
|
||||||
|
cardiopathie ischémique connue. Le patient a été admis le 12/06/2024
|
||||||
|
en unité de soins intensifs cardiologiques.
|
||||||
|
|
||||||
|
Antécédents : infarctus du myocarde en 2018, hypertension artérielle,
|
||||||
|
diabète de type 2 équilibré.
|
||||||
|
|
||||||
|
Évolution : amélioration sous traitement diurétique et bêta-bloquant.
|
||||||
|
La classification internationale CIM-10 retient I50.0 (insuffisance
|
||||||
|
cardiaque congestive). La prise en charge thérapeutique a été optimisée.
|
||||||
|
|
||||||
|
Sortie le 16/06/2024 avec ordonnance de sortie comprenant FUROSEMIDE,
|
||||||
|
BISOPROLOL et RAMIPRIL aux posologies adaptées.
|
||||||
|
|
||||||
|
Un rendez-vous de contrôle est programmé en consultation externe le
|
||||||
|
17/07/2024 dans notre Service de cardiologie.
|
||||||
|
|
||||||
|
Confraternellement,
|
||||||
|
|
||||||
|
Dr LAFITTE Marie-Hélène
|
||||||
|
Cardiologue, RPPS : 11122233344
|
||||||
|
Tel secrétariat : 05 59 44 35 22
|
||||||
|
mh.lafitte@chcb.fr
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
"required_kinds": [
|
||||||
|
"ADRESSE",
|
||||||
|
"CODE_POSTAL",
|
||||||
|
"DATE_NAISSANCE",
|
||||||
|
"DOSSIER",
|
||||||
|
"ETAB",
|
||||||
|
"IPP",
|
||||||
|
"RPPS",
|
||||||
|
"TEL"
|
||||||
|
],
|
||||||
|
"must_contain": [
|
||||||
|
"Service d'anesthésie-réanimation",
|
||||||
|
"CONSULTATION PRE-ANESTHESIQUE",
|
||||||
|
"cholécystectomie",
|
||||||
|
"coelioscopie",
|
||||||
|
"lithiase vésiculaire",
|
||||||
|
"Classification ASA",
|
||||||
|
"ASA 1",
|
||||||
|
"HYDROXYZINE",
|
||||||
|
"PROPOFOL",
|
||||||
|
"SUFENTANIL",
|
||||||
|
"SEVOFLURANE",
|
||||||
|
"PARACETAMOL",
|
||||||
|
"KETOPROFENE",
|
||||||
|
"prise en charge",
|
||||||
|
"TA 120/75",
|
||||||
|
"FC 72",
|
||||||
|
"SpO2 98"
|
||||||
|
],
|
||||||
|
"must_not_contain": [
|
||||||
|
"OLAIZOLA",
|
||||||
|
"Maddi",
|
||||||
|
"URRUTIA",
|
||||||
|
"Pantxoa",
|
||||||
|
"DUFAU",
|
||||||
|
"Anne-Sophie",
|
||||||
|
"PQR44556",
|
||||||
|
"2400334455",
|
||||||
|
"22233344455",
|
||||||
|
"02/02/1992",
|
||||||
|
"06 78 90 12 34",
|
||||||
|
"05 59 44 35 41",
|
||||||
|
"CHCB"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
[ETABLISSEMENT]
|
||||||
|
Service d'anesthésie-réanimation
|
||||||
|
[VILLE], le 11/07/2024
|
||||||
|
|
||||||
|
CONSULTATION PRE-ANESTHESIQUE
|
||||||
|
|
||||||
|
Patient : [NOM] [NOM]
|
||||||
|
[DATE_NAISSANCE]
|
||||||
|
Sexe : F
|
||||||
|
IPP : [IPP]
|
||||||
|
NDA : [DOSSIER]
|
||||||
|
Téléphone : [TEL]
|
||||||
|
|
||||||
|
Adresse : [ADRESSE]
|
||||||
|
Code postal : [CODE_POSTAL]
|
||||||
|
Ville : [ETABLISSEMENT]-de-Luz
|
||||||
|
|
||||||
|
Intervention prévue : cholécystectomie sous coelioscopie
|
||||||
|
Indication : lithiase vésiculaire symptomatique
|
||||||
|
Date d'intervention : 18/07/2024
|
||||||
|
Chirurgien : Dr [NOM]
|
||||||
|
Anesthésiste : Dr [NOM]
|
||||||
|
|
||||||
|
Antécédents :
|
||||||
|
- pas d'antécédent chirurgical notable
|
||||||
|
- pas d'allergie médicamenteuse connue
|
||||||
|
- non fumeuse, IMC 23
|
||||||
|
|
||||||
|
Examen clinique :
|
||||||
|
TA 120/75 mmHg, FC 72 bpm, SpO2 98% air ambiant.
|
||||||
|
Auscultation cardio-pulmonaire normale.
|
||||||
|
|
||||||
|
Bilan préopératoire :
|
||||||
|
NFS, ionogramme, hémostase : sans particularité.
|
||||||
|
ECG : rythme sinusal régulier.
|
||||||
|
|
||||||
|
Classification ASA : ASA 1
|
||||||
|
Consentement éclairé recueilli.
|
||||||
|
|
||||||
|
Protocole anesthésique prévu :
|
||||||
|
- prémédication : HYDROXYZINE 25 mg per os
|
||||||
|
- induction : PROPOFOL 2 mg/kg, SUFENTANIL 0,3 µg/kg
|
||||||
|
- entretien : SEVOFLURANE
|
||||||
|
- analgésie post-opératoire : PARACETAMOL 1 g IV puis KETOPROFENE 100 mg
|
||||||
|
|
||||||
|
La prise en charge sera assurée en hôpital de jour. Sortie prévue
|
||||||
|
le soir même après surveillance en SSPI.
|
||||||
|
|
||||||
|
Signé Dr [NOM], anesthésiste
|
||||||
|
RPPS : [RPPS]
|
||||||
|
Tel anesthésie : [TEL]
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
# 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 `NDA` → `DOSSIER` dans l'audit ;
|
||||||
|
- `Dr NOM Prenom` masqué en bloc unique `[NOM]`.
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
CENTRE HOSPITALIER DE LA COTE BASQUE
|
||||||
|
Service d'anesthésie-réanimation
|
||||||
|
Bayonne, le 11/07/2024
|
||||||
|
|
||||||
|
CONSULTATION PRE-ANESTHESIQUE
|
||||||
|
|
||||||
|
Patient : OLAIZOLA Maddi
|
||||||
|
Né le 02/02/1992
|
||||||
|
Sexe : F
|
||||||
|
IPP : PQR44556
|
||||||
|
NDA : 2400334455
|
||||||
|
Téléphone : 06 78 90 12 34
|
||||||
|
|
||||||
|
Adresse : 22 rue Gambetta
|
||||||
|
Code postal : 64500
|
||||||
|
Ville : Saint-Jean-de-Luz
|
||||||
|
|
||||||
|
Intervention prévue : cholécystectomie sous coelioscopie
|
||||||
|
Indication : lithiase vésiculaire symptomatique
|
||||||
|
Date d'intervention : 18/07/2024
|
||||||
|
Chirurgien : Dr URRUTIA Pantxoa
|
||||||
|
Anesthésiste : Dr DUFAU Anne-Sophie
|
||||||
|
|
||||||
|
Antécédents :
|
||||||
|
- pas d'antécédent chirurgical notable
|
||||||
|
- pas d'allergie médicamenteuse connue
|
||||||
|
- non fumeuse, IMC 23
|
||||||
|
|
||||||
|
Examen clinique :
|
||||||
|
TA 120/75 mmHg, FC 72 bpm, SpO2 98% air ambiant.
|
||||||
|
Auscultation cardio-pulmonaire normale.
|
||||||
|
|
||||||
|
Bilan préopératoire :
|
||||||
|
NFS, ionogramme, hémostase : sans particularité.
|
||||||
|
ECG : rythme sinusal régulier.
|
||||||
|
|
||||||
|
Classification ASA : ASA 1
|
||||||
|
Consentement éclairé recueilli.
|
||||||
|
|
||||||
|
Protocole anesthésique prévu :
|
||||||
|
- prémédication : HYDROXYZINE 25 mg per os
|
||||||
|
- induction : PROPOFOL 2 mg/kg, SUFENTANIL 0,3 µg/kg
|
||||||
|
- entretien : SEVOFLURANE
|
||||||
|
- analgésie post-opératoire : PARACETAMOL 1 g IV puis KETOPROFENE 100 mg
|
||||||
|
|
||||||
|
La prise en charge sera assurée en hôpital de jour. Sortie prévue
|
||||||
|
le soir même après surveillance en SSPI.
|
||||||
|
|
||||||
|
Signé Dr DUFAU Anne-Sophie, anesthésiste
|
||||||
|
RPPS : 22233344455
|
||||||
|
Tel anesthésie : 05 59 44 35 41
|
||||||
@@ -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
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"required_kinds": [
|
||||||
|
"ADRESSE",
|
||||||
|
"CODE_POSTAL",
|
||||||
|
"DATE_NAISSANCE",
|
||||||
|
"EMAIL",
|
||||||
|
"ETAB",
|
||||||
|
"IPP",
|
||||||
|
"NIR",
|
||||||
|
"TEL",
|
||||||
|
"VILLE"
|
||||||
|
],
|
||||||
|
"must_contain": [
|
||||||
|
"FICHE D'ADMISSION",
|
||||||
|
"Service de gastro-entérologie",
|
||||||
|
"Sexe : F",
|
||||||
|
"Nationalité : française",
|
||||||
|
"Lien : conjoint",
|
||||||
|
"MGEN"
|
||||||
|
],
|
||||||
|
"must_not_contain": [
|
||||||
|
"DARRIBEHAUDE",
|
||||||
|
"ELIZONDO",
|
||||||
|
"Sabine",
|
||||||
|
"ETCHEGOIN",
|
||||||
|
"Jean-Louis",
|
||||||
|
"Tarbes",
|
||||||
|
"Bayonne",
|
||||||
|
"VWX99001",
|
||||||
|
"24009988",
|
||||||
|
"2400667788",
|
||||||
|
"44455566677",
|
||||||
|
"30/04/1973",
|
||||||
|
"05 59 22 33 44",
|
||||||
|
"06 88 99 00 11",
|
||||||
|
"06 77 88 99 00",
|
||||||
|
"05 59 11 22 33",
|
||||||
|
"sabine.darribehaude@example.com",
|
||||||
|
"1234567890",
|
||||||
|
"2 73 04 65 100 100 88",
|
||||||
|
"CHCB"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
[ETABLISSEMENT]
|
||||||
|
FICHE D'ADMISSION
|
||||||
|
|
||||||
|
Date : 02/09/2024
|
||||||
|
N° venue : [NDA]
|
||||||
|
IPP : [IPP]
|
||||||
|
Dossier : [DOSSIER]
|
||||||
|
|
||||||
|
IDENTITE
|
||||||
|
Nom : [NOM]
|
||||||
|
Nom de jeune fille : [NOM]
|
||||||
|
Prénom : [NOM]
|
||||||
|
Sexe : F
|
||||||
|
[DATE_NAISSANCE]
|
||||||
|
Lieu de naissance : [VILLE]
|
||||||
|
Nationalité : française
|
||||||
|
|
||||||
|
COORDONNEES
|
||||||
|
Adresse : [ADRESSE]
|
||||||
|
Code postal : [CODE_POSTAL]
|
||||||
|
Ville : [VILLE]
|
||||||
|
Téléphone fixe : [TEL]
|
||||||
|
Téléphone portable : [TEL]
|
||||||
|
Email : [EMAIL]
|
||||||
|
|
||||||
|
PERSONNE A PREVENIR
|
||||||
|
Nom : [NOM] (époux)
|
||||||
|
Téléphone : [TEL]
|
||||||
|
Lien : conjoint
|
||||||
|
|
||||||
|
MEDECIN TRAITANT
|
||||||
|
Dr [NOM]
|
||||||
|
RPPS : [RPPS]
|
||||||
|
Tel : [TEL]
|
||||||
|
|
||||||
|
INFORMATIONS COMPLEMENTAIRES
|
||||||
|
Mutuelle : MGEN n°adhérent [NDA]
|
||||||
|
Sécurité sociale : [NIR]
|
||||||
|
|
||||||
|
Service de gastro-entérologie — chambre 412
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
# Revue 010 — fiche d'admission administrative
|
||||||
|
|
||||||
|
Famille documentaire : fiche d'identification administrative pure,
|
||||||
|
quasi sans narratif. Empilement dense de PII structurées sous des
|
||||||
|
labels explicites. Pas de contexte sémantique pour aider le NER.
|
||||||
|
|
||||||
|
Patterns testés :
|
||||||
|
- structuration en blocs (IDENTITE, COORDONNEES, PERSONNE A PREVENIR,
|
||||||
|
MEDECIN TRAITANT, INFORMATIONS COMPLEMENTAIRES) ;
|
||||||
|
- nom marital + nom de jeune fille empilés sur deux lignes ;
|
||||||
|
- patient et époux portant le même nom de famille (DARRIBEHAUDE) :
|
||||||
|
vérifier la propagation globale ;
|
||||||
|
- 4 numéros de téléphone différents (fixe patient, portable patient,
|
||||||
|
proche, médecin traitant) ;
|
||||||
|
- email avec local-part contenant le nom de famille
|
||||||
|
(`sabine.darribehaude`) — fuite indirecte si l'email n'est pas masqué
|
||||||
|
comme un bloc atomique ;
|
||||||
|
- numéro de mutuelle MGEN (10 chiffres) à masquer ;
|
||||||
|
- numéro de sécurité sociale au format espacé (`2 73 04 65 100 100 88`)
|
||||||
|
qui doit être détecté par la règle NIR.
|
||||||
|
|
||||||
|
Points critiques :
|
||||||
|
- aucun token PII ne doit fuiter, malgré l'absence de contexte narratif ;
|
||||||
|
- le label structurel doit rester (`Nom :`, `Prénom :`, `Adresse :`, etc.) ;
|
||||||
|
- le sigle `MGEN` (organisme de mutuelle, pas un nom propre) doit rester ;
|
||||||
|
- le numéro d'adhérent MGEN `1234567890` doit être masqué (pseudo-NDA) ;
|
||||||
|
- `Sexe : F` et `Nationalité : française` doivent rester intacts ;
|
||||||
|
- le numéro de chambre `chambre 412` doit rester intact (pas un
|
||||||
|
identifiant patient).
|
||||||
|
|
||||||
|
Écarts attendus :
|
||||||
|
- numéro d'adhérent MGEN : pas couvert par les règles standard, peut
|
||||||
|
être un FN si aucune règle générique sur séquence numérique 10+ ;
|
||||||
|
- le NIR au format espacé peut être détecté ou non selon la règle ;
|
||||||
|
- patient et époux portant le même nom : vérifier que les deux
|
||||||
|
occurrences sont bien masquées.
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
CENTRE HOSPITALIER DE LA COTE BASQUE
|
||||||
|
FICHE D'ADMISSION
|
||||||
|
|
||||||
|
Date : 02/09/2024
|
||||||
|
N° venue : 2400667788
|
||||||
|
IPP : VWX99001
|
||||||
|
Dossier : 24009988
|
||||||
|
|
||||||
|
IDENTITE
|
||||||
|
Nom : DARRIBEHAUDE
|
||||||
|
Nom de jeune fille : ELIZONDO
|
||||||
|
Prénom : Sabine
|
||||||
|
Sexe : F
|
||||||
|
Date de naissance : 30/04/1973
|
||||||
|
Lieu de naissance : Tarbes
|
||||||
|
Nationalité : française
|
||||||
|
|
||||||
|
COORDONNEES
|
||||||
|
Adresse : 17 boulevard Thiers, appartement 3B
|
||||||
|
Code postal : 64100
|
||||||
|
Ville : Bayonne
|
||||||
|
Téléphone fixe : 05 59 22 33 44
|
||||||
|
Téléphone portable : 06 88 99 00 11
|
||||||
|
Email : sabine.darribehaude@example.com
|
||||||
|
|
||||||
|
PERSONNE A PREVENIR
|
||||||
|
Nom : DARRIBEHAUDE Pierre (époux)
|
||||||
|
Téléphone : 06 77 88 99 00
|
||||||
|
Lien : conjoint
|
||||||
|
|
||||||
|
MEDECIN TRAITANT
|
||||||
|
Dr ETCHEGOIN Jean-Louis
|
||||||
|
RPPS : 44455566677
|
||||||
|
Tel : 05 59 11 22 33
|
||||||
|
|
||||||
|
INFORMATIONS COMPLEMENTAIRES
|
||||||
|
Mutuelle : MGEN n°adhérent 1234567890
|
||||||
|
Sécurité sociale : 2 73 04 65 100 100 88
|
||||||
|
|
||||||
|
Service de gastro-entérologie — chambre 412
|
||||||
85
tests/unit/test_synthetic_review.py
Normal file
85
tests/unit/test_synthetic_review.py
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""
|
||||||
|
Gate pytest sur le corpus synthétique de revue humaine (couche 2).
|
||||||
|
|
||||||
|
Chaque cas dans tests/synthetic_review/cases/ doit produire un texte
|
||||||
|
identique à expected.txt, satisfaire ses expectations.json et ne révéler
|
||||||
|
aucune fuite via le LeakScanner.
|
||||||
|
|
||||||
|
Les cas listés dans KNOWN_FAILURES sont marqués xfail(strict=True) :
|
||||||
|
ils sont attendus en échec aujourd'hui car ils révèlent des bugs réels
|
||||||
|
du moteur. Quand un bug est fixé, le cas correspondant passe → pytest
|
||||||
|
signale le xpass strict, ce qui force à retirer son entrée de
|
||||||
|
KNOWN_FAILURES.
|
||||||
|
"""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import sys
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
ROOT = Path(__file__).resolve().parents[2]
|
||||||
|
if str(ROOT) not in sys.path:
|
||||||
|
sys.path.insert(0, str(ROOT))
|
||||||
|
|
||||||
|
from tools.run_synthetic_review_corpus import ( # noqa: E402
|
||||||
|
CASES_DIR,
|
||||||
|
run_case,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
KNOWN_FAILURES: dict[str, str] = {
|
||||||
|
"005_bacterio_complete": (
|
||||||
|
"RPPS avec qualificateur (`RPPS prescripteur :`) non détecté — "
|
||||||
|
"fuite identifiant médecin."
|
||||||
|
),
|
||||||
|
"009_multi_etablissements": (
|
||||||
|
"Plusieurs fuites : suffixe `de Bordeaux` après [ETABLISSEMENT], "
|
||||||
|
"CHCB en fin de phrase, Biarritz sur ligne `Ville :`, caractère "
|
||||||
|
"`ñ` qui casse Beñat → [NOM]ñat."
|
||||||
|
),
|
||||||
|
"010_fiche_admission_minimale": (
|
||||||
|
"Labels `Nom de jeune fille :`, `Prénom :`, `Ville :` non "
|
||||||
|
"couverts — ELIZONDO, Sabine, Bayonne fuient. NIR au format "
|
||||||
|
"espacé partiellement masqué (consommé en TEL)."
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def _case_dirs() -> list[Path]:
|
||||||
|
if not CASES_DIR.exists():
|
||||||
|
return []
|
||||||
|
return sorted(path for path in CASES_DIR.iterdir() if path.is_dir())
|
||||||
|
|
||||||
|
|
||||||
|
def _make_param(case_dir: Path) -> "pytest.ParameterSet":
|
||||||
|
if case_dir.name in KNOWN_FAILURES:
|
||||||
|
return pytest.param(
|
||||||
|
case_dir,
|
||||||
|
id=case_dir.name,
|
||||||
|
marks=pytest.mark.xfail(
|
||||||
|
strict=True,
|
||||||
|
reason=KNOWN_FAILURES[case_dir.name],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
return pytest.param(case_dir, id=case_dir.name)
|
||||||
|
|
||||||
|
|
||||||
|
def test_synthetic_review_inventory():
|
||||||
|
"""Le corpus doit contenir 10 cas (cible de cadrage produit)."""
|
||||||
|
assert CASES_DIR.exists(), f"Dossier corpus introuvable : {CASES_DIR}"
|
||||||
|
case_dirs = _case_dirs()
|
||||||
|
assert len(case_dirs) == 10, (
|
||||||
|
f"Attendu 10 cas dans synthetic_review/cases, trouvé {len(case_dirs)} : "
|
||||||
|
f"{[c.name for c in case_dirs]}"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("case_dir", [_make_param(c) for c in _case_dirs()])
|
||||||
|
def test_synthetic_review_case(case_dir: Path):
|
||||||
|
result = run_case(case_dir)
|
||||||
|
assert not result["failures"], (
|
||||||
|
f"{case_dir.name} : {', '.join(result['failures'])}\n"
|
||||||
|
f"Diff disponible dans {result['output_dir']}/diff.txt"
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user