Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
HL7 v2 și FHIR pentru tablouri de bord clinice
De la un mesaj de laborator HL7 v2 ORU^R01 la o țiglă de tabloul de bord: Observații FHIR cu intervale și flag-uri, webhooks semnate, fără duplicate — și de ce acesta nu este monitorizare la patul bolnavului.
Un tablou de bord clinic necesită rezultate sub formă de date structurate și codificate în momentul în care sunt raportate — test, valoare, unitate, interval de referință și indicator — nu PDF-uri pe care trebuie să le citească. Laboratoarele încă trimit majoritatea rezultatelor ca mesaje HL7 v2 ORU^R01, în timp ce tablourile de bord sunt cel mai ușor de construit pe baza Observațiilor FHIR R4. Anpheros se află între cele două: un sistem de laborator publică mesajul HL7 v2 (sau un raport CSV sau JSON) prin HTTPS, fiecare rezultat devine o Observație FHIR cu codul său (LOINC atunci când laboratorul îl trimite), valoarea și intervalul de referință, iar un webhook semnat anunță tabloul de bord că au sosit rezultate noi.
- 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
Ce primește tabloul de bord
Fiecare segment OBX al mesajului devine o observație de laborator:
| Câmp HL7 v2 OBX | FHIR R4 Observation | Pe tabloul de bord |
|---|---|---|
| Codul testului OBX-3 | code (LOINC când laboratorul îl trimite; un cod local este păstrat ca și codul laboratorului) |
Numele testului; LOINC îl face comparabil între laboratoare |
| Valoarea OBX-5, unitatea OBX-6 | valueQuantity (unitate UCUM) |
Numărul și unitatea sa |
| Intervalul de referință OBX-7 | referenceRange |
Banda normală |
| Semnul anormal OBX-8 | interpretation (H, L, …) |
Semnul roșu sau albastru |
| Timpul OBX-14 | effectiveDateTime |
Când a fost prelevată proba |
Importă un mesaj și reacționează la el
Trimite mesajul pentru un pacient pe care l-ai creat (sau pentru care deții o autorizație):
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
Apoi, lasă platforma să apeleze backend-ul dashboard-ului tău în loc să-l interogheze (polling):
await anpheros.webhooks.create('https://dashboard.example.org/anpheros/hook', { events: ['resource.created'] });
Fiecare livrare este semnată (verifică-o cu verifyWebhookSignature din SDK) și reîncercată dacă serverul tău nu răspunde. Evenimentul transportă tipul resursei, id-ul și pacientul; citește noile Observații și reîmprospătează țiglă. Rapoartele retrimise sunt omise, astfel încât un laborator care retransmite la un timeout nu creează rânduri duplicate pe ecran.
Alegerea HL7 v2 sau FHIR pentru fiecare legătură
| Legătură | Utilizare | De ce |
|---|---|---|
| Laborator → strat de date | HL7 v2 ORU^R01 (sau CSV/JSON) | Ce emit deja sistemele de laborator; nicio modificare din partea lor |
| Strat de date → tablou de bord | FHIR R4 Observation + webhooks | JSON codificat, versionat, pe care interfața dvs. front-end îl poate citi direct |
| Tablou de bord → alte aplicații | FHIR R4, sub consimțământul pacientului | Un standard pentru fiecare consumator |
Ce nu este
- Nu este un flux de monitorizare la patul bolnavului. Anpheros acceptă rapoarte de laborator prin HTTPS. Nu primește forme de undă continue sau fluxuri de dispozitive de la monitoarele de terapie intensivă și nu este un sistem de alarmă: alertele care afectează îngrijirea necesită un sistem clinic certificat.
- Nu este un motor de interfață MLLP. Mesajele sosesc prin HTTPS; dacă laboratorul dvs. vorbește doar MLLP peste TCP, un motor de interfață în față le redirecționează.
- Un singur tip de mesaj HL7 v2. Sunt acceptate rezultatele de laborator ORU^R01; comenzile (ORM/OML) și mesajele ADT nu sunt.
Întrebări frecvente
Poate un dashboard să citească direct rezultatele de laborator HL7 v2?
Poate, dar fiecare dashboard are apoi nevoie de propriul parser HL7 v2, mapare de coduri și deduplicare. Conversia o singură dată în FHIR R4 Observations cu coduri LOINC oferă fiecărui ecran aceleași date curate.
Cât de repede ajung rezultatele importate la dashboard?
Cererea de import se returnează atunci când Observations sunt stocate, iar un webhook resource.created este pus în coadă pentru fiecare dintre ele în același timp. Livrarea este reîncercată dacă endpoint-ul dvs. nu este disponibil.
Cum sunt marcate rezultatele anormale?
OBX-8 devine interpretation (de exemplu, H sau L) al Observation, iar OBX-7 devine referenceRange, astfel încât dashboard-ul să poată afișa atât marcajul, cât și intervalul normal.
Suportă Anpheros monitorizarea în UTI?
Nu. Acesta stochează rezultatele de laborator și clinice și notifică sistemele dvs. despre date noi; monitorizarea continuă la patul pacientului și alertele clinice rămân la dispozitivele medicale certificate.
Conexe
- API pentru rezultate de laborator: HL7 v2, FHIR și LOINC
- Cum se importă rezultatele de laborator într-un înregistrare FHIR
- Conector de laborator: referința endpoint-ului
- FHIR vs HL7 v2: diferențe practice
- Monitorizarea pacienților la distanță cu FHIR
- Webhooks
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card