Несколько вопросов относительно прослушивателя HL7

Я хочу создать прослушиватель HL7 на С#. Мы уже анализируем сообщения, которые отправляются нам в виде текстовых файлов, и импортируем их в базу данных, поэтому я понимаю, что такое сообщения HL7 и как их анализировать.

Мой главный вопрос относительно слушателя. Является ли прослушиватель просто прослушивателем TCP? Если да, могу ли я собрать базовый прослушиватель TCP, который получает сообщение и анализирует результаты, импортируя их в нашу базу данных?

Мой второй вопрос касается ACK. Насколько я понимаю, это просто сообщение, отправленное обратно отправителю после получения сообщения. Это просто еще одно сообщение HL7, обозначенное как ответное сообщение.

Я прав в своем понимании? Также, если у кого-то есть дополнительная информация или указатели, я был бы признателен за любую помощь.


person Jhorra    schedule 20.06.2012    source источник
comment
Привет, мне нужно создать прослушиватель HL7 ADT, на чем ты закончил? ценю так много   -  person VAAA    schedule 29.07.2017
comment
@VAAA Под концом вы имеете в виду символ, который закрывает сообщение? Если это так, взгляните на принятый ответ, это символы, которые вам нужно добавить.   -  person Jhorra    schedule 29.07.2017
comment
Я создаю прослушиватель сокетов С#, и я получаю сообщение HL7, но когда я его декодирую, он добавляет дополнительные символы, которые создают проблемы при его разборе. Это моя кодировка: кодировщик ASCIIEncoding = new ASCIIEncoding(); var hl7Message = encoder.GetString(сообщение, 0, прочитано байтов);   -  person VAAA    schedule 31.07.2017


Ответы (3)


Да, это просто простой прослушиватель TCP.

Чтобы подтвердить сообщение, вы должны вернуть сообщение MSH, которое должно выглядеть примерно так:

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

Вероятно, вам следует посмотреть: http://nhapi.sourceforge.net/home.php

person albertjan    schedule 20.06.2012
comment
Какова структура сообщения подтверждения? Спасибо - person VAAA; 31.07.2017
comment
Это сообщение я положил там. :) - person albertjan; 31.07.2017

Несколько предметов:

  1. «Протокол», работающий через сокет, - это протокол минимального нижнего уровня HL7 (MLP или иногда MLLP). Этот простой протокол оборачивает сообщения HL7 начальными и конечными символами. описание HL7 MLP обертывание символов.
  2. Как отметил @the_ajp, как получатель сообщения HL7, вам необходимо создать подтверждение HL7. Здесь задействованы некоторые архаичные правила, но, в конечном счете, ключевой момент заключается в том, что приложение принимает («AA») сообщение в MSA-1. Некоторые отправители очень требовательны к своим подтверждениям и требуют уникальных идентификаторов сообщений, подтверждения правильности сообщения, правильного кода триггера в MSH-9 и т. д. Подробности на Сообщение ACK HL7; обсуждение исходных и расширенных подтверждений HL7.
  3. Ясно, что вы можете создать свою собственную подсистему HL7, жестко запрограммированную. Однако перед этим рассмотрите общие затраты на создание и поддерживает подсистему HL7, обратите внимание на некоторые бесплатные варианты, такие как Mirth , а также рассмотрите коммерческие решения, такие как Corepoint или Интерфейс.

Раскрытие информации: я являюсь сопредседателем комитета по инфраструктуре и сообщениям HL7 (InM), техническим директором Corepoint и главным архитектором механизма интеграции Cloverleaf.

person Dave Shaver    schedule 11.07.2012
comment
Обертка в MLLP была для меня обязательной, как только я получил, что фиксированный интерфейс Corepoint принимает мои сообщения ACK. Нашел эту ссылку. saravanansubramanian.com/hl72xdotnetprogramming/ - person Deylo Woo; 20.05.2020

Купить Против. Строить. Если вы уже «сделали» свой интерфейс HL7 и он работает вне файловой системы, то с какой стати вам хотеть пересобирать что-то, что так легко доступно. Есть проект Mirth с открытым исходным кодом или, если вы хотите что-то, что

а) Делает именно то, что вы ищете из коробки (в том смысле, что он был разработан именно для сценария, который вы описываете).

b) Имеет одну из (если не САМУЮ) самых низких цен в мире на коммерческое программное обеспечение HL7 такого типа.

в) Устанавливается и настраивается за считанные минуты.

Изучите немного и посмотрите на это: http://www.hermetechnz.com/EasyHL7/Prod_Listeners.asp.

Если вы действительно не планируете выполнять сотни или тысячи развертываний в год, вам просто нужно спросить себя, является ли это наилучшим использованием вашего времени.

РАСКРЫТИЕ: Я работаю в службе поддержки клиентов в этой компании, но мы вообще не нанимаем продавцов, это просто отличный, дешевый и надежный продукт HL7, который используется во всем мире.

person Ed Daniel    schedule 29.08.2012