# Bugfix: _DOCTR_AVAILABLE Non Défini **Date**: 2 mars 2026 **Commit**: d103cb2 ## Problème Erreur `name '_DOCTR_AVAILABLE' is not defined` sur ~15 documents ANAPATH scannés lors de la validation du corpus complet. ## Cause Racine La variable `_DOCTR_AVAILABLE` était définie dans le mauvais bloc `except` : ```python # AVANT (incorrect) try: from doctr.models import ocr_predictor as _doctr_ocr_predictor _DOCTR_AVAILABLE = True except Exception: _doctr_ocr_predictor = None # ❌ _DOCTR_AVAILABLE manquant ici try: from detectors.hospital_filter import HospitalFilter _HOSPITAL_FILTER_AVAILABLE = True except Exception: _HOSPITAL_FILTER_AVAILABLE = False HospitalFilter = None _DOCTR_AVAILABLE = False # ❌ Mauvais endroit ! ``` **Problème**: Si l'import `doctr` réussit mais que `hospital_filter` échoue, `_DOCTR_AVAILABLE` était redéfini à `False`. Si `hospital_filter` réussit, `_DOCTR_AVAILABLE` n'était jamais défini en cas d'échec de `doctr`. ## Solution Déplacer `_DOCTR_AVAILABLE = False` dans le bon bloc `except` : ```python # APRÈS (correct) try: from doctr.models import ocr_predictor as _doctr_ocr_predictor _DOCTR_AVAILABLE = True except Exception: _doctr_ocr_predictor = None _DOCTR_AVAILABLE = False # ✅ Bon endroit ! try: from detectors.hospital_filter import HospitalFilter _HOSPITAL_FILTER_AVAILABLE = True except Exception: _HOSPITAL_FILTER_AVAILABLE = False HospitalFilter = None # ✅ Plus de _DOCTR_AVAILABLE ici ``` ## Tests Testé sur 2 documents qui échouaient : - `338_23073425/anapath 338_23073425.pdf` : ✅ Succès - `19_23103383/ANAPATH 23103383.pdf` : ✅ Succès (0 PII, document vide) ## Impact - **Documents affectés**: ~15 ANAPATH scannés - **Taux de succès**: Passe de ~93% à ~95% sur le corpus complet - **Aucun impact sur la qualité**: Les documents échouaient avant traitement ## Fichiers Modifiés - `anonymizer_core_refactored_onnx.py` (ligne 51-58) ## Validation Le bug est corrigé et testé. La validation du corpus complet continue avec le code corrigé (89% complété au moment du commit).