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>
This commit is contained in:
dom
2026-03-07 23:14:42 +01:00
parent c73515ac89
commit 13fe9fa666
734 changed files with 157158 additions and 304963 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -2,351 +2,28 @@
"source_file": "LETTRE DE SORTIE 23074494.pdf",
"document_type": "crh",
"sejour": {},
"diagnostic_principal": {
"texte": "Fracture pertrochantérienne",
"cim10_suggestion": "S72.1",
"cim10_confidence": "high",
"cim10_final": "S72.1",
"justification": "Code le plus spécifique pour une fracture pertrochantérienne selon le CIM-10.",
"raisonnement": "ANALYSE CLINIQUE :\nUne fracture pertrochantérienne est une fracture de la région du trochanter du fémur, située juste en dessous du col du fémur. Elle est fréquente chez les personnes âgées et est souvent causée par une chute.\n\nCODES CANDIDATS :\nS72.1, S72.2, S72.3, S72.4\n\nDISCRIMINATION :\nS72.1 (Fracture du trochanter) est le code le plus spécifique car il correspond directement à la description 'pertrochantérienne'. S72.2 concerne la région soustrochantérienne, S72.3 la diaphyse fémorale et S72.4 l'extrémité inférieure du fémur, qui ne correspondent pas au diagnostic.\n\nREGLE PMSI :\nEn tant que DP, le code doit refléter la principale raison de l'hospitalisation. Une fracture pertrochantérienne nécessite généralement une intervention chirurgicale et est une cause fréquente d'hospitalisation chez les personnes âgées.",
"sources_rag": [
{
"document": "cim10",
"page": 777,
"code": "S72.1",
"extrait": "S72.1 Fracture du trochanter\nFracture :\n•intertrochantérienne\n•trochantérienne"
},
{
"document": "cim10",
"page": 777,
"code": "S72.2",
"extrait": "S72.2 Fracture soustrochantérienne"
},
{
"document": "cim10",
"page": 770,
"code": "S52.1",
"extrait": "S52.1 Fracture de l'extrémité supérieure du radius\nCol\nExtrémité proximale\nTête"
},
{
"document": "cim10",
"page": 774,
"code": "S62.1",
"extrait": "S62.1 Fracture d'autre(s) os du carpe\nGrand os\nOs crochu\nPisiforme\nPyramidal\nSemilunaire\nTrapèze\nTrapézoïde"
},
{
"document": "cim10",
"page": 767,
"code": "S42.2",
"extrait": "S42.2 Fracture de l'extrémité supérieure de l'humérus\nCol :\n•anatomique\n•chirurgical\nÉpiphyse supérieure\nTrochiter"
},
{
"document": "cim10",
"page": 777,
"code": "S72.3",
"extrait": "S72.3 Fracture de la diaphyse fémorale"
},
{
"document": "cim10",
"page": 777,
"code": "S72.4",
"extrait": "S72.4 Fracture de l'extrémité inférieure du fémur"
},
{
"document": "cim10",
"page": 780,
"code": "S82.6",
"extrait": "S82.6 Fracture de la malléole externe\nPéroné, impliquant :\n•cheville\n•malléole"
},
{
"document": "cim10",
"page": 763,
"code": "S32.4",
"extrait": "S32.4 Fracture de l'acétabulum"
},
{
"document": "cim10",
"page": 771,
"code": "S52.3",
"extrait": "S52.3 Fracture de la diaphyse du radius"
}
],
"preuves_cliniques": [
{
"type": "imagerie",
"element": "Radiographie de la hanche montrant une ligne de fracture au niveau du trochanter.",
"interpretation": "Confirme visuellement la présence d'une fracture pertrochantérienne."
},
{
"type": "clinique",
"element": "Douleur à la hanche et incapacité à marcher après une chute.",
"interpretation": "Symptômes cliniques typiques d'une fracture pertrochantérienne."
}
],
"niveau_severite": "non_evalue",
"niveau_cma": 1,
"source": "edsnlp",
"source_page": 1,
"source_excerpt": "...is en charge dans le service de chirurgie orthopédique, Madame Clementine ALVES, née le 30/03/1955,\nfracture pertrochantérienne du fémur droit.\nElle a bénéficié dune ostéosynthèse par clou gamma.\nLes suites sont simples.\nElle..."
},
"dp_selection": {
"chosen_index": 0,
"chosen_term": "Fracture pertrochantérienne",
"chosen_code": "S72.1",
"confidence": "high",
"verdict": "CONFIRMED",
"evidence": [
"Le contexte clinique est absent, mais la fracture pertrochantérienne est un motif de prise en charge plus probable qu'une prévention de thrombose veineuse profonde.",
"En l'absence d'informations supplémentaires, on privilégie le diagnostic le plus spécifique et potentiellement nécessitant une intervention."
],
"reason": "Fracture pertrochantérienne plus susceptible d'être le motif principal de prise en charge.",
"candidates": [
{
"index": 0,
"term": "Fracture pertrochantérienne",
"code": "S72.1",
"confidence": "high",
"source": "edsnlp",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 2,
"num_occurrences": 1,
"score": 5.0,
"score_details": {
"section": 2,
"confidence": 3
}
},
{
"index": 1,
"term": "Thrombose veineuse profonde, prévention",
"code": "I80.2",
"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
}
}
],
"debug_scores": {
"top1": 5.0,
"top2": 4.0,
"delta": 1.0,
"llm": true
}
"verdict": "REVIEW",
"evidence": [],
"reason": "Aucun candidat DP identifié",
"candidates": []
},
"dp_crh_only": {
"chosen_index": 0,
"chosen_term": "Fracture pertrochantérienne",
"chosen_code": "S72.1",
"confidence": "high",
"verdict": "CONFIRMED",
"evidence": [
"Le contexte clinique est absent, mais la fracture pertrochantérienne est un motif de prise en charge plus probable qu'une prévention de thrombose veineuse profonde.",
"En l'absence d'informations supplémentaires, on privilégie le diagnostic le plus spécifique et potentiellement nécessitant une intervention."
],
"reason": "Fracture pertrochantérienne plus susceptible d'être le motif principal de prise en charge.",
"candidates": [
{
"index": 0,
"term": "Fracture pertrochantérienne",
"code": "S72.1",
"confidence": "high",
"source": "edsnlp",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 2,
"num_occurrences": 1,
"score": 5.0,
"score_details": {
"section": 2,
"confidence": 3
}
},
{
"index": 1,
"term": "Thrombose veineuse profonde, prévention",
"code": "I80.2",
"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
}
}
],
"debug_scores": {
"top1": 5.0,
"top2": 4.0,
"delta": 1.0,
"llm": true
}
"verdict": "REVIEW",
"evidence": [],
"reason": "Aucun candidat DP identifié",
"candidates": []
},
"dp_final": {
"chosen_index": 0,
"chosen_term": "Fracture pertrochantérienne",
"chosen_code": "S72.1",
"confidence": "high",
"verdict": "CONFIRMED",
"evidence": [
"Le contexte clinique est absent, mais la fracture pertrochantérienne est un motif de prise en charge plus probable qu'une prévention de thrombose veineuse profonde.",
"En l'absence d'informations supplémentaires, on privilégie le diagnostic le plus spécifique et potentiellement nécessitant une intervention."
],
"reason": "Fracture pertrochantérienne plus susceptible d'être le motif principal de prise en charge.",
"candidates": [
{
"index": 0,
"term": "Fracture pertrochantérienne",
"code": "S72.1",
"confidence": "high",
"source": "edsnlp",
"is_comorbidity_like": false,
"is_symptom_like": false,
"is_act_only": false,
"section_strength": 2,
"num_occurrences": 1,
"score": 5.0,
"score_details": {
"section": 2,
"confidence": 3
}
},
{
"index": 1,
"term": "Thrombose veineuse profonde, prévention",
"code": "I80.2",
"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
}
}
],
"debug_scores": {
"top1": 5.0,
"top2": 4.0,
"delta": 1.0,
"llm": true
}
"verdict": "REVIEW",
"evidence": [],
"reason": "Aucun candidat DP identifié",
"candidates": []
},
"quality_flags": {
"crh_only_mode": true
},
"diagnostics_associes": [
{
"texte": "Thrombose veineuse profonde, prévention",
"cim10_suggestion": "I80.2",
"cim10_confidence": "medium",
"cim10_final": "I80.2",
"justification": "Code le plus spécifique pour une thrombose veineuse profonde non précisée, correspondant à la prévention de la TVP en contexte de fracture.",
"raisonnement": "ANALYSE CLINIQUE :\nLa thrombose veineuse profonde (TVP) est la formation d'un caillot sanguin dans une veine profonde, généralement dans les jambes. La 'prévention' indique que des mesures sont prises pour réduire le risque de développer une TVP, souvent en raison d'un risque accru lié à la fracture pertrochantérienne et à l'immobilisation post-opératoire.\n\nCODES CANDIDATS :\nI82.9, I80.2, O22.3, O87.1, O22.9\n\nDISCRIMINATION :\nI82.9 est trop général ('Thrombose (veineuse) SAI'). O22.3, O87.1 et O22.9 sont liés à la grossesse et ne sont pas pertinents ici. I80.2 ('Phlébite et thrombophlébite d'autres vaisseaux profonds des membres inférieurs') est le plus spécifique pour une TVP non précisée, et correspond à la situation de prévention sans localisation précise indiquée. Le code I89.9 a déjà été codé, il est donc inutile de le rajouter.\n\nREGLE PMSI :\nEn tant que DAS, le code doit refléter une morbidité significative ayant mobilisé des ressources supplémentaires pendant le séjour (prévention de la TVP avec des mesures telles que l'anticoagulation, les bas de contention, etc.).",
"sources_rag": [
{
"document": "cim10",
"page": 615,
"code": "O22.3",
"extrait": "O22.3 Phlébothrombose profonde au cours de la grossesse\nThrombose veineuse profonde, avant l'accouchement"
},
{
"document": "cim10",
"page": 426,
"code": "I82.2",
"extrait": "I82.2 Embolie et thrombose de la veine cave"
},
{
"document": "cim10",
"page": 426,
"code": "I82.9",
"extrait": "I82.9 Embolie et thrombose d'une veine non précisée\nEmbolie veineuse SAI\nThrombose (veineuse) SAI"
},
{
"document": "cim10",
"page": 635,
"code": "O87.1",
"extrait": "O87.1 Phlébothrombose profonde au cours de la puerpéralité\nThrombophlébite pelvienne\ndu postpartum\nThrombose veineuse profonde"
},
{
"document": "cim10",
"page": 615,
"code": "O22.9",
"extrait": "O22.9 Complication veineuse de la grossesse, sans précision\nPhlébite\nPhlébopathie gestationnelle SAI\nThrombose\nChapitre XV"
},
{
"document": "cim10",
"page": 51,
"code": "I81",
"extrait": "I81 Thrombose de la veine porte"
},
{
"document": "cim10",
"page": 425,
"code": "I80.2",
"extrait": "I80.2 Phlébite et thrombophlébite d'autres vaisseaux profonds des membres inférieurs\nThrombose veineuse profonde SAI"
},
{
"document": "cim10",
"page": 615,
"code": "O22.5",
"extrait": "O22.5 Thrombose veineuse cérébrale au cours de la grossesse\nThrombose du sinus veineux cérébral au cours de la grossesse"
},
{
"document": "cim10",
"page": 417,
"code": "I63.6",
"extrait": "I63.6 Infarctus cérébral dû à une thrombose veineuse cérébrale, non pyogène"
},
{
"document": "cim10",
"page": 426,
"code": "I82.3",
"extrait": "I82.3 Embolie et thrombose de la veine rénale"
}
],
"preuves_cliniques": [
{
"type": "traitement",
"element": "Prescription d'anticoagulants (ex: héparine de bas poids moléculaire)",
"interpretation": "Indique une prise en charge active de la prévention de la thrombose veineuse."
},
{
"type": "acte",
"element": "Pose de bas de contention",
"interpretation": "Mesure préventive physique pour réduire le risque de TVP."
},
{
"type": "clinique",
"element": "Fracture pertrochantérienne et immobilisation",
"interpretation": "Facteur de risque majeur de TVP nécessitant une prévention."
}
],
"est_cma": true,
"niveau_severite": "non_evalue",
"niveau_cma": 3,
"source": "llm_das"
}
],
"diagnostics_associes": [],
"actes_ccam": [],
"antecedents": [],
"traitements_sortie": [],
@@ -355,21 +32,17 @@
"imagerie": [],
"complications": [],
"alertes_codage": [
"CMA niveau 3 : 'Thrombose veineuse profonde, prévention' (I80.2) — sévérité non_evalue",
"QC: DAS I80.2 confiance high→medium — Le code I80.2 (Thrombose veineuse profonde, prévention) est problématique. La prévention de la TVP est une mesure standard après une fracture de la hanche, mais le code I80.2 implique une *présence* de TVP, même en prévention. Il faudrait utiliser un code de prévention plus approprié, comme **Z94.8** (Présence de dispositifs, implants et matériel d'externe, non précisé) en conjonction avec un code de risque de TVP (ex: Z95.1 - Risque accru de thrombose veineuse). Le code I80.2 est donc inapproprié dans ce contexte et doit être remplacé.",
"QC: Le code I80.2 est inapproprié et doit être remplacé par un code de prévention de la TVP plus précis (Z94.8 et Z95.1 par exemple).",
"QC: Vérifier la présence d'un code de risque de TVP (Z95.1) pour compléter le codage de la prévention."
"NUKE-3 REVIEW: DP ambigu — Aucun candidat DP identifié"
],
"source_files": [],
"ghm_estimation": {
"cmd": "21",
"cmd_libelle": "Traumatismes",
"type_ghm": "M",
"severite": 3,
"ghm_approx": "21M??3",
"cma_count": 1,
"severite": 1,
"cma_count": 0,
"cms_count": 0,
"alertes": []
"alertes": [
"DP absent — CMD non déterminable"
]
},
"controles_cpam": [],
"veto_report": {
@@ -377,17 +50,26 @@
"score_contestabilite": 100,
"issues": []
},
"processing_time_s": 83.36,
"completude": {
"checks": [],
"score_global": 100,
"verdict_global": "defendable",
"documents_presents": [
"crh"
],
"documents_manquants": []
},
"processing_time_s": 2.38,
"metrics": {
"das_total": 1,
"das_active": 1,
"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
"dp_has_code": false
},
"rules_runtime": {
"router_version": 1,