2015-04-10 2 views
1

Хапи включает в себя функцию синтаксического анализатора, который может анализировать конкретную версию HL7 на альтернативные версии:Hapi Переход от HL7 2.31 до HL7 2.5

HapiContext context = new DefaultHapiContext(); 
     CanonicalModelClassFactory mcf = new CanonicalModelClassFactory("2.5"); 
     context.setModelClassFactory(mcf); 
     PipeParser parser = context.getPipeParser(); 
     parser.getParserConfiguration().setIdGenerator(new InMemoryIDGenerator()); 

     context.getParserConfiguration().setValidating(false); 

     ADT_AXX axx = null; 

     try { 
      axx = (ADT_AXX) parser.parse(message.toString()); 
     } 
     catch (HL7Exception e) { 
      log.warn("Exception parsing to AXX"); 
      e.printStackTrace(); 
     } 

В версии 2.31 Участвуют врачи обменивались сообщениями в PV1.7-9. В 2.5 есть сегмент ROL, который содержит эту информацию. Моя проблема заключается в том, что анализатор Hapi, похоже, не анализирует PV1.7.9 в ROL. Я не думаю, что это правильное поведение? Любые рекомендации по поддержке оценены?

+0

Какое сообщение вы разбираете и какое сообщение об ошибке вы получаете? Я не слишком много знаю о «hapi», но я бы попытался найти ответ в исходном коде, отвечающем за сопоставление сообщений, и я ожидаю, что там будут какие-то настраиваемые карты. Поскольку дольше существует протокол «hl7», он становится более динамичным и управляемым сообщением. BTW: Я не думаю, что на этом низком уровне библиотека должна притворяться, что видит что-то еще, а что там на самом деле. Обычно это бизнес некоторых слоев верхней абстракции. – xmojmr

+0

Спасибо за ваш комментарий, однако я думаю, что ответ был более прямым, чем я предполагал. – skyman

ответ

1

В случае, если другие спотыкаются об этом, самый прямой ответ заключается в том, что 2.5 также имеет сегмент PV1.7, поэтому наиболее разумным является то, что анализатор должен отображать данные PV1.7 с версии 2.31 в один и тот же сегмент в версии 2.5, а не (как я предполагал) сопоставление с сегментами ROL ... И это именно то, что он делает.

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