Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Мапування HL7 v2 на FHIR
Мапування сегмента до ресурсу та поля 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.
- MSHSeparators, message type, message id → MessageHeader or provenance
- PIDPatient identity → Patient (or, in Anpheros, the patient in the URL)
- OBRThe order and report → DiagnosticReport, report id and date
- OBXOne result each → Observation with LOINC, value, range, flag
- FHIR recordCoded, versioned resources your apps can read
Сегмент до ресурсу
| Сегмент HL7 v2 | Що містить | Ресурс FHIR R4 | У конекторі Anpheros lab |
|---|---|---|---|
| MSH | Роздільники, відправник, тип повідомлення, ідентифікатор повідомлення | MessageHeader (або provenance) |
Роздільники зчитуються з MSH; тип перевіряється на ORU^R01; ідентифікатор повідомлення зберігається для відстеження |
| PID | Ідентифікатори пацієнта, ім'я, дата народження, стать | Patient |
Не використовується: пацієнт — це той, хто в URL запиту, тому повідомлення не може бути записане в неправильний запис |
| PV1 | Візит | Encounter |
Не використовується |
| ORC / OBR | Замовлення та звіт: ідентифікатор виконавця/розміщувача, дата | ServiceRequest, DiagnosticReport |
OBR-3 (або OBR-2) — це ідентифікатор звіту, 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 → остаточний, C → змінений, P → попередній, I → зареєстрований |
| 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
Відповідь містить інформацію про кількість створених спостережень (Observations), кількість пропущених як вже імпортовані, маркери, які не вдалося зіставити, а також нові спостереження з їхніми кодами. Кожне спостереження отримує стабільний ідентифікатор, похідний від звіту, тесту, часу та значення, тому лабораторія, яка повторно надсилає те саме повідомлення, не створює дублікатів.
Пастки, що руйнують реальні інтеграції
- Часові пояси.
20261002074500не має зміщення; чітко визначте часовий пояс відправника. - Локальні коди. Зберігайте власний код лабораторії, коли немає LOINC; ніколи не видаляйте його.
- Повторні надсилання. Без стабільного ідентифікатора для кожного результату повторні спроби стають дублікатами.
- Виправлення. OBX-11
Cє виправленням; вирішіть, чи замінює він старий результат, чи додає його, і позначте старий результат. - Нечислові значення.
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, order та інші повідомлення не підтримуються.
Як відображаються прапорці аномалій HL7 v2 у FHIR?
OBX-8 стає Observation.interpretation, використовуючи коди HL7 ObservationInterpretation (H, L, HH, LL, A, N).
Пов'язане
- API лабораторних результатів: HL7 v2, FHIR та LOINC
- FHIR проти HL7 v2: практичні відмінності
- Як імпортувати лабораторні результати до запису FHIR
- HL7 v2 та FHIR для клінічних інформаційних панелей
- Лабораторний конектор
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card