【发布时间】:2016-07-14 02:34:24
【问题描述】:
我被以下的事情难住了
示例消息:
MSH|^~\&|CWM|MySender|UNKNOWN|UNKNOWN|20160711080000||DFT^P03|976503|P|2.5|
EVN|P03|20160711080000
PID||12345^^^RIS|||Test^Patient||192532325445|F|||27 Lotus street ^^Morningside^^2121|||m7715050|3|S|||23377|||||||||||N
PV1||I||||||999^Ref Doctor^||||||||N||A|160998675|||||||||||||||||||||||||20160701130000
GT1|1||EVERYMAN^ADAM^A||2222 HOME STREET^^ISHPEMING^MI^49849^""^|444-33 3333|555-555-2004||||SEL^SELF|444-33 3333||||AUTO CLINIC|2222 HOME STREET^^ISHPEMING^MI^49849^""|555-555-2004|
OBR|1||2015021000043|20310^CT of the soft tissues of the neck, with contrast^CT^4^CT Scan Machine|0|201502101124|201502101124|||||||||^MIKE^SMITH||||||||IMIL
FT1|1|E292252||201502101124||CG|00279519|F||1|||IMIL|PRIVATE^||||A1|||^MIKE^SMITH^^^||2015021000043^IMIL||20310^CT of the soft tissues of the neck, with contrast^CT^4^CT Scan Machine|CT
PR1|1|AQ|20310^CT of the soft tissues of the neck, with contrast^CT^4^CT Scan Machine||201502101124|D||||||||||CT|
我可以解析消息,并且可以使用 PID 没问题,但 GT1 就是不被接受。 DFT 确实支持 GT1 段(可选),但它总是返回一个空列表
PipeParser parser = new PipeParser();
IMessage m = parser.Parse(msg);
DFT_P03 dft = m as DFT_P03;
GT1 gt1 = dft.GetGT1();
var memName = gt1.GetGuarantorName()[0];
然后最后一行显示我的索引超出范围,即我的 gt1 集合中没有任何内容。
我是不是加载错了?
【问题讨论】:
-
你混合了 gt1 和 gT1。注意大写的 T!
-
我激动了一秒钟,但不,这是一个复制过去的错误到 SO。生病修复帖子。问题仍然存在:) 无论如何谢谢
-
你可以试试..GuarantorName(0).FamilyName.Value
-
仍然出现空值,即使 GT1-3-1 在消息中不是空值
-
您是否检查过,您的段的顺序是否正确,并且解析时没有错误。我认为 GT1 应该是您示例中的最后一部分。