Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
HL7 v2 i FHIR dla pulpitów nawigacyjnych lekarzy
Od wiadomości laboratoryjnej HL7 v2 ORU^R01 do kafelka na pulpicie: FHIR Observations z zakresami i flagami, podpisane webhooks, brak duplikatów — i dlaczego nie jest to monitorowanie przyłóżkowe.
Pulpit kliniczny potrzebuje wyników jako ustrukturyzowanych, zakodowanych danych w momencie ich zgłoszenia — test, wartość, jednostka, zakres referencyjny i flaga — a nie plików PDF, które musi odczytywać. Laboratoria nadal wysyłają większość wyników jako wiadomości HL7 v2 ORU^R01, podczas gdy pulpity najłatwiej budować na Obserwacjach FHIR R4. Anpheros znajduje się pomiędzy tymi dwoma: system laboratoryjny publikuje wiadomość HL7 v2 (lub raport CSV lub JSON) przez HTTPS, każdy wynik staje się Obserwacją FHIR z jego kodem (LOINC, gdy laboratorium je wysyła), wartością i zakresem referencyjnym, a podpisany webhook informuje pulpit, że pojawiły się nowe wyniki.
- 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
Co otrzymuje pulpit nawigacyjny
Każdy segment OBX wiadomości staje się jedną obserwacją laboratoryjną:
| Pole OBX HL7 v2 | Obserwacja FHIR R4 | Na pulpicie nawigacyjnym |
|---|---|---|
| Kod testu OBX-3 | code (LOINC, gdy laboratorium go wysyła; lokalny kod jest zachowywany jako kod laboratorium) |
Nazwa testu; LOINC umożliwia porównywanie między laboratoriami |
| Wartość OBX-5, jednostka OBX-6 | valueQuantity (jednostka UCUM) |
Liczba i jej jednostka |
| Zakres referencyjny OBX-7 | referenceRange |
Normalny zakres |
| Flaga nieprawidłowości OBX-8 | interpretation (H, L, …) |
Czerwona lub niebieska flaga |
| Czas OBX-14 | effectiveDateTime |
Kiedy pobrano próbkę |
Importuj wiadomość i reaguj na nią
Wyślij wiadomość dla pacjenta, którego utworzyłeś (lub dla którego posiadasz uprawnienia):
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
Następnie pozwól platformie wywołać Twój backend pulpitu nawigacyjnego zamiast odpytywania go:
await anpheros.webhooks.create('https://dashboard.example.org/anpheros/hook', { events: ['resource.created'] });
Każda dostawa jest podpisana (zweryfikuj ją za pomocą verifyWebhookSignature z SDK) i ponawiana, jeśli Twój serwer nie odpowie. Zdarzenie zawiera typ zasobu, identyfikator i pacjenta; odczytaj nowe Obserwacje i odśwież kafelek. Ponownie wysłane raporty są pomijane, więc laboratorium, które ponownie przesyła dane po upływie limitu czasu, nie tworzy duplikatów wierszy na ekranie.
Wybór HL7 v2 lub FHIR dla każdego połączenia
| Połączenie | Zastosowanie | Dlaczego |
|---|---|---|
| Laboratorium → warstwa danych | HL7 v2 ORU^R01 (lub CSV/JSON) | To, co systemy laboratoryjne już emitują; brak zmian po ich stronie |
| Warstwa danych → pulpit nawigacyjny | FHIR R4 Observation + webhooks | Kodowane, wersjonowane JSON, które front-end może odczytać bezpośrednio |
| Pulpit nawigacyjny → inne aplikacje | FHIR R4, za zgodą pacjenta | Jeden standard dla każdego konsumenta |
Czym to nie jest
- Nie jest to strumień danych z monitora przyłóżkowego. Anpheros akceptuje raporty laboratoryjne przez HTTPS. Nie odbiera ciągłych przebiegów ani strumieni danych z monitorów intensywnej terapii i nie jest systemem alarmowym: alerty wpływające na opiekę wymagają certyfikowanego systemu klinicznego.
- Nie jest to silnik interfejsów MLLP. Wiadomości przychodzą przez HTTPS; jeśli Twoje laboratorium obsługuje tylko MLLP przez TCP, silnik interfejsów znajdujący się z przodu przekazuje je dalej.
- Jeden typ wiadomości HL7 v2. Akceptowane są wyniki laboratoryjne ORU^R01; zamówienia (ORM/OML) i wiadomości ADT nie są obsługiwane.
Często zadawane pytania
Czy pulpit nawigacyjny może bezpośrednio odczytywać wyniki laboratoryjne HL7 v2?
Może, ale każdy pulpit nawigacyjny potrzebuje wtedy własnego parsera HL7 v2, mapowania kodów i deduplikacji. Konwersja raz do FHIR R4 Observations z kodami LOINC zapewnia każdemu ekranowi te same czyste dane.
Jak szybko zaimportowane wyniki docierają do pulpitu nawigacyjnego?
Żądanie importu zwraca dane, gdy Observations zostaną zapisane, a jednocześnie kolejkowany jest resource.created webhook dla każdego z nich. Dostawa jest ponawiana, jeśli Twój punkt końcowy jest niedostępny.
Jak oznaczane są nieprawidłowe wyniki?
OBX-8 staje się interpretation Observation (na przykład H lub L), a OBX-7 jego referenceRange, dzięki czemu pulpit nawigacyjny może wyświetlać zarówno flagę, jak i zakres normy.
Czy Anpheros obsługuje monitorowanie intensywnej terapii?
Nie. Przechowuje wyniki laboratoryjne i kliniczne oraz powiadamia Twoje systemy o nowych danych; ciągłe monitorowanie przyłóżkowe i alarmy kliniczne pozostają przy certyfikowanych urządzeniach medycznych.
Powiązane
- API wyników laboratoryjnych: HL7 v2, FHIR i LOINC
- Jak zaimportować wyniki laboratoryjne do rekordu FHIR
- Łącznik laboratoryjny: odniesienie do punktu końcowego
- FHIR vs HL7 v2: praktyczne różnice
- Zdalne monitorowanie pacjentów z użyciem FHIR
- Webhooks
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card