chore: add .gitignore

This commit is contained in:
dom
2026-03-05 00:37:41 +01:00
parent 542797a124
commit 2578afb6ff
1716 changed files with 1905609 additions and 18 deletions

View File

@@ -0,0 +1,250 @@
{
"source_file": "104_23001083_CRO 23001083.pdf",
"document_type": "crh",
"sejour": {
"sexe": "M"
},
"diagnostic_principal": {
"texte": "Thromboembolie veineuse",
"cim10_suggestion": "I82",
"cim10_confidence": "high",
"cim10_final": "I82",
"sources_rag": [],
"preuves_cliniques": [],
"niveau_severite": "non_evalue",
"niveau_cma": 1,
"source": "nuke3"
},
"dp_selection": {
"chosen_index": 1,
"chosen_term": "Thromboembolie veineuse",
"chosen_code": "I82",
"confidence": "medium",
"verdict": "CONFIRMED",
"evidence": [
"Score 4.0 — source: llm_das",
"Delta +3.0 vs Chimiothérapie, (Z51.1)"
],
"reason": "Écart score 3.0 >= seuil 3.0",
"candidates": [
{
"index": 1,
"term": "Thromboembolie veineuse",
"code": "I82",
"confidence": "high",
"source": "llm_das",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 1,
"num_occurrences": 1,
"score": 4.0,
"score_details": {
"section": 1,
"confidence": 3
}
},
{
"index": 0,
"term": "Chimiothérapie,",
"code": "Z51.1",
"confidence": "high",
"source": "edsnlp",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": true,
"section_strength": 2,
"num_occurrences": 1,
"score": 1.0,
"score_details": {
"section": 2,
"confidence": 3,
"act_only_malus": -4
}
}
],
"debug_scores": {
"top1": 4.0,
"top2": 1.0,
"delta": 3.0
}
},
"dp_crh_only": {
"chosen_index": 1,
"chosen_term": "Thromboembolie veineuse",
"chosen_code": "I82",
"confidence": "medium",
"verdict": "CONFIRMED",
"evidence": [
"Score 4.0 — source: llm_das",
"Delta +3.0 vs Chimiothérapie, (Z51.1)"
],
"reason": "Écart score 3.0 >= seuil 3.0",
"candidates": [
{
"index": 1,
"term": "Thromboembolie veineuse",
"code": "I82",
"confidence": "high",
"source": "llm_das",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 1,
"num_occurrences": 1,
"score": 4.0,
"score_details": {
"section": 1,
"confidence": 3
}
},
{
"index": 0,
"term": "Chimiothérapie,",
"code": "Z51.1",
"confidence": "high",
"source": "edsnlp",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": true,
"section_strength": 2,
"num_occurrences": 1,
"score": 1.0,
"score_details": {
"section": 2,
"confidence": 3,
"act_only_malus": -4
}
}
],
"debug_scores": {
"top1": 4.0,
"top2": 1.0,
"delta": 3.0
}
},
"dp_final": {
"chosen_index": 1,
"chosen_term": "Thromboembolie veineuse",
"chosen_code": "I82",
"confidence": "medium",
"verdict": "CONFIRMED",
"evidence": [
"Score 4.0 — source: llm_das",
"Delta +3.0 vs Chimiothérapie, (Z51.1)"
],
"reason": "Écart score 3.0 >= seuil 3.0",
"candidates": [
{
"index": 1,
"term": "Thromboembolie veineuse",
"code": "I82",
"confidence": "high",
"source": "llm_das",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 1,
"num_occurrences": 1,
"score": 4.0,
"score_details": {
"section": 1,
"confidence": 3
}
},
{
"index": 0,
"term": "Chimiothérapie,",
"code": "Z51.1",
"confidence": "high",
"source": "edsnlp",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": true,
"section_strength": 2,
"num_occurrences": 1,
"score": 1.0,
"score_details": {
"section": 2,
"confidence": 3,
"act_only_malus": -4
}
}
],
"debug_scores": {
"top1": 4.0,
"top2": 1.0,
"delta": 3.0
}
},
"quality_flags": {
"crh_only_mode": true
},
"diagnostics_associes": [],
"actes_ccam": [],
"antecedents": [],
"traitements_sortie": [],
"biologie_cle": [],
"biologie_discarded": [],
"imagerie": [],
"complications": [],
"alertes_codage": [
"QC: DP I82 confiance medium→high — Le code I82 (Thromboembolie veineuse) nécessite une justification clinique précise. L'absence de preuves cliniques dans le dossier rend ce codage non justifié et doit être supprimé. Un code plus général pourrait être envisagé si une suspicion existe, mais sans preuve.",
"QC: Absence de justification clinique pour le code I82. Vérifier le dossier clinique pour identifier la raison de ce codage et justifier ou supprimer le code.",
"VETOS[PDF]: FAIL (score=40)",
"VETO-02 [HARD] diagnostic_principal: DP I82 sans preuve exploitable",
"VETO-12 [HARD] diagnostic_principal: DP I82 en high sans preuve"
],
"source_files": [],
"ghm_estimation": {
"cmd": "05",
"cmd_libelle": "Affections de l'appareil circulatoire",
"type_ghm": "M",
"severite": 1,
"ghm_approx": "05M??1",
"cma_count": 0,
"cms_count": 0,
"alertes": []
},
"controles_cpam": [],
"veto_report": {
"verdict": "FAIL",
"score_contestabilite": 40,
"issues": [
{
"veto": "VETO-02",
"severity": "HARD",
"where": "diagnostic_principal",
"message": "DP I82 sans preuve exploitable"
},
{
"veto": "VETO-12",
"severity": "HARD",
"where": "diagnostic_principal",
"message": "DP I82 en high sans preuve"
}
]
},
"processing_time_s": 34.31,
"metrics": {
"das_total": 0,
"das_active": 0,
"das_excluded": 0,
"das_removed": 0,
"das_ruled_out": 0,
"das_no_code": 0,
"actes_total": 0,
"actes_with_code": 0,
"dp_has_code": true
},
"rules_runtime": {
"router_version": 1,
"mode": "strict",
"enabled_packs": [
"decisions_core",
"vetos_core"
],
"always_on_rules": [],
"triggers_fired": []
}
}

