Files
anonymisation/regression_tests/baseline/trackare-01296746-23163458_01296746_23163458.audit.jsonl
Domi31tls e967a67052 feat(phase2): Extraction layout-aware multi-colonnes — 322 fuites → 0, -103 FP
Phase 2 de l'amélioration qualité anonymisation :

1. Extraction multi-colonnes (PyMuPDF layout-aware) :
   - Nouvelle fonction _extract_page_layout_aware() détecte les layouts
     sidebar+corps (typiques des CRH/CRO hospitaliers)
   - Remplace pdfplumber comme extraction primaire (PyMuPDF blocks)
   - Élimine l'entrelacement de texte entre sidebar et corps médical
   - pdfplumber conservé pour les tables et comme fallback

2. Masquage FINESS multiline :
   - Détection "N° Finess\n[...]\n640000162" (label et numéro séparés)
   - Propagation globale du numéro FINESS sur toutes les pages
   - Gestion du format *640000162* (avec astérisques Trackare)

3. Masquage URLs hospitalières (www.ch-xxx.fr)

4. Nettoyage crochets doubles [[PLACEHOLDER]] → [PLACEHOLDER]

Résultats non-régression (30 fichiers audit) :
- Fuites : 322 → 0 (-100%)
- Faux positifs : 113 → 10 (-91%)
- 0 régression fonctionnelle
- OGC 1-59 : 0 fuite soignant, 0 FINESS, 0 lieu de naissance

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 18:19:08 +01:00

144 lines
15 KiB
JSON

