Skip to content
LambogeniusDocs

HL7 MLLP Connector for Azure Logic Apps

Acknowledgements

Acknowledgement modes and types, the trigger's inputs, and returning ACKs from a workflow.

Service provider/serviceProviders/lamboHl7MllpLicensed together with the HL7 v2 Codec. One token covers both.

Acknowledgement mode

ModeBizTalk equivalentBehaviour
Auto (default)One-way MLLP receive location, HL7 pipeline generating ACKsThe ACK is sent once the run is accepted (persisted, for stateful workflows). AE/CE if the run can't be started.
WorkflowTwo-way (request-response) receive locationThe sender waits until the workflow calls Send acknowledgement (gateway: the workflow's Response body). After responseTimeoutSeconds, timeoutBehavior applies: SendNegativeAck, CloseConnection or NoResponse.
NoneOne-way, no ACKNothing is returned.

Acknowledgement type

TypeBehaviour
Original (default)MSH-15 and MSH-16 empty: AA / AE / AR. If the sender filled them in (enhanced mode): commit ACK CA / CE / CR according to MSH-15 (AL, NE, ER, SU).
EnhancedCA / CE / CR according to MSH-15; an empty MSH-15 means AL.
StaticOriginalAlways AA / AE / AR.
StaticEnhancedAlways CA / CE / CR.
NoneNever.

Trigger inputs

InputValuesDefault
acknowledgementModeAuto | Workflow | NoneAuto
acknowledgementTypeOriginal | Enhanced | StaticOriginal | StaticEnhanced | NoneOriginal
responseTimeoutSecondsWorkflow mode: how long the sender waits for Send acknowledgement60
timeoutBehaviorSendNegativeAck | CloseConnection | NoResponseSendNegativeAck
batchModeSplit | Single | RejectSplit
rejectInvalidMessagesAnswer AR/CR, without a run, when MSH-9, -10, -11 or -12 is missingtrue
maxConnections, maxMessageSizeKB, idleTimeoutSecondsConnection limits100, 16384, 600
archiveArchive each received frame and its ACKfalse

What generated ACKs contain

  • Header: sender and receiver swapped; MSH-11, MSH-12 and MSH-18 copied; ACK^<event>^ACK for v2.3.1 and later.
  • MSA-2 echoes the message's MSH-10. Negative ACKs add an ERR segment.
  • Internal error details are logged, never sent to the sender.
  • Enhanced mode: the connector sends the commit ACK. When the sender also asks for an application ACK (trigger output applicationAckRequested), build it with Create acknowledgement and send it with Send message.

Workflow ACKs through the gateway

Return the ACK from a Response action, as plain HL7 or as JSON. Here the codec's Decode has already built it:

"Return_ACK": {
  "type": "Response",
  "kind": "Http",
  "inputs": {
    "statusCode": 200,
    "body": { "acknowledgement": "@{body('Decode_HL7')?['ack']}" }
  }
}