Correct RUS-AUDIT-S composition, preserve C-SSRS lifetime behavior, and prepare clinical review materials. Refs #52
15 KiB
Опросник: пакет проверки от 3 октября 2026
Статус: подготовлено для проверки, не утверждено для пациентов. Задача #52;
клиническое согласование остаётся в #8. Независимый обратный перевод, согласование
врачом и проверка линий звонками не выполнены. В review-status.json все эти
статусы оставлены незавершёнными.
Что реализовано
app/core/questionnaire.py содержит детерминированные правила первичного опроса:
короткий PHQ-2 из первых двух ответов PHQ-9, фильтр травмы PC-PTSD-5,
условное дополнение до полных шкал, RUS-AUDIT-S, структуру C-SSRS Recent,
приоритет основного маршрута и параллельные направления. Это новый модуль для
интеграции после проверки, а не уже подключённый сценарий бота. Существующие
контракты, config/modules.yaml, мониторинг и исторические результаты не менялись.
config/questionnaire.yaml фиксирует кандидатные пороги из PDF. Политика без
записи врача не выдаёт обычный маршрут. Положительный PHQ-9/9, известный высокий
сигнал C-SSRS и ручной запрос помощи дают crisis независимо от этого ограничения.
clinical_review_required при других положительных C-SSRS означает остановку
обычного потока и необходимость человеческой проверки, а не присвоение высокого
риска. Для неполного C-SSRS возвращается нижняя граница риска, итоговый риск пуст.
Использовать в адаптере score_alcohol, а не низкоуровневый scales.score для
маршрутизации: первый не выдаёт итоговую сумму/зону неполной анкеты. Известный пол
нужен только для интерпретации алкогольной шкалы; неизвестный не заменяется мужским
или женским. Нет ответа, отказ и технически пропущенный вопрос не равны нулю.
RUS-AUDIT-S: исправление спецификации
В PDF на с.7–9 первые три пункта ошибочно названы RUS-AUDIT-S. Валидированная краткая форма состоит из пунктов 3, 9, 10 полного RUS-AUDIT, в этом порядке. Пункт 3 имеет значения 0/1/2/3/4, пункты 9 и 10 — только 0/2/4; сумма 0–12.
| Зона | Женщины | Мужчины |
|---|---|---|
| I | 0–1 | 0–3 |
| II | 2–4 | 4–6 |
| III | 5 | 7 |
| IV | 6–12 | 8–12 |
Источник состава: Neufeld et al., Bulletin of WHO, 2021. Зоны и текст для самозаполнения: Бунова и соавт., 2022, рис.3, DOI 10.17116/profmed20222508121. Рисунок визуально проверен, включая пояснение слова «травма» во втором вопросе. В интерфейсе это пояснение нельзя опускать.
При дополнении до полной шкалы остаются пункты 1,2,4,5,6,7,8. Ответы на 3,9,10
переиспользуются по исходным ID и не суммируются дважды. Записывать версию и факт
получения ответа в краткой форме: её пояснение травмы отличается от полного текста.
Правило PDF п.1 = 0 может вывести нули только для 2/3, не для 9/10;
выведенные ответы возвращаются отдельно в derived, исходный словарь не меняется.
Полная форма и её зоны взяты из пользовательского PDF с.7–9, транскрипция является материалом для согласования, не независимо подтверждённым русским бланком. Для пункта 2 адаптеру нужна исходная таблица стандартных порций (с.8), а не произвольное округление смешанных напитков. Применение полной интервью-формы как самоопроса требует отдельного решения врача.
RUS-AUDIT: © ВОЗ, 2021; отчёт ВОЗ, CC BY-NC-SA 3.0 IGO. Использование в этом пакете — некоммерческий прототип. Наличие шкалы здесь не означает одобрения продукта ВОЗ или авторами.
C-SSRS: источник и незавершённая часть
Официальная страница переводов Columbia
ссылается на Dropbox Screeners.
Ожидаемый файл: C-SSRS Screener - Russian.pdf. Файл не получен, официальный
русский текст не добавлен: проверка административной политики браузера не
доступна; обход блокировки не выполнялся.
config/scales/cssrs_screen.yaml остаётся историческим демо-переводом. Его q6
спрашивает только о последних трёх месяцах; автоматически конвертировать такой
ответ в пожизненный нельзя. Не выдавать этот файл за официальный перевод.
Новая структура данных использует q1…q5, q6_lifetime и q6_recent. Проверена по официальному Recent Screener для первичной помощи и описанию триажа Columbia: q1/q2 всем; при q2=0 перейти к q6; при q2=1 спросить q3–q5; q6 за всю жизнь всем; при положительном q6 уточнить последние три месяца. Поведение ранее трёх месяцев учитывается отдельно и не становится «риска нет».
Для завершения: получить русский PDF из официальной папки, сохранить хеш/дату/ версию, посимвольно сверить вопросы, пояснения, периоды и варианты, проверить переходы на отрисованном бланке, затем добавить отдельную версию русской шкалы. Версию «с последнего контакта» нельзя получить простой заменой заголовка Recent. Статус лицензии и применимость к коммерческому продукту подтверждаются отдельно.
Независимый обратный перевод
Передать переводчику только backtranslation-blind.tsv и следующие указания:
- Нужен независимый переводчик со свободным английским, не автор исходного русского текста. Перевести каждую из 38 единиц буквально по смыслу, включая инструкции, фильтр, вопросы и варианты ответа. Не искать и не подглядывать в английский оригинал. Сохранить ID и порядок строк.
- Заполнить
english_backtranslation, сомнения вtranslator_comment, имя и дату. Не «улучшать» русские формулировки. Неясный смысл отмечать явно. - Вернуть файл координатору. Если оригинал уже знаком переводчику, это указать: такую работу нельзя считать слепой независимой проверкой.
Координатор и врач используют translation-reconciliation.tsv после получения
обратного перевода. Сопоставить смысл, отрицания, интенсивность, временной период,
привязку к событию и примеры с PC-PTSD-5 VA
и PCL-5 VA.
По каждой строке записать расхождение, тяжесть, согласованный русский текст,
врача и дату решения. Не заполнять английские поля машинным переводом под видом
независимой работы. Одна обратная проверка не доказывает психометрическую валидацию.
Транскрипция взята из приложенного questionnaires-mvp-source.pdf, с.3–7;
нормализованы только переносы и межсловные пробелы. SHA-256 оригинала записан в
review-status.json. В репозитории текущие PC-PTSD-5/PCL-5 отличаются от PDF;
после согласования переносить именно утверждённую версию и зафиксировать diff.
Английские оригиналы не включены в слепой файл.
Решения врача — поля намеренно не заполнены
| ID | Решение, которое нужно зафиксировать | Статус |
|---|---|---|
| C01 | Любой «Да» останавливает обычный опрос или разрешено продолжение после низкого риска? Различить обычный опрос, уточнение риска и кризисную помощь. PDF с.1 против с.11, скриншот поддерживает остановку. | pending |
| C02 | С какой зоны RUS-AUDIT-S дополнять полную форму? Не переносить порог AUDIT-C ≥3/≥4. | pending |
| C03 | Самозаполнение полного RUS-AUDIT, таблица стандартных порций, порядок дополнения и повторные замеры. | pending |
| C04 | PC-PTSD-5 ≥3 и PCL-5 ≥31 для этой популяции; в текущем репозитории PCL-5 ≥33. | pending |
| C05 | Привязка PHQ-9/PCL-5 к специалистам, сроки срочной помощи, параллельные маршруты и состав флагов. | pending |
| C06 | Официальный русский C-SSRS: версия, возраст/популяция, применение Recent и Since Last Contact. | pending |
| C07 | Как отвечает живой дежурный, что делать при недоступности, когда подтверждать уведомление врачу. | pending |
| C08 | Повторы, ухудшение, разные периоды оценки и выход из кризисного режима. | pending |
Форма решения: ID; выбранный вариант; обоснование; ФИО/роль врача; дата с часовым
поясом; версия политики; ссылка на подписанный протокол; проверенные сценарии.
После решений C01/C02 и утверждения остальных применяемых порогов заполнить
approval в конфиге и изменить версию. Это запись о реальном согласовании, а не
переключатель для снятия блокировки. Синтетические записи в тестах не являются
подписью врача.
Подключение к диалогу
Адаптер вызывает evaluate_intake после каждого ответа и на ручной кнопке помощи.
crisis открывает фиксированную кризисную ветку до LLM; clinical_review_required
не разрешает автоматическое продолжение; incomplete запрашивает обязательные
пропуски; ready содержит основной маршрут и отдельные параллельные направления.
Кнопка помощи доступна на каждом экране. Не утверждать, что врач уведомлён,
пока интеграция не подтвердила доставку. Обычный опрос после кризиса сам не возобновляется.
Хранить ответы, версию шкалы/политики, период, время из app.core.clock, исходные
и выведенные значения раздельно, флаги и состояние полноты. Новые ключи C-SSRS
не подменяют старый cssrs_6. Нельзя сравнивать динамику разных версий и периодов
как одну и ту же шкалу. Клинические данные не отправляются переводчикам.
Проверка
make lint && make test. Новые тесты проверяют все 45 допустимых наборов
RUS-AUDIT-S для каждого пола, границы полной формы, отрицательную и положительную
ветви C-SSRS, давнее поведение, пропуски/противоречия, кризис на неполном опросе,
конфликт PHQ-9/9 и C-SSRS, пороги маршрутов, независимые направления и отсутствие
разрешения на автоматический переход без реального решения врача.