tags:

views:

238

answers:

3

Hi,

I'm designing a .net interface for sending and receiving a HL7 message and noticed on this forum theres a few people with this experience.

My question is.... Would anyone be able to share their experience on how long it could take to get a message response back from a hospital HL7 server. (Particularly when requesting patient demographics) - seconds / minutes / Hours?

My dilemma is do I design my application to make the user wait for the message to come back.

(Sorry if this is a little off topic, it’s still kinda programming related? – I searched the web for HL7 forums but got stuck so again if anyone knows of any please let me know )

cheers, Jason

+1  A: 

In my experience, you should receive an ACK or NAK back within a few seconds. The receiving application shouldn't do something like making you wait while it performs operations on the message. We have timeouts set to 30 seconds, and we almost never wait that long for a response.

Joel
A: 

This is quite dependent on the kind of HL7 message sent, typically messages like ADT's are sent as essentially updates to the server, and are acknowledged almost immediately if the hospital system is behaving well. This will result in a protocol level acknowledgement, which indicates that the peer has received the message but not necessarily processed it yet.

Typically, most systems will employ a broker or message queue in their integration engines so you get your ack almost immediately.

Other messages like lab request messages may actually send another non-ack message back which contains the information requested. These requests can take longer.

You can check with the peer you're communicating with to see what integration engine they are using, and if a queue sits on that end which would help ensure the response times are short.

In the HL7 integration tool I work on, we use queues for inbound data so we can responde immediately. And for our outbound connections, 10s timeouts are default, and seem to work fine for most of our customers.

Snazzer
Thanks for this -The message we will be sending is "QRY-A19" and wondering if we hang on for a response on the windows app or do some queuing behind the scenes. ta, j
jason clark
A: 

When sending a Query type event in HL7, it could take a number of seconds to get the proper response back. You also need to code for the possibility that you will never get a response back, and the possibility that connected systems "don't do" queries. Most HL7 nets that I have worked on, assume that all interested systems are listening for demographic updates at all times. Usually, receiving systems process these updates into a patient database that documents both the Person and Encounter (Stay) information on the fly. In my location, my system usually gets about 10-20 thousand messages a day, most of which are patient demographic updates.

Medbob