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

どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

0
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;
                }
            }
于 2016-12-06T14:20:24.460 に答える