LIMS系统中基于字段内容拆分Ruby记录的技术实现需求
解决方案:拆分检测名称生成独立记录
要实现把每条申请单的多个检测名称拆分成单独记录的需求,你可以通过拆分检测列表+遍历生成新记录的方式来完成,以下是适配你现有LIMS环境的Ruby代码实现:
核心代码片段
# 获取当前申请单号 requisition = subj.get_value('Requisition') # 获取检测名称列表并按", "拆分(匹配示例里的分隔格式,避免拆分后带多余空格) test_names = subj.get_value('Tests').split(', ') # 遍历每个检测名称,生成对应格式的独立记录 test_names.each do |test| # 拼接成你需要的记录格式:申请单号,"单个检测名称" formatted_record = "#{requisition},\"#{test}\"" # 这里可根据实际需求替换操作:比如写入文件、推送至LIMS指定模块等 puts formatted_record # 示例:打印到控制台,方便验证结果 end
关键细节说明
- 精准拆分:用
split(', ')而非单纯的split(','),是因为你的检测名称是用「逗号+空格」分隔的,这样拆分出的每个检测名称不会带前导空格,保证格式完全符合预期。 - 兼容性拉满:不管
Test Names字段有1个还是20+个检测,这段代码都能正确遍历生成对应数量的记录,即使处理数百条申请单也能高效运行。 - 格式控制:通过
\"转义双引号,确保单个检测名称被正确包裹在引号内,和你给出的最终结果格式完全一致。
示例运行效果
对于输入记录R00000001,"4 Calprotectin, 1 Luminex xTAG, 8 H. pylori stool antigen (IgA), ...",运行代码后会输出:
R00000001,"4 Calprotectin" R00000001,"1 Luminex xTAG" R00000001,"8 H. pylori stool antigen (IgA)" R00000001,"9 Lactoferrin" ... # 剩余检测名称对应的独立记录
内容的提问来源于stack exchange,提问作者L Frazier
相关产品推荐
相关产品推荐

