Index
flowchart TB
A[🇧🇪 Claims - Automated coverage computation] --> |components/be/internal/claim_management/steps| B(find_coverage_decision)
B --> |Related to the\ncare act data itself| C{Step 1:\nRejection checks\nfrom care act}
B --> |Related to the\nsource of the care act| D{Step 2:\nDecision from\nsource type}
B --> |Related to the\ncare act decision rule| E{Step 3:\nDecision from\nrule}
C --> C1(Care act is not prescribed) --> C11
C --> C2(Care in the future) --> C11
C --> C3(Care act is blacklisted) --> C11
C11((Reject decision with\nspecific error context\n❌))
D --> D1(Care act source\nis from hospitalization invoice)
D1 --> |Care act type is hospitalization| D11((Select hospitalization\ncoverage\n✅))
D1 --> |Else| D12((Reject decision with\nAssurCard context\n❌))
E --> E1[Get active decision rule:\na rule can be defined only for\na specific insurance profile]
E1 --> E11{Act type is a medical act} --> F
E1 --> E12{Act type is CNK:\npharmaceutical products} --> F
E1 --> E13{Act type is magistral prep\nor other} --> E131((Reject decision:\ntype not supported\n❌))
F(Check decision rule action type)
F --> F1{Action is: Reject} --> F11((Reject decision:\nusing rule\n❌))
F --> F2{Action is:\nRequire manual intervention} --> F21((Unknown decision:\nmanual intervention\n❓))
F --> F3{Action is: Accept} --> |This should be called 'Compute' for clarity| G
G(Auto compute decision) --> H(Fetch coverage\nfrom insurance profile)
H --> I(Check possible rejections)
I --> |Yes| I1(Zero coverage, or care type not in coverage,\nex: dental, pre/post) --> I11((Reject decision:\nmissing coverage\n❌))
I --> |Yes| I2(Care type is ambulatory\nbut severe illness or pre/post\nin available coverages) --> I21((Unknown decision:\nmanual intervention\n❓))
I --> |No| J(Check care type)
J --> |Dental| J1(Check dental coverage)
J1 --> |Not found| J11((Reject decision:\nno dental coverage\n❌))
J1 --> |Found| J12((Select dental coverage\ndecision\n✅))
J --> |Daily care| J2(Check daily care coverage)
J2 --> |Not found| J21((Reject decision:\nno daily care coverage\n❌))
J2 --> |Found| J22((Select daily care coverage\ndecision\n✅))
J --> |Pre/post +ambulatory or not| J3(Check pre/post coverage)
J3 --> J31(Find declaration category\nfor hospitalization)
J31 --> |NotFound| J311(Check care type)
J311 --> |Only pre/post| J3112((Reject decision:\nno hospitalization declaration\n❌))
J311 --> |Pre/Post+ambulatory| J2
J31 --> |Found| J312((Select pre/post coverage\ndecision\n✅))
J --> |Other| J4((Unknow decision:\ntype not supported\n❓))
Hold "Alt" / "Option" to enable pan & zoom
CoverageDecision ¶
Bases: AlanBaseEnum
The possible decisions of the Claim Engine about a given care act.
Note: this is partially duplicated from components.be.internal.models.enums.coverage_type.CoverageType but Python 3.7 doesn't support enum extension.
REJECT
class-attribute
instance-attribute
¶
REMINDER: Add covered decisions to the is_covered property below Add non-rejection decisions to WHITELISTED_NON_REJECTION_CONTEXT_PROPERTIES in test_rejection_reasons.py
RejectionReasons ¶
Bases: AlanBaseEnum
LIMIT_ALREADY_CONSUMED
class-attribute
instance-attribute
¶
MATERNITY_AID_WITHOUT_CHILDBIRTH_HOSPITALIZATION
class-attribute
instance-attribute
¶
MATERNITY_AID_WITHOUT_CHILDBIRTH_HOSPITALIZATION = (
"maternity_aid_without_childbirth_hospitalization"
)
NON_URGENT_TRANSPORTATION_OUTSIDE_SEVERE_ILLNESS_COVERAGE
class-attribute
instance-attribute
¶
NON_URGENT_TRANSPORTATION_OUTSIDE_SEVERE_ILLNESS_COVERAGE = "non_urgent_transportation_outside_severe_illness_coverage"