0

I am currently trying to write a script that could conduct an "HL7 Ping" but I am still new to HL7 and not 100% sure how I could do that. I am trying to build out a health check for my HL7 enabled devices and have come up fruitless. I've seen solutions like testing the port and such; however, this does not fulfill my goal. I want to send a message:

MSH|^~\&|MONITORINGPING||||||ADT^A01|

And get some sort of ACK back to confirm whether the service is up and running. Does anybody out there know the answer or know where I could go to get it?

Amit Joshi
  • 15,448
  • 21
  • 77
  • 141
N00b
  • 13
  • 2

2 Answers2

0

There is no such a thing as "ping" or "health check" on HL7 or MLLP level. Please refer to this answer for more details about MLLP.

The message you are sending

MSH|^~&|MONITORINGPING||||||ADT^A01|

is just one segment of ADT message. This is not a valid message. If you want the ACK in response, you should send full and valid ADT (or any other) message. Although, some HL7 Listeners may send NAK for such message; I will recommend do not rely on that.

On TCP level, you may simply ping the IP or alternatively you can telnet IP and port.

Amit Joshi
  • 15,448
  • 21
  • 77
  • 141
0

An ADT message is not appropriate to "ping" a remote system. The closest trigger event for what you're trying to do is probably NMD^N02 (Application Management Data Message). But you'll find that trigger event isn't supported by most real world applications.

Nick Radov
  • 401
  • 2
  • 7