HL7 v2 Messaging
ArkCloud contains an HL7 v2 parser and message generator as a code library, which an administrator can call through the HL7 API. Nothing connects that library to an interface engine: there is no MLLP listener or sender and no configuration screen. No HL7 messages are exchanged today.
HL7 v2 interface (ADT, SIU, DFT feeds)Not available
There is no HL7 interface: no listener, no inbound feed and nothing sent. A message library exists that an administrator can use to check or build a single message.
What exists in the code
Parser (lib/hl7/parser.ts)
Splits a pipe-delimited HL7 v2 message into segments and fields, honouring the encoding characters in MSH-2, and extracts typed MSH, PID, PV1, IN1, DG1 and FT1 data. It accepts any message type, including ADT, DFT, SIU, ORM, ORU and BAR, and runs basic validation.
Generator (lib/hl7/generator.ts)
| Message | Purpose |
|---|---|
| ADT^A01 | Admit / visit notification |
| ADT^A03 | Discharge / end visit |
| ADT^A08 | Update patient information |
| DFT^P03 | Post detail financial transaction |
| ACK | Acknowledgement |
HL7 API (app/api/hl7)
Wraps the parser and generator over HTTP: POST /api/hl7 with action=parse, validate or generate. It requires the manage_integrations permission, which organisation administrators hold; supervisors and agents are refused. It returns the result to the caller and sends nothing to any other system.
HL7 v2 file sandbox (Rehab outside records, off by default)
Where a deployment switches it on, staff can upload one HL7 v2 message saved as a file. ADT^A04 and ADT^A08 identify the patient and propose allergies and diagnoses; ORU^R01 keeps the report text and can propose an imaging finding. Everything becomes a proposal a clinician reviews. It is not an interface: there is no MLLP listener, no inbound endpoint, no ACK and no feed, and no partner has been tested against it. See Outside records.
Verification: the file sandbox is tested with synthetic messages only. The HL7 API and the generator are inspected only, and nothing has been exchanged with a real system.
Not built
What it would take
This is a list of engineering gaps, not a delivery commitment. A working HL7 interface would need at least:
- An MLLP listener (and sender, for outbound messages) with TLS or a VPN, run as a service.
- Routing parsed messages into patient, visit, coverage and charge records for the right organisation.
- Acknowledgement handling, message logging and an error queue.
- An administrator screen to configure the interface.
- Tests for the parser, the generator and the end-to-end flow.
