Mayo Clinic и Ubie разработают ИИ-платформу для умной маршрутизации пациентов
- 2 мин
- 166
Пример разработки индивидуального чат-бота Telegram для медицинского центра c записью на приём и интеграцией с Медицинской информационной системой МИС Medesk.
Мы поговорили с разработчиком решения программистом Ильдаром Хакимов о том, какие работы были проведены для медицинского центра.
Справка:
Заказчик — центр клинических исследований «Неббиоло». Центр работает с 2011 года в Томске. Среднесписочная численность: 12 человек.
Выручка за 2025 год составила 56,43 млн ₽, чистая прибыль — 8,61 млн ₽. Центр не получает бюджетного финансирования и не работает в системе ОМС.
Генеральный директор Центра — Макеева Оксана Алексеевна.
Ильдар Хакимов — ведущий разработчик ИТ-компании Online-Media.
Какие работы были сделаны для клиники Неббиоло по автоматизации с МИС Medesk?
Мы собрали модули и запустили чат-бота телеграм. Как это работает:
Данные о сотрудниках обновляются из Медеск по запросу системы 4 раза в сутки. Пользователи могут записаться на прием к конкретному сотруднику на определенное время как в телеграм, так и на сайте.
В процессе записи, после того, как пользователь выбрал специалиста, система запрашивает медеск о свободных слотах (список дат и промежутков времен на которые можно записаться) - выбранного сотрудника и показывает эту информацию пользователю в виде календаря.
Если свободного времени у специалиста нет, то пользователь может оставить "обращение", указав свои ФИО и телефон - только на сайте.
После отправки формы система резервирует слот в медеск. В случае успеха уведомляет пользователя об этом, а в случае неудачи предлагает пользователю записаться на другое время.
Если пользователь записывался через телеграм, или система определила, что у пользователя есть телеграм, то за день до приема, в 8 утра, система инициирует диалог "Подтверждение приема" - отправляет пользователю напоминание и запрашивает подтверждение приема.
Если пользователь не ответил на этот запрос, то в 12 часов предыдущего дня администратору - пользователю, в настройках которого включена настройка "Уведомлять о новых сообщениях" - отправляется сообщение вида "Пациент не подтвердил прием. Позвоните для уточнения."
Если пользователь записался позже 01 часа ночи предыдущего дня, то администратору отправляется сообщение вида "Пациент записан на прием без подтверждения. Звоните для уточнения статуса приема."
Так же администратору отправляется сообщение вида "От пользователя {{user_name}} получено новое сообщение", если пользователь отправил сообщение боту.
Через 2 часа после приема система инициирует диалог "Анкета" с пользователем
Какие модули есть в телеграм?
Какие модули связаны с медицинской системой Медеск?
Модуль «Сотрудники» — это список сотрудников и их данные: группы, фото, отделения, филиалы, описание, ссылка. Данные поступают из Медеск, но могут добавляться или редактироваться и в cms. Используются и для показа на сайте https://nebbiolomed.ru/staff/ и в процессе записи пользователей на прием.
Группы сотрудников — используются в процессе записи на прием
Модуль «Запись на прием» — записи модуля создаются автоматически, после проведения записи на прием на сайте или в телеграм. Данные: источник записи (сайт или телеграм), дата и время записи, дата и время приема, имя пользователя и ссылка на его профиль в cms (с возможностью отправки ему сообщения), к какому сотруднику записан, удалось ли зарезервировать время в Медеск, был ли отправлен запрос на подтверждение приема пользователю и если да, то ответ пользователя и инструкцию для администратора, варианты.
Ответил согласием
Ответил отказом. Отмените прием и отключите данное предупреждение
Не ответил (время на ответ вышло). Необходимо связаться с пациентом, отключить данное предупреждение и, при необходимости, отменить прием
Пациент записался на прием позже 1:00 предыдущего от даты приема дня и ему не был отправлен запрос на подтверждение. Необходимо связаться с пациентом, при необходимости отменить прием и отключить данное предупреждение
Служебный модуль для отправки запросов в Медеск и обработки ответов
Как работает чат-бот для записи пациентов?
Базовые команды телеграм
start - регистрация пользователя, показ подготовленного приветствия
текст редактируется
если включен "Ограниченный доступ", то бот вместе с командой start ожидает получить строку для аутентификации пользователя https://nebbiolomed.ru/cms/users/?tp=1023&a=telegram&i=8442&p=1&per_page=30
help - О чат-боте - показ справки
текст редактируется
Команды телеграм в проекте
medical_support - Программы врачебного сопровождения - система отправляет в ответ сообщение https://nebbiolomed.ru/cms/content/?tp=1178&a=1&page_id=0&i=18&p=1&per_page=30
children_s_project - Программы наблюдения для детей - система отправляет в ответ сообщение https://nebbiolomed.ru/cms/content/?tp=1178&a=1&page_id=0&i=17&p=1&per_page=30
ask - Задать вопрос - система отправляет в ответ сообщение https://nebbiolomed.ru/cms/content/?tp=1178&a=1&page_id=0&i=15&p=1&per_page=30
reserve - Записаться на прием. Система инициирует диалог "Записаться на прием"
Диалоги
"Записаться на прием"
Пользователь выбирает группу сотрудников из списка - Генетик и пр.
Выбирает сотрудника из списка
Видит информацию о сотруднике и календарь за текущий месяц, дни со свободными слотами помечены зеленой точкой, текущий день желтым ромбом. Можно изменить месяц, присутствует информация о дне неделе
Выбирает время записи
Указывает свое имя или подтвеждает введенное ранее, указывает или подтверждает номер телефона
Принимает условия политики конфиденциальности и дает согласие на сбор и обработку персональных данных
На любом этапе можно вернуться назад
В случае неудачи резервирования, например если выбранное время уже было занято, пользователь получает соответствующее уведомление и возвращает на этап выбора времени (если в выбранный день есть другие свободные слоты) или даты
В случае удачи получает сообщение вида https://nebbiolomed.ru/cms/content/?tp=1178&a=1&page_id=0&i=8&p=1&per_page=30
"Подтверждение приема"
Диалог инициируется системой за день до приема в 8 утра
Пользователю отправляется уведомление https://nebbiolomed.ru/cms/content/?tp=1178&a=1&page_id=0&i=14&p=1&per_page=30 и кнопки "Нет" и "Да". Ответ пользователя записывается в систему, администратор видит его в модуле "Записи на прием"
"Анкета"
Инициируется через 2 часа после назначенного времени приема.
https://nebbiolomed.ru/cms/content/?tp=1178&a=1&page_id=0&i=13&p=1&per_page=30
Вопрос "Оцените, пожалуйста, консультацию нашего специалиста" и кнопки с ответами от 1 до 5.
В случае ответа от 1 до 3 отправляется сообщение "Спасибо за оценку, можете оставить комментарий"
В случае ответа 4 или 5 отправляется сообщение "Спасибо за оценку, оставьте, пожалуйста, отзыв" и кнопка "Оставить отзыв" ведущая на https://prodoctorov.ru/tomsk/lpu/31599-nebbiolo/
Сколько заняло времени внедрение?
Сложно сказать, работы велись в 22-23 году. Выгрузил задачи по nbl за это время, подсчитал время по связанным задачам, вышло около 150-200 часов, но это только на мне, непосредственно программирование. Плюс работали Света и Дима над версткой и фронтендом по записи на прием. Можно добавить еще часов 70. Ну и велись переговоры, обсуждения.
Подписывайтесь на наши каналы:
Телеграм-канал — https://t.me/med_center
ВКонтакте — https://vk.com/dirmedcenter
MAX — https://max.ru/channel_directormed