feat: cache Ollama + parallélisation ThreadPool + filtrage DAS renforcé + modules GHM/CPAM/export RUM
- Cache persistant JSON thread-safe pour les résultats Ollama (invalidation par modèle) - Parallélisation des appels Ollama (ThreadPoolExecutor, 2 workers) - 6 nouvelles règles de filtrage DAS parasites (doublons, ponctuation, OCR, labo, fragments) - Client Ollama centralisé (mode JSON natif + retry) - Module GHM (estimation CMD/sévérité) - Module contrôle CPAM (parser + contre-argumentation RAG) - Export RUM (format RSS) - Viewer enrichi (détail dossier) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -90,7 +90,7 @@ class TestEnrichDossierSeverity:
|
||||
Diagnostic(texte="Fibrillation auriculaire", cim10_suggestion="I48.9"),
|
||||
Diagnostic(texte="Obésité", cim10_suggestion="E66.0"),
|
||||
]
|
||||
alertes = enrich_dossier_severity(dp, das)
|
||||
alertes, cma_count, cms_count = enrich_dossier_severity(dp, das)
|
||||
|
||||
# I48.9 = CMA probable
|
||||
assert das[0].est_cma is True
|
||||
@@ -101,9 +101,21 @@ class TestEnrichDossierSeverity:
|
||||
|
||||
# Au moins une alerte CMA
|
||||
assert any("CMA" in a for a in alertes)
|
||||
assert cma_count >= 1
|
||||
|
||||
def test_dp_severity_set(self):
|
||||
dp = Diagnostic(texte="Sepsis sévère", cim10_suggestion="A41.9")
|
||||
alertes = enrich_dossier_severity(dp, [])
|
||||
alertes, cma_count, cms_count = enrich_dossier_severity(dp, [])
|
||||
assert dp.niveau_severite == "severe"
|
||||
assert dp.est_cma is True
|
||||
|
||||
def test_cms_detection(self):
|
||||
"""CMS détecté quand CMA + sévérité severe."""
|
||||
dp = Diagnostic(texte="Pancréatite", cim10_suggestion="K85.1")
|
||||
das = [
|
||||
Diagnostic(texte="Sepsis sévère", cim10_suggestion="A41.9"),
|
||||
]
|
||||
alertes, cma_count, cms_count = enrich_dossier_severity(dp, das)
|
||||
assert das[0].est_cma is True
|
||||
assert das[0].est_cms is True
|
||||
assert cms_count == 1
|
||||
|
||||
Reference in New Issue
Block a user