View File

@@ -0,0 +1,502 @@
{
"source_file": "104_23001083_LETTRE DE SORTIE 23001083.pdf",
"document_type": "crh",
"sejour": {},
"diagnostic_principal": {
"texte": "Embolie pulmonaire",
"cim10_suggestion": "I26.9",
"cim10_confidence": "high",
"cim10_final": "I26.9",
"sources_rag": [],
"preuves_cliniques": [],
"est_cma": true,
"niveau_severite": "severe",
"niveau_cma": 3,
"source": "nuke3",
"source_page": 1,
"source_excerpt": "...es, nous avons réalisé un angioscanner pour s'assurer de l'absence de nouv\nthrombose et notamment d'embolie pulmonaire. Ce scanner s'est révélé parfaitement stable.\nSur le plan clinique, bonne récupération, il quitte l..."
},
"dp_selection": {
"chosen_index": 2,
"chosen_term": "Embolie pulmonaire",
"chosen_code": "I26.9",
"confidence": "high",
"verdict": "CONFIRMED",
"evidence": [
"L'embolie pulmonaire est un diagnostic précis et potentiellement grave.",
"Les autres options sont soit un symptôme (tachycardie), soit un motif moins spécifique (malaise)."
],
"reason": "L'embolie pulmonaire est le diagnostic le plus précis et justifie une prise en charge hospitalière.",
"candidates": [
{
"index": 1,
"term": "Embolie pulmonaire",
"code": "I26.9",
"confidence": "high",
"source": "regex",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 3,
"num_occurrences": 2,
"score": 7.0,
"score_details": {
"section": 3,
"confidence": 3,
"occurrences": 1
}
},
{
"index": 2,
"term": "Embolie pulmonaire",
"code": "I26.9",
"confidence": "high",
"source": "edsnlp",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 2,
"num_occurrences": 2,
"score": 6.0,
"score_details": {
"section": 2,
"confidence": 3,
"occurrences": 1
}
},
{
"index": 0,
"term": "Malaise",
"code": "F41.00",
"confidence": "medium",
"source": "edsnlp",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 2,
"num_occurrences": 1,
"score": 3.0,
"score_details": {
"section": 2,
"confidence": 1
}
},
{
"index": 3,
"term": "Tachycardie",
"code": "R00.0",
"confidence": "high",
"source": "llm_das",
"is_comorbidity_like": false,
"is_symptom_like": true,
"is_act_only": false,
"section_strength": 1,
"num_occurrences": 1,
"score": 2.0,
"score_details": {
"section": 1,
"confidence": 3,
"symptom_malus": -2
}
}
],
"debug_scores": {
"top1": 7.0,
"top2": 6.0,
"delta": 1.0,
"llm": true
}
},
"dp_crh_only": {
"chosen_index": 2,
"chosen_term": "Embolie pulmonaire",
"chosen_code": "I26.9",
"confidence": "high",
"verdict": "CONFIRMED",
"evidence": [
"L'embolie pulmonaire est un diagnostic précis et potentiellement grave.",
"Les autres options sont soit un symptôme (tachycardie), soit un motif moins spécifique (malaise)."
],
"reason": "L'embolie pulmonaire est le diagnostic le plus précis et justifie une prise en charge hospitalière.",
"candidates": [
{
"index": 1,
"term": "Embolie pulmonaire",
"code": "I26.9",
"confidence": "high",
"source": "regex",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 3,
"num_occurrences": 2,
"score": 7.0,
"score_details": {
"section": 3,
"confidence": 3,
"occurrences": 1
}
},
{
"index": 2,
"term": "Embolie pulmonaire",
"code": "I26.9",
"confidence": "high",
"source": "edsnlp",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 2,
"num_occurrences": 2,
"score": 6.0,
"score_details": {
"section": 2,
"confidence": 3,
"occurrences": 1
}
},
{
"index": 0,
"term": "Malaise",
"code": "F41.00",
"confidence": "medium",
"source": "edsnlp",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 2,
"num_occurrences": 1,
"score": 3.0,
"score_details": {
"section": 2,
"confidence": 1
}
},
{
"index": 3,
"term": "Tachycardie",
"code": "R00.0",
"confidence": "high",
"source": "llm_das",
"is_comorbidity_like": false,
"is_symptom_like": true,
"is_act_only": false,
"section_strength": 1,
"num_occurrences": 1,
"score": 2.0,
"score_details": {
"section": 1,
"confidence": 3,
"symptom_malus": -2
}
}
],
"debug_scores": {
"top1": 7.0,
"top2": 6.0,
"delta": 1.0,
"llm": true
}
},
"dp_final": {
"chosen_index": 2,
"chosen_term": "Embolie pulmonaire",
"chosen_code": "I26.9",
"confidence": "high",
"verdict": "CONFIRMED",
"evidence": [
"L'embolie pulmonaire est un diagnostic précis et potentiellement grave.",
"Les autres options sont soit un symptôme (tachycardie), soit un motif moins spécifique (malaise)."
],
"reason": "L'embolie pulmonaire est le diagnostic le plus précis et justifie une prise en charge hospitalière.",
"candidates": [
{
"index": 1,
"term": "Embolie pulmonaire",
"code": "I26.9",
"confidence": "high",
"source": "regex",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 3,
"num_occurrences": 2,
"score": 7.0,
"score_details": {
"section": 3,
"confidence": 3,
"occurrences": 1
}
},
{
"index": 2,
"term": "Embolie pulmonaire",
"code": "I26.9",
"confidence": "high",
"source": "edsnlp",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 2,
"num_occurrences": 2,
"score": 6.0,
"score_details": {
"section": 2,
"confidence": 3,
"occurrences": 1
}
},
{
"index": 0,
"term": "Malaise",
"code": "F41.00",
"confidence": "medium",
"source": "edsnlp",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 2,
"num_occurrences": 1,
"score": 3.0,
"score_details": {
"section": 2,
"confidence": 1
}
},
{
"index": 3,
"term": "Tachycardie",
"code": "R00.0",
"confidence": "high",
"source": "llm_das",
"is_comorbidity_like": false,
"is_symptom_like": true,
"is_act_only": false,
"section_strength": 1,
"num_occurrences": 1,
"score": 2.0,
"score_details": {
"section": 1,
"confidence": 3,
"symptom_malus": -2
}
}
],
"debug_scores": {
"top1": 7.0,
"top2": 6.0,
"delta": 1.0,
"llm": true
}
},
"quality_flags": {
"crh_only_mode": true
},
"diagnostics_associes": [
{
"texte": "Tachycardie",
"cim10_suggestion": "R00.0",
"cim10_confidence": "medium",
"cim10_final": "R00.0",
"justification": "Tachycardie non précisée, correspondant à la description clinique et justifiée en tant que DAS dans le contexte clinique du patient.",
"raisonnement": "ANALYSE CLINIQUE :\nLa tachycardie est une accélération du rythme cardiaque au-delà des valeurs normales. Dans ce contexte, elle est identifiée comme un diagnostic associé significatif, suggérant qu'elle a contribué à la complexité de la prise en charge du patient.\n\nCODES CANDIDATS :\nR00.0, I47.2, R00.2, R00, R93.1, R94.3, O68.0, I47.1\n\nDISCRIMINATION :\nR00.0 (Tachycardie, sans précision) est le code le plus approprié car il correspond à la description clinique initiale. Les codes I47.1 et I47.2 sont trop spécifiques (supraventriculaire et ventriculaire) et ne sont pas précisés dans le diagnostic. R00.2 (Palpitations) est un symptôme et non un diagnostic. Les codes R93.1 et R94.3 concernent des résultats d'examens et non la tachycardie elle-même. O68.0 concerne la tachycardie fœtale et n'est pas applicable. Les codes I11.0 et I13.0 sont des cardiopathies et ne correspondent pas au diagnostic initial.\n\nREGLE PMSI :\nEn tant que DAS, le code doit refléter une morbidité associée qui a mobilisé des ressources supplémentaires pendant le séjour. La tachycardie, en présence d'autres comorbidités (hypertension, obésité, insuffisance rénale, hyperglycémie), justifie sa classification comme DAS.",
"sources_rag": [
{
"document": "cim10",
"page": 715,
"code": "R00.0",
"extrait": "R00.0 Tachycardie, sans précision\nRythme cardiaque rapide\nTachycardie :\n•sinoauriculaire SAI\n•sinusale SAI"
},
{
"document": "cim10",
"page": 413,
"code": "I47.2",
"extrait": "I47.2 Tachycardie ventriculaire"
},
{
"document": "cim10",
"page": 715,
"code": "R00.2",
"extrait": "R00.2 Palpitations\nPerception des battements cardiaques"
},
{
"document": "cim10",
"page": 68,
"code": "R00",
"extrait": "R00 Anomalies du rythme cardiaque"
},
{
"document": "cim10",
"page": 741,
"code": "R93.1",
"extrait": "R93.1 Résultats anormaux d'imagerie diagnostique du cœur et de la circulation coronaire\nÉchocardiogramme anormal SAI\nImage cardiaque anormale"
},
{
"document": "cim10",
"page": 742,
"code": "R94.3",
"extrait": "R94.3 Résultats anormaux d'explorations fonctionnelles cardiovasculaires\nAnomalies (de) :\n•électrocardiogramme [ECG]\n•épreuves électrophysiologiques intracardiaques\n•phonocardiogramme\n•vectocardiogram"
},
{
"document": "cim10",
"page": 628,
"code": "O68.0",
"extrait": "O68.0 Travail et accouchement compliqués d'une anomalie du rythme cardiaque du fœtus\nBradycardie\nIrrégularité du rythme cardiaque fœtale\nTachycardie\nÀ l'exclusion de :présence de méconium dans le liqu"
},
{
"document": "cim10",
"page": 400,
"code": "I11.0",
"extrait": "I11.0 Cardiopathie hypertensive, avec insuffisance cardiaque (congestive)\nInsuffisance cardiaque hypertensive"
},
{
"document": "cim10",
"page": 413,
"code": "I47.1",
"extrait": "I47.1 Tachycardie supraventriculaire\nTachycardie (paroxystique) :\n•atriale\n•auriculoventriculaire [AV]\n•SAI\n•par réentrée (intranodale) [TRIN]\n•jonctionnelle\n•nodale"
},
{
"document": "cim10",
"page": 400,
"code": "I13.0",
"extrait": "I13.0 Cardionéphropathie hypertensive, avec insuffisance cardiaque (congestive)"
}
],
"preuves_cliniques": [
{
"type": "clinique",
"element": "Diagnostic de tachycardie mentionné dans le dossier.",
"interpretation": "Confirmation du diagnostic."
},
{
"type": "biologie",
"element": "Glycémie élevée",
"interpretation": "L'hyperglycémie peut contribuer à la tachycardie."
},
{
"type": "biologie",
"element": "Leucocytes élevés",
"interpretation": "Peut indiquer une inflammation sous-jacente contribuant à la tachycardie."
},
{
"type": "clinique",
"element": "Obésité (IMC 33.462)",
"interpretation": "L'obésité est un facteur de risque de tachycardie."
}
],
"niveau_severite": "non_evalue",
"niveau_cma": 1,
"source": "llm_das",
"source_page": 1,
"source_excerpt": "...bonnes condit\ntechniques.\nSuites opératoires simples.\nA noter un malaise la deuxième nuit, avec une tachycardie.\nDu fait de ses antécédents thrombotiques, nous avons réalisé un angioscanner pour s'assurer de l'a..."
}
],
"actes_ccam": [
{
"texte": "TDM abdominal",
"code_ccam_suggestion": "ZCQK002",
"ccam_confidence": "low",
"justification": "Aucun code CCAM n'est disponible dans les sources fournies pour coder un TDM abdominal. Il est nécessaire d'avoir accès à l'intégralité de la nomenclature CCAM pour identifier le code approprié.",
"raisonnement": "ANALYSE ACTE :\nL'acte décrit est un examen d'imagerie médicale de l'abdomen, plus précisément une tomodensitométrie (TDM).\n\nCODES CANDIDATS :\nAucun code CCAM fourni ne correspond directement à un TDM abdominal. Les codes fournis concernent des échographies abdominales ou des actes de chirurgie esthétique abdominale.\n\nDISCRIMINATION :\nAucun code CCAM n'est approprié car l'acte est une TDM et non une échographie. Les codes d'échographie ne peuvent pas être utilisés pour coder un TDM.",
"sources_rag": [
{
"document": "ccam",
"code": "ZCQM011",
"extrait": "ZCQM011 Échographie transcutanée de l'étage supérieur de l'abdomen et du petit bassin [pelvis] avec échographie-doppler des vaisseaux digestifs\nRegroupement: ADE\nTarif S1: 75.6€"
},
{
"document": "ccam",
"code": "ZCQM002",
"extrait": "ZCQM002 Échographie transcutanée de l'abdomen, avec échographie transcutanée du petit bassin [pelvis] et échographie-doppler des vaisseaux digestifs\nRegroupement: ADE\nTarif S1: 75.6€"
},
{
"document": "ccam",
"code": "QBFA013",
"extrait": "QBFA013 Dermolipectomie abdominale sans transposition de l'ombilic, avec lipoaspiration de l'abdomen\nRegroupement: ADC"
},
{
"document": "ccam",
"code": "ZCQM010",
"extrait": "ZCQM010 Échographie transcutanée de l'étage supérieur de l'abdomen et du petit bassin [pelvis]\nRegroupement: ADE\nTarif S1: 75.6€"
},
{
"document": "ccam",
"code": "ZCQM005",
"extrait": "ZCQM005 Échographie transcutanée de l'abdomen, avec échographie transcutanée du petit bassin [pelvis]\nRegroupement: ADE\nTarif S1: 75.6€"
},
{
"document": "cim10",
"page": 741,
"code": "R93.5",
"extrait": "R93.5 Résultats anormaux d'imagerie diagnostique d'autres parties de l'abdomen, y\ncompris l'espace rétropéritonéal"
},
{
"document": "ccam",
"code": "ZCQM001",
"extrait": "ZCQM001 Échographie transcutanée de l'abdomen, avec échographie-doppler des vaisseaux digestifs\nRegroupement: ADE\nTarif S1: 54.02€"
},
{
"document": "ccam",
"code": "QBFA011",
"extrait": "QBFA011 Dermolipectomie abdominale sans transposition de l'ombilic\nRegroupement: ADC"
}
],
"validite": "valide",
"alertes": []
}
],
"antecedents": [],
"traitements_sortie": [],
"biologie_cle": [],
"biologie_discarded": [],
"imagerie": [],
"complications": [],
"alertes_codage": [
"2 CMA probables détectées — impact potentiel sur le niveau de sévérité GHM",
"CMA niveau 3 : 'Embolie pulmonaire' (I26.9) — sévérité severe, marqueurs : aigu",
"CMA niveau 3 : 'Embolie pulmonaire' (I26.9) — sévérité severe, marqueurs : aigu",
"QC: DAS R00.0 confiance high→medium — La tachycardie est justifiée par le diagnostic mentionné dans le dossier et les éléments associés (glycémie et leucocytes élevés). Cependant, il serait préférable d'avoir une description plus précise de la tachycardie (ex: sinus tachycardie, tachycardie ventriculaire) si disponible dans le dossier. Le code R00.0 est un code général, et un code plus spécifique serait préférable si l'information est disponible.",
"QC: L'absence de détails cliniques dans le dossier rend la validation difficile. Un dossier clinique plus complet est nécessaire pour une codification précise et justifiée.",
"QC: Le code I26.9 (Embolie pulmonaire) est un code très grave et nécessite une preuve clinique solide. Son absence de justification est une erreur majeure.",
"QC: Il est recommandé de rechercher des codes plus spécifiques pour la tachycardie si le dossier clinique le permet."
],
"source_files": [],
"ghm_estimation": {
"cmd": "05",
"cmd_libelle": "Affections de l'appareil circulatoire",
"type_ghm": "K",
"severite": 1,
"ghm_approx": "05K??1",
"cma_count": 0,
"cms_count": 0,
"alertes": []
},
"controles_cpam": [],
"veto_report": {
"verdict": "PASS",
"score_contestabilite": 100,
"issues": []
},
"processing_time_s": 44.49,
"metrics": {
"das_total": 1,
"das_active": 1,
"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": []
}
}

File diff suppressed because it is too large Load Diff