Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
HL7 v2 e FHIR per dashboard clinici
Da un messaggio di laboratorio HL7 v2 ORU^R01 a un riquadro della dashboard: Osservazioni FHIR con intervalli e flag, webhook firmati, nessun duplicato — e perché questo non è monitoraggio al capezzale.
Un dashboard clinico necessita di risultati come dati strutturati e codificati nel momento in cui vengono segnalati — test, valore, unità, intervallo di riferimento e flag — non PDF che deve leggere. I laboratori inviano ancora la maggior parte dei risultati come messaggi HL7 v2 ORU^R01, mentre i dashboard sono più facili da costruire su Osservazioni FHIR R4. Anpheros si posiziona tra i due: un sistema di laboratorio pubblica il messaggio HL7 v2 (o un report CSV o JSON) tramite HTTPS, ogni risultato diventa un'Osservazione FHIR con il suo codice (LOINC quando il laboratorio lo invia), valore e intervallo di riferimento, e un webhook firmato comunica al tuo dashboard che sono arrivati nuovi risultati.
- 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
Cosa riceve la dashboard
Ogni segmento OBX del messaggio diventa una Osservazione di laboratorio:
| Campo OBX HL7 v2 | Osservazione FHIR R4 | Sulla dashboard |
|---|---|---|
| Codice test OBX-3 | code (LOINC quando il laboratorio lo invia; un codice locale viene mantenuto come codice del laboratorio) |
Nome del test; LOINC lo rende confrontabile tra laboratori |
| Valore OBX-5, unità OBX-6 | valueQuantity (unità UCUM) |
Il numero e la sua unità |
| Intervallo di riferimento OBX-7 | referenceRange |
La banda normale |
| Flag anomalo OBX-8 | interpretation (H, L, …) |
Il flag rosso o blu |
| Tempo OBX-14 | effectiveDateTime |
Quando è stato prelevato il campione |
Importa un messaggio e reagisci ad esso
Invia il messaggio per un paziente che hai creato (o per cui detieni una concessione):
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
Quindi lascia che la piattaforma chiami il tuo backend della dashboard invece di interrogarla:
await anpheros.webhooks.create('https://dashboard.example.org/anpheros/hook', { events: ['resource.created'] });
Ogni consegna è firmata (verificala con verifyWebhookSignature dall'SDK) e ritentata se il tuo server non risponde. L'evento trasporta il tipo di risorsa, l'ID e il paziente; leggi le nuove Osservazioni e aggiorna la tessera. I report rispediti vengono saltati, quindi un laboratorio che ritrasmette in caso di timeout non crea righe duplicate sullo schermo.
Scegliere HL7 v2 o FHIR per ogni collegamento
| Collegamento | Utilizzo | Motivo |
|---|---|---|
| Laboratorio → livello dati | HL7 v2 ORU^R01 (o CSV/JSON) | Ciò che i sistemi di laboratorio emettono già; nessun cambiamento dalla loro parte |
| Livello dati → dashboard | FHIR R4 Observation + webhooks | JSON codificato e versionato che il tuo front end può leggere direttamente |
| Dashboard → altre app | FHIR R4, sotto il consenso del paziente | Uno standard per ogni consumatore |
Cosa non è
- Non è un feed di monitoraggio da letto. Anpheros accetta referti di laboratorio tramite HTTPS. Non riceve forme d'onda continue o flussi di dati da dispositivi di monitoraggio intensivo e non è un sistema di allarme: gli allarmi che influiscono sulla cura richiedono un sistema clinico certificato.
- Non è un motore di interfaccia MLLP. I messaggi arrivano tramite HTTPS; se il tuo laboratorio supporta solo MLLP su TCP, un motore di interfaccia a monte li inoltra.
- Un solo tipo di messaggio HL7 v2. Vengono accettati i risultati di laboratorio ORU^R01; ordini (ORM/OML) e messaggi ADT non sono supportati.
Domande frequenti
Un dashboard può leggere direttamente i risultati di laboratorio HL7 v2?
Può farlo, ma ogni dashboard necessita quindi del proprio parser HL7 v2, mappatura del codice e de-duplicazione. La conversione una tantum in FHIR R4 Observations con codici LOINC fornisce a ogni schermata gli stessi dati puliti.
Quanto velocemente i risultati importati raggiungono il dashboard?
La richiesta di importazione restituisce quando le Observations sono memorizzate e un webhook resource.created viene accodato per ciascuna di esse contemporaneamente. La consegna viene ritentata se il tuo endpoint non è disponibile.
Come vengono contrassegnati i risultati anomali?
OBX-8 diventa il interpretation dell'Observation (ad esempio H o L) e OBX-7 il suo referenceRange, in modo che il dashboard possa mostrare sia il flag che l'intervallo normale.
Anpheros supporta il monitoraggio in terapia intensiva?
No. Memorizza i risultati di laboratorio e clinici e notifica i tuoi sistemi sui nuovi dati; il monitoraggio continuo al letto del paziente e gli allarmi clinici rimangono con i dispositivi medici certificati.
Correlati
- API risultati di laboratorio: HL7 v2, FHIR e LOINC
- Come importare risultati di laboratorio in un record FHIR
- Connettore di laboratorio: il riferimento all'endpoint
- FHIR vs HL7 v2: differenze pratiche
- Monitoraggio remoto dei pazienti con FHIR
- Webhook
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card