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>
93 lines
2.3 KiB
YAML
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
|