# 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).
