Невозможно разобрать NTE, если порядок сегментов изменен

Я получил сообщение HL7 с сегментом NTE. Тип сообщения HL7 RDE_O11 и версия 2.5. При передаче сообщения с помощью NTE NHAPI не анализирует его. Итак, со следующим сообщением,

MSH|^~\&|xxxx|xxxx|||||RDE^O11^RDE_O11||P|2.5||||||ASCII|||
PID||||||||||||N|||||||||    
PV1|||||||||    
ORC|||||||    
RXO||||||||||||||||||||||||||
RXR||||||
RXE|||||M
NTE|1||#2 from 10/19/15 amb|RE
TQ1||
TQ1|||PO Q6H PRN|A||
RXR||||||

Если я изменю положение NTE сразу после MSH, NHAPI сможет его проанализировать.

MSH|^~\&|xxxx|xxxx|||||RDE^O11^RDE_O11||P|2.5||||||ASCII|||
NTE|1||#2 from 10/19/15 amb|RE
PID||||||||||||N|||||||||    
PV1|||||||||    
ORC|||||||    
RXO||||||||||||||||||||||||||
RXR||||||
RXE|||||M
TQ1||
TQ1|||PO Q6H PRN|A||
RXR||||||

person Raajkumar    schedule 22.10.2015    source источник


Ответы (1)


Какую ошибку вы получаете? Спецификация HL7 для структуры сообщения RDE_O11 действительно позволяет сегментам NTE появляться после RXE (среди нескольких других мест). Так что должно работать.

person Nick Radov    schedule 22.10.2015
comment
Ошибок нет, но значения NULL. Я пробовал так: rdeo11.GetNTE().GetComment()[0].Value - person Raajkumar; 22.10.2015
comment
Тогда у вас, вероятно, на самом деле нет проблемы с разбором, вы просто неправильно используете API. Если NTE находится внутри группы сегментов, вам нужно сначала получить группу, а затем получить внутри нее сегмент NTE. - person Nick Radov; 23.10.2015
comment
Спасибо. Не заметил этого. NTE был внутри группы RDE_O11_ORDER. - person Raajkumar; 23.10.2015