Я здоров

yazapp.ru
MedTech
AI/ML
Мобильное приложение
Я здоров

«Я здоров» — внутренний medtech AI стартап ASAP.

Глобально проект «Я здоров» направлен на повышение возможностей ранней диагностики отклонений здоровья и превентивной медицины. За счёт сбора, агрегации и анализа данных о здоровье пациента из разных источников.
Первый этап — универсальная медицинская карта и сервис для онлайн-взаимодействия с медицинскими специалистами.

Основные идеи и миссии продукта

В основе идеи продукта лежит мысль о том, что людям важно не периодически лечиться от болезней, а поддерживать здоровье постоянно и превентивно. Мы верим, что будущее за профилактикой и регулярным мониторингом состояния здоровья, а не за решением проблем со здоровьем по мере их поступления.

На сегодняшний день потребности потребителей расходятся с тем, как устроен рынок здравоохранения: люди хотят быть здоровыми, а система здравоохранения лечит болезни. Человек живет обычной жизнью, заболевает, попадает в медицинскую систему, лечится и возвращается к жизни до следующей болезни — это фрагментированный подход.

Но современные тренды в медицине говорят о трансформации:

— От пациентоцентричности к клиентоцентричности — важно работать не с «пациентом с жалобами», а с человеком на всем протяжении его жизни.
— Профилактика, чек-апы и ранняя диагностика не менее важны, чем лечение.
— Интегративная медицина — понимание того, что все системы организма взаимосвязаны, и причины заболеваний часто выходят за рамки одного медицинского профиля.

В то же время развитие технологий, в частности искусственного интеллекта и машинного обучения, открывает возможности для обработки больших агрегированных массивов медицинских данных и их анализа. В совокупности это открывает новые диагностические возможности для выявления отклонений на ранних стадиях.

Поэтому основная миссия нашего продукта состоит в создании экосистемы, которая агрегирует все возможные данные о здоровье конкретного человека, анализирует их и дает персонализированные рекомендации — по образу жизни, питанию, необходимым анализам и консультациям профильных врачей.

Главная задача: обеспечить человеку постоянное здоровье, а не разовое лечение конкретных заболеваний.

Задачи проекта:

— Создать удобный инструмент хранения и структурирования медицинских данных
— Реализовать механизмы распознавания данных с бланков, в частности бланков анализов любых лабораторий
— Сделать возможность предоставления доступа к данным медицинскому специалисту и инструмент работы с ним в режиме онлайн
Эти задачи мы реализовали при помощи 2-х модулей, о которых расскажем далее.

Возможности приложения

Ассистент здоровья — это многофункциональный продукт, который позволяет взаимодействовать с медицинскими данными, получить консультацию специалиста и хранить все медицинские документы в одном месте. По сути это «семейный врач» в кармане. Мы уже внедрили следующие возможности:

— Медицинская карта
Здесь хранятся все анализы, обследования и назначения врачей, которые можно структурировать по папкам.
— Загрузка и распознавание бланков
Бланки можно загрузить в формате фотографий или pdf-файлов — система автоматически их распознает. Пользователю остается лишь проверить и сохранить.
— Семейный профиль
У пользователя есть возможность вести медицинские карты других членов семьи и быстро переключаться между профилями.
— Работа с медицинскими специалистами
Доступ специалистов к медицинской карте можно настроить. Также сервис дает возможность участвовать в опросах врачей.
— Текстово-голосовой ассистент
Позволяет взаимодействовать с функционалом приложения с помощью текстово-голосового интерфейса и задавать любые вопросы на тему медицины и здоровья.

Вторая картинка.png

Web-сервис для медицинских специалистов

Онлайн-кабинет для работы с пациентами: работа с данными медкарты, назначение анализов, обследований, опросов, направление рекомендаций.

Сайт 1.png

Авторизация, профиль и семья

В приложении и в web-сервисе реализована авторизация по номеру телефона и смс-коду. Пользователь может привязывать к профилю членов семьи и вести отдельную медицинскую карту например для ребенка или родителя.

Члены семьи.png

База анализов, обследований и назначений

Пользователь загружает анализы, обследования и назначения врачей файлами или фотографиями.

Загрузка результатов.png

После распознавания все данные хранятся в структурированном виде по разделам. Доступен поиск и фильтрация.
В детальной карточке анализа доступна история изменений с графиком для каждого компонента. Можно добавлять собственные примечания и видеть комментарии врача.

Обследования и фильтрация.png

Загрузка и распознавание бланков анализов

Самая сложная техническая задача проекта.
Необходимо распознавать бланки анализов разных лабораторий (с формата файлов и фотографий), сохраняя структурированные данные со следующими полями: название биомаркера, значение, единица измерения, референсные значения. Также с бланка нужно распознавать и сохранять общую информацию о анализе, такую как: ФИО пациента, возраст пациента, дата сдачи, название и адрес лаборатории, ФИО и должность врача.

Сложность задачи

