В современном мире искусственный интеллект и мессенджеры становятся мощными инструментами в медицине. Один из самых востребованных сценариев – анализ магнитно‑резонансных томограмм (МРТ) и рентгеновских снимков, полученных в виде фотографий или PDF‑документов, непосредственно в Telegram. В этой статье мы подробно разберём, как построить такого бота, какие задачи он решает для частных клиник, какие метрики следует отслеживать и какие юридические нюансы необходимо учитывать.
Что может делать Telegram‑бот для диагностики МРТ?
Бот MedDecode (пример из реального проекта) принимает от пользователя:
- Фотографию МРТ‑снимка (формат JPG/PNG);
- PDF‑файл с результатом исследования.
Далее происходит:
- Распознавание текста (OCR) – извлечение подписей, параметров, измерений.
- Передача полученного текста в модель GPT‑4o‑mini (или аналогичную) для генерации понятного объяснения.
- Отправка пользователю развернутого ответа: что означают показатели, какие патологии могут быть подозреваемы, рекомендации по дальнейшим действиям.
Бот может также выполнять дополнительные функции:
- Автоматическая запись пациента на повторное МРТ.
- Отправка напоминаний о предстоящих приёмах.
- Сбор обратной связи и оценка уровня удовлетворённости.
Ключевые преимущества для клиники
- Снижение количества неявок – пациент получает предварительный результат сразу после загрузки снимка;
- Увеличение вовлечённости – интерактивный чат‑бот мотивирует пользоваться сервисом.
- Оптимизация работы врачей – AI предварительно классифицирует снимки, оставляя врачам только подтверждение.
Техническая архитектура бота
Основные компоненты
| Компонент | Назначение | Технологии |
|---|---|---|
| Telegram Bot API | Получение сообщений, отправка ответов | Python (aiogram), Node.js (telegraf) |
| OCR‑модуль | Извлечение текста из изображений и PDF | Tesseract, EasyOCR, Google Vision API |
| LLM‑модель | Генерация медицинского объяснения | OpenAI GPT‑4o‑mini, Google Gemini, локальная LLaMA |
| База данных | Хранение истории запросов, логов, согласий | PostgreSQL, MongoDB |
| Сервис хранения файлов | Сохранение оригинальных снимков (при необходимости) | AWS S3, Yandex Object Storage |
Пошаговый процесс обработки сообщения
- Получение сообщения – бот принимает фото/PDF через метод
sendPhotoилиsendDocument. - Валидация формата – проверка MIME‑типа, размера, наличия метаданных.
- Сохранение во временное хранилище – файл помещается в облако с ограниченным сроком жизни (например, 24 ч).
- OCR‑обработка – вызывается сервис распознавания, результат сохраняется как чистый текст.
- Формирование prompt – текст + контекст (тип исследования, возраст пациента) передаётся в LLM.
- Генерация ответа – модель возвращает структурированный отчёт (разделы: «Описание», «Возможные патологии», «Рекомендации»).
- Логирование и аналитика – сохраняются метрики (время обработки, количество запросов, уровень удовлетворённости).
Как создать собственного бота «МРТ‑Диагност»
Регистрация бота в Telegram
- Откройте @BotFather в Telegram.
- Отправьте команду
/newbotи следуйте инструкциям. - Сохраните полученный токен – он понадобится в коде.
Настройка окружения
python -m venv venv source venv/bin/activate pip install aiogram==3.0.0 pip install pytesseract pillow pdf2image openai
Минимальный рабочий скрипт
import os
import logging
from aiogram import Bot, Dispatcher, types
from aiogram.filters import Command
from aiogram.types import InputFile
import pytesseract
from PIL import Image
import openai
API_TOKEN = os.getenv("TELEGRAM_TOKEN")
OPENAI_KEY = os.getenv("OPENAI_KEY")
openai.api_key = OPENAI_KEY
logging.basicConfig(level=logging.INFO)
bot = Bot(token=API_TOKEN)
dp = Dispatcher
@dp.message(Command("start"))
async def cmd_start(message: types.Message):
await message.answer(
"👋 Привет! Я бот для предварительной диагностики МРТ.
"
"Отправь мне фото или PDF‑файл, и я расскажу, что на нём видно."
)
@dp.message(lambda msg: msg.photo or msg.document)
async def handle_file(message: types.Message):
# 1️⃣ Скачиваем файл
file = await message.photo[-1].download if message.photo else await message.document.download
# 2️⃣ OCR
img = Image.open(file)
text = pytesseract.image_to_string(img, lang="rus+eng")
# 3️⃣ Формируем запрос к GPT‑4o‑mini
prompt = f"Ты врач‑радиолог. На основе следующего текста из МРТ‑отчёта дай простое объяснение пациенту:
{text}
Ответ дай в виде списка пунктов."
response = openai.ChatCompletion.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": prompt}],
temperature=0.2,
)
answer = response.choices[0].message.content
if __name__ == "__main__":
dp.run_polling(bot)
Это базовый прототип. В продакшн‑версии необходимо добавить:
- Обработку PDF (конвертация в изображения через
pdf2image); - Защиту персональных данных (шифрование, ограничение доступа);
- Согласие пользователя (GDPR/Российский закон о персональных данных);
- Лимиты запросов и мониторинг нагрузки.
Интеграция с медицинской информационной системой (МИС)
Для автоматической записи на повторные исследования можно использовать веб‑хуки от МИС:
- Бот получает
callback_queryс подтверждением записи. - Через API МИС (REST) создаётся запись в расписании.
- Пациент получает подтверждающее сообщение и QR‑код.
Метрики и аналитика
Чтобы оценить эффективность бота, следует отслеживать следующие KPI:
| Метрика | Как измерять | Целевое значение |
|---|---|---|
| Количество запросов в сутки | Логи бота | ≥ 500 |
| Среднее время обработки (сек) | Время от получения файла до отправки ответа | ≤ 15 |
| Уровень удовлетворённости | Кнопка «👍/👎» после ответа | ≥ 80 % |
| Снижение неявок | Сравнение записей до и после внедрения бота | ‑10 % |
Для визуализации удобно подключить Google Data Studio или Grafana к базе данных.
Правовые и этические аспекты
Конфиденциальность данных
- Собирайте явное согласие пользователя перед обработкой снимка (см.
/start– «Нажимая «Продолжить», вы соглашаетесь…»). - Храните изображения не более 24 часов, после чего они автоматически удаляются.
- Шифруйте файлы в хранилище (AES‑256) и используйте TLS для всех соединений.
Ограничения ответственности
Бот предоставляет только предварительную информацию. В каждом ответе необходимо указывать:
«Это не заменяет консультацию врача. При наличии вопросов обратитесь к специалисту».
Регистрация медицинского программного обеспечения
В России программные продукты, оказывающие медицинскую помощь, подпадают под требования Федерального закона №323‑ФЗ («Об основах охраны здоровья граждан в РФ»). Для коммерческого использования рекомендуется:
- Получить сертификат соответствия от Росздравнадзора.
- Оформить договор оферты с пользователями, где прописаны ограничения и условия обработки данных.
Лучшие практики взаимодействия с аудиторией
- Простота инструкций – в приветственном сообщении разместите короткое видео‑демо.
- Кнопки быстрого доступа – «Загрузить фото», «Записаться на МРТ», «Помощь».
- Обратная связь – после каждого ответа предлагайте оценить полезность.
- Регулярные обновления – публикуйте в канале новости о новых версиях бота и медицинских рекомендациях.
Примеры готовых решений
Среди уже существующих проектов можно выделить:
- MedDecode – бот, который распознаёт текст из PDF‑документов и генерирует пояснения.
- mrtbot – специализированный бот для анализа рентгеновских снимков, использующий Google Gemini AI.
- Telegram Medical Bot – платформа, позволяющая интегрировать любые AI‑модели в чат‑боты для медицины.
Все они демонстрируют, что интеграция AI и мессенджеров уже не фантастика, а реальный инструмент повышения качества обслуживания пациентов.
Создание Telegram‑бота, способного выполнять предварительную диагностику по фото МРТ, – это комбинация современных технологий (OCR, большие языковые модели, облачное хранение) и строгого соблюдения медицинских и правовых стандартов. При правильной реализации такой бот может:
- Уменьшить нагрузку на врачей, предоставляя им предварительно отфильтрованные случаи;
- Повысить удовлетворённость пациентов за счёт мгновенного доступа к информации;
- Сократить количество неявок и улучшить планирование диагностических процедур;
Если вы хотите внедрить подобное решение в свою клинику, начните с небольшого прототипа, протестируйте его на ограниченной группе пациентов и постепенно расширяйте функционал, учитывая обратную связь и требования законодательства.
Готовы попробовать? Запустите тестовый бот, загрузите свои МРТ‑снимки и убедитесь, насколько удобно получать быстрые пояснения от искусственного интеллекта прямо в Telegram!