CI / ruff · pytest (pull_request) Successful in 23s
Pydantic schema for config/scales/*.yaml, cached loader, score() with severity bands (sex-specific for AUDIT-C), rule-based C-SSRS triage, flags (PHQ-9 item 9, PCL-5 >= 33, PHQ-4 subscales) and delta(). Starting literature thresholds for phq9, gad7, pcl5, auditc, pcptsd5, cssrs_screen, phq4; final values are approved by the psychiatrist (#8). Refs #3 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
59 lines
3.9 KiB
YAML
59 lines
3.9 KiB
YAML
# Стартовые пороги из литературы, финальные утверждает психиатр (issue #8).
|
|
# C-SSRS, скрининговая версия (Posner et al., 2011; Columbia Lighthouse Project), триаж:
|
|
# q1–q2 (желание умереть, суицидальные мысли) → low
|
|
# q3 (мысли о способе, без намерения) → moderate
|
|
# q4 (намерение), q5 (план), q6 (поведение за 3 месяца) → high
|
|
# Ответы «да/нет» хранятся как 1/0. Порядок правил важен: первое совпавшее — уровень риска.
|
|
# В оригинале q6 задаётся «за всю жизнь» с уточнением «в последние 3 месяца»; для триажа нужен
|
|
# только второй вариант, поэтому q6 сформулирован сразу про 3 месяца (утверждает психиатр).
|
|
id: cssrs_screen
|
|
title: "Колумбийская шкала оценки тяжести суицидального риска (C-SSRS), скрининг"
|
|
recall_period: "последний месяц (вопрос 6 — последние 3 месяца)"
|
|
instruction: "Ответьте, пожалуйста, на несколько вопросов о том, как Вы себя чувствовали за последний месяц."
|
|
license_note: "C-SSRS — бесплатно для клинического и некоммерческого использования (Columbia Lighthouse Project)."
|
|
translation_note: >-
|
|
Рабочий перевод команды (демо-текст). Финальный текст — официальная русская скрининговая версия,
|
|
выбирает психиатр.
|
|
scoring: rules
|
|
options:
|
|
- {value: 0, label: "Нет"}
|
|
- {value: 1, label: "Да"}
|
|
items:
|
|
- {id: cssrs_1, text: "Хотелось ли Вам умереть или заснуть и не проснуться?", buttons_only: true}
|
|
- {id: cssrs_2, text: "Были ли у Вас мысли о том, чтобы покончить с собой?", buttons_only: true}
|
|
- {id: cssrs_3, text: "Думали ли Вы о том, как могли бы это сделать?", buttons_only: true}
|
|
- id: cssrs_4
|
|
text: "Были ли у Вас такие мысли и хоть какое-то намерение действовать в соответствии с ними?"
|
|
buttons_only: true
|
|
- id: cssrs_5
|
|
text: "Начинали ли Вы продумывать или уже продумали детали того, как покончить с собой? Собираетесь ли Вы осуществить этот план?"
|
|
buttons_only: true
|
|
- id: cssrs_6
|
|
text: "За последние 3 месяца делали ли Вы что-нибудь, начинали делать или готовились сделать, чтобы покончить с собой?"
|
|
buttons_only: true
|
|
range: {min: 0, max: 6}
|
|
severity_rules:
|
|
- code: high
|
|
label: "Высокий риск"
|
|
when:
|
|
any_of:
|
|
- {item: cssrs_4, op: ">=", value: 1}
|
|
- {item: cssrs_5, op: ">=", value: 1}
|
|
- {item: cssrs_6, op: ">=", value: 1}
|
|
- code: moderate
|
|
label: "Умеренный риск"
|
|
when: {item: cssrs_3, op: ">=", value: 1}
|
|
- code: low
|
|
label: "Низкий риск"
|
|
when:
|
|
any_of:
|
|
- {item: cssrs_1, op: ">=", value: 1}
|
|
- {item: cssrs_2, op: ">=", value: 1}
|
|
default_severity: {code: none, label: "Риск не выявлен"}
|
|
flags:
|
|
# high → acute-алерт и кризисный протокол (ADR-006); moderate → врачу ≤ 24 ч (config/rules.yaml).
|
|
- code: cssrs_high
|
|
when: {severity_in: [high]}
|
|
- code: cssrs_moderate
|
|
when: {severity_in: [moderate]}
|