— Биомаркеры имеют большое количество синонимов и вариантов сокращений. Кроме того, для каждого биомаркера может быть абсолютное и %-ое значение. При этом нам важно стабильно определять, что при разных написаниях в бланке — это один и тот же биомаркер.

— Нужно собрать большое количество данных  —названиях биомаркерах, синонимах, единицах измерения. При этом нет уверенности, что эта информация будет исчерпывающей, так как каждая лаборатория может по своему сократить название биомаркера.

— Сильно отличающаяся структура бланков, расположение элементов, затрудняющая установление связи (например название биоматериала — результат) из-за чего усложняется структурирование и возникают неточности.
Многие бланки не имеют строгой табличной структуры, из-за чего положения значений по координатам определяются некорректно.

— Собрать большой дата-сет бланков для обучения модели сложно, долго и дорого.

Анализы.png

Решение задачи

Формирование базы данных базы данных названий биомаркеров, синонимов, единиц измерений и референсных значений. Парсинг данных с сайтов лабораторий. Сбор данных с распознаваемых бланков. Агрегация данных.

Распознавание графических файлов с помощью OCR-моделей. Ансамблирование OCR

Детекция таблиц. Структурирование данных по собственным алгоритмам на основе текста и координат элементов. Векторный поиск для сопоставления синонимов и сокращений биомаркеров

Поиск нужных данных в распознанном тексте с помощью LLM-моделей. Тестируем разные модели.

Определённые ограничения накладывает то, что мы работаем с медицинскими данными — мы не можем использовать API внешних сервисов. Поэтому применяем серверные модели.

На данный момент мы имеем точность распознавания значений биомаркеров — 80-90%.

Некоторые идеи дальнейшего развития алгоритма распознавания:
— Обучение/дообучение модели на дата-сете бланков
— Ансамблирование LLM
— Ручная валидация результатов и дообучение на этих данных

Решению задачи распознавания бланков медицинских анализов мы посвятили отдельную статью. Прочитать ее можно здесь.

Доступ для врача

Пользователь может предоставить доступ к данным своей медицинской карте медицинскому специалисту — ко всей медкарте или настроив доступные данные параметрами фильтрации.

Врач работает с медицинской картой пациента в web-приложении: анализирует данные, пишет комментарии и рекомендации, фиксирует назначения.

Доступ врачам.png

Web-интерфейс врача

Для медицинских специалистов реализован web-интерфейс.

Врач имеет видит медицинские карты пациентов, которые предоставили ему доступ, а также сам может приглашать пациентов в сервис для совместной онлайн-работы.

Сайт 3.png

Папки

Пользователь может структурировать анализы, обследования и назначения по папкам для более удобной работы. Например, когда нужно сформировать данные в рамках определённого чек-апа или истории болезни. Можно настроить доступ медицинского специалиста только к конкретной папке.

Архив папок.png

Опросы

Медицинские специалисты могут создавать опросы для своих пациентов — для сбора анамнеза, анализа состояния и т.д. Можно один раз создать шаблоны опросов и использовать их в дальнейшем.

Опросы.png

Пользователь заполняет полученный от врача опрос в мобильном приложении. По результату заполнения врач получает уведомление.

Текстово-голосовой ассистент

В дополнение к классическому интерфейсу — часть функционала мобильного приложения продублирована текстово-голосовым ассистентом.
Можно просто отправить файл и сервис распознает его и создаст нужную сущность. А можно текстом или голосом спросить «Какие у меня показатели глюкозы?» и сервис выдаст карточку этого биомаркера с историей изменений.

Ассистент-2.png

Результат

— Первая версия приложения решает задачу хранения и структурирования медицинских данных, без привязки к личному кабинету клиники или лаборатории. Пользователь может загрузить любой бланк — данные будут собраны в единую базу.
— Можно предоставить доступ к данным медицинскому специалисту и работать с ним совместно в режиме онлайн.

Планы развития

— Дневник и календарь здоровья. Внутри него можно вести учет питания, физической активности, температуры, давления и других данных о здоровье, а также фиксировать записи к врачам и на обследования.
— Запись на анализы, обследования и назначения в клиники и лаборатории.
— Интеграция с ЕГИСЗ. Чтобы все данные из государственных медицинских систем были доступны внутри приложения.
— Анализ данных медицинской карты с помощью алгоритмов машинного обучения, формирование рекомендаций для пользователя и медицинских сигналов для врача.
— Медицинские рекомендации. Их будет генерировать ИИ-модель на основе данных медицинской карты, дневников и запросов пользователя.

Стек технологий

Figma

Node.js

SQL

Xcode

TypeScript

JS

PostgreSQL

React Native

ReactJS

Next.js

Сотрудники

Даниил Васильев

CEO & Founder

Карина Садова

руководитель направления AI

Александра Нагоркина

Менеджер проектов

Зайнуддин Муталибов

Backend-разработчик

Пересвет Колтырин

Frontend-разработчик

Александра Мори

NodeJs-разработчик

Иван Свилогузов

Frontend-разработчик

Павел Маркелов

Арт-директор

Ксения Калганова

Дизайнер

Антон Шиян

Тестировщик