简体   繁体   English

c#如何使用HL7 2.5.1版在NHapi上添加多个RDT段

[英]c# how to add multiple RDT segments on NHapi using HL7 version 2.5.1

I'm working with nHapi v2.5.0.6 and I'm trying to create multiple RDT segments for HL7 v2.5.1. 我正在使用nHapi v2.5.0.6,我正在尝试为HL7 v2.5.1创建多个RDT段。

The segments should look like this: 细分应如下所示:

RDT|555444222111|Adam||19600614|M|
RDT|555444222112|Adam2||19600615|F|
RDT|555444222113|Adam3||19600616|M|

But the most I can do, is this: 但我能做的最多的是:

RDT|555444222111
RDT|555444222112
RDT|555444222113

I don't know how to add fields after the first one! 我不知道如何在第一个之后添加字段!

This is my code: 这是我的代码:

private void addSegmentRDT2(DataTable informationTable)
{
    //RDT|555444222111|||19600614|M|
    var tbr_r08 = new TBR_R08();
    int rowNumber = 0;
    foreach (DataRow row in informationTable.Rows)
    {
        var RTD = tbr_r08.AddRDT();
        int columnNumber = 0;
        foreach (DataColumn column in informationTable.Columns)
        {
            NHapi.Model.V23.Datatype.ST a = new NHapi.Model.V23.Datatype.ST(tbr_r08.Message);
            a.Value = row[column]?.ToString() ?? "";
            RTD.ColumnValue.Data = a;
        }
    }
} 

Any help will be appreciated. 任何帮助将不胜感激。 Thanks 谢谢

This is how I resolve the problem, is not the most elegant solution but it works :).


private void addSegmentRDT(DataTable informationTable)
            {
                var rowNumber = 0;
                var tbr_r08 = new TBR_R08();
                foreach (DataRow row in informationTable.Rows)
                {
                    var RTD = tbr_r08.AddRDT();
                    var values = new Varies(tbr_r08.Message);
                    var columnNumber = 0;
                    foreach (DataColumn column in informationTable.Columns)
                    {
                        var rowColumnValue = row[columnNumber]?.ToString() ?? "";
                        var HL7String = new NHapi.Model.V23.Datatype.ST(tbr_r08.Message);
                        HL7String.Value = rowColumnValue;
                        values.ExtraComponents.getComponent(columnNumber).Data = HL7String;                     
                        ++columnNumber;
                    }
                    RTD.ColumnValue.Data = values;
                    ++rowNumber;
                }
            }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM