feat: méthode TIM experte CPAM + moteur de règles étendu
CPAM — Méthode TIM (mémoire en défense) : - Réécriture CPAM_ARGUMENTATION avec raisonnement 5 passes TIM (contexte admin → motif réel → confrontation bio → hiérarchie → validation défensive) - _BIO_THRESHOLDS (19 entrées) + _build_bio_confrontation() pour confrontation biologie/diagnostic avec seuils chiffrés et verdicts - _format_response() dual format : nouveau TIM (moyens numérotés, tableau bio, codes non défendables, conclusion dispositive) + rétrocompat legacy - CPAM_ADVERSARIAL mis à jour pour vérifier honnêteté intellectuelle - Tests adaptés + 12 nouveaux tests (bio confrontation, format TIM) Moteur de règles : - Nouvelles règles YAML : demographic, diagnostic_conflicts, procedure_diagnosis, temporal, parcours - Bio extraction FAISS (synonymes vectoriels) - Veto engine enrichi (citations, Trackare skip, règles démographiques) - Decision engine : _apply_bio_rules_gen() + matchers analytiques Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -67,6 +67,24 @@ def dossier_complet() -> DossierMedical:
|
||||
)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def dossier_trackare_dp() -> DossierMedical:
|
||||
"""Dossier Trackare : DP pré-codé sans preuve RAG (source d'autorité)."""
|
||||
return DossierMedical(
|
||||
source_file="trackare-TEST.pdf",
|
||||
document_type="trackare",
|
||||
sejour=Sejour(sexe="F", age=72, duree_sejour=3),
|
||||
diagnostic_principal=Diagnostic(
|
||||
texte="Pancréatite aiguë biliaire",
|
||||
cim10_suggestion="K85.1",
|
||||
cim10_confidence="high",
|
||||
source="trackare",
|
||||
# Pas de source_excerpt, sources_rag, preuves_cliniques
|
||||
# → c'est normal pour un Trackare
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def controle_cpam() -> ControleCPAM:
|
||||
"""Contrôle CPAM de test avec codes contestés."""
|
||||
|
||||
Reference in New Issue
Block a user