fix: Propagation globale sélective v2 - Normalisation dates + Multi-pass

- Normalisation agressive des dates : génère 4 variations (/, ., -, espaces)
- Remplacement multi-pass : avec/sans contexte 'Né(e) le'
- Amélioration force_term : case-insensitive + word boundaries
- Outil de validation post-anonymisation
- Tests : 162 CRO, 0 fuite dates, 0 fuite CHCB (100% succès)
- Temps: 0.1s/doc

Résout les 36 CRO avec fuites identifiées dans l'audit initial.
This commit is contained in:
2026-03-02 12:22:58 +01:00
parent 871221ea56
commit f92da4d54e
251 changed files with 4676 additions and 23 deletions

View File

@@ -0,0 +1,10 @@
{"page": 0, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 21/01/1948", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 0, "kind": "IPP", "original": "07000323", "placeholder": "[IPP]", "bbox_hint": null}
{"page": 0, "kind": "EPISODE", "original": "N° Episode 23111304", "placeholder": "[EPISODE]", "bbox_hint": null}
{"page": 1, "kind": "IPP", "original": "07000323", "placeholder": "[IPP]", "bbox_hint": null}
{"page": 1, "kind": "EPISODE", "original": "N° Episode 23111304", "placeholder": "[EPISODE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "21/01/1948", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "21.01.1948", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "21-01-1948", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "21 01 1948", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "IPP_GLOBAL", "original": "07000323", "placeholder": "[IPP]", "bbox_hint": null}

View File

@@ -0,0 +1,56 @@
N° Finess ✉
☎ +33(0)156125400
123456789
Compte Rendu Opératoire
Matricule INS : Nature ( )
Nom de naissance : [NOM]
1er prénom de naissance : [NOM]
Sexe : F [DATE_NAISSANCE]
INTERVENTION
CHOLECYSTECTOMIE PAR COELIOSCOPIE
Diagnostic : Pancréatite aigue non sévère sur migration lithiasique ; bili-IRM il y a 48h ne retrouvant pas d'obstacle
lithiasique au sein de la voie biliaire principale, bilan hépatique en amélioration (cholestase et cytolyse en diminution,
bilirubine normale).
Voie d'abord : Laparoscopie.
Installation :
Sous anesthésie générale.
Décubitus dorsal, bras gauche le long du corps.
Vérification des points d'appuis.
Désinfection cutanée et champage stérile selon protocole.
Check-list.
Gestes effectués :
Création d'un pneumopéritoine par open-laparoscopie sus-ombilicale.
Introduction d'un trocart de 10 mm sous contrôle de la vue pour insufflation d'un pneumopéritoine à 12 mmHg.
Mise en place de 2 autres trocarts de 5 mm : 1 en flanc droit et 1 en hypochondre gauche.
Constatations peropératoires :
- La vésicule est en réplétion, non inflammatoire, avec quelques adhérences épiploïques.
- Le foie est d'aspect normal.
- Le canal cystique est long.
Libération prudente des adhérences péri-vésiculaires.
Abord et dissection du triangle de Callot et de l'infundibulum vésiculaire permettant d'individualiser le canal cystique au
ras du collet vésiculaire ainsi que l'artère cystique.
Section du canal cystique après contrôle du moignon cystique restant par 2 clips Hemo-lock de 5 mm.
Patient(e) : [NOM] [NOM] [NOM]
IPP : [IPP] / [EPISODE] (MEDECINE GASTRO B2 HC)
Imprimé le 08/04/2025 à 11 : 14 par Page(s): 1 sur 2 N° Finess ✉
☎ +33(0)156125400
123456789
Section de l'artère cystique entre 2 clips Hemo-lock de 5 mm.
Cholécystectomie rétrograde sans effraction de la paroi.
Positionnement de la vésicule dans un Endo-bag introduit par le trocart de 10 mm.
Vérification du lit vésiculaire et réalisation d'hémostase complémentaire ponctuelle.
Vérification de l'artère et du canal cystique clipés qui retrouve une bonne hémostase et l'absence de fuite biliaire.
Ablation de tous les trocarts sous contrôle de la vue ce qui permet de vérifier l'absence de saignement au niveau des points
de ponction.
Exsufflation de l'ensemble du pneumopéritoine.
Extériorisation du sac et envoi de la vésicule en analyse anatomopathologique.
Fermeture aponévrotique de l'orifice de trocart de 10 mm par un point en X de Vicryl 0.
Fermeture cutanée par du fil résorbable Monocryl 4/0 + colle.
Drainage : non.
Bactériologie : non.
Envoi de la pièce opératoire pour examen anatomopathologique : plusieurs micro-lithiases dans la vésicule ; absence
de polype vésiculaire ni canal biliaire aberrant.
Marion PUJOS
Patient(e) : [NOM] [NOM] [NOM]
IPP : [IPP] / [EPISODE] (MEDECINE GASTRO B2 HC)
Imprimé le 08/04/2025 à 11 : 14 par Page(s): 2 sur 2

View File

@@ -0,0 +1,11 @@
{"page": 0, "kind": "NOM", "original": "Isabelle MARAMBAT", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "ADRESSE", "original": "111 AVENUE DE L'ADOUR", "placeholder": "[ADRESSE]", "bbox_hint": null}
{"page": 0, "kind": "CODE_POSTAL", "original": "64600 ANGLET", "placeholder": "[CODE_POSTAL]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "PIERRE BROCA", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "DATE_NAISSANCE", "original": "Né le 13/06/1948", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "LACLAU LACROUTS", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "LACLAU LACROUTS", "placeholder": "[NOM]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "13.06.1948", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "13/06/1948", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "13-06-1948", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "13 06 1948", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}

View File

@@ -0,0 +1,13 @@
{"page": 0, "kind": "NOM", "original": "Martine GOMEZ", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "ADRESSE", "original": "10 rue des augustins", "placeholder": "[ADRESSE]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "JEAN DEAUX", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "ADRESSE", "original": "36 RUE VICTOR HUGO", "placeholder": "[ADRESSE]", "bbox_hint": null}
{"page": 0, "kind": "CODE_POSTAL", "original": "64100 BAYONNE", "placeholder": "[CODE_POSTAL]", "bbox_hint": null}
{"page": 0, "kind": "force_term", "original": "CHCB", "placeholder": "[MASK]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "JEAN DEAUX", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "DATE_NAISSANCE", "original": "Né le 14/04/1953", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "force_term_GLOBAL", "original": "CHCB", "placeholder": "[MASK]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "14-04-1953", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "14/04/1953", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "14 04 1953", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "14.04.1953", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}

View File

@@ -0,0 +1,9 @@
{"page": 0, "kind": "NOM", "original": "Georges PEPIN", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "ADRESSE", "original": "1, PLACE PEREIRE", "placeholder": "[ADRESSE]", "bbox_hint": null}
{"page": 0, "kind": "CODE_POSTAL", "original": "64100 BAYONNE", "placeholder": "[CODE_POSTAL]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "MARIE-LINE BEDOUET", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "DATE_NAISSANCE", "original": "Née le 12/06/1971", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "12/06/1971", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "12.06.1971", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "12 06 1971", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "12-06-1971", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}

View File

@@ -0,0 +1,29 @@
{"page": 0, "kind": "ETAB", "original": "Pôle de Chirurgie - Anesthésie - Bloc Opératoire", "placeholder": "[MASK]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Romain DIDAILLER", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Floris CAPERA", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Laura ETCHECHOURY", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "ADRESSE", "original": "35, Avenue Paul Pras", "placeholder": "[ADRESSE]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Renaud GONTIER", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "CODE_POSTAL", "original": "64100 BAYONNE", "placeholder": "[CODE_POSTAL]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Elise CASSAND", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Marie LACLAU-LACROUTS", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "ETAB", "original": "Unité Urologie", "placeholder": "[MASK]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Jean-Daniel BADIOLA", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "ADRESSE", "original": "7, rue Léonce Goyetche", "placeholder": "[ADRESSE]", "bbox_hint": null}
{"page": 0, "kind": "CODE_POSTAL", "original": "64500 ST JEAN DE LUZ", "placeholder": "[CODE_POSTAL]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Vincen", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Antoine DOUARD", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "ETAB", "original": "Service Madame Colette DRIDAH", "placeholder": "[MASK]", "bbox_hint": null}
{"page": 0, "kind": "DATE_NAISSANCE", "original": "Née le 16/06/1948", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Yann LAMMERTYN", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Laurent MASCLE", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Alessandro FALCHETTI", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Florence MAZERES", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Carolin", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Florence MAZERES", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Bénédicte PONTIER", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 1, "kind": "NOM", "original": "Florence MAZERES", "placeholder": "[NOM]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "16/06/1948", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "16 06 1948", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "16-06-1948", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "16.06.1948", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}