We need to add some stored data to an ACK message being sent back to the originating system. I have been looking at how to adapt the standard "EnsLib.HL7.MsgRouter.RoutingEngine" to do this as I cannot see any obvious way. Any suggestion?
In your HL7 Service, you can set the 'Ack Mode' to Application, which works as follows:
Application ACK — The Ensemble business service does not send an ACK or NACK to the source application until one returns from the target application by way of the Ensemble business operation. The business service returns the ACK or NACK that it receives from the business operation.
Then in your Business Process, you can construct an ACK (using a DTL with an HL7 ACK as the target) and store whatever data you need there. You may need to use BPL, rather than a MsgRouter, based on the complexity of what you're trying to do.