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>
19 lines
1.8 KiB
JSON
19 lines
1.8 KiB
JSON
{"page": 0, "kind": "NOM", "original": "BLANGIS", "placeholder": "[NOM]", "bbox_hint": null}
|
|
{"page": 0, "kind": "RPPS", "original": "10100981090", "placeholder": "[RPPS]", "bbox_hint": null}
|
|
{"page": 0, "kind": "TEL", "original": "05 59 44 35 12", "placeholder": "[TEL]", "bbox_hint": null}
|
|
{"page": 0, "kind": "RPPS", "original": "10002828365", "placeholder": "[RPPS]", "bbox_hint": null}
|
|
{"page": 0, "kind": "DATE_NAISSANCE", "original": "né le 13/12/1943", "placeholder": "[DATE_NAISSANCE]", "bbox_hint": null}
|
|
{"page": 0, "kind": "RPPS", "original": "10107546912", "placeholder": "[RPPS]", "bbox_hint": null}
|
|
{"page": 0, "kind": "TEL", "original": "05 59 44 40 59", "placeholder": "[TEL]", "bbox_hint": null}
|
|
{"page": 0, "kind": "RPPS", "original": "10102402095", "placeholder": "[RPPS]", "bbox_hint": null}
|
|
{"page": 0, "kind": "TEL", "original": "05 59 44 35 17", "placeholder": "[TEL]", "bbox_hint": null}
|
|
{"page": 0, "kind": "NOM", "original": "Colette BRANA", "placeholder": "[NOM]", "bbox_hint": null}
|
|
{"page": 0, "kind": "AGE", "original": "Patient de 79 ans", "placeholder": "[AGE]", "bbox_hint": null}
|
|
{"page": 0, "kind": "RPPS", "original": "10004431168", "placeholder": "[RPPS]", "bbox_hint": null}
|
|
{"page": 0, "kind": "TEL", "original": "05 59 44 31 35", "placeholder": "[TEL]", "bbox_hint": null}
|
|
{"page": 0, "kind": "RPPS", "original": "10101988433", "placeholder": "[RPPS]", "bbox_hint": null}
|
|
{"page": 0, "kind": "RPPS", "original": "10101061272", "placeholder": "[RPPS]", "bbox_hint": null}
|
|
{"page": 0, "kind": "EMAIL", "original": "secr.chirortho@ch-cotebasque.fr", "placeholder": "[EMAIL]", "bbox_hint": null}
|
|
{"page": 0, "kind": "TEL", "original": "05 59 44 35 13", "placeholder": "[TEL]", "bbox_hint": null}
|
|
{"page": 0, "kind": "TEL", "original": "05 59 44 35 14", "placeholder": "[TEL]", "bbox_hint": null}
|