используйте hapi parser 2.6 для более старых версий - PullRequest
0 голосов
/ 13 декабря 2018

Я получаю сообщения ORM_O01 от различных поставщиков.Ранее мы работали только с версиями 2.3 и 2.6.Теперь мы получаем заказ с версией 2.5.И я не могу поддерживать 3 вставленных копии кода одновременно.

Можно ли обработать все сообщения с пакетом ca.uhn.hl7v2.model.v26.?Все версии HL7 имеют обратную совместимость, поэтому по логике я могу использовать v26 для разбора заказов с более старыми версиями.В настоящее время я смог разобрать его как общее сообщение, но я не знаю, как с этим справиться.С первого взгляда будет проще написать собственный анализатор, чем использовать универсальный API сообщений.

1 Ответ

0 голосов
/ 13 декабря 2018

Я нашел решение на сайте HAPI - https://hapifhir.github.io/hapi-hl7v2/xref/ca/uhn/hl7v2/examples/HandlingMultipleVersions.html

         String v23Message = "hl7 message with version 2.3";
         HapiContext context = new DefaultHapiContext();
         CanonicalModelClassFactory mcf = new CanonicalModelClassFactory("2.5");
         context.setModelClassFactory(mcf);
         PipeParser parser = context.getPipeParser();

         ca.uhn.hl7v2.model.v25.message.ORU_R01 msg = (ca.uhn.hl7v2.model.v25.message.ORU_R01) parser.parse(v23message);
...