«Электронная медсестра»
Врач смотрит на пациента, а не в клавиатуру. ИИ слушает приём и сам готовит медицинскую документацию — врачу остаётся проверить.
- C# / .NET 10
- WPF
- ASP.NET Core
- SignalR
- Python
- GigaAM
- LLM
- Firebird
Директор и главный врач хотели освободить врачей от набора текста в медицинской системе. Особенно тех, кто печатает медленно и с трудом работает в программе: приём затягивается, а внимание уходит от пациента к экрану.
Врач выбирает пациента и нажимает «Запись приёма», в конце — «Стоп». Дальше система работает сама, а врач получает готовый черновик: проверяет, правит и сохраняет.
Запись
Приложение врача записывает приём и отправляет звук на сервер. Как идёт обработка, врач видит в реальном времени.
Распознавание
Отдельный обработчик на Python выравнивает звук, отбрасывает тишину, режет запись на части и распознаёт их моделью GigaAM. Затем локальная языковая модель исправляет текст и разделяет реплики врача и пациента.
Анамнез
Все прошлые приёмы пациента у врачей разных специальностей сводятся в 1–2 строки на приём: жалобы, диагнозы, назначения. Раньше врач читал 3–7 страниц.
Динамика анализов
5–15 страниц анализов за 5–8 лет превращаются в графики, отсортированные по важности: видны рост, снижение, скачки и нормализация показателей.
Документация
Конвейер из нескольких шагов языковой модели заполняет шаблон приёма, выделяет диагнозы, которые поставил врач, и предлагает подсказки: возможные диагнозы, варианты лечения и назначений. Решение всегда принимает врач.
Сохранение
После подтверждения врача приём записывается в медицинскую систему клиники.
Непростое
Шаги конвейера настраиваются без программиста: порядок, промпты, модели. Каждый ответ модели проверяется по JSON-схеме. Если что-то не сходится, приём помечается «нужна проверка» и в карту не уходит.
Медицинские данные не попадают в логи целиком, а путь каждого приёма через всю систему прослеживается по сквозному идентификатору.
Чужая правка не потеряется
При сохранении черновика проверяется его версия: два человека не перезапишут изменения друг друга.
- C# / .NET 10приложение врача на WPF, сервер на ASP.NET Core, SignalR для статусов в реальном времени.
- Pythonраспознавание речи: FFmpeg, отсечение тишины, GigaAM.
- Языковые моделилокальные, через собственный шлюз LLA Control (работа 05). Провайдер и модель для каждого шага выбираются в настройках конвейера.
- Firebirdочередь задач и черновики приёмов.
Пилот: три клинических случая разобраны детально. По замечаниям врача я доработал конвейер и откалибровал его по эталонным разборам, которые подготовил тот же врач. Комплекс работает и прошёл пилот.
В постоянную работу он пока не вышел, и причина честная. Записи приёмов — медицинские данные, их нельзя отправлять в облако, значит, модели должны работать внутри клиники. Для всех врачей нужны дополнительные серверы, а они оказались слишком дорогими.