Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
HL7 v2 y FHIR para paneles clínicos
De un mensaje de laboratorio HL7 v2 ORU^R01 a un mosaico de panel: Observaciones FHIR con rangos y banderas, webhooks firmados, sin duplicados — y por qué esto no es monitorización en la cabecera de la cama.
Un panel clínico necesita resultados como datos estructurados y codificados en el momento en que se informan — prueba, valor, unidad, rango de referencia y bandera — no PDFs que tenga que leer. Los laboratorios todavía envían la mayoría de los resultados como mensajes HL7 v2 ORU^R01, mientras que los paneles son más fáciles de construir sobre Observaciones FHIR R4. Anpheros se sitúa entre ambos: un sistema de laboratorio publica el mensaje HL7 v2 (o un informe CSV o JSON) a través de HTTPS, cada resultado se convierte en una Observación FHIR con su código (LOINC cuando el laboratorio lo envía), valor y rango de referencia, y un webhook firmado informa a su panel de que han llegado nuevos resultados.
- 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
Lo que recibe el panel de control
Cada segmento OBX del mensaje se convierte en una Observación de laboratorio:
| Campo OBX de HL7 v2 | FHIR R4 Observation | En el panel de control |
|---|---|---|
| OBX-3 test code | code (LOINC cuando el laboratorio lo envía; un código local se mantiene como el código del laboratorio) |
Nombre de la prueba; LOINC lo hace comparable entre laboratorios |
| OBX-5 value, OBX-6 unit | valueQuantity (UCUM unit) |
El número y su unidad |
| OBX-7 reference range | referenceRange |
La banda normal |
| OBX-8 abnormal flag | interpretation (H, L, …) |
La bandera roja o azul |
| OBX-14 time | effectiveDateTime |
Cuándo se tomó la muestra |
Importar un mensaje y reaccionar a él
Envía el mensaje para un paciente que hayas creado (o para uno para el que tengas una concesión):
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
Luego, permite que la plataforma llame a tu backend del dashboard en lugar de consultarlo (polling):
await anpheros.webhooks.create('https://dashboard.example.org/anpheros/hook', { events: ['resource.created'] });
Cada entrega está firmada (verifica con verifyWebhookSignature del SDK) y se reintenta si tu servidor no responde. El evento transporta el tipo de recurso, el id y el paciente; lee las nuevas Observaciones y actualiza el tile. Los informes reenviados se omiten, por lo que un laboratorio que retransmite ante un timeout no crea filas duplicadas en la pantalla.
Elección de HL7 v2 o FHIR para cada enlace
| Enlace | Uso | Por qué |
|---|---|---|
| Laboratorio → capa de datos | HL7 v2 ORU^R01 (o CSV/JSON) | Lo que los sistemas de laboratorio ya emiten; ningún cambio de su lado |
| Capa de datos → panel | FHIR R4 Observation + webhooks | JSON codificado y versionado que su front end puede leer directamente |
| Panel → otras aplicaciones | FHIR R4, bajo el consentimiento del paciente | Un estándar para cada consumidor |
Lo que esto no es
- No es una alimentación de monitor de cabecera. Anpheros acepta informes de laboratorio a través de HTTPS. No recibe formas de onda continuas ni flujos de dispositivos de monitores de cuidados intensivos, y no es un sistema de alarmas: las alertas que afectan la atención requieren un sistema clínico certificado.
- No es un motor de interfaz MLLP. Los mensajes llegan a través de HTTPS; si su laboratorio solo habla MLLP sobre TCP, un motor de interfaz en el frente los reenvía.
- Un tipo de mensaje HL7 v2. Se aceptan resultados de laboratorio ORU^R01; no se aceptan pedidos (ORM/OML) ni mensajes ADT.
Preguntas frecuentes
¿Puede un panel leer resultados de laboratorio HL7 v2 directamente?
Puede hacerlo, pero cada panel necesita entonces su propio analizador HL7 v2, mapeo de códigos y deduplicación. Convertir una vez a Observaciones FHIR R4 con códigos LOINC proporciona a cada pantalla los mismos datos limpios.
¿Qué tan rápido llegan los resultados importados al panel?
La solicitud de importación se completa cuando las Observaciones se almacenan, y se pone en cola una resource.created webhook para cada una de ellas al mismo tiempo. Se reintentará la entrega si su punto final no está disponible.
¿Cómo se marcan los resultados anormales?
OBX-8 se convierte en el interpretation de la Observación (por ejemplo, H o L) y OBX-7 en su referenceRange, de modo que el panel pueda mostrar tanto la marca como el rango normal.
¿Anpheros soporta monitoreo de UCI?
No. Almacena resultados de laboratorio y clínicos y notifica a sus sistemas sobre nuevos datos; el monitoreo continuo junto a la cama y las alarmas clínicas permanecen con dispositivos médicos certificados.
Relacionado
- API de resultados de laboratorio: HL7 v2, FHIR y LOINC
- Cómo importar resultados de laboratorio en un registro FHIR
- Conector de laboratorio: la referencia del endpoint
- FHIR vs HL7 v2: diferencias prácticas
- Monitorización remota de pacientes con FHIR
- Webhooks
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card