Yeah, I think this is the only way to do it without customizing any of the Ensemble classes. You would need a different business process handling the ACK processing. Thanks for the responses!

Thanks for the suggestion, Jeffrey.

I did try this out before, but this causes the messages to get caught in a loop. That is because after the router receives the response (#7 below), it will send a response to a new target specified by the rule set (new target = boHL7FileOut). But because Response From has some value, the router will generate a local response after some time and then send that response to itself...going on and on.

From the Response From property documentation: 

"If none of the listed targets gets called or the replying target does not return a document, this router will generate an ACK response if needed."

Is there some other way to control when the router should generate a local response? 

Thanks for putting in all this work, Dmitriy! I've been using this plugin for a few months and enjoying it.

Posting question here about the UDL preview from XML exported classes. I'm not  sure I've been able to get this to work. My project has a legacy repo that only uses XML exports (current repos are using UDL format). I've pointed my working directory to the root  location of these XML export files. When I have the "automatic preview" setting enabled, I expected the plugin to translate the XML to a UDL form in the editor. Is this how it works? 

Also, would I be able to modify the UDL content or is this a read-only feature?

Was wondering if "ATL-3982" made it into the release? It was support to specify a specific Caché instance when using a single web server.

Would this work if you don't have a .csp file? The AngularJS tutorial creates a Welcome.csp file that can be handled by the out-of-box server. 

Thanks for the suggestion. We're currently running HealthShare instances on top of Ensemble. We've been told by ISC that there isn't a HealthShare version of IRIS available yet, so we don't plan on migrating to the new platform anytime soon.

Thanks for the reference! I'll take a look at this. 

I'm assuming that you would also need a companion container defined for your database server(s) where you would deal with persisting data.

Checking to see if this is still true. Are there "official" Docker containers for Caché/Ensemble or even HealthShare built on Ensemble?

Also interested to know if the "durable %SYS" solution is available for integration with custom containers? 

Thanks for the reply Sean!

I've thought about putting something together like this. Question on your approach though - I thought it wasn't entirely safe to loop over the "RawContent" property in EnsLib.HL7.Message because it doesn't always contain the entire HL7 V2 message. I was thinking of exploring the HL7 segment globals where the data is stored, but that might be getting too far in the weeds.

Thanks for the reply Sean!

I've thought about putting something together like this. Question on your approach though - I thought it wasn't entirely safe to loop over the "RawContent" property in EnsLib.HL7.Message because it doesn't always contain the entire HL7 V2 message. I was thinking of exploring the HL7 segment globals where the data is stored, but that might be getting to far in the weeds.