AnpherosAnpheros PlatformDevelopers

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Сопоставление HL7 v2 с FHIR

Сопоставление сегментов с ресурсами и полей OBX с полями OBX из HL7 v2 ORU^R01 в FHIR R4, ловушки, которые нарушают интеграцию, и конвертер, который вызывается по HTTPS.

Сопоставление HL7 v2 с FHIR означает преобразование каждого сегмента сообщения v2, разделенного символом вертикальной черты, в ресурсы FHIR R4: PID в Patient, OBR в DiagnosticReport (или ServiceRequest), каждый OBX в Observation, с переносом кодов, единиц измерения, диапазонов и времени поле за полем. HL7 публикует официальное руководство по реализации V2-to-FHIR с картами концепций для общих сегментов. Эта страница предоставляет практическое сопоставление для лабораторных результатов (ORU^R01), ловушки, которые нарушают реальные интеграции, и конвертер, который вы можете вызвать через HTTPS: лабораторный коннектор Anpheros.

An ORU^R01 message becoming FHIR
  1. MSHSeparators, message type, message id → MessageHeader or provenance
  2. PIDPatient identity → Patient (or, in Anpheros, the patient in the URL)
  3. OBRThe order and report → DiagnosticReport, report id and date
  4. OBXOne result each → Observation with LOINC, value, range, flag
  5. FHIR recordCoded, versioned resources your apps can read

Сегмент в ресурс

Сегмент HL7 v2 Что содержит Ресурс FHIR R4 В коннекторе Anpheros lab
MSH Разделители, отправляющая система, тип сообщения, ID сообщения MessageHeader (или provenance) Разделители считываются из MSH; тип проверяется на ORU^R01; ID сообщения сохраняется для отслеживания
PID Идентификаторы пациента, имя, дата рождения, пол Patient Не используется: пациент — это тот, кто указан в URL запроса, поэтому сообщение не может быть записано в неправильную запись
PV1 Визит Encounter Не используется
ORC / OBR Заказ и отчет: ID исполнителя/разместителя, дата ServiceRequest, DiagnosticReport OBR-3 (или OBR-2) — это ID отчета, OBR-7 — дата по умолчанию
OBX Один результат Observation Одно лабораторное наблюдение (Observation) на OBX
NTE Примечание свободного текста Observation.note Не используется

Поля OBX: подробное описание

Поле OBX Элемент FHIR Observation Примечания
OBX-2 тип значения (NM, SN, ST, CWE) choice of value[x] NM и SN становятся valueQuantity; текст остается текстом
OBX-3 идентификатор code^text^system code.coding LN в OBX-3.3 означает LOINC; другие системы — это локальные коды лаборатории
OBX-5 значение, OBX-6 единица измерения valueQuantity.value, .unit / .code (UCUM) <5 и 6,4 должны быть разобраны намеренно
OBX-7 референсный диапазон referenceRange.low / .high 3.5-5.1, <200, >40
OBX-8 флаг отклонения interpretation H, L, HH, LL, A, N
OBX-11 статус результата status F → final (окончательный), C → amended (исправленный), P → preliminary (предварительный), I → registered (зарегистрированный)
OBX-14 время наблюдения effectiveDateTime в v2 время часто не содержит часового пояса; FHIR требует его

Преобразование сообщения с одним запросом

curl -X POST "https://platform.anpheros.com/v1/patients/$PID/labs/import" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: x-application/hl7-v2+er7" \
  -H "Idempotency-Key: $(uuidgen)" \
  --data-binary @oru_r01.hl7

Ответ содержит информацию о количестве созданных наблюдений, количестве пропущенных как уже импортированных, маркерах, которые не удалось сопоставить, и новых наблюдениях с их кодами. Каждому присваивается стабильный идентификатор, полученный из отчета, теста, времени и значения, поэтому лаборатория, повторно отправляющая то же сообщение, не создает дубликатов.

Ловушки, нарушающие реальные интеграции

  1. Часовые пояса. 20261002074500 не имеет смещения; явно определите зону отправителя.
  2. Локальные коды. Сохраняйте собственный код лаборатории, когда LOINC отсутствует; никогда не удаляйте его.
  3. Повторные отправки. Без стабильного идентификатора для каждого результата повторные попытки приводят к дубликатам.
  4. Исправления. OBX-11 C является исправлением; решите, заменяет ли он или добавляет, и пометьте старый результат.
  5. Нечисловые значения. positive, <5, 6,4 требуют явных правил, а не предположений.

Что коннектор не делает

Он принимает лабораторные результаты ORU^R01 по HTTPS. Он не принимает сообщения ADT или заказов, не работает по MLLP через TCP (интерфейсный движок спереди может перенаправлять), не создает DiagnosticReport и не сопоставляет пациентов из PID.

Часто задаваемые вопросы

Как отобразить HL7 v2 на FHIR?

Сегмент за сегментом: PID на Patient, PV1 на Encounter, ORC/OBR на ServiceRequest и DiagnosticReport, OBX на Observation, NTE на notes. Руководство по реализации HL7 V2-to-FHIR определяет карты концепций на уровне полей.

Существует ли конвертер HL7 v2 в FHIR?

Да. Интерфейсные движки и библиотеки с открытым исходным кодом преобразуют сообщения; для лабораторных результатов коннектор Anpheros для лабораторий преобразует сообщение ORU^R01 в FHIR R4 Observations одним HTTPS-запросом и сохраняет их в карте пациента.

Какие типы сообщений HL7 v2 принимает Anpheros?

ORU^R01 — лабораторные результаты. Сообщение другого типа получает предупреждение, и читаются только его сегменты OBX; ADT, сообщения заказов и другие сообщения не поддерживаются.

Как представлены флаги аномалий HL7 v2 в FHIR?

OBX-8 становится Observation.interpretation с использованием кодов интерпретации наблюдений HL7 (H, L, HH, LL, A, N).

Связанные материалы

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Product updates by email

New features, guides and the end of the beta. One email a month at most.

Send me occasional Anpheros Platform updates by email (new features, API changes, guides). I'll confirm by email and can unsubscribe in one click from any email. Privacy