Intégration du modèle CamemBERT-bio-deid v3 (F1=0.96, Recall=0.97, 1112 docs)
et corrections qualité issues de l'audit approfondi sur 29 fichiers.
Détection des villes en texte libre :
- Automate Aho-Corasick sur 33K communes INSEE + 11.6K villes FINESS
- Stratégie contextuelle : exige un contexte géographique (à, de, vers,
habite, urgences de, etc.) sauf pour les villes composées (Saint-Palais)
- Blacklist de ~80 communes homonymes de mots courants (charge, signes, plan...)
- Normalisation SAINT↔ST pour les variantes orthographiques
- De 18 fuites de villes à 2 cas résiduels atypiques
Masquage des initiales de prénom :
- Post-traitement regex : "Dr T. [NOM]" → "Dr [NOM] [NOM]"
- Références initiales : "Ref : JF/VA" → "Ref : [NOM]/[NOM]"
Détection texte espacé d'en-tête :
- "C E N T R E H O S P I T A L I E R" → [ETABLISSEMENT]
Autres corrections :
- Fix regex RE_EXTRACT_MME_MR (Mr?.? → Mr.?, \s+ → [ \t]+, * → {0,4})
- Stop words médicaux : lever, coucher, services hospitaliers (viscérale, etc.)
- CamemBERT NER manager : version tracking, propriété version, log F1/Recall
- Script finetune : export ONNX automatique + mise à jour VERSION.json
- Évaluateur qualité : exclusion stop words médicaux des alertes INSEE
Documentation :
- Spécifications techniques CamemBERT-bio-deid v3
- Conformité RGPD + AI Act (caviardage PDF raster)
- AIPD (Analyse d'Impact Protection des Données)
Score qualité : 97.0/100 (Grade A), Leak score 100/100
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
236 lines
14 KiB
Markdown
236 lines
14 KiB
Markdown
# Conformite reglementaire — Programme d'anonymisation de documents medicaux
|
|
|
|
## 1. Description du systeme
|
|
|
|
### 1.1 Finalite
|
|
|
|
Le programme realise l'**anonymisation automatique de documents medicaux** (comptes-rendus d'hospitalisation, courriers medicaux, ordonnances, resultats d'examens) au format PDF. Il detecte et masque les donnees a caractere personnel (DCP) contenues dans ces documents pour permettre leur utilisation dans un cadre de controle T2A (Tarification a l'Activite) sans exposition des donnees patients.
|
|
|
|
### 1.2 Fonctionnement technique
|
|
|
|
Le pipeline se decompose en 5 phases sequentielles :
|
|
|
|
1. **Extraction de texte** : extraction layout-aware du contenu textuel du PDF (PyMuPDF, pdfplumber, pdfminer, docTR OCR pour les documents scannes)
|
|
2. **Detection par regles** : expressions regulieres et gazetteers (INSEE, BDPM, FINESS) pour identifier les PII structures (NIR, telephones, adresses, dates de naissance, noms d'etablissements)
|
|
3. **Detection par NER multi-moteurs** : trois modeles de reconnaissance d'entites nommees fonctionnent en vote croise :
|
|
- EDS-Pseudo (CamemBERT, NLP clinique francais)
|
|
- GLiNER (NER zero-shot)
|
|
- CamemBERT-bio-deid v3 (fine-tune sur corpus clinique, F1=0.96)
|
|
4. **Remplacement** : chaque DCP detectee est remplacee par un placeholder generique et categorise ([NOM], [DATE_NAISSANCE], [ADRESSE], [TEL], [NIR], etc.)
|
|
5. **Caviardage PDF** : generation d'un PDF anonymise au format image (rasterisation)
|
|
|
|
### 1.3 Formats de sortie
|
|
|
|
| Sortie | Format | Description |
|
|
|--------|--------|-------------|
|
|
| **PDF caviardes** | PDF image (raster) | Chaque page est convertie en image haute resolution (300 DPI), les zones contenant des DCP sont recouvertes de rectangles noirs, puis le PDF est reconstruit a partir des images. **Le texte sous-jacent est detruit** — aucune extraction de texte n'est possible sur le document de sortie. |
|
|
| Texte pseudonymise | .pseudonymise.txt | Version texte avec placeholders ([NOM], [DATE_NAISSANCE], etc.) |
|
|
| Journal d'audit | .audit.jsonl | Trace des detections pour controle qualite (contient les valeurs originales — document sensible) |
|
|
|
|
### 1.4 Caracteristique cle : irreversibilite du caviardage PDF
|
|
|
|
Le format de sortie principal est un **PDF raster** (image). Ce choix technique garantit :
|
|
|
|
- **Destruction physique des donnees** : le texte original est remplace par des pixels. Aucun calque texte, aucune metadonnee textuelle ne subsiste.
|
|
- **Resistance aux attaques d'extraction** : contrairement a un caviardage vectoriel (annotation PDF), le caviardage raster ne peut pas etre "devoile" en supprimant un calque d'annotation.
|
|
- **Irreversibilite totale** : meme avec un acces complet au systeme, il est impossible de reconstituer les DCP a partir du PDF de sortie.
|
|
|
|
---
|
|
|
|
## 2. Conformite RGPD (Reglement UE 2016/679)
|
|
|
|
### 2.1 Qualification juridique : pseudonymisation vs anonymisation
|
|
|
|
Le RGPD distingue deux traitements (article 4 §5 et considerant 26) :
|
|
|
|
| Critere | Pseudonymisation | Anonymisation |
|
|
|---------|-----------------|---------------|
|
|
| **Definition** | Traitement rendant les donnees non attribuables sans information supplementaire | Traitement rendant l'identification impossible de maniere irreversible |
|
|
| **Statut RGPD** | Reste une donnee personnelle | N'est plus une donnee personnelle |
|
|
| **Notre systeme** | Texte .pseudonymise.txt + audit .jsonl | **PDF raster caviardes** |
|
|
|
|
**Position du systeme** :
|
|
- Le **PDF raster de sortie** constitue une **anonymisation** au sens du RGPD : les DCP sont physiquement detruites (remplacement par pixels noirs), sans possibilite de re-identification, meme par le responsable de traitement.
|
|
- Le **fichier texte** (.pseudonymise.txt) constitue une **pseudonymisation** : les DCP sont remplacees par des placeholders generiques, mais le journal d'audit conserve les correspondances.
|
|
- Le **journal d'audit** (.audit.jsonl) contient les valeurs originales des DCP detectees et doit etre traite comme une donnee sensible.
|
|
|
|
### 2.2 Base legale du traitement (article 6)
|
|
|
|
Le traitement de pseudonymisation/anonymisation peut s'appuyer sur :
|
|
- **Article 6.1.c** : obligation legale (controle T2A imposant la transmission de documents justificatifs)
|
|
- **Article 6.1.e** : mission d'interet public (amelioration de la qualite des soins)
|
|
- **Article 6.1.f** : interet legitime (protection des donnees patients lors de la transmission)
|
|
|
|
Pour les **donnees de sante** (article 9), le traitement est autorise au titre de :
|
|
- **Article 9.2.h** : medecine preventive, diagnostic medical, gestion des systemes de sante
|
|
- **Article 9.2.j** : finalites de recherche et statistiques (avec garanties de l'article 89)
|
|
|
|
### 2.3 Principes du RGPD respectes
|
|
|
|
| Principe | Article | Mise en oeuvre |
|
|
|----------|---------|----------------|
|
|
| **Minimisation** | Art. 5.1.c | Seules les DCP strictement necessaires sont traitees. Le systeme ne collecte aucune donnee supplementaire. Les PDF originaux ne sont pas copies — le traitement est effectue in situ. |
|
|
| **Limitation de la conservation** | Art. 5.1.e | Le programme ne stocke aucune donnee personnelle de maniere persistante. Les donnees traitees sont en memoire vive uniquement pendant le traitement. Aucun fichier temporaire sur disque. |
|
|
| **Integrite et confidentialite** | Art. 5.1.f | Traitement local exclusivement (aucun envoi vers le cloud ou service tiers). Modeles d'IA embarques, inference CPU locale. |
|
|
| **Protection des donnees des la conception** (Privacy by Design) | Art. 25.1 | Architecture pensee pour l'irreversibilite : le format de sortie PDF raster detruit physiquement les donnees. Pas de mecanisme de reversibilite, pas de cle de chiffrement, pas de table de correspondance persistante. |
|
|
| **Protection par defaut** | Art. 25.2 | Le mode de sortie par defaut est le caviardage raster (le plus protecteur). Les placeholders sont generiques et non individualisants (tous les noms deviennent [NOM], sans numerotation). |
|
|
|
|
### 2.4 Droits des personnes concernees
|
|
|
|
| Droit | Application |
|
|
|-------|-------------|
|
|
| **Information** (Art. 13-14) | Les personnes doivent etre informees que leurs documents font l'objet d'un traitement d'anonymisation dans le cadre du controle T2A. |
|
|
| **Acces** (Art. 15) | Applicable sur les documents originaux (avant anonymisation). Non applicable sur les PDF anonymises (donnees detruites). |
|
|
| **Rectification** (Art. 16) | Applicable sur les documents originaux. Le systeme d'anonymisation ne modifie pas le contenu medical, uniquement les identifiants. |
|
|
| **Effacement** (Art. 17) | Le journal d'audit (.audit.jsonl) contenant les valeurs originales doit etre supprime apres la periode de controle qualite. |
|
|
| **Opposition** (Art. 21) | Le traitement d'anonymisation en vue du controle T2A releve d'une obligation legale ; le droit d'opposition est limite. |
|
|
|
|
### 2.5 Analyse d'impact (AIPD / DPIA)
|
|
|
|
Une AIPD est **obligatoire** (article 35) car le traitement :
|
|
- Porte sur des **donnees de sante** a grande echelle
|
|
- Utilise des **technologies innovantes** (NER, modeles de langage)
|
|
- Concerne des **personnes vulnerables** (patients)
|
|
|
|
L'AIPD devra documenter :
|
|
- Les mesures techniques (multi-moteurs NER, vote croise, caviardage raster)
|
|
- Les mesures organisationnelles (acces restreint, suppression des audits)
|
|
- Les risques residuels (faux negatifs potentiels : DCP non detectees)
|
|
|
|
### 2.6 Gestion du journal d'audit
|
|
|
|
Le fichier .audit.jsonl constitue un **traitement de donnees personnelles de sante** a part entiere. Recommandations :
|
|
- **Acces restreint** : seul le responsable qualite doit y acceder
|
|
- **Duree de conservation limitee** : suppression apres validation du lot anonymise
|
|
- **Chiffrement au repos** recommande
|
|
- **Non-transmission** : ne jamais transmettre le journal d'audit avec les documents anonymises
|
|
|
|
---
|
|
|
|
## 3. Conformite AI Act (Reglement UE 2024/1689)
|
|
|
|
### 3.1 Classification du systeme
|
|
|
|
L'AI Act classe les systemes d'IA en 4 niveaux de risque :
|
|
|
|
| Niveau | Exemples | Notre systeme |
|
|
|--------|----------|---------------|
|
|
| **Inacceptable** | Notation sociale, manipulation subliminale | Non concerne |
|
|
| **Eleve** (Annexe III) | Biometrie, diagnostic medical, decisions judiciaires | **Non concerne** (voir justification ci-dessous) |
|
|
| **Limite** | Chatbots, deepfakes | Non concerne |
|
|
| **Minimal** | Filtres anti-spam, jeux video | **Classification retenue** |
|
|
|
|
### 3.2 Justification : systeme a risque minimal
|
|
|
|
Le systeme d'anonymisation **n'est pas un systeme a haut risque** au sens de l'Annexe III car :
|
|
|
|
1. **Il n'est pas un dispositif medical** : il ne realise aucun diagnostic, aucune aide a la decision clinique, aucune prediction medicale. Il ne traite que les identifiants, pas le contenu medical.
|
|
2. **Il ne releve d'aucune categorie de l'Annexe III** : pas de biometrie, pas de recrutement, pas de notation de credit, pas d'application de la loi, pas de gestion de l'immigration, pas d'administration de la justice.
|
|
3. **Il remplit les conditions d'exemption de l'article 6 §3** :
|
|
- Il execute une **tache procedurale etroite** (detection et remplacement de motifs textuels)
|
|
- Il **ameliore le resultat d'une activite humaine prealable** (le controle qualite humain reste l'etape finale)
|
|
- Il effectue une **tache preparatoire** (preparation de documents pour transmission)
|
|
4. **Sa finalite est la protection des donnees**, non leur exploitation. Il reduit le risque sur les droits fondamentaux au lieu de l'augmenter.
|
|
|
|
### 3.3 Obligations applicables (risque minimal)
|
|
|
|
Meme en risque minimal, l'AI Act recommande (article 69) :
|
|
|
|
| Obligation | Mise en oeuvre |
|
|
|------------|----------------|
|
|
| **Transparence** | Documentation technique disponible (architecture, modeles utilises, performances). Le fichier VERSION.json trace les versions des modeles et leurs metriques. |
|
|
| **Qualite des donnees d'entrainement** | Donnees d'entrainement issues de documents reels anonymises (silver annotations). Augmentation par gazetteers INSEE et BDPM. Hard negatives QUAERO. |
|
|
| **Supervision humaine** | Le systeme produit des documents anonymises qui sont **toujours soumis a un controle humain** avant transmission. Score qualite mesure automatiquement (96.3/100). |
|
|
| **Tracabilite** | Journal d'audit detaille par document (type de DCP, valeur originale, methode de detection). |
|
|
|
|
### 3.4 Calendrier d'application
|
|
|
|
| Date | Etape | Impact |
|
|
|------|-------|--------|
|
|
| Fevrier 2025 | Interdictions (risque inacceptable) | Non concerne |
|
|
| Aout 2025 | Obligations IA a usage general (GPAI) | Non concerne (modele specialise, pas GPAI) |
|
|
| **Aout 2026** | **Application complete** (systemes a haut risque) | Non concerne (risque minimal) |
|
|
|
|
---
|
|
|
|
## 4. Mesures techniques de conformite
|
|
|
|
### 4.1 Traitement local exclusif
|
|
|
|
| Mesure | Detail |
|
|
|--------|--------|
|
|
| **Aucun appel cloud** | Tous les modeles d'IA (EDS-Pseudo, GLiNER, CamemBERT-bio) fonctionnent en local sur CPU |
|
|
| **Aucune API externe** | Pas d'envoi de donnees vers OpenAI, Google, Anthropic ou autre service tiers |
|
|
| **Pas de telemetrie** | Le programme ne collecte aucune statistique d'usage, aucun log distant |
|
|
| **Environnement controle** | Fonctionne sur poste local securise, reseau interne |
|
|
|
|
### 4.2 Securite du traitement
|
|
|
|
| Mesure | Detail |
|
|
|--------|--------|
|
|
| **Memoire vive uniquement** | Les DCP ne transitent que par la RAM pendant le traitement. Aucun fichier temporaire sur disque. |
|
|
| **Pas de base de donnees** | Aucune BDD locale ou distante ne stocke les DCP traitees |
|
|
| **Pas de reversibilite** | Aucune cle de chiffrement, aucune table de correspondance, aucun mecanisme de de-anonymisation |
|
|
| **Placeholders generiques** | Tous les noms deviennent [NOM] (pas de [NOM_1], [NOM_2]) — empeche la re-identification par croisement |
|
|
|
|
### 4.3 Multi-moteurs et vote croise
|
|
|
|
L'utilisation de **3 moteurs NER independants** en vote croise est une mesure de fiabilite :
|
|
- Reduit le risque de **faux negatifs** (DCP non detectee) : si un moteur rate une entite, les deux autres peuvent la rattraper
|
|
- Reduit le risque de **faux positifs** (terme medical masque a tort) : le vote majoritaire empeche un moteur isole de masquer un terme medical courant
|
|
- Le score de qualite mesure (96.3/100) quantifie le risque residuel
|
|
|
|
### 4.4 Format de sortie : caviardage raster
|
|
|
|
Le choix du **PDF raster** (image) comme format de sortie principal est une mesure de protection maximale :
|
|
|
|
```
|
|
Document original (PDF texte)
|
|
|
|
|
v
|
|
[Extraction texte] → [Detection PII] → [Remplacement par placeholders]
|
|
|
|
|
v
|
|
[Rasterisation 300 DPI] → [Rectangles noirs sur zones PII] → [Reconstruction PDF image]
|
|
|
|
|
v
|
|
Document anonymise (PDF image — texte irrecuperable)
|
|
```
|
|
|
|
**Garanties** :
|
|
- Le texte sous-jacent est **physiquement absent** du fichier PDF de sortie
|
|
- Les rectangles noirs sont des **pixels**, pas des annotations supprimables
|
|
- La resolution (300 DPI) preserve la lisibilite du contenu medical non masque
|
|
- Un filigrane optionnel identifie le document comme anonymise
|
|
|
|
---
|
|
|
|
## 5. Risques residuels et mesures d'attenuation
|
|
|
|
| Risque | Probabilite | Impact | Attenuation |
|
|
|--------|-------------|--------|-------------|
|
|
| **Faux negatif** : DCP non detectee passant dans le document de sortie | Faible (recall 97%) | Eleve | Vote croise 3 moteurs, gazetteers INSEE/FINESS, controle humain post-traitement, score qualite automatise |
|
|
| **Faux positif** : terme medical masque a tort reduisant la lisibilite | Moyen | Faible | Vote croise, stop words medicaux (BDPM, QUAERO), precision 96% |
|
|
| **Journal d'audit compromis** | Faible | Eleve | Acces restreint, suppression apres validation, chiffrement recommande |
|
|
| **Document original non supprime** | Moyen | Eleve | Procedure organisationnelle de suppression apres validation du lot |
|
|
|
|
---
|
|
|
|
## 6. Synthese de conformite
|
|
|
|
| Reglementation | Statut | Commentaire |
|
|
|----------------|--------|-------------|
|
|
| **RGPD** — Minimisation | Conforme | Aucune collecte supplementaire, traitement en memoire vive |
|
|
| **RGPD** — Privacy by Design | Conforme | Irreversibilite par conception (PDF raster) |
|
|
| **RGPD** — Securite | Conforme | Traitement 100% local, pas de cloud, pas de BDD |
|
|
| **RGPD** — Droits des personnes | Conforme | Applicable sur documents originaux, non applicable sur sorties anonymisees |
|
|
| **RGPD** — AIPD | A realiser | Obligatoire (donnees de sante + technologie innovante) |
|
|
| **RGPD** — Journal d'audit | Attention | Contient des DCP — traiter comme donnee sensible |
|
|
| **AI Act** — Classification | Risque minimal | Ne releve pas de l'Annexe III (pas de DM, pas de decision) |
|
|
| **AI Act** — Transparence | Conforme | Documentation technique, versioning des modeles, metriques |
|
|
| **AI Act** — Supervision humaine | Conforme | Controle humain systematique avant transmission |
|
|
|
|
---
|
|
|
|
*Document etabli le 11 mars 2026 — Version 1.0*
|