Résultats de re-traitement pipeline v2 sur 261 dossiers. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
470 lines
18 KiB
JSON
470 lines
18 KiB
JSON
{
|
|
"source_file": "trackare-00274739-23001083_00274739_23001083.pdf",
|
|
"document_type": "trackare",
|
|
"sejour": {
|
|
"sexe": "M",
|
|
"age": 52,
|
|
"date_entree": "20/03/2023",
|
|
"date_sortie": "23/03/2023",
|
|
"duree_sejour": 3,
|
|
"imc": 30.639,
|
|
"poids": 106.0,
|
|
"taille": 186.0
|
|
},
|
|
"diagnostic_principal": {
|
|
"texte": "Fibrillation auriculaire",
|
|
"cim10_suggestion": "I48.9",
|
|
"cim10_confidence": "high",
|
|
"cim10_final": "I48.9",
|
|
"cim10_decision": {
|
|
"action": "PROMOTE_DP",
|
|
"final_code": "I48.9",
|
|
"reason": "DAS promu en DP (score (2, 3, 4))",
|
|
"needs_info": [],
|
|
"applied_rules": [
|
|
"RULE-DAS-TO-DP"
|
|
]
|
|
},
|
|
"sources_rag": [],
|
|
"preuves_cliniques": [],
|
|
"source": "regex"
|
|
},
|
|
"dp_final": {
|
|
"verdict": "REVIEW",
|
|
"evidence": [],
|
|
"reason": "Aucun DP disponible",
|
|
"candidates": []
|
|
},
|
|
"quality_flags": {
|
|
"rag_status": "error",
|
|
"no_dp_source": true
|
|
},
|
|
"diagnostics_associes": [
|
|
{
|
|
"texte": "Embolie pulmonaire",
|
|
"cim10_suggestion": "I26.9",
|
|
"cim10_confidence": "high",
|
|
"cim10_final": "I26.9",
|
|
"sources_rag": [],
|
|
"preuves_cliniques": [],
|
|
"est_cma": true,
|
|
"est_cms": true,
|
|
"niveau_severite": "severe",
|
|
"niveau_cma": 3,
|
|
"source": "regex",
|
|
"source_page": 16,
|
|
"source_excerpt": "...e après trois mois de traitement anticoagulant.\nJ2 d'une néphrectomie partielle gauche, recherche d'embolie pulmonaire devant dyspnée avec douleurs thoraciques dans un\ncontexte d'arrêt des anticoagulants. Aux étages ab..."
|
|
},
|
|
{
|
|
"texte": "Insuffisance rénale",
|
|
"cim10_suggestion": "N19",
|
|
"cim10_confidence": "high",
|
|
"cim10_final": "N19",
|
|
"sources_rag": [],
|
|
"preuves_cliniques": [],
|
|
"niveau_severite": "non_evalue",
|
|
"niveau_cma": 1,
|
|
"source": "regex",
|
|
"source_page": 17,
|
|
"source_excerpt": ".../2023 04:45 22/03/2023 04:34\nRésultat de labo\n(5913285) (5913279) (5913275)\nNon-applicable en cas\nd'insuffisance rénale\naigue. Estimation du\nDFG non validée dans\nles situations suivantes:\n- patients âgés > 75\nans - p..."
|
|
},
|
|
{
|
|
"texte": "Tabagisme",
|
|
"cim10_suggestion": "F17.2",
|
|
"cim10_confidence": "high",
|
|
"cim10_final": "F17.2",
|
|
"sources_rag": [],
|
|
"preuves_cliniques": [],
|
|
"niveau_severite": "non_evalue",
|
|
"niveau_cma": 1,
|
|
"source": "regex"
|
|
},
|
|
{
|
|
"texte": "Obésité (IMC 30.639)",
|
|
"cim10_suggestion": "E66.0",
|
|
"cim10_confidence": "high",
|
|
"cim10_final": "E66.0",
|
|
"sources_rag": [],
|
|
"preuves_cliniques": [],
|
|
"niveau_severite": "non_evalue",
|
|
"niveau_cma": 1,
|
|
"source": "regex"
|
|
},
|
|
{
|
|
"texte": "Thrombocytopénie",
|
|
"cim10_suggestion": "D69.6",
|
|
"cim10_confidence": "medium",
|
|
"cim10_final": "D69.6",
|
|
"justification": "Plaquettes 140 [N: 150-400] - valeur anormalement basse mobilisant une surveillance et une prise en charge spécifique pendant le séjour",
|
|
"sources_rag": [],
|
|
"preuves_cliniques": [],
|
|
"niveau_severite": "non_evalue",
|
|
"niveau_cma": 1,
|
|
"source": "llm_das"
|
|
},
|
|
{
|
|
"texte": "Inflammation/Infection - CRP élevée",
|
|
"cim10_suggestion": "R50.9",
|
|
"cim10_confidence": "medium",
|
|
"cim10_final": "R50.9",
|
|
"justification": "CRP 72 [N: 0-5] - marqueur inflammatoire significativement élevé justifiant une investigation et un traitement spécifique pendant le séjour",
|
|
"sources_rag": [],
|
|
"preuves_cliniques": [],
|
|
"niveau_severite": "non_evalue",
|
|
"niveau_cma": 1,
|
|
"source": "llm_das"
|
|
},
|
|
{
|
|
"texte": "Hématome",
|
|
"cim10_suggestion": "T79.2",
|
|
"cim10_confidence": "high",
|
|
"cim10_final": "T79.2",
|
|
"justification": "Complication explicitement mentionnée dans le contexte clinique, ayant mobilisé des ressources pendant le séjour",
|
|
"sources_rag": [],
|
|
"preuves_cliniques": [],
|
|
"niveau_severite": "modere",
|
|
"niveau_cma": 1,
|
|
"source": "llm_das",
|
|
"source_page": 4,
|
|
"source_excerpt": "...eur: patient endormi en début de nuit\nEN à 5/10 au réveil au niveau d'une plaie chir, présence d'un hématome\n23/03/2023\nNote IDE Mathis MAZNI cutané: plaie colle => ras\n01:43\nPLAIES COLLE propres, non inflamm..."
|
|
}
|
|
],
|
|
"actes_ccam": [
|
|
{
|
|
"texte": "TDM abdominal",
|
|
"code_ccam_suggestion": "ZCQK002",
|
|
"sources_rag": [],
|
|
"validite": "valide",
|
|
"alertes": []
|
|
}
|
|
],
|
|
"antecedents": [],
|
|
"traitements_sortie": [],
|
|
"biologie_cle": [
|
|
{
|
|
"test": "CRP",
|
|
"valeur": "72",
|
|
"valeur_num": 72.0,
|
|
"anomalie": true,
|
|
"quality": "ok",
|
|
"source_page": 17,
|
|
"source_excerpt": "...cardiologique\nEstimation du DFG (CKD-\n91 ml/mn/1.73 m2\nEPI)\nChlore 103 mmol/l\nCréatinine 85 µmol/l\nCRP 72 mg/l\nCompte-rendu laboratoire Labo230322062823-1.pdfLabo230322083711-1.pdfLabo230322094343-1.pdf..."
|
|
},
|
|
{
|
|
"test": "Sodium",
|
|
"valeur": "135",
|
|
"valeur_num": 135.0,
|
|
"anomalie": false,
|
|
"quality": "ok",
|
|
"source_page": 18,
|
|
"source_excerpt": "...ormité :\nTCMH 29,3 pg Prélèvement coagulé\nNon conformité :\nCCMH 33,6 g/dl Prélèvement coagulé g/\ndl\nSodium 135 mmol/l\nRefus (analyse(s)\nDécision non conformité 1\nannulée(s))\nMotif de non conformité 1 Prélèv..."
|
|
},
|
|
{
|
|
"test": "Potassium",
|
|
"valeur": "5",
|
|
"valeur_num": 5.0,
|
|
"anomalie": false,
|
|
"quality": "ok",
|
|
"source_page": 18,
|
|
"source_excerpt": "...%\nhématies Prélèvement coagulé %\nVerification sur lame des Absence d'amas\nplaquettes plaquettaires.\nPotassium 4,0 mmol/l\nNon conformité :\nLeucocytes 9,30 10.9/l Prélèvement coagulé\n10.9/l\nNon conformité :\nHéma..."
|
|
},
|
|
{
|
|
"test": "Potassium",
|
|
"valeur": "4.0",
|
|
"valeur_num": 4.0,
|
|
"anomalie": false,
|
|
"quality": "ok",
|
|
"source_page": 18,
|
|
"source_excerpt": "...%\nhématies Prélèvement coagulé %\nVerification sur lame des Absence d'amas\nplaquettes plaquettaires.\nPotassium 4,0 mmol/l\nNon conformité :\nLeucocytes 9,30 10.9/l Prélèvement coagulé\n10.9/l\nNon conformité :\nHéma..."
|
|
},
|
|
{
|
|
"test": "Chlore",
|
|
"valeur": "103",
|
|
"valeur_num": 103.0,
|
|
"quality": "ok",
|
|
"source_page": 17,
|
|
"source_excerpt": "...vis les autres cas : avis\ncardiologique cardiologique\nEstimation du DFG (CKD-\n91 ml/mn/1.73 m2\nEPI)\nChlore 103 mmol/l\nCréatinine 85 µmol/l\nCRP 72 mg/l\nCompte-rendu laboratoire Labo230322062823-1.pdfLabo2303..."
|
|
},
|
|
{
|
|
"test": "Hémoglobine",
|
|
"valeur": "13.7",
|
|
"valeur_num": 13.7,
|
|
"anomalie": false,
|
|
"quality": "ok",
|
|
"source_page": 18,
|
|
"source_excerpt": "...9/l\nNon conformité :\nHématies 4,68 10.12/l (t/l) Prélèvement coagulé\n10.12/l (t/l)\nNon conformité :\nHémoglobine 13,7 g/dl Prélèvement coagulé g/\ndl\nNon conformité :\nVGM 87,2 fl\nPrélèvement coagulé fl\nNon conform..."
|
|
},
|
|
{
|
|
"test": "VGM",
|
|
"valeur": "87.2",
|
|
"valeur_num": 87.2,
|
|
"quality": "ok",
|
|
"source_page": 18,
|
|
"source_excerpt": "...ulé\n10.12/l (t/l)\nNon conformité :\nHémoglobine 13,7 g/dl Prélèvement coagulé g/\ndl\nNon conformité :\nVGM 87,2 fl\nPrélèvement coagulé fl\nNon conformité :\nTCMH 29,3 pg Prélèvement coagulé\nNon conformité :\nC..."
|
|
},
|
|
{
|
|
"test": "Plaquettes",
|
|
"valeur": "140",
|
|
"valeur_num": 140.0,
|
|
"anomalie": true,
|
|
"quality": "ok",
|
|
"source_page": 18,
|
|
"source_excerpt": "...écision non conformité 1\nannulée(s))\nMotif de non conformité 1 Prélèvement coagulé\nNon conformité :\nPlaquettes 140 10.9/l Prélèvement coagulé\n10.9/l\nDr. Marie-Laure\nValidation et diffusion sous la Dr. Fanny MEN..."
|
|
},
|
|
{
|
|
"test": "Leucocytes",
|
|
"valeur": "9.30",
|
|
"valeur_num": 9.3,
|
|
"anomalie": false,
|
|
"quality": "ok",
|
|
"source_page": 18,
|
|
"source_excerpt": "...ication sur lame des Absence d'amas\nplaquettes plaquettaires.\nPotassium 4,0 mmol/l\nNon conformité :\nLeucocytes 9,30 10.9/l Prélèvement coagulé\n10.9/l\nNon conformité :\nHématies 4,68 10.12/l (t/l) Prélèvement coa..."
|
|
},
|
|
{
|
|
"test": "Créatinine",
|
|
"valeur": "85",
|
|
"valeur_num": 85.0,
|
|
"anomalie": false,
|
|
"quality": "ok",
|
|
"source_page": 6,
|
|
"source_excerpt": "...2/03/2023\n22/03/2023 04:32 Ionogramme ( Na, K, CL ) Anaïs CARRAZÉ\n04:34\n22/03/2023\n22/03/2023 04:32 Créatinine sang ( dosage ) Anaïs CARRAZÉ\n04:34\nPatient: CAMY CAMY CLAUDE - Date de naissance: 21/06/1970 (0027..."
|
|
}
|
|
],
|
|
"biologie_discarded": [],
|
|
"imagerie": [],
|
|
"complications": [
|
|
{
|
|
"texte": "Hématome",
|
|
"source_page": 4,
|
|
"source_excerpt": "...eur: patient endormi en début de nuit\nEN à 5/10 au réveil au niveau d'une plaie chir, présence d'un hématome\n23/03/2023\nNote IDE Mathis MAZNI cutané: plaie colle => ras\n01:43\nPLAIES COLLE propres, non inflamm..."
|
|
}
|
|
],
|
|
"alertes_codage": [
|
|
"QUALITE DEGRADEE : erreur RAG — codage sans référentiels",
|
|
"2 CMA probables détectées — impact potentiel sur le niveau de sévérité GHM",
|
|
"CMA niveau 2 : 'Fibrillation auriculaire' (I48.9) — sévérité non_evalue",
|
|
"CMA niveau 3 : 'Embolie pulmonaire' (I26.9) — sévérité severe, marqueurs : aigu",
|
|
"QC: DAS I48.9 (Fibrillation auriculaire) à reconsidérer — Aucune preuve clinique. Pas de mention d'arythmie, d'ECG anormal, ou de symptômes cardiologiques. Codage injustifié.",
|
|
"QC: DAS I26.9 (Embolie pulmonaire) à reconsidérer — Aucune preuve clinique. Pas de dyspnée, pas de douleur thoracique, pas d'imagerie (angioscanner). Codage sans fondement.",
|
|
"QC: DAS N19 (Insuffisance rénale) à reconsidérer — Créatinine 85 µmol/L est NORMALE [50-120]. Pas d'insuffisance rénale. Codage erroné basé sur une valeur normale.",
|
|
"QC: DAS F17.2 (Tabagisme) à reconsidérer — Aucune mention du tabagisme dans le dossier. Codage sans preuve documentée.",
|
|
"QC: ⚠️ ALERTE MAJEURE: 4 codes sans aucune preuve clinique (I48.9, I26.9, N19, F17.2) - risque de codage abusif et de sur-facturation",
|
|
"QC: ⚠️ Créatinine NORMALE: N19 est une erreur d'interprétation biologique",
|
|
"QC: ⚠️ Diagnostic principal manquant: aucun diagnostic principal (DP) identifié. Quel est le motif d'admission réel?",
|
|
"QC: ⚠️ CRP élevée sans diagnostic étiopathogénique: infection? inflammation? malignité? Nécessite clarification clinique",
|
|
"QC: ⚠️ Thrombocytopénie légère (140): pertinence clinique à confirmer - a-t-elle mobilisé des ressources?",
|
|
"QC: ⚠️ Hématome: contexte manquant (traumatique? iatrogène? localisation? prise en charge?)",
|
|
"QC: ⚠️ Risque de codage défensif/spéculatif: plusieurs codes semblent ajoutés sans justification clinique réelle",
|
|
"RULE-DAS-TO-DP: DP absent → DAS I48.9 (Fibrillation auriculaire) promu en DP",
|
|
"DECISIONS[PDF]: 1 ligne(s)",
|
|
"DECISION: diagnostic_principal I48.9 promu en DP (RULE-DAS-TO-DP)",
|
|
"VETOS[PDF]: FAIL (score=0)",
|
|
"VETO-02 [MEDIUM] diagnostics_associes[0]: DAS I48.9 sans preuve exploitable",
|
|
"VETO-02 [MEDIUM] diagnostics_associes[3]: DAS F17.2 sans preuve exploitable",
|
|
"VETO-02 [MEDIUM] diagnostics_associes[4]: DAS E66.0 sans preuve exploitable",
|
|
"VETO-02 [MEDIUM] diagnostics_associes[5]: DAS D69.6 sans preuve exploitable",
|
|
"VETO-02 [MEDIUM] diagnostics_associes[6]: DAS R50.9 sans preuve exploitable",
|
|
"VETO-02 [HARD] actes_ccam[0]: Acte ZCQK002 sans preuve exploitable",
|
|
"VETO-09 [LOW] diagnostics_associes[2]: IR N19 à confirmer (créat=85.0)",
|
|
"Aucun DP extrait (ni Trackare ni CRH)"
|
|
],
|
|
"source_files": [],
|
|
"ghm_estimation": {
|
|
"cmd": "05",
|
|
"cmd_libelle": "Affections de l'appareil circulatoire",
|
|
"type_ghm": "K",
|
|
"severite": 3,
|
|
"ghm_approx": "05K??3",
|
|
"cma_count": 1,
|
|
"cms_count": 1,
|
|
"alertes": []
|
|
},
|
|
"controles_cpam": [],
|
|
"veto_report": {
|
|
"verdict": "FAIL",
|
|
"score_contestabilite": 0,
|
|
"issues": [
|
|
{
|
|
"veto": "VETO-02",
|
|
"severity": "MEDIUM",
|
|
"where": "diagnostics_associes[0]",
|
|
"message": "DAS I48.9 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 F17.2 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[4]",
|
|
"message": "DAS E66.0 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[5]",
|
|
"message": "DAS D69.6 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[6]",
|
|
"message": "DAS R50.9 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)"
|
|
},
|
|
{
|
|
"veto": "VETO-09",
|
|
"severity": "LOW",
|
|
"where": "diagnostics_associes[2]",
|
|
"message": "IR N19 à confirmer (créat=85.0)"
|
|
}
|
|
]
|
|
},
|
|
"completude": {
|
|
"checks": [
|
|
{
|
|
"code": "I48.9",
|
|
"libelle": "Fibrillation auriculaire",
|
|
"type_diag": "DP",
|
|
"items": [
|
|
{
|
|
"categorie": "biologie",
|
|
"element": "ECG",
|
|
"statut": "absent",
|
|
"importance": "obligatoire",
|
|
"impact_cpam": "ECG obligatoire pour documenter une FA/flutter"
|
|
}
|
|
],
|
|
"score": 30,
|
|
"verdict": "indefendable",
|
|
"resume": "0/1 obligatoires"
|
|
},
|
|
{
|
|
"code": "I26.9",
|
|
"libelle": "Embolie pulmonaire",
|
|
"type_diag": "DAS",
|
|
"items": [
|
|
{
|
|
"categorie": "imagerie",
|
|
"element": "Angioscanner thoracique",
|
|
"statut": "absent",
|
|
"importance": "obligatoire",
|
|
"impact_cpam": "Imagerie indispensable pour confirmer une EP"
|
|
},
|
|
{
|
|
"categorie": "biologie",
|
|
"element": "D-dimères",
|
|
"statut": "absent",
|
|
"importance": "recommande",
|
|
"impact_cpam": "D-dimères utiles si négatifs pour exclure, non suffisants seuls"
|
|
}
|
|
],
|
|
"score": 0,
|
|
"verdict": "indefendable",
|
|
"resume": "0/1 obligatoires, 0/1 recommandés"
|
|
},
|
|
{
|
|
"code": "N19",
|
|
"libelle": "Insuffisance rénale",
|
|
"type_diag": "DAS",
|
|
"items": [
|
|
{
|
|
"categorie": "biologie",
|
|
"element": "Créatinine",
|
|
"statut": "present_non_confirme",
|
|
"valeur": "85",
|
|
"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": "E66.0",
|
|
"libelle": "Obésité (IMC 30.639)",
|
|
"type_diag": "DAS",
|
|
"items": [
|
|
{
|
|
"categorie": "clinique",
|
|
"element": "IMC",
|
|
"statut": "present_confirme",
|
|
"valeur": "30.639",
|
|
"importance": "obligatoire",
|
|
"impact_cpam": "IMC ≥ 30 indispensable pour coder une obésité",
|
|
"confirmation_detail": "IMC ≥ 30 confirme l'obésité"
|
|
},
|
|
{
|
|
"categorie": "clinique",
|
|
"element": "Poids",
|
|
"statut": "present",
|
|
"valeur": "106.0",
|
|
"importance": "obligatoire",
|
|
"impact_cpam": "Poids nécessaire pour calculer l'IMC"
|
|
}
|
|
],
|
|
"score": 100,
|
|
"verdict": "defendable",
|
|
"resume": "2/2 obligatoires (1 confirmé)"
|
|
}
|
|
],
|
|
"score_global": 36,
|
|
"verdict_global": "indefendable",
|
|
"documents_presents": [
|
|
"trackare"
|
|
],
|
|
"documents_manquants": []
|
|
},
|
|
"processing_time_s": 32.48,
|
|
"metrics": {
|
|
"das_total": 7,
|
|
"das_active": 7,
|
|
"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": [
|
|
"decisions_core",
|
|
"vetos_core"
|
|
],
|
|
"always_on_rules": [],
|
|
"triggers_fired": []
|
|
}
|
|
} |