feat(core): add verified Russian C-SSRS Recent source content
CI / ruff · pytest (pull_request) Successful in 31s

This commit is contained in:
Pavel Eliseev
2026-10-03 17:24:48 +03:00
parent da089d67cb
commit 57b5ad1eb2
7 changed files with 242 additions and 21 deletions
+46 -17
View File
@@ -60,30 +60,57 @@ RUS-AUDIT: © ВОЗ, 2021; [отчёт ВОЗ](https://www.who.int/europe/publi
CC BY-NC-SA 3.0 IGO. Использование в этом пакете — некоммерческий прототип.
Наличие шкалы здесь не означает одобрения продукта ВОЗ или авторами.
## C-SSRS: источник и незавершённая часть
## C-SSRS: русский бланк Recent
Официальная [страница переводов Columbia](https://cssrs.columbia.edu/the-columbia-scale-c-ssrs/translations/)
ссылается на [Dropbox Screeners](https://www.dropbox.com/scl/fo/pkg1gwxxn1266rke8oite/AC2UFfOKCtefU-o9EEXP-yk?dl=0&rlkey=4grouuqbchfa8obxlcb3msnpz).
Ожидаемый файл: `C-SSRS Screener - Russian.pdf`. **Файл не получен, официальный
русский текст не добавлен**: проверка административной политики браузера не
доступна; обход блокировки не выполнялся.
3 октября пользователь предоставил локальный `C-SSRS Screener - Russian.pdf`.
Неизменённая копия — `cssrs-screener-russian.pdf`, одна страница, заголовок
**Screen Version - Recent**. Вопросы, пояснения, периоды, варианты и цветовые
категории сверены с отрисованной страницей. Хеши оригинала и извлечённого текста
сохранены в `review-status.json`. Файл получен от пользователя после блокировки
загрузки; совпадение байтов с удалённой копией Dropbox независимо не проверено.
`config/instruments/cssrs_recent_ru.yaml` содержит отдельную транскрипцию,
`app/core/cssrs_content.py` — типизированный загрузчик `load_cssrs_russian`.
Версия `source-2026-10-03` — локальная версия содержания, **не номер редакции
Columbia**. Даты в метаданных PDF не используются как дата клинической редакции.
Сохранены все формулировки и опечатки, включая «Последние 1 месяца»,
«ЕСЛИ ДА 2», «пытался повеситься» и повтор «запаслись таблетками».
Нормализованы только межсловные пробелы и переносы. Пояснения интервьюеру
хранятся отдельно от вопросов. Любое редактирование требует отдельного решения.
Переходы по бланку: q1/q2 всем; при q2=0 перейти к q6; при q2=1 спросить q3–q5;
q6 за всю жизнь всем; при положительном q6 уточнить последние три месяца.
Для q1–q5 период — последний месяц. Ответы «Да»/«Нет» кодируются 1/0;
это коды ответов, **не суммируемые баллы**.
| Положительный ответ | Цвет бланка | Категория |
|---|---|---|
| q1, q2 | жёлтый | low |
| q3, q6_lifetime | оранжевый | moderate |
| q4, q5, q6_recent | красный | high |
При нескольких положительных ответах используется максимальная категория.
Поведение ранее трёх месяцев не превращается в «риска нет».
Правила совпадают с [Recent Screener для первичной помощи](https://cssrs.columbia.edu/wp-content/uploads/C-SSRS-Screener-with-Triage-Points-for-Primary-Care-2026.pdf)
и [описанием триажа Columbia](https://cssrs.columbia.edu/the-columbia-scale-c-ssrs/risk-identification/).
Неполные или противоречивые данные не получают итоговую категорию;
известный сигнал сохраняется как нижняя граница риска.
`config/scales/cssrs_screen.yaml` остаётся историческим демо-переводом. Его q6
спрашивает только о последних трёх месяцах; автоматически конвертировать такой
ответ в пожизненный нельзя. Не выдавать этот файл за официальный перевод.
ответ в пожизненный нельзя. Новый бланк расположен вне `config/scales`, поскольку
действующий последовательный диалог не поддерживает его условные переходы.
Он ещё не включён в пациентский сценарий. Загрузчик текста сам по себе не
разрешает продолжение опроса: адаптер должен учитывать `evaluate_intake`,
а порядок обязательных вопросов получать из `score_cssrs_recent`.
Новая структура данных использует q1…q5, q6_lifetime и q6_recent. Проверена по
[официальному Recent Screener для первичной помощи](https://cssrs.columbia.edu/wp-content/uploads/C-SSRS-Screener-with-Triage-Points-for-Primary-Care-2026.pdf)
и [описанию триажа Columbia](https://cssrs.columbia.edu/the-columbia-scale-c-ssrs/risk-identification/):
q1/q2 всем; при q2=0 перейти к q6; при q2=1 спросить q3–q5;
q6 за всю жизнь всем; при положительном q6 уточнить последние три месяца.
Поведение ранее трёх месяцев учитывается отдельно и не становится «риска нет».
Для завершения: получить русский PDF из официальной папки, сохранить хеш/дату/
версию, посимвольно сверить вопросы, пояснения, периоды и варианты, проверить
переходы на отрисованном бланке, затем добавить отдельную версию русской шкалы.
Версию «с последнего контакта» нельзя получить простой заменой заголовка Recent.
Статус лицензии и применимость к коммерческому продукту подтверждаются отдельно.
Бланк не разрешает противоречие об остановке при любом «Да»: C01 остаётся
решением врача. Также нужны C06 (возраст/популяция, формат применения, обучение
и повторные замеры) и согласование пациентского сценария. Версию «с последнего
контакта» нельзя получить простой заменой заголовка Recent. Статус лицензии и
применимость к коммерческому продукту подтверждаются отдельно.
## Независимый обратный перевод
@@ -153,3 +180,5 @@ RUS-AUDIT-S для каждого пола, границы полной форм
ветви C-SSRS, давнее поведение, пропуски/противоречия, кризис на неполном опросе,
конфликт PHQ-9/9 и C-SSRS, пороги маршрутов, независимые направления и отсутствие
разрешения на автоматический переход без реального решения врача.
Тесты C-SSRS дополнительно восстанавливают полный текст страницы из структуры,
проверяют хеши и сверяют все комбинации ветвей с цветовыми категориями бланка.
Binary file not shown.
@@ -0,0 +1 @@
КОЛУМБИЙСКАЯ ШКАЛА ОЦЕНКИ ТЯЖЕСТИ СУИЦИДА Screen Version - Recent Последние 1 месяца Задайте вопросы 1 и 2 Да Нет 1. Возникало ли у Вас желание умереть или заснуть и не просыпаться? 2. Думали ли Вы в самом деле о том, чтобы убить себя? ЕСЛИ ДА 2, Задайте вопросы 3, 4, 5 и 6. ЕСЛИ Нет, Задайте вопросы 6. 3. Думали ли Вы о том, как Вы могли бы это сделать? Пациент подтверждает, что его посещают мысли о самоубийстве и что в течение периода наблюдения он/она думал(-а) хотя бы об одном способе самоубийства. Данная ситуация отлична от такой, когда пациент разработал конкретный план: время, место или детали метода самоубийства (например, пациент думал о способе самоубийства, но не о конкретном плане). Сюда относятся люди, которые скажут: “Я думал(-а) о передозировке таблеток, но так и не построил(-а) конкретного плана о том, когда, где и как осуществить это…..и я бы никогда не довёл(-а) дело до конца”. 4. Посещали ли Вас подобные мысли, и было ли у Вас какое-нибудь намерение действовать в соответствии с ними? Активные мысли о самоубийстве при заявлении пациента о некотором намерении действовать в соответствии с этими мыслями, в отличие от подобного утверждения: “Такие мысли посещают меня, но я определенно не стану ничего предпринимать”. 5. Начали ли Вы разрабатывать или уже разработали детальный план самоубийства? Намереваетесь ли Вы осуществить этот план? 6. Вы когда-нибудь что-нибудь делали, начинали что-то делать или готовились сделать что-нибудь, чтобы покончить с собой? Примеры: запаслись таблетками, приобрели пистолет, раздали ценные вещи, написали завещание или предсмертную записку, запаслись таблетками, но не проглотили их, держали пистолет, но передумали стрелять или его кто-то выхватил из вашей руки, поднялись на крышу, но не прыгнули; или принимали таблетки, пытались застрелиться, порезались, пытался повеситься и т. д. ЕСЛИ ДА, то было ли это в последние 3 месяца? Low Risk Moderate Risk High Risk
+17 -4
View File
@@ -6,11 +6,24 @@
"clinician_approval": null,
"phone_checks": "not_performed",
"cssrs_russian_pdf": {
"expected_filename": "C-SSRS Screener - Russian.pdf",
"downloaded": false,
"text_verified": false,
"original_filename": "C-SSRS Screener - Russian.pdf",
"received": true,
"acquisition": "user_provided_local_file",
"received_on": "2026-10-03",
"file": "cssrs-screener-russian.pdf",
"sha256": "d1dc77068b73e83a0e7959681b0fe9f15775a8b99863cf0e11794308a4c77c85",
"source_text": "cssrs-screener-russian.source.txt",
"source_text_sha256": "89835360bd59c6ead1a56bec6f40c46b72f81165366c92f85ba5d25291748de7",
"text_verified": true,
"visual_verification": true,
"pages": 1,
"form_subtitle": "Screen Version - Recent",
"content_version": "source-2026-10-03",
"publisher_version": null,
"source": "https://cssrs.columbia.edu/the-columbia-scale-c-ssrs/translations/",
"blocker": "Browser admin-enforced security check unavailable; not bypassed"
"remote_bytes_independently_verified": false,
"clinical_use_approved": false,
"note": "User supplied the file after the official-source download workflow was blocked. Local content and colors checked; publisher version is not inferred from PDF metadata."
},
"intake_release_ready": false,
"policy_version": "mvp-review-2026-10-03"