Files
anonymisation/config/dictionnaires.yml
Domi31tls 59acf390f4 refactor: externaliser DPI labels et companion blacklist (modifiables sans recompiler)
Suite de l'externalisation des règles. Trois listes étaient codées en dur dans
anonymizer_core_refactored_onnx.py et impossibles à modifier par les
établissements sans recompiler :

- _NEVER_MASK_AS_NAME (12 entrées) — labels DPI structurels
- _DPI_LABELS_BLACKLIST (14 entrées, doublon partiel du précédent)
- _COMPANION_BLACKLIST (~75 entrées) — spécialités, labos pharma, mots ambigus

Les deux premières fusionnées dans data/dpi_labels_blacklist.txt (11 entrées
uniques, comparaison case-insensitive). La troisième dans
data/companion_blacklist.txt (75 entrées, comparaison uppercase).

Ajout de deux clés YAML pour enrichissement par établissement :
- additional_dpi_labels (ex: "Service", "Statut")
- additional_companion_blacklist (ex: spécialités locales)

Les 3 niveaux cumulatifs habituels s'appliquent : code (vide) → fichiers data/
→ YAML config. Chargement au démarrage avec log INFO du nombre d'entrées.

Test trackare-18007562-23054899 : 122 hits, 0 régression, 0 DPI label masqué
comme NOM.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 10:26:18 +02:00

93 lines
2.3 KiB
YAML

version: 1
encoding: utf-8
normalization: NFKC
whitelist:
sections_titres:
- DIM
- GHM
- GHS
- RUM
- COMPTE
- RENDU
- DIAGNOSTIC
noms_maj_excepts:
- Médecin DIM
- Praticien conseil
org_gpe_keep: false
blacklist:
force_mask_terms:
- CENTRE HOSPITALIER COTE BASQUE
- CENTRE HOSPITALIER DE LA COTE BASQUE
- POLYCLINIQUE COTE BASQUE SUD
- POLYCLINIQUE CÔTE BASQUE SUD
- CHCB
- '640780417'
- 'Dates du séjour :'
- CONCERTATION
- BAYONNE CEDEX
- BAYONNE
- '64109'
- LABORATOIRE de BIOLOGIE MEDICALE
- REED LES EMBRUNS
- LES EMBRUNS
- EMBRUNS BIDART
force_mask_regex:
- '[Ee]mbruns'
- 'Centre\s+Hospitalier\s+(?:de\s+(?:la\s+)?)?C[oôÔ]te\s+Basque'
- 'Polyclinique\s+C[oôÔ]te\s+Basque\s+Sud'
- '13\s*,?\s*Avenue\s+de\s+l.Interne\s+J\.?\s*LOEB\s+BP\s*\d+'
kv_labels_preserve:
- FINESS
- IPP
- N° OGC
- Etablissement
regex_overrides:
- name: OGC_court
pattern: \b(?:N°\s*)?OGC\s*[:\-]?\s*([A-Za-z0-9\-]{1,3})\b
placeholder: '[OGC]'
flags:
- IGNORECASE
# Phrases à ne JAMAIS anonymiser (faux positifs récurrents)
# Ajouter ici les expressions qui sont masquées à tort.
# La correspondance est insensible à la casse.
whitelist_phrases:
- "classification internationale"
- "prise en charge"
- "bas de contention"
- "date de naissance"
- "lieu de naissance"
- "ville de résidence"
- "date de sortie"
- "date d'admission"
- "code postal"
# Mots supplémentaires à ne jamais masquer comme noms de personnes
# (complète les 9000+ stop-words intégrés)
additional_stopwords: []
# Exemple :
# - "votre_mot"
# Villes supplémentaires à ne jamais matcher comme lieux
# (complète les 115+ villes blacklistées intégrées)
additional_villes_blacklist: []
# Exemple :
# - "VOTRE_VILLE"
# Labels DPI supplémentaires à ne jamais masquer comme noms
# (complète data/dpi_labels_blacklist.txt)
# Utiliser pour : titres de colonnes, en-têtes de sections, libellés de champs
additional_dpi_labels: []
# Exemple :
# - "Service"
# - "Statut"
# Termes en MAJUSCULES à ne jamais propager comme noms compagnons
# (complète data/companion_blacklist.txt — spécialités, labos pharma, mots ambigus)
additional_companion_blacklist: []
# Exemple :
# - "VOTRE_SPECIALITE"
flags:
case_insensitive: true
unicode_word_boundaries: true
regex_engine: python