Files
t2a_v2/output/structured/149_23089771/149_23089771_fusionne_cim10.json
dom 13fe9fa666 chore: mise à jour output pipeline (anonymized + structured)
Résultats de re-traitement pipeline v2 sur 261 dossiers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 23:14:42 +01:00

491 lines
19 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"source_file": "",
"document_type": "trackare",
"sejour": {
"sexe": "M",
"age": 70,
"date_entree": "24/05/2023",
"imc": 23.323,
"poids": 69.0,
"taille": 172.0
},
"diagnostic_principal": {
"texte": "Dissection aortique",
"cim10_suggestion": "I71.0",
"cim10_confidence": "high",
"cim10_final": "I71.0",
"cim10_decision": {
"action": "PROMOTE_DP",
"final_code": "I71.0",
"reason": "DAS promu en DP (score (2, 3, 4))",
"needs_info": [],
"applied_rules": [
"RULE-DAS-TO-DP"
]
},
"justification": "Diagnostic découvert fortuitement lors du bilan préopératoire et ayant motivé l'hospitalisation. C'est un diagnostic significatif qui a nécessité une prise en charge et un suivi pendant le séjour, distinct de l'indication chirurgicale principale (tumeur rénale).",
"sources_rag": [],
"preuves_cliniques": [],
"source": "llm_das",
"source_page": 1,
"source_excerpt": "...oire Clinique :\n- Patient de 70 ans, chez qui a été découvert de façon fortuite lors du bilan dune dissection aortique, une volu\nde 85 mm du pôle inférieur du rein gauche.\n- Fonction rénale normale avec une créatinémie..."
},
"dp_selection": {
"chosen_index": 0,
"chosen_term": "Dissection aortique",
"chosen_code": "I71.0",
"verdict": "CONFIRMED",
"evidence": [
"Score 1.0 — source: llm_das"
],
"reason": "Candidat unique",
"candidates": [
{
"index": 0,
"term": "Dissection aortique",
"code": "I71.0",
"source": "llm_das",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 1,
"num_occurrences": 1,
"score": 1.0,
"score_details": {
"section": 1,
"confidence": 0
}
}
],
"debug_scores": {
"top1": 1.0
}
},
"dp_trackare": {
"chosen_index": 0,
"chosen_term": "Dissection aortique",
"chosen_code": "I71.0",
"verdict": "CONFIRMED",
"evidence": [
"Score 1.0 — source: llm_das"
],
"reason": "Candidat unique",
"candidates": [
{
"index": 0,
"term": "Dissection aortique",
"code": "I71.0",
"source": "llm_das",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 1,
"num_occurrences": 1,
"score": 1.0,
"score_details": {
"section": 1,
"confidence": 0
}
}
],
"debug_scores": {
"top1": 1.0
}
},
"dp_final": {
"chosen_index": 0,
"chosen_term": "Dissection aortique",
"chosen_code": "I71.0",
"verdict": "CONFIRMED",
"evidence": [
"Score 1.0 — source: llm_das"
],
"reason": "Candidat unique",
"candidates": [
{
"index": 0,
"term": "Dissection aortique",
"code": "I71.0",
"source": "llm_das",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 1,
"num_occurrences": 1,
"score": 1.0,
"score_details": {
"section": 1,
"confidence": 0
}
}
],
"debug_scores": {
"top1": 1.0
}
},
"quality_flags": {
"trackare_only_mode": true
},
"diagnostics_associes": [
{
"texte": "Insuffisance rénale",
"cim10_suggestion": "N19",
"cim10_confidence": "low",
"cim10_final": "N19",
"sources_rag": [],
"preuves_cliniques": [],
"niveau_severite": "non_evalue",
"niveau_cma": 1,
"source": "regex",
"source_page": 14,
"source_excerpt": "...14:59\nRésultats de laboratoire\n26/05/2023 07:25\nRésultat de labo\n(5963367)\nNon-applicable en cas\nd'insuffisance rénale\naigue. Estimation du\nDFG non validée dans\nles situations suivantes:\n- patients âgés &gt; 75\nComment..."
},
{
"texte": "Hyperkaliémie",
"cim10_suggestion": "E87.5",
"cim10_confidence": "medium",
"cim10_final": "E87.5",
"justification": "Potassium 5.2 [N: 3.5-5] : valeur élevée documentée, déséquilibre électrolytique significatif en contexte d'insuffisance rénale ayant nécessité une prise en charge",
"sources_rag": [],
"preuves_cliniques": [],
"est_cma": true,
"niveau_severite": "non_evalue",
"niveau_cma": 2,
"source": "llm_das"
},
{
"texte": "Hématome",
"cim10_suggestion": "T79.2",
"cim10_confidence": "low",
"cim10_final": "T79.2",
"justification": "Hématome mentionné explicitement dans les complications du séjour, ayant potentiellement nécessité une prise en charge spécifique",
"sources_rag": [],
"preuves_cliniques": [],
"niveau_severite": "modere",
"niveau_cma": 1,
"source": "llm_das",
"source_page": 3,
"source_excerpt": "...Absence\nNotes paramédicales\nType de note Nom Date Note\nPLAIES + agrafes: propre, non inflammatoire, hématome sous-cutanée stable\nréfection pst 27/05/23\nREPRISE MICTIONNELLE persistante: urines claires\nStephan..."
},
{
"texte": "Hyponatrémie",
"cim10_suggestion": "E87.1",
"cim10_confidence": "medium",
"cim10_final": "E87.1",
"cim10_decision": {
"action": "PROMOTE_DP",
"final_code": "E87.1",
"reason": "DAS promu en DP (score (2, 2, 4))",
"needs_info": [],
"applied_rules": [
"RULE-DAS-TO-DP"
]
},
"justification": "Sodium 134 [N: 135-145] : valeur basse documentée, représente un déséquilibre électrolytique significatif ayant mobilisé des ressources de surveillance et de correction pendant le séjour",
"sources_rag": [],
"preuves_cliniques": [],
"source": "llm_das"
}
],
"actes_ccam": [
{
"texte": "TDM abdominal",
"code_ccam_suggestion": "ZCQK002",
"sources_rag": [],
"validite": "valide",
"alertes": []
}
],
"antecedents": [],
"traitements_sortie": [],
"biologie_cle": [
{
"test": "Sodium",
"valeur": "134",
"valeur_num": 134.0,
"anomalie": true,
"quality": "ok",
"source_page": 15,
"source_excerpt": "...2 mmol/l\nLeucocytes 7,19 10.9/l\nHématies 4,50 10.12/l (t/l)\nVGM 84,9 fl\nTCMH 28,4 pg\nCCMH 33,5 g/dl\nSodium 134 mmol/l\nOsmolarité sang 273 mOSM/l\nPlaquettes 191 10.9/l\nValidation et diffusion sous la\nDr Rémi..."
},
{
"test": "Potassium",
"valeur": "5.2",
"valeur_num": 5.2,
"anomalie": true,
"quality": "ok",
"source_page": 15,
"source_excerpt": "...mate\nFormule sanguine\nXN (Sysmex)\nHématocrite (%) 38,2 %\nIndice de distribution des\n15,1 %\nhématies\nPotassium 5,2 mmol/l\nLeucocytes 7,19 10.9/l\nHématies 4,50 10.12/l (t/l)\nVGM 84,9 fl\nTCMH 28,4 pg\nCCMH 33,5 g/..."
},
{
"test": "Chlore",
"valeur": "100",
"valeur_num": 100.0,
"quality": "ok",
"source_page": 15,
"source_excerpt": "...:23 Page 14 de 15\n\npatients d'origine non\ncaucasienne\nEstimation du DFG (CKD-\n56 ml/mn/1.73 m2\nEPI)\nChlore 100 mmol/l\nCréatinine 115 µmol/l\nCompte-rendu laboratoire Labo230526093320-1.pdf\nPolynucléaires neu..."
},
{
"test": "Hémoglobine",
"valeur": "12.8",
"valeur_num": 12.8,
"anomalie": false,
"quality": "ok",
"source_page": 15,
"source_excerpt": "...13,6 %\nLymphocytes (#) 0,98 10.9/l\nMonocytes (%) 7,1 %\nMonocytes (#) 0,51 10.9/l\nGlucose 5,3 mmol/l\nHémoglobine 12,8 g/dl\nréalisée sur automate\nFormule sanguine\nXN (Sysmex)\nHématocrite (%) 38,2 %\nIndice de distr..."
},
{
"test": "VGM",
"valeur": "84.9",
"valeur_num": 84.9,
"quality": "ok",
"source_page": 15,
"source_excerpt": "...ibution des\n15,1 %\nhématies\nPotassium 5,2 mmol/l\nLeucocytes 7,19 10.9/l\nHématies 4,50 10.12/l (t/l)\nVGM 84,9 fl\nTCMH 28,4 pg\nCCMH 33,5 g/dl\nSodium 134 mmol/l\nOsmolarité sang 273 mOSM/l\nPlaquettes 191 10...."
},
{
"test": "Plaquettes",
"valeur": "191",
"valeur_num": 191.0,
"anomalie": false,
"quality": "ok",
"source_page": 15,
"source_excerpt": "...10.12/l (t/l)\nVGM 84,9 fl\nTCMH 28,4 pg\nCCMH 33,5 g/dl\nSodium 134 mmol/l\nOsmolarité sang 273 mOSM/l\nPlaquettes 191 10.9/l\nValidation et diffusion sous la\nDr Rémi SEGUES\nresponsabilité du biologiste\nUrée 6,2 mmo..."
},
{
"test": "Leucocytes",
"valeur": "7.19",
"valeur_num": 7.19,
"anomalie": false,
"quality": "ok",
"source_page": 15,
"source_excerpt": "...XN (Sysmex)\nHématocrite (%) 38,2 %\nIndice de distribution des\n15,1 %\nhématies\nPotassium 5,2 mmol/l\nLeucocytes 7,19 10.9/l\nHématies 4,50 10.12/l (t/l)\nVGM 84,9 fl\nTCMH 28,4 pg\nCCMH 33,5 g/dl\nSodium 134 mmol/l\nO..."
},
{
"test": "Créatinine",
"valeur": "115",
"valeur_num": 115.0,
"anomalie": false,
"quality": "ok",
"source_page": 15,
"source_excerpt": "...patients d'origine non\ncaucasienne\nEstimation du DFG (CKD-\n56 ml/mn/1.73 m2\nEPI)\nChlore 100 mmol/l\nCréatinine 115 µmol/l\nCompte-rendu laboratoire Labo230526093320-1.pdf\nPolynucléaires neutrophiles\n77,6 %\n(%)\nP..."
},
{
"test": "Glycémie",
"valeur": "5.3",
"valeur_num": 5.3,
"anomalie": false,
"quality": "ok"
}
],
"biologie_discarded": [],
"imagerie": [],
"complications": [
{
"texte": "Infection",
"source_page": 6,
"source_excerpt": ".... Lydia\nSigné - Matin [8h] Normal\nALIMENTAIRE / DESSERT 17:00 liquides H+2 KARAM\net solides H\n+6\nDESINFECTION\n1 Semaine - Matin 26/05/2023 Patricia\nENVIRONNEMENT Signé\n[8h] Normal 08:08 LADEVESE\nPATIENT\n1 Sema..."
},
{
"texte": "Hématome",
"source_page": 3,
"source_excerpt": "...Absence\nNotes paramédicales\nType de note Nom Date Note\nPLAIES + agrafes: propre, non inflammatoire, hématome sous-cutanée stable\nréfection pst 27/05/23\nREPRISE MICTIONNELLE persistante: urines claires\nStephan..."
}
],
"alertes_codage": [
"FUSION: 2 documents fusionnés",
"QUALITE DEGRADEE : erreur RAG — codage sans référentiels",
"CMA niveau 2 : 'Dissection aortique' (I71.0) — sévérité non_evalue",
"QC: DAS I71.0 (Dissection aortique) à reconsidérer — ABSENCE TOTALE DE PREUVE CLINIQUE. La justification indique 'Preuves: aucune'. Un diagnostic de dissection aortique (pathologie grave) ne peut être codé sans documentation clinique explicite (imagerie, symptomatologie, rapports d'examen). La mention 'découvert fortuitement' sans preuve documentée est insuffisante pour justifier le codage. De plus, la justification est incomplète ('ayant motivé l'hospitalisation. C'est un diagnostic significatif qui a nécessité une [texte coupé]').",
"QC: ⚠️ CODAGE INCOMPLET ET NON JUSTIFIÉ : Aucune preuve clinique fournie pour I71.0",
"QC: ⚠️ DOSSIER INCOMPLET : La justification du code est tronquée et inachevée",
"QC: ⚠️ RISQUE DE CODAGE ABUSIF : Coder une dissection aortique sans documentation clinique constitue une erreur majeure de qualité PMSI",
"QC: ⚠️ MANQUE D'INFORMATION : Aucun diagnostic principal (DP) n'est fourni - le codage semble fragmentaire",
"QC: ✓ RECOMMANDATION : Demander au clinicien la documentation complète (imagerie, compte-rendu d'examen) avant validation, ou supprimer ce code si non confirmé",
"RULE-DAS-TO-DP: DP absent → DAS I71.0 (Dissection aortique) promu en DP",
"DECISIONS[PDF]: 1 ligne(s)",
"2 CMA probables détectées — impact potentiel sur le niveau de sévérité GHM",
"CMA niveau 2 : 'Hyponatrémie' (E87.1) — sévérité non_evalue",
"CMA niveau 2 : 'Hyperkaliémie' (E87.5) — sévérité non_evalue",
"QC: ⚠️ ABSENCE SYSTÉMATIQUE DE PREUVES : Aucun code ne dispose de preuve documentée (diagnostic médecin, actes, prescriptions). Les justifications reposent uniquement sur des valeurs biologiques sans lien établi à une prise en charge.",
"QC: ⚠️ INSUFFISANCE RÉNALE (N19) : Créatinine borderline (115) sans diagnostic clinique formel. Risque de surcodage. Vérifier si diagnostic d'IR établi par le clinicien.",
"QC: ⚠️ HÉMATOME (T79.2) : Code traumatologique utilisé sans contexte traumatique. Localisation MANQUANTE (cérébral ? abdominal ? sous-cutané ?). Impossible de coder correctement sans précision.",
"QC: ⚠️ COHÉRENCE GLOBALE : Les déséquilibres électrolytiques (Na, K) sont cohérents avec une insuffisance rénale, mais cette dernière n'est pas formellement établie. Risque de chaîne de codage non justifiée.",
"QC: ⚠️ COMPLICATIONS DÉCLARÉES vs CODÉES : 2 complications mentionnées (Infection, Hématome). Seul l'hématome est codé. L'INFECTION est ABSENTE du codage → À ajouter (probablement A41.x ou R50.9 selon type).",
"QC: ✓ RECOMMANDATION : Demander au clinicien : (1) Diagnostic formel d'IR ? (2) Localisation et étiologie de l'hématome ? (3) Type et site d'infection ? (4) Preuves de prise en charge (prescriptions, actes) pour chaque code.",
"RULE-DAS-TO-DP: DP absent → DAS E87.1 (Hyponatrémie) promu en DP",
"Aucun DP extrait (ni Trackare ni CRH)",
"DECISIONS[FINAL]: 2 ligne(s)",
"DECISION: diagnostic_principal I71.0 promu en DP (RULE-DAS-TO-DP)",
"DECISION: diagnostics_associes[3] E87.1 promu en DP (RULE-DAS-TO-DP)",
"VETOS[FINAL]: FAIL (score=40)",
"VETO-02 [MEDIUM] diagnostics_associes[1]: DAS E87.5 sans preuve exploitable",
"VETO-02 [MEDIUM] diagnostics_associes[3]: DAS E87.1 sans preuve exploitable",
"VETO-02 [HARD] actes_ccam[0]: Acte ZCQK002 sans preuve exploitable"
],
"source_files": [
"CRO 23089771.pdf",
"trackare--23089771__23089771.pdf"
],
"ghm_estimation": {
"cmd": "05",
"cmd_libelle": "Affections de l'appareil circulatoire",
"type_ghm": "K",
"severite": 2,
"ghm_approx": "05K??2",
"cma_count": 1,
"cms_count": 0,
"alertes": []
},
"controles_cpam": [],
"veto_report": {
"verdict": "FAIL",
"score_contestabilite": 40,
"issues": [
{
"veto": "VETO-02",
"severity": "MEDIUM",
"where": "diagnostics_associes[1]",
"message": "DAS E87.5 sans preuve exploitable",
"citation": "Principe de preuve : tout diagnostic/acte doit être étayé par une trace dans le dossier médical (Guide Méthodologique MCO)"
},
{
"veto": "VETO-02",
"severity": "MEDIUM",
"where": "diagnostics_associes[3]",
"message": "DAS E87.1 sans preuve exploitable",
"citation": "Principe de preuve : tout diagnostic/acte doit être étayé par une trace dans le dossier médical (Guide Méthodologique MCO)"
},
{
"veto": "VETO-02",
"severity": "HARD",
"where": "actes_ccam[0]",
"message": "Acte ZCQK002 sans preuve exploitable",
"citation": "Principe de preuve : tout diagnostic/acte doit être étayé par une trace dans le dossier médical (Guide Méthodologique MCO)"
}
]
},
"completude": {
"checks": [
{
"code": "N19",
"libelle": "Insuffisance rénale",
"type_diag": "DAS",
"items": [
{
"categorie": "biologie",
"element": "Créatinine",
"statut": "present_non_confirme",
"valeur": "115",
"importance": "obligatoire",
"impact_cpam": "Créatinine obligatoire pour confirmer une insuffisance rénale",
"confirmation_detail": "Créatinine ≤ 120 µmol/L : IR non confirmée biologiquement"
},
{
"categorie": "biologie",
"element": "DFG",
"statut": "absent",
"importance": "recommande",
"impact_cpam": "Permet de stadifier l'IR selon KDIGO"
},
{
"categorie": "biologie",
"element": "Urée",
"statut": "absent",
"importance": "recommande",
"impact_cpam": "Élément complémentaire de la fonction rénale"
}
],
"score": 17,
"verdict": "fragile",
"resume": "1/1 obligatoires, 0/2 recommandés"
},
{
"code": "E87.5",
"libelle": "Hyperkaliémie",
"type_diag": "DAS",
"items": [
{
"categorie": "biologie",
"element": "Sodium",
"statut": "present_confirme",
"valeur": "134",
"importance": "obligatoire",
"impact_cpam": "Ionogramme obligatoire pour justifier un trouble électrolytique",
"confirmation_detail": "Sodium < 135 mmol/L confirme l'hyponatrémie"
},
{
"categorie": "biologie",
"element": "Potassium",
"statut": "present_confirme",
"valeur": "5.2",
"importance": "obligatoire",
"impact_cpam": "Ionogramme obligatoire pour justifier un trouble électrolytique",
"confirmation_detail": "Potassium hors norme : trouble confirmé"
}
],
"score": 100,
"verdict": "defendable",
"resume": "2/2 obligatoires (2 confirmés)"
},
{
"code": "E87.1",
"libelle": "Hyponatrémie",
"type_diag": "DAS",
"items": [
{
"categorie": "biologie",
"element": "Sodium",
"statut": "present_confirme",
"valeur": "134",
"importance": "obligatoire",
"impact_cpam": "Ionogramme obligatoire pour justifier un trouble électrolytique",
"confirmation_detail": "Sodium < 135 mmol/L confirme l'hyponatrémie"
},
{
"categorie": "biologie",
"element": "Potassium",
"statut": "present_confirme",
"valeur": "5.2",
"importance": "obligatoire",
"impact_cpam": "Ionogramme obligatoire pour justifier un trouble électrolytique",
"confirmation_detail": "Potassium hors norme : trouble confirmé"
}
],
"score": 100,
"verdict": "defendable",
"resume": "2/2 obligatoires (2 confirmés)"
}
],
"score_global": 72,
"verdict_global": "fragile",
"documents_presents": [
"cro",
"trackare"
],
"documents_manquants": []
},
"metrics": {
"das_total": 4,
"das_active": 4,
"das_excluded": 0,
"das_removed": 0,
"das_ruled_out": 0,
"das_no_code": 0,
"actes_total": 1,
"actes_with_code": 1,
"dp_has_code": true
},
"rules_runtime": {
"router_version": 1,
"mode": "strict",
"enabled_packs": [
"bio_electrolytes",
"decisions_core",
"vetos_core"
],
"always_on_rules": [],
"triggers_fired": [
"TRG-ELECTROLYTES"
]
}
}