Files
t2a_v2/docs/GOLD_CRH_GUIDE.md
2026-03-05 00:37:41 +01:00

2.8 KiB

Gold Standard CRH — Guide d'annotation

Principe

Le gold CRH permet d'évaluer la qualité de la sélection DP (NUKE-3) sur des dossiers CRH réels. Chaque cas annoté définit le DP attendu avec des marges de tolérance DIM.

Règles d'annotation (DP)

  • DP = diagnostic qui motive l'essentiel de la prise en charge et la consommation de ressources
  • Si étiologie connue : coder l'étiologie, pas le symptôme (ex: I26.9, pas R06.0)
  • Si ambigu : remplir dp_expected + dp_acceptable_codes + dp_acceptable_family3
  • Si seul un symptôme est défendable : mettre allow_symptom_dp=true + expliquer dans notes
  • confidence : certain (1 seul DP possible), probable (fort mais alternatives), ambiguous (vraie ambiguïté)
  • evidence : 1-3 extraits courts (max 240 chars), section + texte

Schéma JSON

{
  "case_id": "106_23056475",
  "document_type": "crh",
  "dp_expected": {"code": "I26.9", "label": "Embolie pulmonaire"},
  "dp_acceptable_codes": ["I26.0"],
  "dp_acceptable_family3": ["I26"],
  "allow_symptom_dp": false,
  "confidence": "certain",
  "evidence": [{"section": "Conclusion", "excerpt": "EP confirmée au scanner"}],
  "notes": ""
}

Procédure en 10 étapes

  1. python tools/gold_crh_annotator.py --bootstrap --out data/gold_crh/gold_template.csv
  2. Ouvrir le CSV dans un tableur (LibreOffice, Excel)
  3. Filtrer les cas CRH (ignorer les trackare bypass)
  4. Pour chaque CRH : lire le JSON pipeline, vérifier le DP proposé
  5. Remplir dp_expected_code et dp_expected_label (code correct selon les règles DIM)
  6. Ajouter les alternatives dans dp_acceptable_codes (séparés par |)
  7. Ajouter les familles dans dp_acceptable_family3 (séparés par |)
  8. Remplir confidence, allow_symptom_dp, evidence et notes
  9. python tools/gold_crh_annotator.py --import-csv data/gold_crh/gold_template.csv
  10. python tools/gold_crh_annotator.py --check data/gold_crh/gold_crh.jsonl

Métriques d'évaluation

Métrique Description
exact_match_strict Code choisi == dp_expected.code
exact_match_tolerant_codes Code choisi dans dp_acceptable_codes
family3_match_tolerant Famille 3 chars du code dans dp_acceptable_family3
acceptable_match tolerant_codes OU family3_match
confirmed_accuracy_tolerant acceptable_match sur les CONFIRMED uniquement
symptom_not_allowed R* choisi alors que allow_symptom_dp=false

Fichiers

Fichier Rôle
data/gold_crh/gold_template.csv Template CSV pré-rempli
data/gold_crh/gold_crh.jsonl Gold validé (1 JSON/ligne)
data/gold_crh/gold_crh_index.json Index case_id → offset
src/eval/gold_models.py Modèles Pydantic + évaluation
tools/gold_crh_annotator.py CLI annotation
docs/NUKE3_GOLD_EVAL.csv Résultats évaluation