pentaho 水壶中的重复片段 HL7

repeated segements HL7 in pentaho kettle

我想知道如何使用 HL7 输入(或我可以使用什么步骤)来读取消息 HL7 的所有段,即使段是重复的 示例:

DG1|1|I10C|G30.0|Alzheimer's disease with early onset|20160406|W|||||||||
DG1|2|I10C|E87.70|Fluid overload, unspecified|20160406|W|||||||||

因为在我最近的转型中,我只得到了第二段 DG1,所以第一段作为信息丢失了。 我提取消息 hl7 的步骤:

段标识符后面的字段是序列号。这不一定旨在唯一标识重复片段,但它确实有效。

期望接收系统将重复片段解析为与父信息的一对多关系。是否存在序列号字段

我刚刚在pentaho kettle 6.0中找到了将多段数据插入数据库的解决方案, 我使用了 USER DEFINED JAVA CLASS 步骤、Hapi 项目 类 和方法 (Pipeparser, xmlencode(Message)) 来拆分消息并将其转换为 xml 输出,然后我为 HL7 消息中的每个字段循环(在特定段上使用 Xpath,在我的例子中,DG1 段见附件)。