# Revue 009 — compte rendu multi-établissements Famille documentaire : consultation neurologique impliquant trois établissements distincts cités dans le narratif (CHCB, CHU de Bordeaux, Clinique Aguilera). Document typique du parcours de soin patient passant d'un établissement à l'autre. Patterns testés : - établissement principal en entête (CHCB) ; - établissement secondaire en narratif (`Centre Hospitalier Universitaire de Bordeaux`, `CHU de Bordeaux`) — variantes longue et courte du même établissement ; - établissement privé en narratif (`Clinique Aguilera`) — pas dans les gazetteers FINESS publics par défaut, doit être détecté contextuellement via le mot-clé `Clinique` ; - prénoms basques rares (Iban, Xabi, Maïté, Beñat) sur trois noms de médecins différents — risque de FN si gazetteer prénoms incomplet ; - nom composé avec accent (`Maïté`) ; - code CIM `G56.8` cité littéralement — préservation obligatoire. Points critiques : - aucun token nominal de patient (SALABERRY Iban) ni des trois médecins (ELISSALDE Xabi, LARRALDE Maïté, ITHURRIAGUE Beñat) ne doit fuiter ; - les villes Bordeaux, Biarritz, Bayonne et le nom d'établissement Aguilera doivent toutes disparaître ; - le sigle `CHCB` doit être masqué (force_term) ; - le terme `CHU de Bordeaux` doit être masqué — y compris la version courte qui ne contient pas explicitement `Centre Hospitalier` ; - terminologie médicale dense doit rester intacte : `neuropathie périphérique`, `réflexes ostéotendineux`, `rééducation fonctionnelle`, `EMG`, `IRM médullaire`. Écarts résolus dans la session 2026-04-28 : - **`Centre Hospitalier Universitaire de Bordeaux` coupé sur deux lignes** : pré-passe `RE_ETAB_LINEBREAK` ajoutée dans la phase 1 — fusionne strictement les coupures `\n` (avec un seul nom propre maximum derrière) sans grignoter la ligne suivante non liée. Couvre aussi `CHU\nde Bordeaux`. - **`CHCB` non masqué en fin de phrase suivi de ` ;`** : le `SPLITTER` (`\s*[:|;\t]\s*`) splittait la ligne narrative sur le `;` final, produisant une "value" vide. La key (qui contenait CHCB) n'était pas passée à `_mask_line_by_regex` (donc pas aux force_terms). Fix dans `_kv_value_only_mask` : si la value est vide ou la key dépasse 5 mots, fallback sur `_mask_line_by_regex(line)` complet. - **`Biarritz` non masqué après `[ETABLISSEMENT] à Biarritz`** : le garde-fou `_mask_ville_gazetteers` skippait toute ville après un placeholder établissement précédé de `de/du/d'/à`. Restreint à `de/du/d'` (parties de nom d'établissement) — `à` reste actif pour les vraies localisations. - **`Beñat` partiellement masqué** : déjà résolu via l'extension Ñ/ñ dans les classes de caractères (commit c24b7f6). Variantes établissement gérées : - forme longue `Centre Hospitalier Universitaire de Bordeaux` ; - forme sigle `CHU de Bordeaux` ; - coupures de ligne sur les deux ; - établissement privé `Clinique Aguilera` détecté via `RE_HOPITAL_VILLE`.