Интеграция

Как интегрировать лабораторную информационную систему с медицинской информационной системой: HL7 v2, FHIR и подводные камни, шаг за шагом

Лабораторный интерфейс в больницах: интеграция HL7 v2 (ORM/OML, ORR, ORU), статусы, флаги, единицы, диапазоны, микробиология, текстовые результаты. Альтернатива FHIR, сопоставление кодов, тестирование и ошибки.

автор Опубликовано 8 мин чтения

Краткий ответ: лабораторный интерфейс имеет два направления. Заказы идут из МИС в лабораторную информационную систему (ЛИС) в виде сообщений HL7 v2 ORM^O01 или OML^O21 (или как FHIR ServiceRequest), а ЛИС отвечает ORR/ORL и позже результатами в виде ORU^R01 (или FHIR DiagnosticReport с Observationами). Сложность заключается не в самих сообщениях, а в деталях внутри них: номера placer и filler, связывающие результаты с заказами, статус результата (предварительный, окончательный, исправленный), флаги аномальности, единицы измерения и референсные диапазоны, информация о образце, микробиология с ее многокомпонентными результатами и сопоставление кодов с LOINC. При правильной настройке каждый результат попадает к нужному пациенту, к нужному заказу и в нужное место в карте пациента с сохранением его смысла.

Шаг 1: согласование потоков

Первый шаг в интеграции лабораторной информационной системы с электронной медицинской картой (ЭМК) — это согласование с лабораторией существующих потоков данных: исходящие заявки, обновления статуса заявок, входящие результаты, исправления, отмены, дополнительные и рефлекторные тесты, а также передача демографических данных ADT в ЛИС. Стороны также фиксируют версию HL7, обычно 2.3.1 или 2.5.1, и протокол передачи, как правило, MLLP с подтверждениями.

Решите с лабораторией, какие потоки существуют: заказы наружу (или лаборатория получает бумажные заявки и регистрирует их самостоятельно?), обновления статуса заказа, результаты, исправления, отмены, дополнительные тесты, рефлекс-тесты и демографические данные (поток ADT в ЛИС, чтобы она знала пациента до прибытия образца). Нарисуйте последовательность для нормального результата, исправленного результата и отмененного заказа. Определите версию HL7 (наиболее распространены 2.3.1 и 2.5.1) и транспорт (MLLP с ACK; иногда файлы). См. HL7 v2 сообщения для заказов.

Шаг 2: сообщение с результатом, поле за полем

Результат лабораторного исследования поступает в ЭМК в виде сообщения HL7 v2 ORU^R01: MSH идентифицирует отправителя и получателя, PID — пациента, PV1 — визит, ORC и OBR содержат номера заказа исполнителя и заказчика, заказанную панель и статус отчета, а каждый OBX содержит один аналит с его кодом LOINC, значением, единицами измерения, референсным диапазоном, флагом отклонения от нормы и статусом результата.

