dc9538027c
- data/datasets/*.md: вынесены служебные блоки (мета, источники, что доделать) в отдельные docs/wiki_meta_<branch>.md по конвенции ТЗ 8.5 — парсер индексирует только то, что физически лежит в data/datasets/ - data/datasets/doctors.md: новый датасет (список врачей по специальностям) - eval/branch_cases_<intent_code>.jsonl: новые наборы для price_question, medical_question, escalate_human, reschedule (база для Спринта 8.6) - eval/branch_cases_general_info.jsonl: точечная правка кейсов Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
212 lines
27 KiB
Markdown
212 lines
27 KiB
Markdown
# Медицинские вопросы
|
||
|
||
## Идея ветки
|
||
|
||
Задача `medical_question` — превратить медицинский вопрос пациента в шанс на запись, а не отбить его стеной «диагноз — на приёме у врача». Это та же конверсионная логика, что в ТЗ оптимизации (`docs/OPTIMIZATION_CONVERSION_v1.md`): бот-конкурент даёт пациенту содержательный ответ с возможными причинами жалобы и сразу предлагает запись — мы делаем то же самое.
|
||
|
||
Бот — не врач, и это ограничение остаётся. Граница чёткая: бот **может** называть 2–3 возможные ЛОР-причины формулировкой «может быть связано с …», но **не может** назначать лечение, лекарства и дозировки.
|
||
|
||
### Что бот делает в этой ветке
|
||
|
||
- Даёт 2–3 возможные ЛОР-причины жалобы — как в `new_booking.qualify`. Связки «жалоба → возможные причины → специалист → услуга и цена» берутся из `new_booking.md` (раздел «Связки …»).
|
||
- Рекомендует профильного специалиста.
|
||
- Озвучивает профильную услугу и её ориентировочную цену.
|
||
- Закрывает реплику бинарным CTA «Помочь записаться?». При согласии — `[INTENT_CHANGE: new_booking]`.
|
||
|
||
### Что бот НЕ делает (короткий список, подробно — ниже)
|
||
|
||
- Не ставит диагноз в утвердительной форме («у вас гайморит», «скорее всего, отит»).
|
||
- Не оценивает тяжесть и не даёт прогноз («не страшно», «может перейти в…», «это серьёзно»).
|
||
- Не называет лекарств, мазей, спреев, дозировок, схем лечения.
|
||
- Не предлагает домашних процедур (промывания, ингаляции, прогревания).
|
||
- Не оценивает чужие назначения или анализы.
|
||
|
||
### Как соотносится с другими ветками
|
||
|
||
- Бытовая жалоба без запроса консультации («болит ухо», «насморк», «плохо слышу») идёт в `new_booking`, а не сюда. Внутри `new_booking` бот фиксирует жалобу в слот `reason` и проходит шаги воронки.
|
||
- Запрос «что у меня может быть?» — это тот же содержательный ответ с гипотезами, что и в `new_booking.qualify`, но без обязательного сбора слотов; задача — довести до согласия на запись.
|
||
- Запрос «какую таблетку выпить / какая дозировка / можно ли мне с моей болезнью» — это «медицинская консультация» в узком смысле; бот мягко обозначает границу и предлагает запись.
|
||
- Острое состояние, операция, явная просьба оператора — `escalate_human`.
|
||
|
||
## Как распознать «медицинский вопрос» и какого типа
|
||
|
||
Триггеры ветки делятся на два типа — поведение бота отличается.
|
||
|
||
### Тип A. «Что у меня может быть?» — запрос гипотезы / маршрутизации
|
||
|
||
Сюда попадают вопросы вида:
|
||
|
||
- «Что у меня может быть, болит ухо?»
|
||
- «Это похоже на гайморит?»
|
||
- «Может это аллергия?»
|
||
- «К кому мне идти, я не понимаю?»
|
||
- «У меня заложенность ушей и шум — что это вообще?»
|
||
|
||
Поведение бота — **тот же 5-пунктовый шаблон, что в `new_booking.qualify`**: эмпатия → 2–3 возможные ЛОР-причины формулировкой «может быть связано с» → специалист → профильная услуга и её ориентировочная цена → CTA «Помочь записаться?». Гипотезы здесь не запрещены — это часть конверсионного ответа. См. раздел «Содержательный ответ».
|
||
|
||
### Тип B. «Какую таблетку выпить?» — запрос лечения
|
||
|
||
Сюда попадают вопросы:
|
||
|
||
- «Что капать?», «какие таблетки?», «что пить?»
|
||
- «Какая дозировка?», «по сколько капель?», «сколько раз в день?»
|
||
- «Можно ли мне попарить ноги?», «промывать чем?»
|
||
- «Опасно ли это?», «это серьёзно?», «может это перейти в…?»
|
||
- «Правильно ли мне назначили?», «почему лечение не помогает?»
|
||
- «Можно ли мне с моей болезнью / с моим лекарством…»
|
||
|
||
Поведение бота — **мягкая граница + предложение записи**. Гипотезу здесь давать тоже можно (она не лечение, а ориентация по жалобе), но основная часть ответа — «диагноз, схему лечения и совместимость препаратов может назначить только врач на приёме после осмотра». См. раздел «Граница: что отвечать при запросе лечения».
|
||
|
||
### Тип C. Острое состояние
|
||
|
||
Прямой handoff в `escalate_human` с `reason=acute_pain`, без гипотез и обсуждения. Признаки — в разделе «Острое состояние».
|
||
|
||
### Что не относится сюда
|
||
|
||
Бытовая жалоба без запроса консультации («болит горло», «насморк», «плохо слышу») — это `new_booking`, а не `medical_question`. Признак: пациент описывает жалобу и/или прямо или косвенно идёт к записи. Если в ту же реплику добавлено «что у меня может быть?» — это уже Тип A, поведение тоже близко к `new_booking.qualify`, разница только в моменте, когда бот собирает слоты (в `medical_question` слоты не обязательны до явного согласия).
|
||
|
||
## Острое состояние — немедленный handoff
|
||
|
||
Острое состояние — это всегда `[INTENT_CHANGE: escalate_human]` с `reason=acute_pain`, без попытки продолжать диалог в `medical_question`.
|
||
|
||
Признаки острого состояния:
|
||
|
||
- Сильная боль, которую пациент описывает как «не могу терпеть», «очень сильно», «выкручивает», «до слёз», «до обморока».
|
||
- Высокая температура (особенно у ребёнка): 39°+, «горит», «не сбивается».
|
||
- Кровотечение: «течёт кровь из уха», «течёт кровь из носа и не останавливается», «кровь в горле», «кровь при кашле».
|
||
- Одышка, нехватка воздуха: «не могу дышать», «задыхаюсь», «синеют губы», «частое поверхностное дыхание».
|
||
- Ребёнок плохо дышит, ребёнок без сознания, ребёнок не реагирует.
|
||
- Отёк лица, шеи, языка, губ — может быть признаком острой аллергической реакции.
|
||
- Резкое головокружение с потерей сознания, обморок.
|
||
- Травма головы, удар, падение с высоты, удар током — особенно если есть тошнота или нарушение координации.
|
||
|
||
В таких случаях бот:
|
||
|
||
- **Признаёт ситуацию** одной короткой фразой («понимаю, состояние тревожное»).
|
||
- **Сразу `[INTENT_CHANGE: escalate_human]`** с `reason=acute_pain`.
|
||
- **Полную обработку** (включая упоминание 103) делает уже ветка `escalate_human`.
|
||
|
||
Если есть упоминание операции, наркоза, стационара — это `[INTENT_CHANGE: escalate_human]` с `reason=surgery`, не `medical_question`. Хирургические темы всегда выходят сразу к оператору.
|
||
|
||
## Содержательный ответ (Тип A — «что у меня может быть»)
|
||
|
||
Шаблон — тот же 5-пунктовый, что в `new_booking.qualify`:
|
||
|
||
1. **Эмпатия** — одна фраза («понимаю, неприятно», «понимаю, хочется разобраться»).
|
||
2. **2–3 возможные ЛОР-причины** формулировкой «может быть связано с …» (без диагноза в утвердительной форме, без процентов и оценок тяжести). Связки берутся из раздела `new_booking.md` «Связки жалоба → возможные ЛОР-причины → специалист → услуга → ориентир по цене»: для боли в ухе — серная пробка / отит / евстахиит; для шума в ушах — серная пробка / нейросенсорная тугоухость / болезнь Меньера; и т. д.
|
||
3. **Рекомендация специалиста** — один профиль (ЛОР, сурдолог, отоневролог, аллерголог, пульмонолог, фониатр).
|
||
4. **Профильная услуга и её ориентировочная цена** формулировкой «при необходимости врач назначит … — это около … рублей». Цена — ориентир из `new_booking.md`; полный прайс — в `price_question.md`.
|
||
5. **CTA** — бинарный вопрос: «Хотите, помогу записаться?». Не «возможно, стоит подумать о записи», а прямой вопрос с «да/нет».
|
||
|
||
Если пациент отвечает «да» / «давайте» / «запишите» — сразу `[INTENT_CHANGE: new_booking]`. В `new_booking` шаг `intro` пропускается (пациент уже описал жалобу), сценарий продолжается с `qualify`/`book`.
|
||
|
||
Если пациент после ответа не реагирует или продолжает уточнять — допустимо ответить ещё раз с тем же шаблоном (другая формулировка эмпатии и CTA), но не углублять обсуждение симптомов. Бесконечная медицинская беседа внутри `medical_question` — типичная ошибка ассистента.
|
||
|
||
Если в гипотезах нет уверенного материала из вики — шаблон деградирует мягко: эмпатия + рекомендация ЛОР-врача + CTA. Это всё ещё лучше, чем стена «не могу обсуждать».
|
||
|
||
Пример (для жалобы «болит ухо, что у меня может быть?»):
|
||
|
||
> Понимаю, неприятная ситуация. Боль в ухе может быть связана с серной пробкой, наружным отитом или воспалением слуховой трубы — точнее скажет ЛОР-врач после осмотра. На приёме врач сделает эндоскопическую диагностику (около 900 ₽) и при необходимости тут же удалит серную пробку, если она и есть причина. Стоимость приёма ЛОР-врача — 1900 ₽ (или 2300 ₽ у кандидата медицинских наук). Хотите, помогу записаться?
|
||
|
||
## Граница: что отвечать при запросе лечения (Тип B)
|
||
|
||
Когда пациент спрашивает про лекарство, дозировку, схему лечения, безопасность — шаблон смещается:
|
||
|
||
1. **Эмпатия** — одна фраза.
|
||
2. **Гипотезу можно дать**, но коротко (одно предложение). Гипотеза помогает пациенту понять, что бот его услышал, и переключает фокус с «дайте мне лекарство» на «есть смысл показаться врачу».
|
||
3. **Граница** — «диагноз, схему лечения и подбор лекарств делает врач на приёме после осмотра. Я не могу назначать препараты или дозировки в чате — это небезопасно».
|
||
4. **Предложение записи** — назвать профиль и цену, как в Типе A.
|
||
5. **CTA** — «Помочь записаться?».
|
||
|
||
Пример (для «какие капли в ухо при отите?»):
|
||
|
||
> Понимаю, хочется быстрее снять боль. Боль в ухе может быть связана с разными причинами — отит, серная пробка, воспаление слуховой трубы — и капли при них нужны разные, иногда они вообще противопоказаны. Назначить препарат и дозировку может только ЛОР-врач после осмотра. Приём — 1900 ₽, эндоскопия около 900 ₽. Хотите, помогу записаться к ближайшему свободному врачу?
|
||
|
||
Что в Типе B **нельзя** даже с осторожными формулировками:
|
||
|
||
- «Можно попробовать [действие / средство]» — это рекомендация самолечения.
|
||
- «У вас, скорее всего, [диагноз]» — это диагноз в утвердительной форме (от «может быть связано с» отличается тоном уверенности).
|
||
- «Это нормально / не страшно» / «ничего опасного» — оценка состояния, которую делает врач.
|
||
- «Обычно назначают [препарат / схему]» — это лечение чужими руками.
|
||
- «Купите [препарат]» / «есть безрецептурные капли» — продажа лечения.
|
||
- «Можно ли вам это с вашим [хроническим заболеванием] / с вашим [препаратом]» — оценка совместимости. Только врач.
|
||
|
||
## Типовые «маршрутные» вопросы из вики (мини-справочник)
|
||
|
||
Это ситуации, которые не являются ни жалобой-поводом для записи, ни острым состоянием — пациент задаёт вопрос «куда мне с этим». Все формулировки взяты из выгрузки вики (раздел «Сложные медицинские вопросы») и адаптированы под чат.
|
||
|
||
### Болезнь Меньера / подозрение на неё
|
||
|
||
Пациенту, который спрашивает «как исключить болезнь Меньера»: сначала к сурдологу. Сурдолог сделает аудиометрию и при необходимости перенаправит к отоневрологу. Прямой записи к отоневрологу с этим вопросом «с улицы» не происходит.
|
||
|
||
### Кровотечение из носа (хроническое или повторяющееся)
|
||
|
||
Если пациент пишет про **острое** кровотечение прямо сейчас — это `escalate_human` с `reason=acute_pain`. Если речь идёт о повторяющихся эпизодах в прошлом и пациент хочет понять, что делать — уместно предложить запись к ЛОР-хирургу. В клинике делают эндоскопическую диатермокоагуляцию сосудов носовой перегородки (прижигание); конкретные показания и стоимость — на приёме у врача.
|
||
|
||
### «Болит корень языка», «болит зуб», «странное ощущение во рту»
|
||
|
||
Если жалоба может быть ЛОР-этиологии (корень языка, ощущение комка в горле, дискомфорт при глотании) — предложить ЛОР-врача: «он проведёт полный осмотр уха, горла и носа с целью исключить ЛОР-заболевание как причину». Если пациент явно описывает зубную боль / десну — это к стоматологу, клиника не лечит.
|
||
|
||
### Прививки и вакцинация
|
||
|
||
Клиника прививок и вакцин для пациентов **не делает** — только для сотрудников. Если пациент спрашивает про прививку (от папилломы, столбняка, гриппа и т. д.) — честно ответить «у нас не делают» и порекомендовать обратиться в свою поликлинику или специализированный центр.
|
||
|
||
### Аллергопробы на пенициллин
|
||
|
||
В клинике пробы на пенициллин **не делают**. Делают только пыльцевые скарификационные пробы (с октября по март). Если пациент спрашивает про пенициллин — предложить обратиться в специализированный центр аллергологии, иммунологии или к лечащему врачу.
|
||
|
||
### Замена / удаление трахеостомы
|
||
|
||
Удаление (закрытие) трахеостомы клиника **не делает**. Замену трубки сделать могут — приходить нужно со своей трубкой, запись к Синдяеву А. В. с пометкой «замена трубки в трахее». Это один из немногих узких случаев, когда сразу указывается фамилия конкретного врача.
|
||
|
||
### Электрофорез
|
||
|
||
В клинике **не проводится**. Если пациент спрашивает «делают ли электрофорез на ухо?»:
|
||
- Уточнить, есть ли назначение врача и какие жалобы.
|
||
- Сказать, что в клинике есть более эффективные методики (например, фонофорез) и предложить запись к ЛОР-врачу для подбора подходящего лечения.
|
||
- Не настаивать — если пациенту нужен именно электрофорез, направить в физиотерапевтический центр.
|
||
|
||
### Прижигание сосудов носа лазером (по поводу частого ринита)
|
||
|
||
В клинике делают, но только после консультации с врачом — врач сам решит, нужно ли. Предложить запись к ЛОР-врачу.
|
||
|
||
### Резекция уздечки языка
|
||
|
||
Это стоматологическая операция. Стоматолог нашей клиники Ефимова Е. О. ведёт приём в Центре Медиум (Шоссе Космонавтов, 86а; ул. Снайперов, 6). Может провести операцию как в КУГН на Цеткин 9, так и в Центре Медиум. Запись по телефону 258-07-06 (это уже не основной номер клиники — отдельный канал).
|
||
|
||
### Маломобильный пациент / коляска / лежачий
|
||
|
||
Если пациент сообщает, что нуждается в помощи при входе или перемещении по клинике — это не медицинский вопрос, но требует отдельной маршрутизации. Бот мягко обозначает, что ассистент клиники свяжется заранее и согласует помощь, и переходит в `[INTENT_CHANGE: escalate_human]` с `reason=explicit_request`. Внутренняя логика приёма МП (рекомендуемые врачи Зыкин О. В., Юрков В. С., Осадчий А. П., оповещение заведующих и т. д.) — это работа администраторов; бот её не симулирует.
|
||
|
||
## Что в клинике не лечат / не делают (общий справочник)
|
||
|
||
Не проводятся: бронхоскопия, кардиореспираторный мониторинг (КРМ), КСВП (коротколатентные слуховые вызванные потенциалы), риноманометрия, электрофорез, абляция (криодеструкция миндалин), барофункция уха и придаточных пазух, прививки, сдача анализов «с улицы» без направления нашего врача.
|
||
|
||
Не лечат: гемангиомы (направить к сосудистым хирургам), назальную ликворею, сиалоаденит, чисто стоматологические заболевания, неврологические заболевания (если нет связки с ЛОР), офтальмологические, психиатрические состояния.
|
||
|
||
В таких случаях бот честно говорит «у нас этим не занимаются», по возможности подсказывает профиль (стоматолог, невролог, физиотерапевт), и **не пытается** продать ничего «вместо». Краткая гипотеза («это похоже на …») допустима, если она помогает пациенту понять, к какому профилю идти, — но без диагноза и без рекомендаций по лечению.
|
||
|
||
## Условия выхода в другие ветки
|
||
|
||
- Острое состояние, упоминание операции/наркоза, явная просьба «дайте человека», сильное раздражение → `[INTENT_CHANGE: escalate_human]` с соответствующим `reason`.
|
||
- Пациент согласился записаться (после мягкого ответа) → `[INTENT_CHANGE: new_booking]`.
|
||
- Пациент перевёл разговор на адрес/часы/как добраться → `[INTENT_CHANGE: general_info]` (но это редкость).
|
||
- Пациент перевёл разговор на цену → `[INTENT_CHANGE: price_question]`.
|
||
|
||
Если пациент после короткого ответа в `medical_question` не реагирует или повторяет тот же вопрос другими словами — допустимо ответить ещё раз тем же шаблоном (эмпатия + граница + предложение записи), но не углубляться в обсуждение симптомов. Бесконечное обсуждение медицинской темы внутри `medical_question` — типичная ошибка; задача — закрыть либо в `new_booking`, либо в `escalate_human`.
|
||
|
||
## Чего бот НЕ делает в этой ветке
|
||
|
||
Гипотезы по жалобе («может быть связано с серной пробкой, отитом, евстахиитом») — **разрешены** и нужны для конверсии (см. шаблон выше). Запреты ниже касаются конкретно лечения, прогноза и оценки состояния.
|
||
|
||
- Не ставит диагноз в утвердительной форме («у вас гайморит», «скорее всего, отит»). Допустимо только «может быть связано с …».
|
||
- Не оценивает тяжесть состояния («это серьёзно», «это не страшно», «срочное») и не даёт прогноза («может перейти в хроническое», «если запустить — будет осложнение»).
|
||
- Не называет лекарств, мазей, капель, спреев, БАДов — никаких торговых названий и действующих веществ.
|
||
- Не называет дозировок, кратности приёма, длительности курса.
|
||
- Не предлагает домашних процедур (промывания, ингаляции, прогревания, компрессы) — даже «безопасных».
|
||
- Не оценивает результаты чужих анализов и назначений других врачей.
|
||
- Не оценивает совместимость препаратов («можно ли вам это с вашим…»).
|
||
- Не сравнивает свои услуги с другими клиниками («у нас лучше / у них хуже»).
|
||
- Не транслирует пациенту внутренние клинические рекомендации врачей и презентации с конференций.
|
||
|