fix: filtre DAS=DP + correction D55.9→D64.9 + enrichissement supplements CIM-10
- Filtre DAS identique au DP (violation règle PMSI) dans extracteur et fusion - Correction automatique D55.9 → D64.9 pour "Anémie" non qualifiée (70 cas) - 17 codes ajoutés aux supplements (K59.0, Z93.1, H92.0, A87.0, D64.9, etc.) - 436 tests OK (+14 nouveaux) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -155,6 +155,37 @@ class TestSourceFilesPopulated:
|
||||
assert result.source_files == ["a.pdf", "b.pdf"]
|
||||
|
||||
|
||||
class TestDasEqualDpRemoved:
|
||||
"""Vérifie que les DAS dont le code est identique au DP sont retirés après fusion."""
|
||||
|
||||
def test_das_same_code_as_dp_removed(self):
|
||||
d1 = DossierMedical(
|
||||
diagnostic_principal=Diagnostic(texte="HTA", cim10_suggestion="I10"),
|
||||
diagnostics_associes=[
|
||||
Diagnostic(texte="Hypertension artérielle", cim10_suggestion="I10"),
|
||||
Diagnostic(texte="Diabète", cim10_suggestion="E11.9"),
|
||||
],
|
||||
)
|
||||
d2 = DossierMedical(
|
||||
diagnostic_principal=Diagnostic(texte="HTA essentielle", cim10_suggestion="I10"),
|
||||
)
|
||||
result = merge_dossiers([d1, d2])
|
||||
das_codes = [d.cim10_suggestion for d in result.diagnostics_associes]
|
||||
assert "I10" not in das_codes, "DAS=DP doit être retiré"
|
||||
assert "E11.9" in das_codes
|
||||
|
||||
def test_das_different_code_kept(self):
|
||||
d1 = DossierMedical(
|
||||
diagnostic_principal=Diagnostic(texte="Cholécystite", cim10_suggestion="K81.0"),
|
||||
diagnostics_associes=[
|
||||
Diagnostic(texte="HTA", cim10_suggestion="I10"),
|
||||
],
|
||||
)
|
||||
result = merge_dossiers([d1])
|
||||
das_codes = [d.cim10_suggestion for d in result.diagnostics_associes]
|
||||
assert "I10" in das_codes
|
||||
|
||||
|
||||
class TestFullMergeCROTrackare:
|
||||
def test_full_merge_cro_trackare(self):
|
||||
"""Cas réel : fusion Trackare + CRO."""
|
||||
|
||||
Reference in New Issue
Block a user