The ACK is sent once the run is accepted (persisted, for stateful workflows). AE/CE if the run can't be started.
Workflow
Two-way (request-response) receive location
The sender waits until the workflow calls Send acknowledgement (gateway: the workflow's Response body). After responseTimeoutSeconds, timeoutBehavior applies: SendNegativeAck, CloseConnection or NoResponse.
None
One-way, no ACK
Nothing is returned.
Acknowledgement type
Type
Behaviour
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).
Enhanced
CA / CE / CR according to MSH-15; an empty MSH-15 means AL.
StaticOriginal
Always AA / AE / AR.
StaticEnhanced
Always CA / CE / CR.
None
Never.
Trigger inputs
Input
Values
Default
acknowledgementMode
Auto | Workflow | None
Auto
acknowledgementType
Original | Enhanced | StaticOriginal | StaticEnhanced | None
Original
responseTimeoutSeconds
Workflow mode: how long the sender waits for Send acknowledgement
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: