Краткий ответ: лабораторный интерфейс имеет два направления. Заказы идут из МИС в лабораторную информационную систему (ЛИС) в виде сообщений 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 v2 ORM и OML сообщения для заказов
- Сообщения HL7 v2 объяснение: ADT и ORU
- Как сопоставить локальные лабораторные коды с LOINC
- FHIR DiagnosticReport объяснение
- Лабораторный коннектор: HL7 v2, CSV или JSON в FHIR
- Интерфейсные движки объяснение
- Импорт лабораторных результатов в FHIR (сайт для разработчиков)
Источники
- HL7 v2.5.1 ORU_R01 reference (Caristix)
- HL7 v2.5.1 OBX segment (Caristix)
- IHE Laboratory technical framework (LTW)
- HL7 v2-to-FHIR implementation guide
- HL7 FHIR R4: DiagnosticReport
Частые вопросы
Какую версию 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 еще долгие годы.
Попробуйте бесплатно в песочнице
Первый запрос FHIR за 5 минут. API HL7 FHIR R4 с встроенным согласием пациента: попробуйте в песочнице, затем подключите свое приложение или систему клиники.
Бесплатно · 30 синтетических пациентов · без карты

