如何使用Databricks Labs Smolder获取消息段的全部数据
完整PID消息段提取方法
当然可以直接提取完整PID段,不需要逐个输入子字段索引,常见的实现方式有两种:
- 若你使用的HL7处理工具库已内置相关能力:绝大多数适配Spark的HL7处理工具,都会在
segment_field之外提供专门提取完整消息段的辅助函数,常见命名为get_segment,调用方法如下:
执行后返回的val pidFullDf = df.select(get_segment("PID").alias("full_pid"))full_pid字段就是你示例中给出的完整PID原始字符串。 - 若当前工具没有提供现成的整段提取函数,也可以自行简单封装:
参考segment_field的实现逻辑,去掉子字段索引拆分、取对应位置的步骤,直接返回匹配到的PID段完整原始内容即可。
补充说明:如果你是直接处理HL7原始文本数据,还可以直接按段分隔符(通常是回车符
\r)拆分整段消息后,筛选开头为PID|的行,就能直接拿到完整PID段,完全不需要处理子字段拆分逻辑。
内容的提问来源于stack exchange,提问作者Pfwangs
相关产品推荐
相关产品推荐

