我正在使用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;
}
}
}
任何帮助将不胜感激。 感谢
答案 0 :(得分: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;
}
}