Чат-бот для хранения медицинских данных

Платформа: Telegram

Основная задача:

Организовать удобное хранилище файлов для пациентов и обеспечить доступа к информации отдельным врачам.

Хочу такой-же

Описание проекта

Наша команда разработала стартап в формате телеграмм-бота для хранения и обмена информацией между пациентами и врачами. В данном боте пациенты имеют возможность добавлять свои медицинские данные текстовым сообщением, фотографией или PDF-файлом. Медицинские данные передаются в сервис Webiomed для их дальнейшего анализа и предоставления рекомендаций для пациенту. Пациент получает результаты анализа через телеграмм-бота в разделе «Рекомендации». Все свои данные, включая рекомендации, пациент может передать врачу, зарегистрированному в системе. Если врача нет в телеграмм-боте, то пациент может сгенерировать ему QR-код для приглашения зарегестрироваться в системе. Основная модель монетизации сервиса – продажа лида (пациента с результатами анализа) клиникам, клинико-диагностическим лабораториям или аптекам. По результатам анализа электронной медицинской карты в административной панели формируется бриф о пациенте (его ФИО, возраст, контакты и возможные заболевания).

Технологии

  • Python
  • PostgreSQL
  • Docker
  • Telegram API

Функционал

Медицинская карта пациента

Медицинская карта пациента – это файловое хранилище, упорядоченное по дате загрузки и типу данных. Пациент может загружать файлы (результаты анализов) путем набора текста, отправки фотографии документа или загрузки pdf-файла. Эти данные по умолчанию доступны только пациенту. При загрузке файлов пациент указывает дату, специализацию врача и диагноз. Загруженные файлы помещаются в раздел, содержащий в названии дату и тип исследования. В настройках пациент может выбрать диапазон дат или тип исследований и отобразить только те папки, которые попадают под указанные критерии.

Доступ к данным

К каждому файлу или папке пациент может открыть доступ для выбранного врача. Для этого пациент отмечает папки или файлы и выбирает, кому из врачей он предоставляет доступ. После этого у открытых для доступа файлов и папок появляется подпись с указанием ФИО врача, кому предоставлен доступ. Для папки или файла может быть открыт доступ одновременно для нескольких врачей. Пациент может в любой момент убрать из доступа файлы или папки. Для этого он нажимает на пиктограмму рядом с ФИО врача, кому предоставлен доступ. В тот момент, когда пользователь открыл доступ к файлу – врачу, которому он открыл доступ, приходит уведомление о данном действии. Если пациент открыл доступ к своим файлам какому-либо врачу бессрочно, то в момент загрузки файла врачу приходит такое же уведомление.

Календарь пациента

У пациента есть календарь, в котором он может отмечать периоды или отдельные даты, и писать соответствующие комментарии. Также есть возможность установить уведомления о событиях в календаре. Для отдельных дат устанавливаются: оповещения в момент наступления даты; оповещения за установленный срок (например, за 2 дня до наступления события). Для периодов устанавливаются: оповещение в момент наступления; оповещение за установленный срок (например, за 2 дня до наступления события); оповещение каждые сутки. Пациент может удалять, добавлять, изменять периоды и отдельные даты. Если пациент открывает доступ к какому-либо файлу для врача, то врач получает доступ к календарю пациента. Он видит все события в этом календаре и может добавлять даты и периоды в календарь пользователя. К каждому событию в календаре пациент и врач могут оставлять комментарии в виде сообщений, упорядоченных по дате.

Список пациентов врача

У каждого врача в личном кабинете есть список его пациентов. Пациентом считается тот пользователь, который открыл доступ к каким-либо своим файлам для данного врача. Со страницы, на которой представлен список пациентов, врач может перейти в медицинскую карточку выбранного пациента. В ней он видит все файлы, которые ему предоставил пользователь. Врач имеет право писать комментарии к файлам в виде сообщений. Также врачу доступен календарь пользователя со всеми отмеченными датами и периодами. Все данные врач может сохранить в формате PDF.

Интеграция с сервисом Webiomed

При регистрации нового пациента Telegram-бот авторизуется в платформе Webiomed и регистрирует пациента в сервисе. Получив от Webiomed код пациента (PacienID), Telegram-бот записывает его в свою базу данных. При поступлении новых данных о пациенте в Telegram-бот отправляет новые полученные данные в Webiomed и возвращает пользователю рекомендацию от сервиса.

Возможности администратора

У администратора существует механизм доступа к учетным записям любых пользователей (кроме администраторов) от имени этих же пользователей. Для этого администратор водит e-mail пользователя, под которым ему нужно зайти в систему и через специальный интерфейс получает доступ к кабинету пользователя. При этом все действия, которые производит администратор в таком режиме, совершаются от имени пользователя. Этот функционал крайне необходим для оперативной поддержки пользователей системы. Администратор имеет доступ к странице, на которой отображены логи системы за определенный период (180 дней). Таким образом, администратор в любой момент может посмотреть действия пользователя в системе, совершенные им за 180 дней. У администратора системы есть список с регистрационными данными врачей, которые хотят зарегистрироваться в системе. Администратор может разрешить регистрацию или удалить анкету.

Итог

Создали удобную систему хранения медицинских данных для более чем 3000 пациентов.

ХОЧУ ТАКОГО-ЖЕ ЧАТ-БОТА
Похожие кейсы