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>
This commit is contained in:
2026-03-06 18:19:08 +01:00
parent bc2fe667a0
commit e967a67052
55 changed files with 38506 additions and 18343 deletions

View File

@@ -1,31 +1,33 @@
CROp Epi - [NOM], [NOM]
____________________________________________________________________________________________________________________________________________
CROp Epi - [NOM], [NOM]
_______________________________________________________________________________________________________________
Compte rendu opératoire
>>>1 CRO type chirurgie viscérale 06/06/23 15 : 58 (mod. le 06/06/23 16:03 par [NOM] [NOM] , statut : Rés
>>>1 CRO type chirurgie viscérale 06/06/23 15 : 58 (mod. le 06/06/23 16:03 par [NOM] [NOM] , statut : Rés
LM / EP
Docteur [NOM]
[ADRESSE]
[CODE_POSTAL]
[CODE_POSTAL]
Monsieur [NOM]
[DATE_NAISSANCE]
RTV
Histoire Clinique :
- Patient initialement pris en charge par le Docteur [NOM] pour des hématuries macroscopiques.
- Patient initialement pris en charge par le Docteur [NOM] pour des hématuries macroscopiques.
- Une échographie fait état d'une lésion polypoïde vésicale.
- Du fait d'une récidive de ses hématuries macroscopiques, on décide d'avancer le geste d'intervention pour e
- Du fait d'une récidive de ses hématuries macroscopiques, on décide d'avancer le geste d'intervention pour e
exploration plus ou moins résection.
Compte-rendu opératoire du 6 juin 2023 :
Opérateur : Docteur [NOM]
Anesthésiste : Docteur [NOM]
Aide(s) [NOM] [NOM], Interne
Aide(s) [NOM] [NOM], Interne
- Sous anesthésie générale, en position gynécologique, après antibiothérapie péri-opératoire.
- Introduction du résecteur qui réalise une cystoscopie complète et retrouve des méats urétéraux normaux, av
dallure urothéliale près du méat urétéral gauche et d'autres lésions plus planes, suspectes de carcinome in si
dallure urothéliale près du méat urétéral gauche et d'autres lésions plus planes, suspectes de carcinome in si
- Résections complète des lésions sauf celles du carcinome in situ planes qui sont très nombreuses.
- On parvient néanmoins à réaliser de nombreux prélèvements pour examen histologique.
- On parvient néanmoins à réaliser de nombreux prélèvements pour examen histologique.
- Hémostase soigneuse.
- Mise en place d'une sonde Dufour charrière 18 pour irrigation-lavage.
- Mise en place d'une sonde Dufour charrière 18 pour irrigation-lavage.
- Les urines sont claires.
Docteur [NOM]
____________________________________________________________________________________________________________________________________________
Information patient Page 1 15/04/2025 16 : 30:14
_______________________________________________________________________________________________________________
Information patient
Page 1
15/04/2025 16 : 30:14