AnpherosAnpheros PlatformDevelopers

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Mapeo de HL7 v2 a FHIR

Mapeo de segmento a recurso y de campo OBX a campo de HL7 v2 ORU^R01 a FHIR R4, las trampas que rompen las integraciones y un conversor al que se llama por HTTPS.

Mapear HL7 v2 a FHIR significa convertir cada segmento de un mensaje v2 delimitado por tuberías en recursos FHIR R4: PID en un Paciente, OBR en un DiagnosticReport (o ServiceRequest), cada OBX en una Observation, con códigos, unidades, rangos y tiempos transferidos campo por campo. HL7 publica una guía de implementación V2-a-FHIR oficial con mapas de conceptos para los segmentos comunes. Esta página ofrece el mapeo práctico para resultados de laboratorio (ORU^R01), las trampas que rompen las integraciones reales y un convertidor al que puede llamar a través de HTTPS: el conector de laboratorio Anpheros.

An ORU^R01 message becoming FHIR
  1. MSHSeparators, message type, message id → MessageHeader or provenance
  2. PIDPatient identity → Patient (or, in Anpheros, the patient in the URL)
  3. OBRThe order and report → DiagnosticReport, report id and date
  4. OBXOne result each → Observation with LOINC, value, range, flag
  5. FHIR recordCoded, versioned resources your apps can read

Segment to resource

HL7 v2 segment Qué transporta FHIR R4 resource En el conector de laboratorio Anpheros
MSH Separadores, sistema emisor, tipo de mensaje, ID de mensaje MessageHeader (o provenance) Separadores leídos de MSH; tipo verificado para ORU^R01; ID de mensaje conservado para trazabilidad
PID Identificadores del paciente, nombre, fecha de nacimiento, sexo Patient No se usa: el paciente es el de la URL de la solicitud, por lo que un mensaje no puede escribir en el registro incorrecto
PV1 Visita Encounter No se usa
ORC / OBR Orden y reporte: ID del relleno/colocador, fecha ServiceRequest, DiagnosticReport OBR-3 (o OBR-2) es el ID del reporte, OBR-7 la fecha por defecto
OBX Un resultado Observation Una Observation de laboratorio por OBX
NTE Nota de texto libre Observation.note No se usa

Campo OBX campo por campo

Campo OBX Elemento FHIR Observation Notas
OBX-2 tipo de valor (NM, SN, ST, CWE) choice of value[x] NM y SN se convierten en valueQuantity; el texto permanece como texto
OBX-3 identificador code^text^system code.coding LN en OBX-3.3 significa LOINC; otros sistemas son el código local del laboratorio
OBX-5 valor, OBX-6 unidad valueQuantity.value, .unit / .code (UCUM) <5 y 6,4 deben ser analizados deliberadamente
OBX-7 rango de referencia referenceRange.low / .high 3.5-5.1, <200, >40
OBX-8 indicador de anormalidad interpretation H, L, HH, LL, A, N
OBX-11 estado del resultado status F → final, C → modificado, P → preliminar, I → registrado
OBX-14 hora de la observación effectiveDateTime las horas v2 a menudo carecen de zona horaria; FHIR requiere una

Convertir un mensaje con una solicitud

curl -X POST "https://platform.anpheros.com/v1/patients/$PID/labs/import" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: x-application/hl7-v2+er7" \
  -H "Idempotency-Key: $(uuidgen)" \
  --data-binary @oru_r01.hl7

La respuesta lista cuántas Observations se crearon, cuántas se omitieron por ya haber sido importadas, qué marcadores no pudieron ser mapeados y las nuevas Observations con sus códigos. Cada una recibe un identificador estable derivado del informe, la prueba, la hora y el valor, de modo que un laboratorio que reenvía el mismo mensaje no crea duplicados.

Trampas que rompen integraciones reales

  1. Zonas horarias. 20261002074500 no tiene desplazamiento; decida explícitamente la zona del remitente.
  2. Códigos locales. Conserve el código propio del laboratorio cuando no haya LOINC; nunca lo omita.
  3. Reenvíos. Sin un identificador estable por resultado, los reintentos se convierten en duplicados.
  4. Correcciones. OBX-11 C es una corrección; decida si reemplaza o añade, y marque el resultado antiguo.
  5. Valores no numéricos. positive, <5, 6,4 necesitan reglas explícitas, no una suposición.

Lo que el conector no hace

Acepta resultados de laboratorio ORU^R01 sobre HTTPS. No recibe mensajes ADT ni de órdenes, no habla MLLP sobre TCP (un motor de interfaz delante puede reenviar), no crea un DiagnosticReport y no empareja pacientes desde PID.

Preguntas frecuentes

¿Cómo se mapea HL7 v2 a FHIR?

Segmento por segmento: PID a Patient, PV1 a Encounter, ORC/OBR a ServiceRequest y DiagnosticReport, OBX a Observation, NTE a notes. La guía de implementación de HL7 V2 a FHIR define los mapeos de conceptos a nivel de campo.

¿Existe un conversor de HL7 v2 a FHIR?

Sí. Los motores de interfaz y las bibliotecas de código abierto convierten mensajes; para los resultados de laboratorio, el conector de laboratorio Anpheros convierte un mensaje ORU^R01 en FHIR R4 Observations en una sola solicitud HTTPS y los almacena en el registro del paciente.

¿Qué tipos de mensajes HL7 v2 acepta Anpheros?

ORU^R01 resultados de laboratorio. Un mensaje de otro tipo recibe una advertencia y solo se leen sus segmentos OBX; ADT, pedidos y otros mensajes no son compatibles.

¿Cómo se representan las banderas anormales de HL7 v2 en FHIR?

OBX-8 se convierte en Observation.interpretation utilizando los códigos HL7 ObservationInterpretation (H, L, HH, LL, A, N).

Relacionado

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Product updates by email

New features, guides and the end of the beta. One email a month at most.

Send me occasional Anpheros Platform updates by email (new features, API changes, guides). I'll confirm by email and can unsubscribe in one click from any email. Privacy