LabTracker
История анализов из разных стран в одном месте
Задача
История анализов рассыпана по странам и лабораториям. В одном бланке гемоглобин в граммах на литр, в другом — в граммах на децилитр; в одном показатель называется «Гемоглобин», в другом Hämoglobin, в третьем просто HGB. Границы нормы у каждой лаборатории свои, и сравнивать значения напрямую нельзя.
Врачу в новой стране приходится приносить стопку бумаг на языке, которого он не знает, а динамику показателя за десять лет никто не видит целиком.
Что сделали
Бланк загружается фотографией или PDF, показатели распознаются и приводятся к единому справочнику, а исходные значения, единицы и границы нормы сохраняются ровно такими, как напечатаны.
На графике полоса нормы рисуется отрезками — по референсу той лаборатории, где сдана каждая точка, со специальной пометкой при смене лаборатории. Так видно и динамику, и то, что значения из разных лабораторий не всегда сопоставимы.
Обработка целиком локальная: данные не уходят ни в какие внешние сервисы.
Человек, переехавший в другую страну, теряет не анализы, а их связность. Часть истории осталась в российской лаборатории, часть появляется в немецкой, названия показателей не совпадают, единицы измерения разные, а границы нормы отличаются даже между двумя лабораториями в одном городе.
LabTracker разбирает бланк, приводит показатели к единому справочнику на основе международных кодов LOINC и единиц UCUM и складывает всё в одну историю с графиками.
Что внутри
- Разбор PDF по координатам слов: колонки, многострочные названия, качественные результаты, значения с операторами сравнения.
- Справочник из 75 показателей с синонимами на четырёх языках. Немецкое GPT и русское АЛТ — один показатель; Harnstoff и Harnsäure — разные, хотя различаются одной буквой.
- Пересчёт единиц, в том числе нелинейный для гликированного гемоглобина, который в Европе и России измеряют по-разному.
- Экран подтверждения: каждое значение показывается рядом с местом, откуда оно взято на исходном бланке.
Почему разбор устроен строго
Перепутанная цифра в анализе — не косметический дефект. Поэтому значение попадает в историю, только если оно дословно присутствует в тексте бланка, имеет координаты в оригинале и правдоподобно для своего показателя. Границы нормы и пересчёт единиц считает код, а не языковая модель. На тестовом наборе бланков — ни одной ошибки, принятой без проверки.
Сервис не интерпретирует результаты и не заменяет врача: он показывает то, что написано в бланке, и справочные описания показателей, одинаковые для всех.
Стек
Нужен похожий сервис?
Расскажите о задаче — оценю сроки и стоимость.