2016-11-29 4 views
1

Je travaille avec nHapi v2.5.0.6 et j'essaye de créer plusieurs segments RDT pour HL7 v2.5.1.C# comment ajouter plusieurs segments RDT sur NHapi en utilisant HL7 version 2.5.1

Les segments devraient ressembler à ceci:

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

Mais le plus que je peux faire, est la suivante:

RDT|555444222111 
RDT|555444222112 
RDT|555444222113 

Je ne sais pas comment ajouter des champs après la première!

Ceci est mon 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; 
     } 
    } 
} 

Toute aide sera appréciée. Remerciements

Répondre

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