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,23 @@
{"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": "Laura ETCHECHOURY", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "ADRESSE", "original": "4 RUE PONTRIQUE", "placeholder": "[ADRESSE]", "bbox_hint": null}
{"page": 0, "kind": "CODE_POSTAL", "original": "64100 BAYONNE", "placeholder": "[CODE_POSTAL]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Renaud GONTIER", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "MIREILLE MATARESE", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Marie LACLAU-LACROUTS", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "DATE_NAISSANCE", "original": "Née le 21/02/1950", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 0, "kind": "ETAB", "original": "Unité Urologie CURE D", "placeholder": "[MASK]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Vincent COMAT", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Antoine DOUARD", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Yann LAMMERTYN", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "LACLAU LACROUTS", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Laurent MASCLE", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Florence MAZERES Libération", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "ETAB", "original": "Service Libération des adhérences qui sont sous la cicatrice", "placeholder": "[MASK]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Caroline RIVERA Ouverture", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Bruno CORDON", "placeholder": "[NOM]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "21/02/1950", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "21 02 1950", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "21-02-1950", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": -1, "kind": "DATE_NAISSANCE_GLOBAL", "original": "21.02.1950", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}