{"page": 0, "kind": "force_term", "original": "CENTRE HOSPITALIER COTE BASQUE", "placeholder": "[MASK]", "bbox_hint": null}
{"page": 0, "kind": "ADRESSE", "original": "13 RUE DU TILLEUL ARGENTE", "placeholder": "[ADRESSE]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Yann LAMMERTYN", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "BERNARD GIMENEZ", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "ADRESSE", "original": "7 RUE DE LA PENA RESIDENCE ERLETEGUIA ", "placeholder": "[ADRESSE]", "bbox_hint": null}
{"page": 0, "kind": "CODE_POSTAL", "original": "64600 ANGLET", "placeholder": "[CODE_POSTAL]", "bbox_hint": null}
{"page": 0, "kind": "TEL", "original": "05 59 63 16 91", "placeholder": "[TEL]", "bbox_hint": null}
{"page": 0, "kind": "TEL", "original": "0770316127", "placeholder": "[TEL]", "bbox_hint": null}
{"page": 0, "kind": "TEL", "original": "05.59.31.91.30", "placeholder": "[TEL]", "bbox_hint": null}
{"page": 0, "kind": "TEL", "original": "07.70.31.61.27", "placeholder": "[TEL]", "bbox_hint": null}
{"page": 0, "kind": "ETAB", "original": "unité de Chirurgie hors SC", "placeholder": "[MASK]", "bbox_hint": null}
{"page": 0, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 1, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 2, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 3, "kind": "NOM", "original": "Pascale", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 3, "kind": "NOM", "original": "David MATHIS", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 3, "kind": "NOM", "original": "Edouard", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 3, "kind": "NOM", "original": "Rotarsky", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 3, "kind": "NOM", "original": "Edouard", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 3, "kind": "NOM", "original": "Edouard", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 3, "kind": "NOM", "original": "ROTARSKI", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 3, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 4, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 5, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 6, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 7, "kind": "ETAB", "original": "SSR", "placeholder": "[ETABLISSEMENT]", "bbox_hint": null}
{"page": 7, "kind": "ETAB", "original": "SSR", "placeholder": "[ETABLISSEMENT]", "bbox_hint": null}
{"page": 7, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 8, "kind": "NOM", "original": "ROTARSKI", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 8, "kind": "NOM", "original": "Edouard", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 8, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Pascale", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Edouard", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Edouard", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Edouard", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Edouard", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Edouard", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 10, "kind": "NOM", "original": "Edouard", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 10, "kind": "NOM", "original": "Edouard GAULT", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 10, "kind": "NOM", "original": "Edouard", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 10, "kind": "NOM", "original": "Edouard", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 10, "kind": "NOM", "original": "Edouard", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 10, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 11, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 12, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 13, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 14, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 15, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 16, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 17, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 18, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 19, "kind": "NIR", "original": "136096410201724", "placeholder": "[NIR]", "bbox_hint": null}
{"page": 19, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 20, "kind": "ETAB", "original": "www.ch-cote-basque.fr", "placeholder": "[ETABLISSEMENT]", "bbox_hint": null}
{"page": 20, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 21, "kind": "NOM", "original": "Anne Christine", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 21, "kind": "NOM", "original": "Anne Christine", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 21, "kind": "NOM", "original": "Julien", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 21, "kind": "NOM", "original": "David LEYSSENE", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 21, "kind": "NOM", "original": "Fanny MENARD", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 21, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 22, "kind": "ADRESSE", "original": "13 RUE DU TILLEUL ARGENTE", "placeholder": "[ADRESSE]", "bbox_hint": null}
{"page": 22, "kind": "CODE_POSTAL", "original": "64600 ANGLET", "placeholder": "[CODE_POSTAL]", "bbox_hint": null}
{"page": 22, "kind": "NOM", "original": "ROTARSKI", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 22, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 23, "kind": "NOM", "original": "Rotarsky", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 23, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 23, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 0, "kind": "IPP", "original": "01296746", "placeholder": "[IPP]", "bbox_hint": null}
{"page": 0, "kind": "DATE_NAISSANCE", "original": "Date de naissance: 13/09/1936", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
{"page": 0, "kind": "VILLE", "original": "BAYONNE", "placeholder": "[VILLE]", "bbox_hint": null}
{"page": 0, "kind": "CODE_POSTAL", "original": "Code Postal: 64600", "placeholder": "[CODE_POSTAL]", "bbox_hint": null}
{"page": 0, "kind": "ADRESSE", "original": "13 RUE DU TILLEUL ARGENTE\tVille de résidence", "placeholder": "[ADRESSE]", "bbox_hint": null}
{"page": 0, "kind": "NOM", "original": "Yann LAMMERTYN", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 0, "kind": "TEL", "original": "05 59 63 16 91", "placeholder": "[TEL]", "bbox_hint": null}
{"page": 0, "kind": "ADRESSE", "original": "7 RUE DE LA PENA RESIDENCE ERLETEGUIA ", "placeholder": "[ADRESSE]", "bbox_hint": null}
{"page": 0, "kind": "CODE_POSTAL", "original": "64600 ANGLET", "placeholder": "[CODE_POSTAL]", "bbox_hint": null}
{"page": 0, "kind": "TEL", "original": "0770316127", "placeholder": "[TEL]", "bbox_hint": null}
{"page": 0, "kind": "TEL", "original": "05.59.31.91.30", "placeholder": "[TEL]", "bbox_hint": null}
{"page": 0, "kind": "TEL", "original": "07.70.31.61.27", "placeholder": "[TEL]", "bbox_hint": null}
{"page": 0, "kind": "ETAB", "original": "unité de Chirurgie hors SC", "placeholder": "[MASK]", "bbox_hint": null}
{"page": 3, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 3, "kind": "NOM", "original": "Koneazny", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 3, "kind": "NOM", "original": "Pascale LARROUY", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 3, "kind": "NOM", "original": "David MATHIS", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 3, "kind": "NOM", "original": "Edouard GAULT", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 3, "kind": "NOM", "original": "Rotarsky", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 3, "kind": "NOM", "original": "Edouard GAULT", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 3, "kind": "NOM", "original": "Edouard GAULT", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 5, "kind": "NOM", "original": "Koenazny", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 6, "kind": "ETAB", "original": "CHU", "placeholder": "[ETABLISSEMENT]", "bbox_hint": null}
{"page": 7, "kind": "ETAB", "original": "SSR", "placeholder": "[ETABLISSEMENT]", "bbox_hint": null}
{"page": 7, "kind": "ETAB", "original": "SSR", "placeholder": "[ETABLISSEMENT]", "bbox_hint": null}
{"page": 8, "kind": "NOM", "original": "ROTARSKI Ulcère", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 8, "kind": "NOM", "original": "Edouard GAULT", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Pascale LARROUY", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Edouard GAULT", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Edouard GAULT", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Edouard GAULT", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Edouard GAULT", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Edouard GAULT", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 9, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 10, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 10, "kind": "NOM", "original": "Edouard GAULT", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 10, "kind": "NOM", "original": "Edouard GAULT", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 10, "kind": "NOM", "original": "Edouard GAULT", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 10, "kind": "NOM", "original": "Edouard GAULT", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 10, "kind": "NOM", "original": "Edouard GAULT", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 10, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 10, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 10, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 10, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 11, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 11, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 11, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 11, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 11, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 11, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 11, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 11, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 11, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 11, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 11, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 11, "kind": "NOM", "original": "Ute DURANTEAU", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 21, "kind": "NOM", "original": "Anne Christine JAOUEN", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 21, "kind": "NOM", "original": "Anne Christine JAOUEN", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 21, "kind": "NOM", "original": "Julien GUILLEMAUD Dr", "placeholder": "[NOM]", "bbox_hint": null}
{"page": 21, "kind": "NOM", "original": "Fanny MENARD DEROURE", "placeholder": "[NOM]", "bbox_hint": null}