Парсер HL7 версии 2.7 с использованием Java, кроме Hapi

Есть ли хороший синтаксический анализатор, который может анализировать сообщение HL7 V2.7 с использованием Java, кроме HAPI. Моя цель - преобразовать сообщение в файл XML.


person user1321939    schedule 11.08.2014    source источник
comment
Я пробовал с Hapi, но у hapi нет поддержки 2.7. Это бросает мне исключение. У меня есть JL7 от Google, но его нельзя использовать. Так что не могли бы вы предложить какой-нибудь лучший инструмент.   -  person user1321939    schedule 11.08.2014
comment
У вас уже есть партнер по коммуникации, использующий HL7 V2.7? с особенностями версии? Если нет, то 2.7 в основном совместим с предыдущими версиями.   -  person sqlab    schedule 11.08.2014
comment
Изменив часть кода HAPI, я могу преобразовать некоторые сообщения. Итак, не могли бы вы рассказать мне, в чем разница между сообщениями 2.7 и 2.6, чтобы я мог добавить функции проверки. Я новичок в сфере здравоохранения, поэтому доставляю проблемы. простите за это.   -  person user1321939    schedule 12.08.2014


Ответы (2)


Существует моя собственная альтернатива с открытым исходным кодом под названием HL7X, которая работает с любой версией HL7v2. Он преобразует вашу строку HL7 в строку XML.

Пример:

MSH|^~\&|||||20121116122025||ADT^A01|5730224|P|2.5||||||UNICODE UTF-8
EVN|A01|20130120151827
PID||0|123||Name^Firstname^^^^||193106170000|w
PV1||E|

Превращается в

<?xml version="1.0" encoding="UTF-8"?>
<HL7X>
<HL7X>
    <MSH>
        <MSH.1>^~\&amp;</MSH.1>
        <MSH.6>20121116122025</MSH.6>
        <MSH.8>
            <MSH.8.1>ADT</MSH.8.1>
            <MSH.8.2>A01</MSH.8.2>
        </MSH.8>
        <MSH.9>5730224</MSH.9>
        <MSH.10>P</MSH.10>
        <MSH.11>2.5</MSH.11>
        <MSH.17>UNICODE UTF-8</MSH.17>
    </MSH>
    <EVN>
        <EVN.1>A01</EVN.1>
        <EVN.2>20130120151827</EVN.2>
    </EVN>
    <PID>
        <PID.2>0</PID.2>
        <PID.3>123</PID.3>    
        <PID.5>
            <PID.5.1>Name</PID.5.1>
            <PID.5.2>Firstname</PID.5.2>
        </PID.5>
        <PID.7>193106170000</PID.7>
        <PID.8>F</PID.8>
    </PID>
    <PV1>
        <PV1.2>E</PV1.2>            
    </PV1>
</HL7X>

person FiveO    schedule 17.02.2015

этот http://www.dcm4che.org/confluence/display/ee2/Home Программное обеспечение Java с открытым исходным кодом может получать различные сообщения HL7 через протокол MLLP, преобразовывать их в XML, запускать через преобразователь XSLT, а затем загружать их в базу данных и по мере необходимости передавать клиентам DICOM. Для этого в кодовой базе есть код HL7->XML. Просто найдите его, скопируйте/вставьте и используйте.

Однажды я узнал, где именно находится этот код, когда решал проблему с набором символов сообщения. В то время я обнаружил, что парсер HL7 довольно простодушен и может понять только 1 набор символов, предусмотренный в конфигурации. Он не читает/использует набор символов (MSH-18, таблица 0211, советы по кодированию Грэма Грива), представленный в сообщениях, также не поддерживает переключение наборов символов во время декодирования сообщения (см. главу «Escape-последовательности, поддерживающие несколько наборов символов» в спецификации HL7).

Итак, я знаю, что код парсера есть. Это на Яве. Он создает входные данные XML для пользовательского сценария преобразования XSLT. Это должно быть довольно легко повторно использовать.

Вы должны быть в состоянии найти его самостоятельно. В противном случае ваш вопрос оказался бы простым поиск инструмента §4 не по теме :)

person xmojmr    schedule 16.08.2014
comment
Большое спасибо. Мне нравится играть с dcm4che. Возможно ли это также для сообщений HL7 v2.7? - person user1321939; 18.08.2014
comment
@ user1321939 Извините, я не уверен в совместимости dcm4chee с HL7 v2.7. Либо загрузите и установите его и попробуйте, либо спросите в сообществе разработчиков. Я думаю, что он должен быть совместим, так как он может читать общий формат сообщений HL7 v2 начиная с HL7 v2.5 и в соответствии с Новые функции HL7 версии 2.6 и Новые функции HL7 версии 2.7 кажется, что формат сообщения HL7 v2.7 остался почти обратно совместимым (... одна из первоначальных целей дизайна...), если нет, то вы должны быть в состоянии взломать его :) - person xmojmr; 18.08.2014