Hapi-HL7-Terser, порядок сегментов при создании сообщения с использованием terser

Я пытаюсь создать сообщение HL7, используя код, подобный следующему:

Message message = new DefaultModelClassFactory().getMessageClass("ADT_A01", "2.3", false).newInstance();
Terser terser = new Terser(message);
terser.set("FHS-1-1","|");
... similar terser.set calls for other FHS fields
terser.set("BHS-1-1","|");
... similar terser.set calls for other BHS fields
terser.set("MSH-1-1","|");
... similar terser.set calls for other MSH fields

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

в то время как фактический результат: FHS MSH BHS

Итак, мой вопрос: есть ли способ контролировать порядок сгенерированных сегментов при использовании HAPI terser? или есть способ заставить терсер генерировать сегменты в том же порядке, в каком они были созданы с помощью метода set?


person Nawar Khoury    schedule 12.04.2016    source источник


Ответы (1)


Согласно определению .getMessageClass(String theName, String theVersion, boolean isExplicit) ваше использование .getMessageClass кажется неправильным.

Попробуй что-нибудь подобное

DefaultModelClassFactory().getMessageClass("ADT_A01", "2.5",false).newInstance();
person sqlab    schedule 12.04.2016
comment
ну, вы правы в этом, но это не проблема, это была опечатка, когда я писал здесь код, но в моем коде я правильно устанавливаю версию и тип сообщения ... извините, мне просто интересно, есть ли - это способ контролировать порядок, в котором генерируются сегменты, мне он кажется случайным, я уверен, что за этим стоит какая-то логика, но я просто не смог найти ничего по этому поводу в документации. - person Nawar Khoury; 13.04.2016
comment
Вы проверяли свой шаблон на ADT ^ A01? Я думаю, вы можете создать новый шаблон или изменить уже существующий в соответствии с вашими потребностями. - person sqlab; 13.04.2016
comment
хороший момент, но на самом деле я получил тот же результат со всеми шаблонами, которые я пробовал. - person Nawar Khoury; 13.04.2016
comment
Я пробовал использовать общее сообщение, например: message = new GenericMessage.UnknownVersion (new DefaultModelClassFactory ()); и тоже получил такой же результат ... - person Nawar Khoury; 13.04.2016
comment
Возможно, hapi не поддерживает пакетную обработку файлов. - person sqlab; 13.04.2016
comment
да, я думаю, что это не так ... Я написал свой собственный код, который манипулирует сообщением в соответствии с моими требованиями ... большое спасибо за вашу помощь :) - person Nawar Khoury; 13.04.2016