2014-01-13 5 views
0

У меня есть файл, который имеет расширение .hl7 и формат файла, как:Как преобразовать файл HL7 в читаемом пользователем формате

MSH |^~ \ & |^CCHITLabs^L-CL |^CCHIT^L- CL | ^^ | ^^ | 20100407121000 || ORU^R01^ORU_R01 | 20100407121000 | P | 2.5.1 | 0001 || AL |||| MT-ORU-2_R1 PID | 1 | 12 | 00000333 ^^^^ AN || Grayson^Jim ^^^^^ L || 19430309 | M ||| 834 Ocean Vista Avenue^Apt. 202^Santa Monica^CA^90401 || 3105552233 ORC | RE ||| 3^EHR-System . . . . OBX | 4 | NM | 14927-8^Триглицериды^LN || 100 | mg/dL | < 149 |||| F |||||^DOE^JOHN ||||||| AccuLabs ^^^^^ CLIA ^^^^ 10D987432 | 432 Административный пр. ^^ Св. Louis^MO^63146 |^Smith^John ^^^ Dr.^MD NTE | 0 | L |

Я хочу прочитать этот файл и выгрузить данные из базы данных. Есть ли какой-либо API или программа для .NET, чтобы прочитать этот файл и сбросить данные в базе данных? Или любой другой способ сделать это?

+1

Есть многочисленные HL7 редакторы, браузеры и редакторы, которые могут читать файлы HL7. Но если вы хотите поместить или сбросить данные в базе данных, вам следует либо рассмотреть коммерческое решение, либо написать собственное приложение с одним из многих доступных инструментов HL7 или без него. – sqlab

ответ

2

Посмотрите на NHapi.
NHapi позволяет разработчикам Microsoft .NET легко использовать объектную модель HL7 2.x. Эта объектная модель позволяет синтаксический анализ и кодированию HL7 2.x данных в/из трубы разделителей или форматы XML

Это должно дать вам подсказку для .NET

HL7 является стандартным протоколом ANSI для обмена информации о медицинских, финансовых или административных данных в отрасли здравоохранения. Он в основном используется в больницах между поставщиками данных, например. лаборатория, радиология и места потребления. Он определяет триггеры и форматы сообщений, подлежащих обмену. Ваш файл принадлежит семейству протоколов версии 2. Версия 3 основана на XML и гораздо более строгая, поэтому многие компании предпочитают версию 2.

+0

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

+0

Этого достаточно? Если ссылка ломается, можно искать NHapi! – sqlab

+1

Гораздо лучше. Вы могли бы попробовать сказать, что такое HL7. У меня не создается впечатление, что ОП знает, в чем он попадает. –

0

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

Если бы я был на вашем месте, я бы просто скачал

Mirth и

connect it to your database и использовать разъем писателя базы данных, чтобы написать свой собственный сценарий базы данных.

Преимущество в том, что вы сэкономите много времени, избегая разбирать сообщение и обрабатывая содержимое в БД. Когда ваш запрос db будет готов, вы можете просто перетащить компоненты, которые вам нужно записать в базу данных.

+0

Весь сервер связи всего за один файл? – sqlab

+0

Не совсем, вы можете установить его и на свой локальный, и указать на то место, где на самом деле находится файл. – Sid

+0

?? Это все еще сервер коммуникаций, независимо от того, где вы устанавливаете Mirth. – sqlab

3

Все хорошие комментарии.

Я делаю это для жизни и согласен с тем, что Nhapi - лучший способ перейти от перспективы программистов на C#. Двигатели с открытым исходным кодом являются замечательными, но, как правило, требуют немного больше знаний о HL7 (с моей точки зрения).

Я также предлагаю посетить this site для некоторых очень хороших примеров разбора сообщений HL7 с использованием Nhapi.

Если вы наклоняетесь к Java, то visit this site для HAPI (Java-версия NHAPI). Есть также множество примеров того, как выполнить то, что вы пытаетесь сделать.

Good Luck

-1

В настоящее время у нас нет каких-либо конкретных API для чтения данных HL7. Тот факт, что кодирование сообщений HL7 использует указанные разделители, ограничивает способность разработчика вводить новые способы разделения данных. Подкомпонент не может быть, поскольку для этого потребуется изобретение нового типа разделителя.

В первых спецификациях HL7 не было определено абстрактное сообщение.

С уважением, Джей

Смежные вопросы