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?

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.