feat(web): two-stage questionnaires, screening result and diary by result
- Sign-in: centred ЕМИАС card without the sidebar; anonymous entry asks «Депрессия / ПТСР».
- Stage 1 is the same for everyone and follows the fixed order of the MVP questionnaire:
PHQ-2 → trauma filter/TSQ → RUS-AUDIT-S → C-SSRS → context; stage 2 only where stage 1
is positive. Starts without a profile.
- After stage 1 the patient sees a preliminary result (screening, not a diagnosis), stored
with the record; it switches on the diary modules (depression / PTSD).
- Stage 2 diary: morning (sleep, sleep quality, alcohol) and evening (mood, medication,
3 PHQ-9 items in rotation, short PCL-5); C-SSRS since last contact only under risk;
flags on weekly means against the personal norm; scheduled full scales with change
(remission, response, worsening).
- Questionnaire log: GET /me/{token}/results and the «Мои результаты» screen.
- Questionnaires centred without the sidebar and without scale names; «Продолжить позже»
goes home; confirmations are toasts; free-text comments are optional.
- Demo policy config/questionnaire_demo.yaml (INTAKE_DEMO only, not a clinical approval).
ADR-012.
Refs #77
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -202,6 +202,14 @@ async def test_side_effect_other_free_text(engine: Engine) -> None:
|
||||
assert (await checkin()).side_effects == ["headache", "other"]
|
||||
|
||||
|
||||
async def test_side_effect_description_is_optional(engine: Engine) -> None:
|
||||
reminder = await system(engine, "med_reminder")
|
||||
r = await tap(engine, await tap(engine, reminder, "med:side_effects"), "med:se:other")
|
||||
assert r[0].kind == "question" # the client shows an (optional) input for it
|
||||
await press(engine, "text:skip")
|
||||
assert (await checkin()).side_effects == ["other"] and (await get_state())[0] == "idle"
|
||||
|
||||
|
||||
async def test_same_side_effect_as_yesterday_gets_support(engine: Engine) -> None:
|
||||
async with session.get_clinical_session() as s:
|
||||
await repo.upsert_checkin(
|
||||
|
||||
Reference in New Issue
Block a user