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

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

我正在使用 nHapi v2.5.0.6,我正在尝试为 HL7 v2.5.1 创建多个 RDT 段。

细分应如下所示:

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

但我最多能做的是:

RDT|555444222111
RDT|555444222112
RDT|555444222113

第一个后面不知道怎么加字段!

这是我的代码:

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;
        }
    }
} 

如有任何帮助,我们将不胜感激。 谢谢

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;
                }
            }