The HL7 flow uses MLLP adapter in BizTalk. There is also the Accelerator provided by Microsoft which can change the format of the HL7 message to an XML format for it to be processed.
When it comes to logging the HL7 messages, options available are storing it to the database or storing it to a file location by coding this as Pipeline Components.
Is it possible to store a copy of the HL7 message on a separate MSMQ queue so that other options for logging can be considered? If so, what would be the approach? I know there is the MSMQ adapter but with HL7, the appropriate adapter would be MLLP (For the Microsoft provided additional tools, namely BTAHL7)
Yes you can easily use msmq adapter to send the message to msmq queue. All you need is a send port with Msmq adapter and with hl7 assembler pipeline so that when message reaches to queue it’s raw hl7. And then you can read the message from queue to save it anywhere u want. If required you can again disassemble from queue or just use a custom component for logging.