lct-hack/scenarios/checklists/medical.yaml
Ivan Gerasimov b8dc39fd7d feat: исход вызова — не каждый звонок заканчивается карточкой (lct-36)
Весь продукт стоял на допущении «звонок → карточка → выезд». В билетах
заказчика оно нарушается намеренно: «поругался с продавцом Мегафон» — справка,
а вызов из Волгоградской области передаётся в систему-112 другого субъекта.
Курсант, заведший карточку на такой вызов, занял расчёт зря, и прежняя оценка
этого не видела — наоборот, награждала за полноту заполнения.

- Outcome в домене, поле outcome в сценарии, событие call.resolve у курсанта
  и две кнопки на АРМ. Отдельное действие, а не «положил трубку»: система
  должна отличить осознанное решение от брошенного вызова.
- Метрика outcome (E2, вес 3 — лишний выезд дороже неточного признака).
- Там, где карточка не заводится, метрики карточки не считаются вовсе.
  Полнота опроса считается: передать вызов не значит не опрашивать.
- call.resolve останавливает норматив опроса, как и передача карточки.

Попутно (lct-34): библиотека стала вложенной — scenarios/tickets/, поля
ticket и position, чек-листы для медицины, полиции и ЖКХ. Перенесён билет 1
целиком: три вызова, три классификатора, третий — из другого региона.

Найдено по ходу: модификаторы списка оповещения не были подключены ни к чему.
В классификаторе скорая добавляется к массовой драке признаком «пострадавшие»,
но взять его было неоткуда. Теперь модификаторы берутся из карточки —
victims_count, life_threat, evacuation_needed, fire.gasified, — и список
оповещения пересобирается при правке любого из этих полей.

161 тест зелёный (13 новых), make typecheck чистый.
2026-09-20 08:33:30 +03:00

26 lines
2 KiB
YAML
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.

# Чек-лист по классификатору 03 — скорая помощь.
# Методика: docs/product/METHODOLOGY.md#чек-листы-опроса
#
# `examples` — как спрашивают живые операторы, а не как написано в инструкции.
# Чем их больше и чем они разнообразнее, тем точнее звонящий «понимает» вопрос.
id: medical
dds: "03"
checklist:
- id: q_address
question: "Назовите адрес: улица, дом, квартира, этаж, код домофона?"
examples: ["Какой у вас адрес?", "Где вы находитесь?", "Куда ехать скорой?", "Код домофона какой?", "Номер квартиры?"]
- id: q_what_happened
question: "Что случилось с пострадавшим?"
examples: ["Что с человеком?", "Что произошло?", "На что жалуется?", "Как это случилось?"]
- id: q_who
question: "Кто пострадавший: имя, возраст, пол?"
examples: ["Сколько лет?", "Как зовут больного?", "Это мужчина или женщина?", "Возраст какой?"]
- id: q_conscious
question: "Человек в сознании, дышит?"
examples: ["В сознании?", "Дышит?", "Он отвечает вам?", "Реагирует на голос?"]
- id: q_can_move
question: "Может ли пострадавший передвигаться самостоятельно?"
examples: ["Он может идти?", "Ходит сам?", "Встать может?"]
- id: q_caller
question: "Представьтесь и оставьте контактный телефон"
examples: ["Как вас зовут?", "Ваш номер телефона?", "Кем вы приходитесь пострадавшему?"]