Как я создал мобильное приложение Healtify: разбираем анализы с помощью ИИ

От OCR и PDF до персонального ассистента — как работает мобильное приложение, для кого и как оно создано

Хочу рассказать про Healtify — мобильное приложение, которое я разработал, чтобы медицинские анализы стали понятнее и полезнее. Это не просто трекер, а инструмент с искусственным интеллектом, который читает результаты анализов, объясняет их и даёт рекомендации. Идея родилась из личной проблемы: медицинские анализы часто выглядят как набор цифр без смысла. Я решил это исправить. Вот как всё работает и что получилось.

Проблема: анализы — это хаос

Однажды я получил результаты анализов от лаборатории: гемоглобин 134+, эритроциты 5.20+, гематокрит 39.5+. Цифры есть, а понимания — нет. Без врача или часов в интернете разобраться почти невозможно. Лаборатории выдают таблицы или PDF-файлы, но не объясняют, что с этим делать. Сколько раз вы тоже смотрели на листок с анализами и чувствовали себя потерянными? Интернет либо путает противоречивыми данными, либо пугает несуществующими диагнозами. Мне захотелось сделать инструмент, который сам всё считает, структурирует и объясняет.

Да, можно воспользоваться ИИ-моделями широкого потребления, которые помогут, но не работают без VPN, и/или с радостью обработают ваши персональные данные. Это уже другая история.

Решение: OCR, JSON и нейросети

Взявшись за задачу поэтапно, вот что получилось.  
Взявшись за задачу поэтапно, вот что получилось.  

1. Чтение анализов с любого носителя

Сначала нужно было научить приложение "видеть" текст — с фото, сканов или PDF. Для PDF точность распознавания высокая, а вот с изображениями сложнее. Я выбрал Tesseract.js — инструмент оптического распознавания символов (OCR) с открытым кодом. Но снимки анализов часто неидеальны: тени, низкий контраст, мелкий шрифт. Tesseract сам по себе не справлялся.

Тогда я подключил Sharp — библиотеку для обработки изображений. Она увеличивает размер фото, повышает контраст, убирает шум и усиливает резкость. Пример: на мятом листе глюкоза "5.8 ммоль/л" без Sharp читалась с ошибками в 15% символов, а с Sharp — с точностью 95%. Теперь даже кривые снимки распознаются.

Увеличивает размер первоначального изображения. Вытягивает контраст. Нормализует. Уменьшает шум изображения. Увеличивает резкость. 
Увеличивает размер первоначального изображения. Вытягивает контраст. Нормализует. Уменьшает шум изображения. Увеличивает резкость. 

2. Превращение хаоса в порядок: данные в JSON

После распознавания текста нужно было привести данные в порядок. Лабораторные бланки — это хаос: показатели, единицы измерения и нормы перемешаны. Я написал кастомный парсер, который разбирает текст и превращает его в структурированный JSON. Например, из строки "Глюкоза 5.8 ммоль/л (3.3-5.5)" получается: { "indicator": "Глюкоза", "value": 5.8, "unit": "ммоль/л", "reference_range": { "min": 3.3, "max": 5.5 } }.

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

3. Нейросети для выводов

Дальше — самое интересное. ИИ не просто проверяет, в норме ли показатели, а анализирует их в комплексе. Например, сахар 5.8 при норме до 5.5. Обычный инструмент сказал бы: "Повышен, идите к врачу". А мой смотрит шире: проверяет другие показатели (гликированный гемоглобин, триглицериды) и объясняет: "Сахар немного выше нормы, возможно, из-за еды. Если это стабильно, проверьте углеводный обмен". Такой подход делает анализ осмысленным.

4. Глубокий анализ одним нажатием

Одна из самых крутых фич — кнопка "Think" в разделе "Анализы". Нажимаете — и нейросеть выдает развернутый отчет. Почему показатели вышли за норму? Что это значит для вашего организма? Что можно сделать прямо сейчас? Пример: у вас гемоглобин 110 г/л при норме от 120. Вместо банального "у вас анемия" вы получите:

  • Причины: "Низкий гемоглобин может быть связан с дефицитом железа, витамина B12 или скрытым кровотечением".
  • Последствия: "Это влияет на доставку кислорода к тканям, из-за чего вы можете чувствовать усталость".
  • Советы: "Добавьте в рацион печень, шпинат или гречку, но сначала сдайте анализ на ферритин, чтобы подтвердить причину". Это как консультация с врачом, только быстрее и всегда под рукой.

5. ИИ-ассистент: ответы на любые вопросы

Что, если вам нужно больше информации? Мы встроили ИИ-ассистента — это чат, где вы можете спросить что угодно. "Почему у меня высокий холестерин?", "Как повысить уровень железа?", "Стоит ли волноваться из-за лейкоцитов 8.5?". Модель ассистента обучена на медицинских данных и отвечает моментально, без воды и страшилок. Ассистент не заменяет врача, но экономит время на его посещении, помогает разобраться в базовых вещах и подготовиться к консультации с нужными вопросами.

Как я создал мобильное приложение Healtify: разбираем анализы с помощью ИИ

Технический хардкор: Что под капотом

Для тех, кто любит копаться в деталях, вот как я это собирал:

  • OCR: Tesseract.js для распознавания текста с любых бланков.
  • Обработка изображений: Sharp для подготовки фото к анализу.
  • Парсинг: Собственный алгоритм, превращающий текст в JSON.
  • Нейросеть: Модель на базе GPT для анализа и генерации рекомендаций.
  • Фронтенд: React Native — чтобы работало и на Android, и на iOS (скоро!).
  • Бэкенд: Next.js с API для быстрой обработки запросов.
Как я создал мобильное приложение Healtify: разбираем анализы с помощью ИИ

Healtify — это попытка сделать медицинские анализы понятными без врача под боком. Пока проект развивается, и я открыт к идеям. Что бы вы добавили? Какие функции пригодились бы? Делитесь мыслями — это помогает двигаться дальше.

P.S. Следите за процессом в Telegram-канале — там делюсь новостями разработки.

5
6 комментариев