Files
PTSRaiAgent/docs/product/01_demo_persona.md
T
ElebobaandClaude Opus 5.5 b4731fb1d6
CI / ruff · pytest (pull_request) Successful in 22s
chore(core): stage 1 contracts — dialog, API schemas + fixtures, integrations, monitoring, modules
Freeze interfaces between lanes A (bot), B (backend), C (dashboard) so three developers work in
parallel without touching each other's files: dialog Event/Reply + engine registry with echo stub,
integration protocols with in-memory defaults, MonitoringService with noop stub, /api/v1 schemas
with fixture-backed routes, frozen main.py wiring, config/modules.yaml + due_scales(), DAR-5,
tzdata, Andrey trajectory, lanes in WORKFLOW, ADR-010.

Refs #34

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 15:22:25 +03:00

128 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 01. Демо-персона и сценарии
Источник для seed-данных и сценария демо. Все данные вымышленные.
> **Решение #9 / ADR-010:** главный герой хакатона — **ветеран Андрей** (этап 1). Траектория Алексея перенесена на Андрея по структуре. Сценарии Алексея (депрессия, самоскрининг) остаются ниже — это опциональное направление «Депрессия в общей популяции» (эпик #43).
## Главная персона этапа 1 — Андрей
| Поле | Значение |
|---|---|
| Кто | Андрей С., 34 года, контрактник, вернулся после ранения 8 месяцев назад; райцентр, до психиатра — областной центр |
| Жалобы | плохо спит, кошмары, раздражительность, срывается на домашних, стал чаще выпивать |
| Барьер | «я не псих»; страх учёта, лишения прав на оружие и вождение; доверяет только своим |
| Точка входа | углублённая диспансеризация → консультация психолога → психиатр кабинета медико-психологического консультирования предлагает подключиться (QR/код) |
| Скрининг (день −3) | PC-PTSD-5 = 4 (положительный), PCL-5 = 46, PHQ-9 = 14 (п.9 = 0), AUDIT-C = 3 (ниже порога для мужчин), оружия дома нет (охотничье ружьё у брата) |
| Визит (день 0) | ПТСР + депрессивный эпизод средней степени; **сертралин 50 мг 1 р/сут утром после еды**; модули `veteran` + `depression`; следующий визит через 4 недели |
| Врач | д-р Смирнова Е. А., психиатр (`doc-smirnova`) |
### Траектория Андрея (сценарий этапа 1)
Ожидаемые цвета проверяются тестом правил: 🟢🟢🟢🟡🟡🟢🟢🟢🟢🟡🟡🟡🔴.
| День | Приём | Настр. 0–10 | Сон | Кошмары | Алкоголь | Свободный текст | Шкалы | Уровень | Реакция системы |
|---|---|---|---|---|---|---|---|---|---|
| 0 | — | — | — | — | — | — | — | 🟢 | врач «Подключить пациента» → код; Андрей: согласие, знакомство, напоминания |
| 1 | да | 4 | 4–6 | да | нет | — | — | 🟢 | приветствие, напоминание, вопрос про сон |
| 2 | да | 4 | 4–6 | да | нет | «подташнивает с утра» | — | 🟢 | med_qa: частая побочка, обычно проходит за 1–2 нед.; принимать после еды |
| 3 | да | 4 | 4–6 | да | нет | «опять тошнит» | — | 🟢 | поддержка |
| 4 | да | 3 | 4–6 | нет | нет | «тошнота не проходит» | — | 🟡 | побочка 3 дня подряд → алерт `side_effect_3d` |
| 5 | **нет** | 3 | 4–6 | нет | нет | «от таблеток только хуже, брошу» | — | 🟡 | отсроченный эффект, не отменять без врача; алерт `quit_intent` |
| 6 | да | 4 | 6–8 | нет | нет | «врач позвонил, продолжаю» | — | 🟢 | врач подтвердил алерты (ack) после звонка |
| 7 | да | 4 | 6–8 | нет | нет | — | PCL-5 = 44, PHQ-9 = 13, п.9 = 0 | 🟢 | плановые шкалы |
| 8 | да | 4 | < 4 | да | 1–2 | «снится одно и то же» | — | 🟢 | — |
| 9 | да | 4 | < 4 | да | больше | — | — | 🟢 | — |
| 10 | да | 4 | < 4 | да | больше | «без пива не могу уснуть» | — | 🟡 | сон < 4 ч три ночи (`sleep_lt4_3n`) + алкоголь 3 дня (`alcohol_3d`) → инфо о взаимодействии с сертралином, предложение записаться раньше |
| 11 | да | 3 | 4–6 | нет | 1–2 | — | — | 🟡 | (алерты открыты) |
| 12 | да | 3 | 4–6 | нет | нет | — | — | 🟡 | — |
| 13 | да | 2 | < 4 | да | нет | «всё бессмысленно, устал от всего» | внеплановый PHQ-9 = 18, п.9 = 2 | 🔴 | настроение ≤ 3 три дня → внеплановый PHQ-9 → п.9 ≥ 1 → кризисный скрипт, C-SSRS, план безопасности, алерт `phq9_item9` дежурному ≤ 3 с |
### Дашборд: ещё 7 пациентов кабинета
| Пациент | Возраст | Модули | Препарат | День | Статус | Последнее событие |
|---|---|---|---|---|---|---|
| Дмитрий В. | 41 | veteran | сертралин 100 мг | 45 | 🟡 | кошмары, сон < 4 ч 3 ночи |
| Сергей П. | 37 | veteran | пароксетин 20 мг | 30 | 🟡 | пропуски 3 из 7 дней |
| Николай Ф. | 52 | veteran | сертралин 50 мг | 14 | 🟡 | алкоголь 4 из 7 дней |
| Анна Л. | 23 | depression | флуоксетин 20 мг | 8 | 🟡 | возраст < 25: усиленный мониторинг |
| Ирина К. | 34 | depression | эсциталопрам 10 мг | 21 | 🟢 | PHQ-9 16 → 9 |
| Ольга Н. | 29 | depression | сертралин 50 мг | 10 | 🟢 | тошнота прошла |
| Павел Р. | 45 | depression | эсциталопрам 10 мг | 60 | 🟢 | ремиссия, PHQ-9 = 4 |
### Порядок демо этапа 1 (≈ 3 мин)
1. Врач подключает Андрея на дашборде → QR — 15 с
2. Андрей: согласие, короткий скрининг, напоминание о сертралине → «принял» — 40 с
3. День 5: «брошу» → объяснение + 🟡 у врача — 35 с
4. День 10: кошмары, сон, алкоголь → инфо о взаимодействии, «записаться раньше» — 30 с
5. День 13: «всё бессмысленно» → внеплановый PHQ-9 → 🔴 кризисный протокол + карточка алерта и план безопасности на дашборде — 40 с
---
# Опциональное направление: депрессия в общей популяции (Алексей)
## Персона Алексея
| Поле | Значение |
|---|---|
| Имя | Алексей, 28 лет, Москва |
| Работа | разработчик |
| Жалобы (2 мес.) | сниженное настроение, нет интереса к делам, плохой сон, трудно работать |
| Барьер | к врачу не шёл: «боюсь, что поставят на учёт» |
| Скрининг (день −3) | PHQ-9 = 14 (умеренная), п.9 = 0; травмы не было → PC-PTSD-5 пропущен; GAD-7 = 9 |
| Визит к психиатру (день 0) | депрессивный эпизод средней степени; сертралин 50 мг 1 р/сут утром после еды; следующий визит через 4 недели |
| Врач | д-р Смирнова Е. А., психиатр |
## Сценарий А — скрининг (демо 30–40 сек)
1. Пользователь открывает бота без регистрации → дисклеймер («это не диагноз») + согласие на обработку данных.
2. Вопрос о возрасте. Если < 18 → детский телефон доверия 8-800-2000-122, совет обратиться к взрослым / школьному психологу.
3. PHQ-9 → 14 баллов, п.9 = 0.
4. Вопрос о травматическом событии (вход в PC-PTSD-5) → «нет» → пропуск.
5. GAD-7 → 9 баллов.
6. Агент объясняет результат без слова «диагноз», рекомендует консультацию психиатра.
7. Пользователь: «А меня поставят на учёт?» → агент объясняет (добровольное обращение = консультативно-лечебная помощь).
8. Агент предлагает варианты (ПНД/поликлиника, платно, онлайн) → `book_visit` (мок) → с согласия `send_screening_summary` врачу.
## Сценарий Б — сопровождение после визита (основное демо)
Врач на дашборде нажимает «Подключить пациента», вводит препарат и дату следующего визита.
| День | Приём | Настр. 0–10 | Сон | Алкоголь | Жалобы / свободный текст | Шкалы | Уровень | Действие агента |
|---|---|---|---|---|---|---|---|---|
| 1 | да | 4 | 6–8 | нет | — | — | 🟢 | приветствие, напоминание |
| 2 | да | 4 | 4–6 | нет | тошнота | — | 🟢 | объясняет: частая, обычно проходит за 1–2 нед.; принимать после еды |
| 3 | да | 4 | 4–6 | нет | тошнота | — | 🟢 | поддержка |
| 4 | да | 3 | 4–6 | нет | тошнота | — | 🟡 | побочка 3 дня подряд → `raise_alert(yellow)` |
| 5 | решил не принимать | 3 | 4–6 | нет | «от таблеток только хуже, брошу» | — | 🟡 | объясняет отсроченный эффект; не бросать без врача; `notify_doctor` |
| 6 | да | 4 | 6–8 | нет | — | — | 🟢 | врач позвонил, пациент продолжает |
| 7 | да | 4 | 6–8 | нет | — | PHQ-9 = 13, п.9 = 0 | 🟢 | плановый PHQ-9 |
| 8 | да | 4 | < 4 | 1–2 | — | — | 🟢 | — |
| 9 | да | 4 | < 4 | больше | — | — | 🟢 | — |
| 10 | да | 4 | < 4 | больше | «не могу уснуть без пива» | — | 🟡 | сон < 4 ч 3 ночи (F_Y6) + алкоголь 3 дня (F_Y5) → инфо о взаимодействии; `notify_doctor`; `book_visit` раньше |
| 11 | да | 3 | 4–6 | 1–2 | — | — | 🟡 | (алкоголь продолжается) |
| 12 | да | 3 | 4–6 | нет | — | — | 🟡 | — |
| 13 | да | 2 | < 4 | нет | «всё бессмысленно, устал от всего» | внеплановый PHQ-9 = 18, п.9 = 2 | 🔴 | настроение ≤ 3 три дня → внеплановый PHQ-9 → п.9 ≥ 1 → `crisis_protocol` + `raise_alert(red)` |
## Дашборд врача: ещё 7 фейковых пациентов
| Пациент | Возраст | Диагноз | Препарат | День терапии | Статус | Последнее событие |
|---|---|---|---|---|---|---|
| Ирина К. | 34 | депрессия | эсциталопрам 10 мг | 21 | 🟢 | PHQ-9 16 → 9 |
| Дмитрий В. | 41 | ПТСР | сертралин 100 мг | 45 | 🟡 | кошмары, сон < 4 ч 3 ночи |
| Ольга Н. | 29 | депрессия + тревога | сертралин 50 мг | 10 | 🟢 | тошнота прошла |
| Сергей П. | 37 | ПТСР | пароксетин 20 мг | 30 | 🟡 | пропуски 3 из 7 дней |
| Анна Л. | 23 | депрессия | флуоксетин 20 мг | 8 | 🟡 | возраст < 25: усиленный мониторинг; беспокойство |
| Павел Р. | 45 | депрессия | эсциталопрам 10 мг | 60 | 🟢 | ремиссия, PHQ-9 = 4 |
| Наталья Ф. | 52 | ПТСР | сертралин 50 мг | 14 | 🟡 | алкоголь 4 из 7 дней |
| Алексей | 28 | депрессия | сертралин 50 мг | 13 | 🔴 | п.9 PHQ-9 = 2 |
История для графиков у остальных пациентов можно сгенерировать случайно в пределах указанного статуса.
## Порядок демо (≈ 3 мин)
1. Скрининг Алексея → запись к врачу — 40 с
2. Врач подключает пациента на дашборде — 10 с
3. День 5: «хочу бросить» → объяснение + алерт — 40 с
4. День 10: алкоголь + бессонница → запись раньше — 30 с
5. День 13: внеплановый PHQ-9 → 🔴 → кризисный протокол + карточка алерта на дашборде — 40 с