2016-11-29 12 views
1

저는 nHapi v2.5.0.6을 사용하고 있으며 HL7 v2.5.1 용 RDT 세그먼트를 여러 개 만들려고합니다.C# HLAP 버전 2.5.1을 사용하여 NHapi에 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; 
     } 
    } 
} 

:

내 코드입니다. 감사합니다.

답변

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