Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
HL7 v2 та FHIR для клінічних дашбордів
Від лабораторного повідомлення HL7 v2 ORU^R01 до плитки дашборду: FHIR Observations з діапазонами та прапорцями, підписані вебхуки, без дублікатів — і чому це не моніторинг біля ліжка хворого.
Клінічна інформаційна панель потребує результатів у вигляді структурованих, кодованих даних в момент їх звітування — тест, значення, одиниця вимірювання, референтний діапазон та прапор — а не PDF-файлів, які їй потрібно читати. Лабораторії досі надсилають більшість результатів як повідомлення HL7 v2 ORU^R01, тоді як інформаційні панелі найлегше будувати на основі Спостережень FHIR R4. Anpheros знаходиться між цими двома: лабораторна система надсилає повідомлення HL7 v2 (або звіт у форматі CSV чи JSON) через HTTPS, кожен результат стає Спостереженням FHIR з його кодом (LOINC, коли його надсилає лабораторія), значенням та референтним діапазоном, а підписаний вебхук повідомляє вашу інформаційну панель про надходження нових результатів.
- Laboratory systemSends an HL7 v2 ORU^R01 message or a CSV report
- Lab connectorPOST /v1/patients/{id}/labs/import over HTTPS
- FHIR ObservationsLOINC code, value, unit, reference range, H/L flag
- Signed webhookresource.created reaches your server, retried on failure
- Your dashboardReads the new results and updates the tile
Що отримує панель інструментів
Кожен сегмент OBX повідомлення стає одним лабораторним спостереженням (Observation):
| Поле HL7 v2 OBX | FHIR R4 Observation | На панелі інструментів |
|---|---|---|
| OBX-3 test code | code (LOINC, коли його надсилає лабораторія; локальний код зберігається як код лабораторії) |
Назва тесту; LOINC робить його порівнянним між лабораторіями |
| OBX-5 value, OBX-6 unit | valueQuantity (одиниця UCUM) |
Число та його одиниця вимірювання |
| OBX-7 reference range | referenceRange |
Нормальний діапазон |
| OBX-8 abnormal flag | interpretation (H, L, …) |
Червоний або синій прапорець |
| OBX-14 time | effectiveDateTime |
Час взяття зразка |
Імпорт повідомлення та реакція на нього
Надішліть повідомлення для пацієнта, якого ви створили (або для якого маєте дозвіл):
import { readFile } from 'node:fs/promises';
import { Anpheros, apiKey } from '@anpheros/sdk';
const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) }); // a sandbox key, sk_test_…
const message = await readFile('oru_r01.hl7', 'utf8');
const result = await anpheros.labs.importHl7(patientId, message, { sourceSystem: 'lab-lis' });
console.log(result); // created, skipped and unmapped counts
Потім дозвольте платформі викликати ваш бекенд панелі інструментів замість опитування:
await anpheros.webhooks.create('https://dashboard.example.org/anpheros/hook', { events: ['resource.created'] });
Кожна доставка підписується (перевірте її за допомогою verifyWebhookSignature з SDK) і повторюється, якщо ваш сервер не відповідає. Подія містить тип ресурсу, ідентифікатор та пацієнта; прочитайте нові Спостереження (Observations) та оновіть плитку. Повторно надіслані звіти пропускаються, тому лабораторія, яка повторно надсилає дані при тайм-ауті, не створює дублікати рядків на екрані.
Вибір HL7 v2 або FHIR для кожного зв'язку
| Зв'язок | Використання | Причина |
|---|---|---|
| Лабораторія → шар даних | HL7 v2 ORU^R01 (або CSV/JSON) | Те, що вже випускають лабораторні системи; жодних змін з їхнього боку |
| Шар даних → інформаційна панель | FHIR R4 Observation + вебхуки | Кодований JSON з версіями, який ваш фронтенд може читати безпосередньо |
| Інформаційна панель → інші додатки | FHIR R4, за згодою пацієнта | Один стандарт для кожного споживача |
Чим це не є
- Не потік з приліжкового монітора. Anpheros приймає лабораторні звіти через HTTPS. Він не отримує безперервні сигнали або потоки даних з реанімаційних моніторів і не є системою оповіщення: сповіщення, що впливають на догляд, потребують сертифікованої клінічної системи.
- Не інтерфейсний рушій MLLP. Повідомлення надходять через HTTPS; якщо ваша лабораторія підтримує лише MLLP через TCP, інтерфейсний рушій попереду пересилає їх.
- Один тип повідомлення HL7 v2. Приймаються лабораторні результати ORU^R01; замовлення (ORM/OML) та повідомлення ADT не приймаються.
Часті запитання
Чи може панель інструментів безпосередньо читати лабораторні результати HL7 v2?
Може, але кожна панель інструментів тоді потребує власного парсера HL7 v2, зіставлення кодів та дедуплікації. Перетворення один раз у FHIR R4 Observations з кодами LOINC надає кожному екрану однакові чисті дані.
Як швидко імпортовані результати досягають панелі інструментів?
Запит на імпорт повертається, коли Observations зберігаються, і одночасно ставиться в чергу resource.created webhook для кожного з них. Доставка повторюється, якщо ваш кінцевий пункт недоступний.
Як позначаються аномальні результати?
OBX-8 стає interpretation Observation (наприклад, H або L), а OBX-7 — його referenceRange, тому панель інструментів може відображати як позначку, так і нормальний діапазон.
Чи підтримує Anpheros моніторинг відділення інтенсивної терапії?
Ні. Він зберігає лабораторні та клінічні результати та сповіщає ваші системи про нові дані; безперервний моніторинг біля ліжка пацієнта та клінічні тривоги залишаються сертифікованим медичним пристроям.
Пов'язане
- API лабораторних результатів: HL7 v2, FHIR та LOINC
- Як імпортувати лабораторні результати до запису FHIR
- Лабораторний конектор: довідник кінцевих точок
- FHIR проти HL7 v2: практичні відмінності
- Віддалений моніторинг пацієнтів з FHIR
- Вебхуки
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card