我想知道是否有任何在 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 Studio 2015。如果我遗漏了什么或者您需要任何进一步的信息,请告诉我,我会提供。谢谢!