Уже скоро год, как запущена AI-платформа для хранения и аналитики персональных медицинских данных Lissa Health. Недавно в ней появился отчет «Профиль здоровья»,Уже скоро год, как запущена AI-платформа для хранения и аналитики персональных медицинских данных Lissa Health. Недавно в ней появился отчет «Профиль здоровья»,

Семантическая декомпозиция медицинских текстов: автоматизированное извлечение клинических находок и биомаркеров

78c5efb8aa648f54b8a5edfc47a601a0.png

Уже скоро год, как запущена AI-платформа для хранения и аналитики персональных медицинских данных Lissa Health. Недавно в ней появился отчет «Профиль здоровья», который учитывает любую информацию, которую пользователь предоставил о себе. Чтобы его реализовать, пришлось полностью переработать идеологию движка системы.

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

Ниже - техническое описание новой структуры.

Проблема неструктурированных данных

Если работать только с лабораторными анализами, то извлекать биомаркеры и структурировать их относительно несложно. Совсем другой вопрос, когда перед тобой заключение МРТ, анамнестические данные или сложный протокол осмотра. Как это хранить? Как индексировать? По каким признакам включать в выборки для исследований?

Низкая доступность структурированных данных - главная преграда на пути развития цифрового здравоохранения. Сегодня клинически значимая информация по-прежнему «заперта» внутри неструктурированных текстов. Самым прогрессивным способом решения этой проблемы является извлечение атомарных фактов:

  • Для анализов - это биомаркер и его значение.

  • Для МРТ - элементарные находки (например, «просветы трахеи свободны», «легочная ткань без инфильтрации»).

  • Для витальных параметров - конкретное измерение давления или пульса.

Таком образом, заключение МРТ или анамнез разбиваются на десятки фактов, каждый из которых уже можно измерить и классифицировать.

Чтобы охватить весь спектр данных и не утонуть в хаосе, мы выделили пять типов фактов:

  1. Numeric - одиночные измерения (глюкоза 5.6 ммоль/л).

  2. Composite - связанные группы значений (АД 125/85 мм рт. ст.).

  3. Finding - фиксация присутствия/отсутствия патологий (конкремент в желчном пузыре).

  4. Textual - описательные характеристики (ритм синусовый правильный).

  5. List - категориальные данные (группа крови, результаты бакпосева, симптомы).

Мы приводим извлеченные данные к подобию международного стандарта FHIR (Fast Healthcare Interoperability Resources). Это гарантирует, что структурированная нами информация будет бесшовно интегрироваться в современные медицинские экосистемы и соответствовать передовым мировым требованиям к обмену медицинскими данными.

Формирование датасета и Pipeline извлечения

Извлечение данных осуществляется через AI-конвейер, состоящий из двух специализированных агентов:

Router

Сегментирует исходный текст на логические блоки и классифицирует тип факта (например, направляет данные об АД к одному специалисту, а описание КТ легких - к другому).

Specialist

Проводит глубокую экстракцию атрибутов. Для численных данных это канонические единицы (UCUM) и референсы, для находок - латеральность (право/лево), анатомическая локализация и статус присутствия (present: true/false).

Общая структура Health Entity

{ "factorCode": "LAB.METABOLIC.CHOLESTEROL.L2093-3", "valueType": "numeric", "systemCode": "metabolic", "organCode": "blood", "payload": { ... } }

Каждая сущность имеет унифицированный заголовок, а специфика данных выносится в поле 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

Критически важным элементом архитектуры является сохранение rawSource - дословной цитаты из исходного документа.

Наличие оригинального контекста:

  • Обеспечивает возможность аудита данных врачом.

  • Позволяет выявлять дубликаты через MD5-хэш.

  • Гарантирует юридическую прозрачность (специалист всегда видит оригинал, на основе которого ИИ сделал вывод).

  • Создает базу для «работы над ошибками»: дообучения моделей на верифицированных экспертами примерах.

Семантическое сопоставление (mapping)

Фундаментальная проблема медицины - «синонимия». Показатель глюкозы или описание патологии могут быть записаны сотней способов. Мы решаем это через сопоставление с международными онтологиями LOINC и SNOMED CT.

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

Семантическое кодирование идентификатора

Для удобства разработки и аналитики для идентификатора factorCode мы внедрили структуру:

[TYPE].[SYSTEM].[PARAMETER_NAME].[ISO_CODE]

Пример: LAB.IMMUNE.ENTAMOEBA_HISTOLYTICA_IGG.L13933-0.

Такая кодировка позволяет проводить агрегацию данных (например, «выбрать всю иммунологию» или «все патологии печени») прямым SQL-запросом без ресурсоемкого обращения к внешним справочникам.

Научная ценность и возможности аналитики

Представленный датасет можно использовать в двух режимах:

OLAP (конвенциальная аналитика)

Формирование традиционных отчетов для врачей (анализ трендов, фильтрация по системам органов, мониторинг референсных интервалов).

ML/AI Research

  • Предиктивные модели: Предсказание рисков развития патологий на основе динамики биомаркеров.

  • Анализ ассоциаций: Поиск неявных корреляций между лабораторными показателями и визуальными находками (например, маркеры воспаления vs изменения в тканях на МРТ).

  • Графы знаний: Построение семантических связей между атомарными фактами здоровья.

  • Много других интересных штук.


Заключение

Переход от «хранения файлов» к семантическим базам знаний - это необходимый шаг в сторону персонализированной медицины. Новая архитектура Lissa Health способна переводить даже самые сложные медицинские протоколы в структурированный «цифровой след» пациента.

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

Доступ бесплатный, как и пользование платформой Lissa Health.

Сайт: Lissa Health
TG: lissahealth

Источник

Возможности рынка
Логотип Sleepless AI
Sleepless AI Курс (AI)
$0.04187
$0.04187$0.04187
+5.78%
USD
График цены Sleepless AI (AI) в реальном времени
Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу service@support.mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.