首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多个OBX段添加到NHapi.Model.V25.Group.VXU_V04_ORDER时出错

将多个OBX段添加到NHapi.Model.V25.Group.VXU_V04_ORDER时出错
EN

Stack Overflow用户
提问于 2014-05-01 17:37:22
回答 1查看 1.1K关注 0票数 1

我正在使用HL7 V2.5创建V04类型消息。下面是所需的消息结果(来自NIST站点:http://hl7v2-iz-testing.nist.gov/mu-immunization/)

我遇到的问题是如何创建四个OBX段(“NHapi.Model.V25.Segment.OBX ")并将其添加到"NHapi.Model.V25.Group.VXU_V04_ORDER”中?

下面是我的代码,Line#5工作,它创建多个顺序,但是如果我尝试同样地创建多个观察(Line#8),我会得到以下错误:“不能创建结构观察的重复#1 -这个结构是不重复的”

根据HL7规范,观察是重复的结构,这里有谁能帮忙吗?

任何指点或任何建议都将受到极大的赞赏。

代码语言:javascript
复制
NHapi.Model.V25.Message.VXU_V04 vxuMsg = new VXU_V04();
PipeParser parser = new PipeParser();
for (int i = 0; i < person.Immunizations.Count; i++)
{
NHapi.Model.V25.Group.VXU_V04_ORDER orc = (NHapi.Model.V25.Group.VXU_V04_ORDER)vxuMsg.GetStructure("ORDER", i);
      for (int j = 0; j < 2; j++)
      {
           NHapi.Model.V25.Group.VXU_V04_OBSERVATION observation = (NHapi.Model.V25.Group.VXU_V04_OBSERVATION)orc.GetStructure("OBSERVATION", j);
NHapi.Model.V25.Segment.OBX obx1 = (NHapi.Model.V25.Segment.OBX)obx.GetStructure("OBX");
       }
     NHapi.Model.V25.Segment.RXA im = orc.RXA;
     NHapi.Model.V25.Segment.ORC oc = orc.ORC;
     NHapi.Model.V25.Segment.RXR rxr = orc.RXR;
}

必需的消息结果

代码语言:javascript
复制
   MSH|^~\&|Test EHR Application|X68||NIST Test Iz Reg|201207010822||VXU^V04^VXU_V04|NIST-IZ-001.00|P|2.5.1|||AL|ER
PID|1||D26376273^^^NIST MPI^MR||Snow^Madelynn^Ainsley^^^^L|Lam^Morgan|20070706|F||2076-8^Native Hawaiian or Other Pacific Islander^CDCREC|32 Prescott Street Ave^^Warwick^MA^02452^USA^L||^PRN^PH^^^657^5558563|||||||||2186-5^non Hispanic or Latino^CDCREC
PD1|||||||||||02^Reminder/Recall - any method^HL70215|||||A|20120701|20120701
NK1|1|Lam^Morgan^^^^^L|MTH^Mother^HL70063|32 Prescott Street Ave^^Warwick^MA^02452^USA^L|^PRN^PH^^^657^5558563
ORC|RE||IZ-783274^NDA|||||||I-23432^Burden^Donna^A^^^^^NIST-AA-1||57422^RADON^NICHOLAS^^^^^^NIST-AA-1^L
RXA|0|1|20120814||140^Influenza, seasonal, injectable, preservative free^CVX|0.5|mL^MilliLiter [SI Volume Units]^UCUM||00^New immunization record^NIP001|7832-1^Lemon^Mike^A^^^^^NIST-AA-1|^^^X68||||Z0860BB|20121104|CSL^CSL Behring^MVX|||CP|A
RXR|C28161^Intramuscular^NCIT|LD^Left Arm^HL70163
OBX|1|CE|64994-7^Vaccine funding program eligibility category^LN|1|V05^VFC eligible - Federally Qualified Health Center Patient (under-insured)^HL70064||||||F|||20120701|||VXC40^Eligibility captured at the immunization level^CDCPHINVS
OBX|2|CE|30956-7^vaccine type^LN|2|88^Influenza, unspecified formulation^CVX||||||F
OBX|3|TS|29768-9^Date vaccine information statement published^LN|2|20120702||||||F
OBX|4|TS|29769-7^Date vaccine information statement presented^LN|2|20120814||||||F
EN

回答 1

Stack Overflow用户

发布于 2014-10-16 22:57:24

代码语言:javascript
复制
   Dim vxuMsg As NHapi.Model.V25.Message.VXU_V04 = New VXU_V04()
        Dim orc As NHapi.Model.V25.Group.VXU_V04_ORDER = DirectCast(vxuMsg.GetStructure("ORDER", 0), NHapi.Model.V25.Group.VXU_V04_ORDER)
Dim observation As NHapi.Model.V25.Group.VXU_V04_OBSERVATION = orc.GetOBSERVATION(0) 'DirectCast(orc.GetStructure("OBSERVATION", 0), NHapi.Model.V25.Group.VXU_V04_OBSERVATION)
        Dim orderobservation As VXU_V04_ORDER = vxuMsg.GetORDER(0)

        Dim obx1 As NHapi.Model.V25.Segment.OBX = DirectCast(observation.GetStructure("OBX"), NHapi.Model.V25.Segment.OBX)
        obx1 = orderobservation.GetOBSERVATION(0).OBX
        obx1.SetIDOBX.Value = "1"
        obx1.ValueType.Value = "CE"
        obx1.ObservationIdentifier.Identifier.Value = "64994-7"
        obx1.ObservationIdentifier.Text.Value = "Vaccine funding program eligibility category"
        obx1.ObservationIdentifier.NameOfCodingSystem.Value = "LN"
        obx1.ObservationSubID.Value = "1"
        Dim ce As New CE(oru01)
        ce.Identifier.Value = "V05"
        ce.Text.Value = "VFC eligible - Federally Qualified Health Center Patient(under-insured)"
        ce.NameOfCodingSystem.Value = "HL70064"
        obx1.GetObservationValue(0).Data = ce
        obx1.ObservationResultStatus.Value = "F"
        obx1.DateTimeOfTheObservation.Time.Value = "20120701"
        obx1.GetObservationMethod(0).Identifier.Value = "VXC40"
        obx1.GetObservationMethod(0).Text.Value = "Eligibility captured at the immunization level"
        obx1.GetObservationMethod(0).NameOfCodingSystem.Value = "CDCPHINVS"

    Dim obx2 As NHapi.Model.V25.Segment.OBX = obx1  
        obx2 = orderobservation.GetOBSERVATION(1).OBX
        obx2.SetIDOBX.Value = "2"
        obx2.ValueType.Value = "CE"
        obx2.ObservationIdentifier.Identifier.Value = "30956-7"
        obx2.ObservationIdentifier.Text.Value = "vaccine type"
        obx2.ObservationIdentifier.NameOfCodingSystem.Value = "LN"
        obx2.ObservationSubID.Value = "2"
        Dim ce2 As New CE(oru01)
        ce2.Identifier.Value = "88"
        ce2.Text.Value = "Influenza, unspecified formulation"
        ce2.NameOfCodingSystem.Value = "CVX"
        obx2.GetObservationValue(0).Data = ce2
        obx2.ObservationResultStatus.Value = "F"

   Dim obx3 As NHapi.Model.V25.Segment.OBX = obx1 'DirectCast(observation.GetStructure("OBX"), NHapi.Model.V251.Segment.OBX)
        obx3 = orderobservation.GetOBSERVATION(2).OBX
        obx3.SetIDOBX.Value = "3"
        obx3.ValueType.Value = "TS"
        obx3.ObservationIdentifier.Identifier.Value = "29768-9"
        obx3.ObservationIdentifier.Text.Value = "Date vaccine information statement published"
        obx3.ObservationIdentifier.NameOfCodingSystem.Value = "LN"
        obx3.ObservationSubID.Value = "2"
        Dim ts3 As New TS(oru01)
        ts3.Time.Value = "20120702"
        obx3.GetObservationValue(0).Data = ts3
        obx3.ObservationResultStatus.Value = "F"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23413183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档