tags:

views:

66

answers:

2

I am trying to write an HL7 message parser that will send a specified acknowledgment back to a messaging engine so that my applicaiton may receive the next message in line.

The interface engine that is sending the messages is call VISTA (has anyone ever worked with it?) I have been told that it expects to receive an 'Ackknowledgement ACK' if there is a value in MSH field 15. In all of the messages that I am currently receiving, I am getting a value of 'AL'.

I have basically set up my application to send a TCP message to a hostname/ip:portnumber that can be set before the applicaiton is started.

If possible, could someone provide a sample ACK message (without sensitive data of course) AND the non-whitspace characters that wrap the message?

I would like to make sure that I know what I need to send back to the sending application.

A: 

I haven't worked with VISTA, and my only current setup is returning an error ACK due to some application issue that I won't be able to debug right now, but in case it's helpful here's the error ACK:

MSH|^~\&|||||20100630130105.496-0500||ACK|20||2.3
MSA|AE|H20091222063637.9834
ERR|^^^207&Application Internal Error&HL70357

Note that this is HL7 v2.3 - the format may be different for other versions.

Greg Harman
This example is very helpful. Is the ERR| segment used for anything in particular or is that specific information for your application?
It's just more information to let my app know what's going on. This message was acknowledging receipt of a message, but reporting that the processing of the message resulted in an error condition. So, if there was no error, there wouldn't be an ERR segment.
Greg Harman
A: 

After some further research of my own, and the help of responses to this post, I have found that the following items are required to be included for the sending applicaiton to accept my ACK and move onto the next message.

The ACK must contain the following:

MSH|^~\&|Receiving App|Receiving App ID|Sending App|Sending App ID|DateTime of Message||"ACK"|Message Control ID|Processing ID|Version ID
MSA|AE <or> AR <or> AA|Message Control ID (MSH 9 from the sent message)
ERR| This particular segment is not required by the sending application

The problem I was experiencing pertained to my Sending and Receiving App IDs and Names were swapped.

Thanks for the help!