- BrainTools - https://www.braintools.ru -

Уже скоро год, как запущена AI-платформа для хранения и аналитики персональных медицинских данных Lissa Health. Недавно в ней появился отчет «Профиль здоровья», который учитывает любую информацию, которую пользователь предоставил о себе. Чтобы его реализовать, пришлось полностью переработать идеологию движка системы.
Мы совершили качественный переход от документо-центрической к фактор-центрической модели данных, где атомом информации о здоровье человека является медицинский факт с уникальным кодом и контекстом.
Ниже – техническое описание новой структуры.
Если работать только с лабораторными анализами, то извлекать биомаркеры и структурировать их относительно несложно. Совсем другой вопрос, когда перед тобой заключение МРТ, анамнестические данные или сложный протокол осмотра. Как это хранить? Как индексировать? По каким признакам включать в выборки для исследований?
Низкая доступность структурированных данных – главная преграда на пути развития цифрового здравоохранения. Сегодня клинически значимая информация по-прежнему «заперта» внутри неструктурированных текстов. Самым прогрессивным способом решения этой проблемы является извлечение атомарных фактов:
Для анализов – это биомаркер и его значение.
Для МРТ – элементарные находки (например, «просветы трахеи свободны», «легочная ткань без инфильтрации»).
Для витальных параметров – конкретное измерение давления или пульса.
Таком образом, заключение МРТ или анамнез разбиваются на десятки фактов, каждый из которых уже можно измерить и классифицировать.
Чтобы охватить весь спектр данных и не утонуть в хаосе, мы выделили пять типов фактов:
Numeric – одиночные измерения (глюкоза 5.6 ммоль/л).
Composite – связанные группы значений (АД 125/85 мм рт. ст.).
Finding – фиксация присутствия/отсутствия патологий (конкремент в желчном пузыре).
Textual – описательные характеристики (ритм синусовый правильный).
List – категориальные данные (группа крови, результаты бакпосева, симптомы).
Мы приводим извлеченные данные к подобию международного стандарта FHIR (Fast Healthcare Interoperability Resources). Это гарантирует, что структурированная нами информация будет бесшовно интегрироваться в современные медицинские экосистемы и соответствовать передовым мировым требованиям к обмену медицинскими данными.
Извлечение данных осуществляется через AI-конвейер, состоящий из двух специализированных агентов:
Сегментирует исходный текст на логические блоки и классифицирует тип факта (например, направляет данные об АД к одному специалисту, а описание КТ легких – к другому).
Проводит глубокую экстракцию атрибутов. Для численных данных это канонические единицы (UCUM) и референсы, для находок – латеральность (право/лево), анатомическая локализация и статус присутствия (present: true/false).
{
"factorCode": "LAB.METABOLIC.CHOLESTEROL.L2093-3",
"valueType": "numeric",
"systemCode": "metabolic",
"organCode": "blood",
"payload": { ... }
}
Каждая сущность имеет унифицированный заголовок, а специфика данных выносится в поле payload. Это позволяет хранить разнородные данные в одной таблице, обеспечивая высокую скорость поиска и кросс-системную аналитику.
Numeric:
{
"factorName": "total_cholesterol",
"systemCode": "metabolic",
"interpretation": "normal",
"rawSource": "Холестерин общ. 4.75 (3.0-5.2) ммоль/л",
"performer": "Клинико-диагностическая лаборатория «Хромас»",
"measurement": {
"unit": "ммоль/л",
"value": 4.75
},
"referenceRange": {
"low": 3,
"high": 5.2,
"text": "3.0-5.2"
},
"mapping": [
{
"system": "LOINC",
"code": "2093-3",
"display": "Cholesterol [Mass/volume] in Serum or Plasma",
"confidence": 1.0
}
]
}
Composite:
{
"factorName": "blood_pressure",
"systemCode": "cardiovascular",
"interpretation": "normal",
"rawSource": "АД 125/85 мм рт. ст.",
"primaryMeasurement": { "value": 125, "unit": "mm[Hg]", "type": "systolic" },
"components": [
{ "value": 85, "unit": "mm[Hg]", "type": "diastolic", "code": "8462-4" }
],
"mapping": [
{
"system": "LOINC",
"code": "85354-9",
"display": "Blood pressure panel with all children optional",
"confidence": 1.0
},
{
"system": "LOINC",
"code": "8480-6",
"display": "Systolic blood pressure",
"confidence": 1.0
}
]
}
Finding:
{
"factorName": "gallstones",
"systemCode": "hepatobiliary",
"organCode": "gallbladder",
"clinicalFinding": {
"present": true,
"anatomicalLocation": "желчный пузырь",
"observation": "одиночный конкремент"
},
"interpretation": "positive",
"rawSource": "В желчном пузыре обнаружен камень.",
"mapping": [
{
"system": "SNOMED",
"code": "56594002",
"display": "Cholelithiasis (disorder)",
"confidence": 1.0
},
{
"system": "LOINC",
"code": "96452-8",
"display": "Gallstones [Presence] in Gallbladder by US",
"confidence": 0.9
}
]
}
List:
{
"value": "A (II)",
"options": ["A", "B", "AB", "O"],
"interpretation": "normal",
"mapping": [
{
"system": "LOINC",
"code": "883-9",
"display": "ABO group [Type] in Whole blood",
"confidence": 1.0
},
{
"system": "SNOMED",
"code": "112144000",
"display": "Blood group A (finding)",
"confidence": 0.95
}
],
"rawSource": "Группа крови: A (II) Rh+"
}
Textual:
{
"value": "синусовый правильный",
"observation": "правильный, синусовый, без значимых пауз",
"interpretation": "normal",
"mapping": [
{
"system": "LOINC",
"code": "8867-4",
"display": "Heart rate and rhythm",
"confidence": 0.9
},
{
"system": "SNOMED",
"code": "426761007",
"display": "Normal sinus rhythm (finding)",
"confidence": 0.85
}
],
"notes": "Частота 72 уд/мин включена в описание",
"rawSource": "Ритм синусовый, правильный, ЧСС 72 уд/мин"
}
В дополнительных таблицах хранится сопутствующая информация о факте – версия алгоритма экстракции, модель, промпты, саммари всего оригинального документа, confidence, статус верификации (для перепроверки человеком)
Критически важным элементом архитектуры является сохранение rawSource – дословной цитаты из исходного документа.
Наличие оригинального контекста:
Обеспечивает возможность аудита данных врачом.
Позволяет выявлять дубликаты через MD5-хэш.
Гарантирует юридическую прозрачность (специалист всегда видит оригинал, на основе которого ИИ сделал вывод).
Создает базу для «работы над ошибками»: дообучения моделей на верифицированных экспертами примерах.
Фундаментальная проблема медицины – «синонимия». Показатель глюкозы или описание патологии могут быть записаны сотней способов. Мы решаем это через сопоставление с международными онтологиями LOINC и SNOMED CT.
Это превращает изолированную строку в глобально идентифицируемую сущность. Для исследователя это означает переход к концептуальному поиску: можно сразу выбрать всех пациентов с «холелитиазом», даже если в протоколе было написано «камень» или «одиночный конкремент». Интеграция с онтологиями позволяет связывать показатели крови с морфологией органов через иерархию смыслов, открывая путь к глубокой графовой аналитике.
Для удобства разработки и аналитики для идентификатора factorCode мы внедрили структуру:
[TYPE].[SYSTEM].[PARAMETER_NAME].[ISO_CODE]
Пример: LAB.IMMUNE.ENTAMOEBA_HISTOLYTICA_IGG.L13933-0.
Такая кодировка позволяет проводить агрегацию данных (например, «выбрать всю иммунологию» или «все патологии печени») прямым SQL-запросом без ресурсоемкого обращения к внешним справочникам.
Представленный датасет можно использовать в двух режимах:
Формирование традиционных отчетов для врачей (анализ трендов, фильтрация по системам органов, мониторинг референсных интервалов).
Предиктивные модели: Предсказание рисков развития патологий на основе динамики биомаркеров.
Анализ ассоциаций: Поиск неявных корреляций между лабораторными показателями и визуальными находками (например, маркеры воспаления vs изменения в тканях на МРТ).
Графы знаний: Построение семантических связей между атомарными фактами здоровья.
Много других интересных штук.
Переход от «хранения файлов» к семантическим базам знаний – это необходимый шаг в сторону персонализированной медицины. Новая архитектура Lissa Health способна переводить даже самые сложные медицинские протоколы в структурированный «цифровой след» пациента.
Мы отобрали датасет в несколько десятков тысяч записей и готовы предоставить к нему доступ для научно-исследовательских целей и клинической аналитики.
Доступ бесплатный, как и пользование платформой Lissa Health.
Сайт: Lissa Health [1]
TG: lissahealth [2]
Автор: gmtd
Источник [3]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/24254
URLs in this post:
[1] Lissa Health: https://lissa-health.com
[2] lissahealth: https://t.me/lissahealth
[3] Источник: https://habr.com/ru/articles/984598/?utm_campaign=984598&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.