0

我正在 BizTalk2010 中开发与 HL7 相关的地图,我已经准备好一切,包括源和目标架构、地图等,并且一切都在正确处理。我想要实现的是从所需的段之一中获取特定值,即患者标识 (PID),并将其传递给我的目标模式的 MemberID 字段。这是 PID 段的样子(仅粘贴特定部分):

PID|1|| 000123456^^^^MR~^^^^MA~123456789A^^^^MC~12345^^^^PT~123456789^^^^SS~000000000001234^^^^PI~^^^^AN~^^^ ^VN ||约翰^史密斯^A|

上面的粗体部分是 PID-3 Patient Identifier List (CX),我需要的值在文本 SS~ 之后,即 000000000001234。如果我简单地映射第一个 PID-3 Patient Identifier List 的 PID-3-1 ID 字段,我得到第一个值,即 000123456。我需要的值位于第 6 个 PID-3 患者标识符列表中(见下图)。请指教

4

2 回答 2

1

对于您的情况,您可能需要使用索引 functoid。此 functoid 将您要映射的元素作为第一个输入和您要映射的元素的 1 基索引。

这是 BizTalk 2010 中的地图的样子: 此屏幕截图显示了地图的配置方式

functoid 的配置如下所示: Functoid 配置

如果您查看生成的地图 xslt,您会希望看到类似于以下内容的内容: 在此处输入图像描述

于 2011-10-14T18:20:30.703 回答
0

如果索引 functoid 不起作用(因为您不能依赖特定顺序),您可以尝试在顶层之间连接一个循环 functoid 以确保您获得所有记录,然后为 PT 限定符和一个逻辑相等值映射functoid到id号。来自逻辑等于根循环的链接应该阻塞空循环

地图

于 2011-10-14T21:38:24.983 回答