2012-06-20 10 views
6

Ich bin auf der Suche nach einem HL7-Listener in C# zu erstellen. Wir analysieren bereits Nachrichten, die als Textdateien an uns gesendet werden, und importieren sie in die Datenbank, sodass ich weiß, was HL7-Nachrichten sind und wie sie analysiert werden.Ein paar Fragen zu einem HL7-Listener

Meine Hauptfrage bezüglich des Zuhörers. Ist der Listener einfach ein TCP-Listener? Wenn ja, könnte ich einen grundlegenden TCP-Listener zusammenstellen, der die Nachricht erhält und die Ergebnisse analysiert, indem er sie in unsere Datenbank importiert?

Meine zweite Frage betrifft die ACK. Mein Verständnis davon ist einfach eine Nachricht, die nach dem Empfang einer Nachricht an den Absender zurückgesendet wird. Es ist einfach eine andere HL7-Nachricht, die als eine Antwortnachricht bezeichnet wird.

Bin ich in meinem Verständnis richtig? Auch wenn jemand zusätzliche Informationen oder Hinweise hat, würde ich jede Hilfe zu schätzen wissen.

+0

Hallo, ich muss einen HL7 ADT-Listener erstellen, was hast du damit beendet? Schätze so viel – VAAA

+0

@VAAA Am Ende meinst du den Charakter, der die Nachricht schließt? Wenn ja, schauen Sie sich die angenommene Antwort an, das sind die Zeichen, die Sie hinzufügen müssen. – Jhorra

+0

Ich erstelle einen C# -Socket-Listener und ich bekomme die HL7-Nachricht, aber wenn ich es dekodiere, fügt es zusätzliche Chacaters hinzu, die beim Analysieren Probleme erzeugen. Dies ist meine Kodierung: ASCIIEncoding encoder = new ASCIIEncoding(); var hl7Message = encoder.GetString (Nachricht, 0, BytesRead); – VAAA

Antwort

7

Ja, es ist nur ein einfacher TCP-Listener.

Zur Bestätigung einer Nachricht, die Sie haben eine MSH Nachricht zurück, die somehting sollte wie folgt aussehen:

<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> 

Sie sollten wahrscheinlich buchen: http://nhapi.sourceforge.net/home.php

+0

Wie ist die Struktur der Bestätigungsnachricht? THanks – VAAA

+0

Das ist die Nachricht, die ich dort gestellt habe. :) – albertjan

6

Mehrere Artikel:

  1. Die "Protokoll", das über den Socket läuft, ist das HL7 Minimal-Protokoll der unteren Schicht (MLP oder manchmal MLLP). Dieses einfache Protokoll verpackt HL7-Nachrichten mit Start- und Endzeichen. A description HL7 MLP Umbruchzeichen.
  2. Wie von @the_ajp angegeben, müssen Sie als Empfänger einer HL7-Nachricht eine HL7-Bestätigung erstellen. Es gibt einige archaische Regeln beteiligt, aber letztlich ist der Teil, der der Schlüssel ist, dass Sie Application Accept ("AA") die Nachricht in MSA-1. Einige Absender sind sehr wählerisch in Bezug auf ihre Acks und benötigen eindeutige Nachrichten-IDs, Bestätigung der korrekten Nachricht, korrekten Trigger-Code in MSH-9, usw. Details auf der HL7 ACK Message; Diskussion von original and enhanced HL7 acknowledgments.
  3. Natürlich können Sie Ihr eigenes HL7-Subsystem wachsen, das fest codiert ist. Bevor Sie dies tun, betrachten Sie jedoch die total costs of building and supporting an HL7 subsystem, schauen Sie sich einige freie Optionen wie Mirth an und betrachten Sie kommerzielle Lösungen wie Corepoint oder Interfaceware.

Disclosure: Ich Mitvorsitzender der HL7-Infrastruktur und Message (INM) Ausschuss, CTO bei Corepoint und Chief Architect der Cloverleaf Integration Engine bin.

1

Kaufen Vs. Bauen. Wenn Sie Ihre HL7-Schnittstelle bereits "fertig" gemacht haben und es sich um das Dateisystem handelt, warum sollten Sie dann etwas, das so leicht verfügbar ist, wiederherstellen? Es gibt das Mirth-Projekt, das Open Source ist oder wenn Sie etwas wollen, dass

a) Genau das, was Sie suchen out of the box (in dem es für genau das Szenario entworfen wurde, das Sie skizzieren).

b) Hat eine der (wenn nicht die) niedrigsten Kosten in der Welt für kommerzielle HL7-Software dieser Art.

c) Installiert und konfiguriert in Minuten.

Untersuchen Sie ein wenig und sehen Sie sich dies an: http://www.hermetechnz.com/EasyHL7/Prod_Listeners.asp.

Wenn Sie nicht wirklich Hunderte oder Tausende von Bereitstellungen pro Jahr durchführen, müssen Sie sich nur fragen, ob Sie Ihre Zeit am besten nutzen können.

OFFENBARUNG: Ich arbeite in der Kundenbetreuung dieser Firma, aber wir beschäftigen überhaupt keine Verkäufer, es ist einfach ein grossartiges, billiges, zuverlässiges HL7 Produkt, das auf der ganzen Welt benutzt wird.