Неполные сообщения NHapi закодированы частично и без ошибок?

В NHapi я пытаюсь создать ORM с конвейерным кодированием. Когда я parser.Encode() мое заполненное сообщение, печатаются только некоторые сегменты. В частности, среди отсутствующих сегментов есть MSH!

Точно не знаю, но полагаю, что кодировщик пропускает сегменты, которые считает неполными.

Я задал значения для обязательных полей MSH-1, 2, 9, 10, 11 и 12, но не могу закодировать сегмент MSH.

Если я прав в том, что неполнота сегмента MSH вызывает это упущение: Есть ли способ заставить PipeEncoder или какой-либо другой валидатор генерировать исключения, если сообщения не завершены?

И: В любом случае, почему сегмент MSH не кодируется?


person Jason Kleban    schedule 27.12.2011    source источник


Ответы (1)


Возможно, это могло бы помочь кому-то, поэтому я не буду просто закрывать это. Я печатал эти закодированные сообщения на консоли и видел только два сегмента, и тут я запутался, хотя я не был достаточно знаком с HL7, чтобы это понять.

Происходило то, что одиночный символ новой строки NHapi '\r' (а не "\r\n") просто перезаписывал каждую строку следующим сегментом. Мой сегмент PID был достаточно длинным, чтобы его можно было обернуть, и я перешел ко второй строке и двум сегментам.

Это было глупо.

person Jason Kleban    schedule 27.12.2011