# Spec : Optimisation de la Qualité d'Anonymisation

## Vue d'Ensemble

Cette spécification détaille le projet d'optimisation de la qualité d'anonymisation du système de pseudonymisation de documents PDF médicaux.

**Objectif** : Atteindre un équilibre optimal entre rappel (détection des PII) et précision (éviter les faux positifs) pour garantir la conformité RGPD tout en préservant la lisibilité médicale.

## Métriques Cibles

- **Rappel** : ≥ 99.5% (maximum 0.5% de PII manqués)
- **Précision** : ≥ 97% (maximum 3% de faux positifs)
- **F1-Score** : ≥ 0.98
- **Temps de traitement** : < 30 secondes par PDF

## Corpus de Travail

- **Source** : 59 dossiers OGC dans `/home/dom/Téléchargements/II-1 Ctrl_T2A_2025_CHCB_DocJustificatifs (1)/`
- **Sortie existante** : 130 fichiers anonymisés + audits dans `anonymise/`
- **Dataset de test** : 30 documents annotés manuellement (à créer)

## Contraintes

- ✅ Utilisation de documents réels uniquement (pas de mocks)
- ✅ CPU uniquement (pas de GPU)
- ✅ RAM limitée (< 4 GB par processus)
- ✅ Conformité RGPD stricte

## Structure de la Spec

1. **requirements.md** : Exigences fonctionnelles et non-fonctionnelles
2. **design.md** : Architecture technique et composants détaillés
3. **tasks.md** : Plan d'implémentation en 4 phases

## Phases du Projet

### Phase 1 : Mesure et Baseline (2 semaines)
- Création du dataset de test annoté (30 documents)
- Implémentation du système d'évaluation
- Mesure des performances actuelles

### Phase 2 : Amélioration de la Détection (3 semaines)
- Amélioration des regex (téléphones, emails, adresses, NIR)
- Implémentation de la détection contextuelle
- Approche hybride multi-détecteurs

### Phase 3 : Validation et Reporting (1 semaine)
- Validation post-anonymisation
- Génération de rapports de qualité
- Tests de régression automatiques

### Phase 4 : Documentation et Finalisation (3 jours)
- Documentation complète
- Validation finale sur corpus complet
- Livrables

## Livrables Attendus

1. Dataset de test annoté (30+ documents)
2. Système d'évaluation automatique
3. Détecteurs améliorés (regex + contextuel + hybride)
4. Suite de tests de régression
5. Rapports de qualité (HTML + JSON)
6. Documentation (guides + API)
7. Métriques baseline et finales

## Démarrage Rapide

### Prérequis

```bash
# Installer les dépendances
pip install pytest pytest-cov pydantic structlog jinja2 matplotlib

# Créer les répertoires
mkdir -p tests/ground_truth
mkdir -p reports/quality
```

### Étape 1 : Créer le Dataset Annoté

```bash
# Sélectionner 30 documents représentatifs
python tools/select_test_documents.py \
  --source "/home/dom/Téléchargements/II-1 Ctrl_T2A_2025_CHCB_DocJustificatifs (1)/" \
  --output tests/ground_truth/ \
  --count 30

# Annoter les documents
python tools/annotation_tool.py tests/ground_truth/
```

### Étape 2 : Mesurer la Baseline

```bash
# Évaluer le système actuel
python evaluation/quality_evaluator.py \
  --ground-truth tests/ground_truth/ \
  --output reports/baseline_report.html

# Benchmarker les performances
python evaluation/benchmark.py \
  --test-dir tests/ground_truth/ \
  --output reports/baseline_benchmark.json
```

### Étape 3 : Implémenter les Améliorations

Suivre les tâches dans `tasks.md` phase par phase.

### Étape 4 : Valider

```bash
# Tests de régression
pytest tests/regression/ --benchmark

# Validation sur corpus complet
python scripts/validate_full_corpus.py \
  --source "/home/dom/Téléchargements/II-1 Ctrl_T2A_2025_CHCB_DocJustificatifs (1)/" \
  --output reports/final_validation.html
```

## Ressources

- **Documentation** : `docs/`
- **Tests** : `tests/`
- **Configuration** : `config/quality_config.yml`
- **Rapports** : `reports/`

## Contact

Pour toute question sur cette spécification, consulter les documents détaillés :
- `requirements.md` pour les exigences
- `design.md` pour l'architecture
- `tasks.md` pour le plan d'implémentation

## Statut

- [x] Requirements définis
- [x] Design validé
- [x] Tasks planifiées
- [ ] Implémentation en cours
- [ ] Tests validés
- [ ] Documentation complète
- [ ] Livraison finale

---

**Version** : 1.0.0  
**Date de création** : 2024-01-15  
**Dernière mise à jour** : 2024-01-15
