Academy
⌘K
Getting Started
  • Platform Overview
  • AWS Marketplace Setup
  • Quickstart Guide
Connections
  • Overview
Workflow Builder
  • Overview
  • Nodes Catalog
Helix AI Assistant
  • Overview
Mapping Engine
  • Overview
Workflow Library
  • Overview
  • HL7
  • FHIR
  • Insurance
  • Agentic
  • Mapping
Security & Infrastructure
  • Architecture
  • HIPAA Compliance
  • Performance & Scalability
← Back to ConnectHealth
Get Started
Back to Nodes
HL71 input → 2 outputs

HL7 Out

payload (string |…)HL7HL7 OutOutput 1payload.ackCode (string)payload.ackMes… (string)payload.durati… (number)Output 2payload.error (string)payload.durati… (number)Data flowProperty

Sends an HL7 v2 message to a hospital's HL7 listener over a dedicated VPC connection using MLLP.

Details

Opens a short-lived MLLP socket to the hospital's HL7 listener (host and port configured on the connection's outbound settings), sends the message, waits for the ACK, then closes the connection.

The destination is read from the connection's HL7 → Outbound settings — not from the message. Configure the hospital's HL7 listener IP and port in the connection before using this node.

Inputs

payload string
Raw HL7 v2 message. Segment separator can be \r, \n, or \r\n — the node normalises to \r before sending. MLLP framing (0x0B … 0x1C 0x0D) is added automatically.
payload string[]
Array of raw segment strings (e.g. ["MSH|...", "PID|...", "PV1|..."]). Segments are joined with \r before sending. Easiest format to build manually with an Inject node (set type to JSON).
payload.segments string[]
Structured object from an HL7 Parser node — { segments: ["MSH|...", ...] }. Segments are joined with \r.
payload.raw string
Object with a .raw string field — { raw: "MSH|..." }.

Outputs

Output 1 — ACK received (including AE/AR — these are application-level responses, not errors):

payload.ackCode string
ACK code from hospital: AA (accept), AE (error), AR (reject).
payload.ackMessage string
Raw ACK HL7 message returned by the hospital.
payload.durationMs number
Round-trip time in milliseconds.
payload.host string
Hostname or IP that was connected to.
payload.port number
Port that was connected to.
hl7.ackCode string
Shortcut: ACK code (AA / AE / AR).

Output 2 — Network / transport error:

payload.error string
Error description (connection refused, timeout, socket closed before ACK, etc.).
payload.durationMs number
Time elapsed before the error occurred.

Typical Flow

┌────────────┐   ┌──────────┐   ┌─────────┐
│  Function  │──▶│  HL7 Out │──▶│  Debug  │  (Output 1: ACK)
│ (build msg)│   └──────────┘
│            │         │
│            │         └──────▶│  Error  │  (Output 2: network error)
└────────────┘                 └─────────┘
    

ACK Handling

A non-AA ACK code (AE / AR) is routed to Output 1 — not Output 2. This lets you inspect the hospital's application-level rejection in the flow. Only true network failures (connection refused, timeout, socket closed early) go to Output 2.

Best Practices

  • Validate and build the HL7 message string in a Function node before wiring here
  • Always handle Output 2 — network errors are common during maintenance windows
  • Check payload.ackCode on Output 1 to distinguish AA vs AE/AR responses
  • Log the payload.durationMs to monitor outbound MLLP latency