Skip to main content

HL7v2 Integration

medOS supports HL7v2 ADT / ORM / ORU message parsing for legacy system integration: lab instruments, ADT feeds, and pharmacy systems.

2575
MLLP port
0x0B / 0x1C
Framing
ADT / ORM / ORU
Message types
30s
Default idle timeout

Architecture

Lab / ADT Feed ──MLLP(:2575)──▶ Interoperability Service ──▶ Moleculer ──▶ MongoDB
(external) hl7v2-parser → mappers │
▲ │ NATS events
│ hl7v2-ack.builder │
└───── ACK/NAK ◀──────────────┘ webhookDispatcher

Components

Parser

hl7v2-parser

Pipe-delimited → structured segments (MSH, PID, PV1, ORC, OBR, OBX).

MSHPIDPV1ORCOBROBX
ACK

hl7v2-ack.builder

Build ACK / NAK responses for every inbound message.

ACKNAK
ADT

adt-to-medos.mapper

ADT A01–A08 → patient + encounter operations.

A01A02A03A04A08
ORM

orm-to-medos.mapper

ORM O01 → diagnostic order CRUD.

ORM O01
ORU

oru-to-medos.mapper

ORU R01 → lab result creation.

ORU R01
REST

hl7v2.controller.mixin

POST /hl7/adt, /hl7/orm, /hl7/oru, /hl7/raw.

/hl7/adt/hl7/orm/hl7/oru/hl7/raw
TCP

mllp.listener

TCP server with 0x0B / 0x1C framing.

TCPMLLP :2575

File locations

ComponentPath
Parserservices/interoperability/.../modules/hl7v2/hl7v2-parser.service.ts
ACK builderservices/interoperability/.../modules/hl7v2/hl7v2-ack.builder.ts
ADT mapperservices/interoperability/.../modules/hl7v2/mappers/adt-to-medos.mapper.ts
ORM mapperservices/interoperability/.../modules/hl7v2/mappers/orm-to-medos.mapper.ts
ORU mapperservices/interoperability/.../modules/hl7v2/mappers/oru-to-medos.mapper.ts
Controllerservices/interoperability/.../modules/hl7v2/hl7v2.controller.mixin.ts
MLLP listenerservices/interoperability/.../modules/hl7v2/mllp.listener.ts
Entity schemapackages/platform-api-schema/src/interoperability/hl7Message/
Frontend typesweb/packages/integration-kit/src/types/hl7.types.ts
Frontend serviceweb/packages/integration-kit/src/services/hl7.service.ts

Feature flags

FlagDefaultPurpose
HL7V2_MLLP_ENABLEDfalseEnable MLLP TCP listener
HL7V2_MLLP_PORT2575TCP port for MLLP connections
HL7V2_MLLP_TIMEOUT30000Connection idle timeout (ms)