A few questions regarding the HL7 listener

I want to create an HL7 listener in C #. We already parse the messages that are sent to us in the form of text files and import them into the database, so I understand what HL7 messages are and how to analyze them.

My main question is about the listener. Is the listener just a TCP receiver? If so, can I build a basic TCP listener that receives a message and parses the results by importing them into our database?

My secondary questions are about ACK. My understanding of this is simply a message sent to the sender after receiving the message. This is just another HL7 message designated as a reply message.

Am I right in my understanding? Also, if anyone has additional information or pointers, I would appreciate any help.

+6
source share
3 answers

Yes, it's just a simple TCP listener.

To confirm the message, you must return the MSH message, which should look like this:

<11> this means a byte represented in a decimal value. this is VT from the ascii table. <11>MSH|^~\&|KS||LAB||20040915080800||ACK|59793000678|P|2.2|59793000678<13> MSA|AA|59793000678<13> <28><13> 

You should probably see: http://nhapi.sourceforge.net/home.php

+7
source

A few elements:

  • A β€œprotocol” executed through a socket is a minimum low level protocol HL7 (MLP or sometimes MLLP). This simple protocol wraps HL7 messages with leading and trailing characters. A description of the HL7 MLP character wrap.
  • As @the_ajp noted, as the recipient of an HL7 message, you need to create an HL7 acknowledgment. There are some archaic rules, but ultimately the key part is that you accept the application (β€œAA”) in the MSA-1 message. Some senders are very picky about their Acks and require unique message identifiers, confirmation of the correct message, the correct startup code in MSH-9, etc. Details of the HL7 ACK Message ; discussion of original and extended HL7 acknowledgments .
  • Obviously, you can create your own HL7 subsystem, which is hard-coded. However, before you do this, consider the total costs of creating and maintaining the HL7 subsystem , look at some free options, such as Mirth , and consider commercial solutions, such as Corepoint or Interfaceware .

Disclosure: I co-chair the HL7 Infrastructure and Communications (InM) Committee, Corepoint CTO and Cloverleaf Integration Engineer.

+6
source

Buy against. Build. If you have already "made" your HL7 interface, and it works with the file system, then why don't you want to remake something that is so easily accessible. There's a Mirth project that is open source or if you want something that

a) Exactly what you are looking for from the box (that it was designed specifically for what you draw).

b) Does any (if not THE) have the lowest cost in the world for this kind of commercial HL7 software.

c) Installed and configured in minutes.

Learn a little and look at this: http://www.hermetechnz.com/EasyHL7/Prod_Listeners.asp .

If you really do not look at hundreds or thousands of deployments per year, you just need to ask yourself if it is better to use your time.

DISCLOSURE: I work in the field of customer support at this company, but we do not use sellers at all, it is just an excellent, cheap and reliable HL7 product used worldwide.

+1
source

Source: https://habr.com/ru/post/918593/


All Articles