Как я могу получить значение поля HL7, указав только имя структуры и поле сообщения HL7? Эта строка кода message.GetStructure("MSH")
работает хорошо, а эта — нет: message.GetStructure("MSH.SendingFacility")
. Имя поля известно только во время выполнения, поэтому я не могу использовать строго типизированные методы, такие как message.GetStructure("MSH").SendingFacility()
.
Нужно получить значение поля по его имени и имени его структуры
comment
Я взглянул на спецификацию Hl7 и думаю, что нет метода «получить по имени поля», поскольку в спецификации Hl7 нет таких имен полей, вместо этого определяется только порядок. В NHapi есть метод, позволяющий получить доступ к значению поля по его порядку, соответствующему спецификации. Поправьте меня, если я ошибаюсь, пожалуйста
- person YMC   schedule 17.09.2013
Ответы (1)
Почему вы не знаете имя поля?
NHAPI основан на спецификациях HL7. В спецификациях названы все поля во всех сегментах.
Если вы добавляете новое поле, вам следует создать собственное определение сообщения и назвать поле.
Как упоминалось в @YMC, вы можете выбрать поле, используя индекс. Другой вариант, хотя, возможно, и не столь эффективный, состоит в обходе всех сегментов и полей. Что я и сделал в своем приложении NHAPI HL7 с представлением в виде дерева.
person
davidlg
schedule
18.09.2013
В моем случае имя поля известно только во время выполнения, поскольку пользователь вводит его в форму. Правильно ли я вас понимаю, что имена полей определены в так называемом определении сообщения, которое является частью сообщения HL7, и может быть любым строковым значением, каким бы оно ни было согласовано между 2 взаимодействующими организациями, т.е. стандарт HL7 не фиксирует конкретные имена полей, а только порядок?
- person YMC; 18.09.2013