feat(assessments): layered clinical assessment engine end-to-end
Deploy Ladill Care / deploy (push) Successful in 1m26s

Add a template-driven assessment system with universal intake, clinical
pathways, disease instruments (stroke MVP + extended, diabetes, and ten
specialty packs), scoring, patient outcome trends, REST/API + FHIR
export, and Enterprise org-level assessment analytics. Seed packs and
design/licensing docs ship for deploy and pre-GA review.
This commit is contained in:
isaacclad
2026-07-16 22:58:09 +00:00
parent 8896088425
commit 2ce4bc8993
94 changed files with 13430 additions and 56 deletions
+192
View File
@@ -0,0 +1,192 @@
{
"template": {
"code": "barthel",
"name": "Barthel Index",
"category": "disease",
"version": 1,
"is_current": true,
"is_active": true,
"scoring_strategy": "sum_items",
"description": "Barthel Index of Activities of Daily Living (0100). Optional on stroke pathway activation.",
"meta": {
"capture_roles": ["doctor", "nurse"],
"specialty": "neurology",
"estimated_minutes": 5,
"pathway_codes": ["stroke"],
"max_total": 100,
"attribution": "Barthel Index — standard ADL scale for clinical use. Verify licensing for commercial redistribution."
}
},
"questions": [
{
"code": "feeding",
"section": "ADL",
"label": "Feeding",
"answer_type": "score_item",
"is_required": true,
"sort_order": 10,
"score_key": "adl",
"options": {
"max": 10,
"choices": [
{ "code": "0", "label": "Unable", "score": 0 },
{ "code": "5", "label": "Needs help cutting, spreading butter, etc., or requires modified diet", "score": 5 },
{ "code": "10", "label": "Independent", "score": 10 }
]
}
},
{
"code": "bathing",
"section": "ADL",
"label": "Bathing",
"answer_type": "score_item",
"is_required": true,
"sort_order": 20,
"score_key": "adl",
"options": {
"max": 5,
"choices": [
{ "code": "0", "label": "Dependent", "score": 0 },
{ "code": "5", "label": "Independent (or in shower)", "score": 5 }
]
}
},
{
"code": "grooming",
"section": "ADL",
"label": "Grooming",
"answer_type": "score_item",
"is_required": true,
"sort_order": 30,
"score_key": "adl",
"options": {
"max": 5,
"choices": [
{ "code": "0", "label": "Needs help with personal care", "score": 0 },
{ "code": "5", "label": "Independent face/hair/teeth/shaving", "score": 5 }
]
}
},
{
"code": "dressing",
"section": "ADL",
"label": "Dressing",
"answer_type": "score_item",
"is_required": true,
"sort_order": 40,
"score_key": "adl",
"options": {
"max": 10,
"choices": [
{ "code": "0", "label": "Dependent", "score": 0 },
{ "code": "5", "label": "Needs help but can do about half unaided", "score": 5 },
{ "code": "10", "label": "Independent (including buttons, zips, laces, etc.)", "score": 10 }
]
}
},
{
"code": "bowels",
"section": "ADL",
"label": "Bowels",
"answer_type": "score_item",
"is_required": true,
"sort_order": 50,
"score_key": "adl",
"options": {
"max": 10,
"choices": [
{ "code": "0", "label": "Incontinent (or needs to be given enemas)", "score": 0 },
{ "code": "5", "label": "Occasional accident", "score": 5 },
{ "code": "10", "label": "Continent", "score": 10 }
]
}
},
{
"code": "bladder",
"section": "ADL",
"label": "Bladder",
"answer_type": "score_item",
"is_required": true,
"sort_order": 60,
"score_key": "adl",
"options": {
"max": 10,
"choices": [
{ "code": "0", "label": "Incontinent, or catheterized and unable to manage alone", "score": 0 },
{ "code": "5", "label": "Occasional accident", "score": 5 },
{ "code": "10", "label": "Continent", "score": 10 }
]
}
},
{
"code": "toilet",
"section": "ADL",
"label": "Toilet use",
"answer_type": "score_item",
"is_required": true,
"sort_order": 70,
"score_key": "adl",
"options": {
"max": 10,
"choices": [
{ "code": "0", "label": "Dependent", "score": 0 },
{ "code": "5", "label": "Needs some help, but can do something alone", "score": 5 },
{ "code": "10", "label": "Independent (on and off, dressing, wiping)", "score": 10 }
]
}
},
{
"code": "transfers",
"section": "ADL",
"label": "Transfers (bed to chair and back)",
"answer_type": "score_item",
"is_required": true,
"sort_order": 80,
"score_key": "adl",
"options": {
"max": 15,
"choices": [
{ "code": "0", "label": "Unable, no sitting balance", "score": 0 },
{ "code": "5", "label": "Major help (one or two people, physical), can sit", "score": 5 },
{ "code": "10", "label": "Minor help (verbal or physical)", "score": 10 },
{ "code": "15", "label": "Independent", "score": 15 }
]
}
},
{
"code": "mobility",
"section": "ADL",
"label": "Mobility (on level surfaces)",
"answer_type": "score_item",
"is_required": true,
"sort_order": 90,
"score_key": "adl",
"options": {
"max": 15,
"choices": [
{ "code": "0", "label": "Immobile or <50 yards", "score": 0 },
{ "code": "5", "label": "Wheelchair independent, including corners, >50 yards", "score": 5 },
{ "code": "10", "label": "Walks with help of one person (verbal or physical) >50 yards", "score": 10 },
{ "code": "15", "label": "Independent (but may use any aid; for example, stick) >50 yards", "score": 15 }
]
}
},
{
"code": "stairs",
"section": "ADL",
"label": "Stairs",
"answer_type": "score_item",
"is_required": true,
"sort_order": 100,
"score_key": "adl",
"options": {
"max": 10,
"choices": [
{ "code": "0", "label": "Unable", "score": 0 },
{ "code": "5", "label": "Needs help (verbal, physical, carrying aid)", "score": 5 },
{ "code": "10", "label": "Independent", "score": 10 }
]
}
}
]
}