MSH|^~\&|LIS|CENTRALLAB|EHR|GENHOSP|20260314130500||ORU^R01^ORU_R01|RES0001|P|2.5.1
PID|1||MRN-00012345^^^GENHOSP^MR||DOE^JANE||19800523|F
PV1|1|O|CLINIC-3^^^GENHOSP
ORC|RE|PLC-778812^EHR|FIL-556701^LIS|||||||||42^SMITH^JOHN
OBR|1|PLC-778812^EHR|FIL-556701^LIS|58410-2^CBC panel - Blood by Automated count^LN|||20260314084000|||||||||42^SMITH^JOHN||||||20260314130000|||F
OBX|1|NM|718-7^Hemoglobin [Mass/volume] in Blood^LN||10.9|g/dL|12.0-15.5|L|||F|||20260314125800
OBX|2|NM|6690-2^Leukocytes [#/volume] in Blood by Automated count^LN||6.4|10*3/uL|4.0-10.0|N|||F|||20260314125800
OBX|3|NM|777-3^Platelets [#/volume] in Blood by Automated count^LN||230|10*3/uL|150-400|N|||F|||20260314125800
NTE|1||Mild normocytic anaemia; suggest iron studies if clinically indicated.
  • ORC-2 / OBR-2 номер placer и ORC-3 / OBR-3 номер filler: связь с заказом. OBR-4: панель, закодированная (LOINC LN). OBR-7: время взятия образца. OBR-22: время отправки результатов. OBR-25: статус результата для всего заказа (P предварительный, F окончательный, C исправленный, X отменен).
  • OBX-2: тип значения (NM числовой, ST строка, TX текст, CE/CWE кодированный, SN структурированный числовой, например <^5). OBX-3: аналит, закодированный. OBX-5: значение. OBX-6: единицы измерения, в идеале UCUM (10*3/uL, а не K/µL). OBX-7: референсный диапазон в виде текста. OBX-8: флаги аномальности (L, H, LL, HH, A, N). OBX-11: статус результата для каждого аналита (P, F, C, X, D удален). OBX-14: время наблюдения. OBX-19: время анализа.
  • NTE: комментарии, прикрепленные к OBR или к конкретному OBX по позиции.
  • SPM (2.5+): тип образца (SNOMED CT), время взятия, время получения, состояние.

Шаг 3: особые случаи

Особые случаи, которые должен обрабатывать лабораторный интерфейс: исправленные результаты (статус C с исходными номерами заказов, заменяющие и уведомляющие, а не удаляющие), предварительные, а затем окончательные результаты, микробиология с возбудителями и чувствительностью, связанными по под-ID, текстовые результаты и встроенные PDF-файлы, рефлекторные и дополнительные тесты, отмены, а также единицы измерения и референсные диапазоны, которые меняются при замене анализаторов в лаборатории.

  • Исправления: новый ORU с C в OBR-25 и OBX-11 и теми же номерами placer/filler; МИС должна заменить, пометить изменение и уведомить клинициста. Никогда не удаляйте оригинал без уведомления.
  • Предварительный, затем окончательный: P результаты (окрашивание по Граму), за которыми следуют F (культура); карта должна отображать статус.
  • Микробиология: один OBX для идентифицированного организма (кодированный, SNOMED CT), затем результаты чувствительности как OBX для каждого антибиотика с организмом в качестве под-ID (OBX-4), часто в нескольких сообщениях. Именно здесь скрывается большинство ошибок интерфейса.
  • Текстовые результаты и PDF: комментарии патологоанатомических исследований и некоторые химические комментарии поступают в виде строк TX или встроенного PDF (OBX-2 ED); карта должна содержать как текст, так и файл.
  • Рефлекс-тесты и дополнительные тесты: новые OBR под исходным заказом или новый заказ, созданный лабораторией; договоритесь о способе их нумерации.
  • Отмены: статус X, с исходными номерами.
  • Единицы измерения и диапазоны для каждого анализатора: один и тот же тест может менять единицы измерения при смене анализаторов в лаборатории; интерфейс должен передавать диапазон с каждым результатом, а не предполагать его.

Шаг 4: коды

Сопоставление кодов в лабораторном интерфейсе означает однократный перевод локальных кодов тестов лаборатории в LOINC в поддерживаемой таблице и отправку как локального, так и LOINC-кода в OBX-3, нормализацию единиц измерения до UCUM и кодирование типов образцов и возбудителей в SNOMED CT. Без этого сопоставления результаты нельзя отслеживать в разных лабораториях или считывать внешними системами.

Сопоставьте коды тестов лаборатории с LOINC один раз, в поддерживаемой таблице, и отправляйте как локальные коды, так и коды LOINC в OBX-3 (GLU^Glucose^L~2345-7^Glucose [Mass/volume] in Serum or Plasma^LN). Нормализуйте единицы измерения до UCUM. Типы образцов и организмы в SNOMED CT. Метод описан в Как сопоставить локальные лабораторные коды с LOINC; без этого результаты невозможно будет отслеживать между лабораториями или читать любыми внешними системами.

Шаг 5: альтернатива FHIR

Альтернатива FHIR для лабораторного интерфейса HL7 v2 использует ServiceRequest для заказа, Observation для каждого аналита с кодом LOINC, количеством UCUM, референсным диапазоном и интерпретацией, а также DiagnosticReport, который группирует их со статусом, исполнителем, временем выдачи, заключением и PDF. Доставка осуществляется через REST-запросы (транзакция Bundle на отчет) или FHIR Subscriptions.

С FHIR заказ — это ServiceRequest, результаты — Observationы (по одному на аналит, код LOINC, количество UCUM, referenceRange, interpretation), сгруппированные DiagnosticReport, который содержит статус, исполнителя, время выдачи, заключение и PDF, с указанием basedOn на ServiceRequest. Исправления — это версии тех же ресурсов со статусом amended или corrected. Доставка осуществляется через REST-запросы к FHIR-серверу МИС, пакет транзакций на отчет или подписки. Руководство по преобразованию HL7 v2 в FHIR отображает каждое поле выше; многие лаборатории теперь предлагают оба варианта. См. FHIR DiagnosticReport объяснение и FHIR Observation объяснение.

Шаг 6: тестирование и запуск

Тестирование лабораторного интерфейса перед запуском включает прогон синтетических пациентов через все особые случаи, сравнение дневных параллельных результатов из отчета лаборатории и карты ЭМК, проверку часовых поясов и переходов на летнее/зимнее время, проверку обработки подтверждений и повторной отправки после сбоя, а также согласование процедуры экстренного реагирования на сбойные сообщения, используя профиль IHE Laboratory Testing Workflow в качестве базового.

Протестируйте на синтетических пациентах все случаи из шага 3; сравните дневные параллельные результаты из бумажного отчета или PDF и из карты; проверьте часовые пояса и переход на летнее/зимнее время; проверьте обработку ACK и повторную отправку после сбоя; согласуйте процедуру экстренного вызова для неудачных сообщений. Профиль Laboratory Testing Workflow от IHE и национальные наборы для проверки совместимости дают протестированную основу.

Непредвиденные проблемы при проектировании

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

Результаты, привязанные к предыдущей встрече из-за устаревших данных PV1; слияние (ADT A40), не примененное к ЛИС; изменение единиц измерения после обновления анализатора, которое незаметно смещает тренды; исправленные результаты, перезаписывающие предыдущие без уведомления; результаты микробиологической чувствительности, прикрепленные к неправильному организму; лаборатория, отправляющая результаты для теста, для которого у МИС нет кода, которые затем исчезают в очереди ошибок.

В Anpheros

Лабораторный коннектор Anpheros принимает ORU^R01, CSV и JSON и создает Observations в рамках DiagnosticReport с LOINC и UCUM, сохраняя локальные коды и исходный файл; руководство для разработчиков по импорту лабораторных результатов подробно описывает этот процесс на примере бесплатного песочницы.

Связанные страницы

Источники

Частые вопросы

Какую версию HL7 следует использовать для нового лабораторного интерфейса?

2.5.1, если обе стороны поддерживают ее: она включает SPM для образцов и более четкую обработку статусов. Многие лаборатории по-прежнему используют 2.3.1, и интерфейс адаптируется к более старой версии.

Как результаты соотносятся с заказами?

По номеру заказа placer (присвоенному МИС) и номеру заказа filler (присвоенному ЛИС), передаваемым в ORC-2/3 и OBR-2/3 как ответа на заказ, так и результата. Если МИС никогда не записывала номер filler, сопоставление осуществляется по номеру placer.

Что делать, если лаборатория не может отправлять коды LOINC?

Сопоставьте их локальные коды с LOINC на вашей стороне, в движке или коннекторе, и сохраняйте оба. Настаивайте на том, чтобы система локальных кодов была стабильной и о новых тестах объявлялось заранее.

Готов ли FHIR для лабораторных интерфейсов?

Да, для новых подключений, особенно вне больницы: ServiceRequest, Observation и DiagnosticReport полностью охватывают заказы и результаты, а национальные руководства их профилируют. Внутри больницы ЛИС и анализаторы будут использовать HL7 v2 еще долгие годы.

Anpheros Platform

Попробуйте бесплатно в песочнице

Первый запрос FHIR за 5 минут. API HL7 FHIR R4 с встроенным согласием пациента: попробуйте в песочнице, затем подключите свое приложение или систему клиники.

Бесплатно · 30 синтетических пациентов · без карты

Это руководство носит информационный характер и не заменяет консультацию врача. Решения о своём здоровье принимайте вместе с врачом. В экстренной ситуации звоните по местному номеру экстренной помощи (112 в Европе).
Автор
Команда Anpheros

Anpheros создает медицинскую карту, которую пациент контролирует и может делиться с любой клиникой, на платформе HL7 FHIR R4, базирующейся в ЕС. Эти руководства помогут вам понять и организовать свое здоровье; они не заменяют вашего врача.

О Anpheros →