HL7-在C#中使用nHapi解析标本源(OBR-15)

时间:2018-08-07 16:42:17

标签: c# hl7 nhapi

我想知道是否有任何在C#中使用过nHAPI经验的出色人士都能通过HL7消息的OBR-15字段(标本来源)帮助新手?我已经四处搜寻,但找不到在线文档可以为您提供帮助,因此,对于任何建议,我将不胜感激。

我的问题是,我找不到使用nHAPI填充OBR-15字段的正确方法。我希望发送一个如下所示的OBR段(我已经从OBR15之外的所有其他字段中删除了数据,因此我的实际信息并不像下面这样):

  

OBR | 1 ||||||||||||||| T034 ^ ||||||||||||||||||||

我尝试了各种可能的方法来建立这个领域,但没有成功。我总是在发送的所有内容的前面都显示一个&符号,这意味着该字段在下游应用程序中不可读:

  

OBR | 1 |||||||||||||||&T034 ^^^^^^^&血液|||||||||||||||||||

我的OBR-15代码段(我已经将相关内容保留在这里,否则本节将不胜枚举):

using System;
using System.Collections.Generic;
using System.Web.Services;
using NHapi.Model.V24.Message;
using NHapi.Model.V24.Segment;
using NHapi.Model.V24.Group;
using System.Data;
using System.Text;
using NHapi.Base.Parser;
using NHapi.Model.V24.Datatype;
using System.Text.RegularExpressions;
using System.Configuration;
using System.Data.SqlClient;


namespace HL7WebService
{

    public class HL7Reporting : System.Web.Services.WebService
    {
        private ORU_R01 Create_ORU_R01(Dictionary <string,string> reportData, int reportNumber)
        {
            ORU_R01 oruR01 = new ORU_R01();

            // lots of stuff removed for clarity

            ORU_R01_ORDER_OBSERVATION oruR01OrderObs = oruR01.GetPATIENT_RESULT().GetORDER_OBSERVATION(1);
            OBR obr = oruR01OrderObs.OBR;

            // OBR-15 Specimen Source
            obr.SpecimenSource.SpecimenSourceNameOrCode.Text.Value = "T034";
            obr.SpecimenSource.SpecimenRole.Text.Value = "Blood";

            // lots of other stuff removed for clarity

            return oruR01;
        }
    }
}

我正在使用nHapi(v2.5.0.6)和Visual Studio2015。如果我错过了任何内容,或者您​​需要任何进一步的信息,请告诉我,我会提供。谢谢!

1 个答案:

答案 0 :(得分:3)

我通过以下方式声明OBR-15来解决此问题:

*ngIf