tests: CRH sections + DP diag bonus + case 74 regression + fusion propagation
- test_extraction: +21 tests (sections diag_sortie/diag_principal/synthese, variantes titres, terminaisons, faux positifs mid-sentence, biosynthèse) - test_dp_selector: +55 tests (flags, candidates, scoring, hardening DIM, bonus +4/+2, evidence excerpt, cas 74 D50→I25.1 corrigé) - test_fusion: +39 tests (propagation dp_selection evidence/reason/verdict, source 2e dossier, pas de crash si aucun DP) - fixtures: case_74_min.json + 3 fixtures DP existantes Aucun mock utilisé — données synthétiques uniquement. Le test cas 74 passe : I25.1 gagne sur D50 grâce au bonus diag_sortie +4. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
38
tests/resources/case_74_min.json
Normal file
38
tests/resources/case_74_min.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"description": "Cas 74 — D50 Anémie vs I25.1 SCA. Le patch diag_sortie doit faire gagner I25.1.",
|
||||
"dossier": {
|
||||
"document_type": "crh",
|
||||
"sejour": {"sexe": "M", "age": 68, "duree_sejour": 5},
|
||||
"diagnostic_principal": {
|
||||
"texte": "Anémie",
|
||||
"cim10_suggestion": "D50",
|
||||
"cim10_confidence": "medium",
|
||||
"source": "regex"
|
||||
},
|
||||
"diagnostics_associes": [
|
||||
{
|
||||
"texte": "Stent vasculaire",
|
||||
"cim10_suggestion": "Z95.5",
|
||||
"cim10_confidence": "high",
|
||||
"source": "edsnlp"
|
||||
},
|
||||
{
|
||||
"texte": "SCA (Syndrome Coronarien Aigu)",
|
||||
"cim10_suggestion": "I25.1",
|
||||
"cim10_confidence": "high",
|
||||
"source": "llm_das"
|
||||
}
|
||||
]
|
||||
},
|
||||
"synthese_nuke1": {
|
||||
"motif": "Douleur thoracique",
|
||||
"conclusion": "Anémie ferriprive sur syndrome coronarien aigu traité par angioplastie.",
|
||||
"diag_sortie": "SCA ST+ antérieur traité par angioplastie coronaire — I25.1",
|
||||
"diag_principal": "",
|
||||
"synthese": ""
|
||||
},
|
||||
"expected": {
|
||||
"chosen_code": "I25.1",
|
||||
"verdict": "CONFIRMED"
|
||||
}
|
||||
}
|
||||
36
tests/resources/dp_acute_vs_comorbidity.json
Normal file
36
tests/resources/dp_acute_vs_comorbidity.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"description": "Aigu > comorbidité : embolie pulmonaire vs HTA + diabète",
|
||||
"dossier": {
|
||||
"document_type": "crh",
|
||||
"sejour": {"sexe": "F", "age": 72, "duree_sejour": 8},
|
||||
"diagnostic_principal": null,
|
||||
"diagnostics_associes": [
|
||||
{
|
||||
"texte": "Hypertension artérielle",
|
||||
"cim10_suggestion": "I10",
|
||||
"cim10_confidence": "high",
|
||||
"source": "edsnlp"
|
||||
},
|
||||
{
|
||||
"texte": "Diabète de type 2",
|
||||
"cim10_suggestion": "E11.9",
|
||||
"cim10_confidence": "high",
|
||||
"source": "edsnlp"
|
||||
},
|
||||
{
|
||||
"texte": "Embolie pulmonaire",
|
||||
"cim10_suggestion": "I26.9",
|
||||
"cim10_confidence": "high",
|
||||
"source": "regex"
|
||||
}
|
||||
]
|
||||
},
|
||||
"synthese_nuke1": {
|
||||
"motif": "Dyspnée aiguë avec douleur thoracique",
|
||||
"conclusion": "Embolie pulmonaire confirmée à l'angioscanner"
|
||||
},
|
||||
"expected": {
|
||||
"chosen_code": "I26.9",
|
||||
"verdict": "CONFIRMED"
|
||||
}
|
||||
}
|
||||
29
tests/resources/dp_ambiguous.json
Normal file
29
tests/resources/dp_ambiguous.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"description": "Ambigu : deux pathologies aigues de score similaire → REVIEW",
|
||||
"dossier": {
|
||||
"document_type": "crh",
|
||||
"sejour": {"sexe": "M", "age": 55, "duree_sejour": 6},
|
||||
"diagnostic_principal": null,
|
||||
"diagnostics_associes": [
|
||||
{
|
||||
"texte": "Pneumopathie infectieuse",
|
||||
"cim10_suggestion": "J18.9",
|
||||
"cim10_confidence": "high",
|
||||
"source": "llm_das"
|
||||
},
|
||||
{
|
||||
"texte": "Insuffisance cardiaque décompensée",
|
||||
"cim10_suggestion": "I50.1",
|
||||
"cim10_confidence": "high",
|
||||
"source": "llm_das"
|
||||
}
|
||||
]
|
||||
},
|
||||
"synthese_nuke1": {
|
||||
"motif": "Dyspnée fébrile",
|
||||
"conclusion": "Décompensation cardiaque sur pneumopathie infectieuse"
|
||||
},
|
||||
"expected": {
|
||||
"verdict": "REVIEW"
|
||||
}
|
||||
}
|
||||
30
tests/resources/dp_etiology_vs_symptom.json
Normal file
30
tests/resources/dp_etiology_vs_symptom.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"description": "Étiologie > symptôme : pancréatite aiguë vs douleur abdominale",
|
||||
"dossier": {
|
||||
"document_type": "crh",
|
||||
"sejour": {"sexe": "M", "age": 65, "duree_sejour": 5},
|
||||
"diagnostic_principal": null,
|
||||
"diagnostics_associes": [
|
||||
{
|
||||
"texte": "Douleur abdominale",
|
||||
"cim10_suggestion": "R10.4",
|
||||
"cim10_confidence": "medium",
|
||||
"source": "edsnlp"
|
||||
},
|
||||
{
|
||||
"texte": "Pancréatite aiguë biliaire",
|
||||
"cim10_suggestion": "K85.1",
|
||||
"cim10_confidence": "high",
|
||||
"source": "llm_das"
|
||||
}
|
||||
]
|
||||
},
|
||||
"synthese_nuke1": {
|
||||
"motif": "Urgence abdominale",
|
||||
"conclusion": "Pancréatite aiguë biliaire confirmée au scanner"
|
||||
},
|
||||
"expected": {
|
||||
"chosen_code": "K85.1",
|
||||
"verdict": "CONFIRMED"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user