【发布时间】:2020-06-16 14:27:48
【问题描述】:
我正在使用 nHapi 在 HL7 V2.3 和 V2.4 中创建和读取 HL7 REF_I12 消息。
标准的 nHapi REF_I12 消息缺少我需要的几个片段 - PRD、OBR、PV1、PV2、ORC 和 OBX。
如何将这些段添加到标准 nHapi REF_I12 消息中?
我应该尝试将它们添加为自定义 Z 段吗?
【问题讨论】:
我正在使用 nHapi 在 HL7 V2.3 和 V2.4 中创建和读取 HL7 REF_I12 消息。
标准的 nHapi REF_I12 消息缺少我需要的几个片段 - PRD、OBR、PV1、PV2、ORC 和 OBX。
如何将这些段添加到标准 nHapi REF_I12 消息中?
我应该尝试将它们添加为自定义 Z 段吗?
【问题讨论】:
如何将这些段添加到标准 nHapi REF_I12 消息中?
您不需要添加这些;那些都在那里。您需要加载它们。
在REF^I12 的情况下,仅填充消息不会加载像PID 这样的段。请参考层次结构here:
您需要在加载PRD 段之前加载Provider_Contact。
你可以这样做:
msgREF_I12.GetPROVIDER_CONTACT(0).PRD......
您需要对所有未加载的段重复相同的操作。我认为ORC 不是消息的一部分;所以这对它不起作用。
请参考GitHub上的源码:
///<summary> /// Returns first repetition of REF_I12_PROVIDER_CONTACT (a Group object) - creates it if necessary ///</summary> public REF_I12_PROVIDER_CONTACT GetPROVIDER_CONTACT() { REF_I12_PROVIDER_CONTACT ret = null; try { ret = (REF_I12_PROVIDER_CONTACT)this.GetStructure("PROVIDER_CONTACT"); } catch(HL7Exception e) { HapiLogFactory.GetHapiLog(GetType()).Error("Unexpected error accessing data - this is probably a bug in the source code generator.", e); throw new System.Exception("An unexpected error ocurred", e); } return ret; }
我应该尝试将它们添加为自定义 Z 段吗?
如果您添加Z 段,它将是 Z 段。它不会是您所期望的部分。
【讨论】: