0

NHapiで、パイプでエンコードされたORMを作成しようとしています。入力したメッセージをparser.Encode()すると、一部のセグメントのみが出力されます。特に不足しているセグメントの中にはMSHがあります!

確かなことはわかりませんが、エンコーダーが不完全と見なすセグメントをスキップしていると思います。

必須フィールドMSH-1、2、9、10、11、および12に値を指定しましたが、MSHセグメントをエンコードできません。

MSHセグメントの不完全さがこの省略を引き起こしていると私が正しい場合:メッセージが完全でない場合にPipeEncoderまたは他のバリデーターに例外をスローさせる方法はありますか?

そして:とにかく、なぜMSHセグメントはエンコードされないのですか?

4

1 に答える 1

1

おそらくこれは誰かを助けることができるので、私はそれを閉じません. これらのエンコードされたメッセージをコンソールに出力していて、セグメントが 2 つしか表示されていなかったので、混乱しましたが、HL7 について十分に理解しているわけではありませんでした。

起こっていたのは、NHapi の '\r' 単一の改行文字 ("\r\n" ではなく) が、各行を次のセグメントで単に上書きしていたことです。私の PID セグメントは折り返すのに十分な長さで、2 行目と 2 つのセグメントにたどり着きました。

それは愚かでした。

于 2011-12-27T19:42:15.950 に答える