我正在使用 NHAPI 包将传入的消息字符串解析为IMessage
使用PipeParser
.
根据HL7 最低层协议 (MLP)0x0b
定义,HL7 消息在开始和0x1c, 0x0d
结束时总是由一些字符包裹。出于测试目的,我使用工具 7Edit 将此消息发送到我的应用程序。
MSH|^~\&|KISsystem|ZTM|NIDAklinikserver|HL7Proxy|201902271130||ADT^A01|68371142|P|2.3
EVN|A01|201902271130|201902271130
PID|1||677789||Aubertinó^Letizia||19740731|F||
PV1|1|O|||||||||||||||||456456456
IN1|1||999567890|gematik Musterkasse1GKV||||||||||||Prof. Dr.Aubertinó^Letizia||19740731|||||||||||201902271101|||||||X110173919
调试的消息字符串是
MSH|^~\&|KISsystem|ZTM|NIDAklinikserver|HL7Proxy|201902271130||ADT^A01|68371142|P|2.3
EVN|A01|201902271130|201902271130
PID|1||677789||Aubertin�^Letizia||19740731|F||
PV1|1|O|||||||||||||||||456456456
IN1|1||999567890|gematik Musterkasse1GKV||||||||||||Prof. Dr.Aubertin�^Letizia||19740731|||||||||||201902271101|||||||X110173919
在这里,您可以看到包裹消息的字符。如果您将此消息字符串传递给该PipeParser.Parse()
方法,它将与消息一起引发异常
无法解析以 MSH 开头的消息|^~&|KISsystem|ZTM|NIDAklinikserver|HL7Proxy|
我想我必须先删除所有这些字符。有什么东西可以使用还是我必须将所有这些分隔符存储到一个字节数组中,将此字节数组转换为字符串并从消息字符串中删除这些分隔符字符串?