【问题标题】:How to get specific value from a Segment in HL7 message in BizTalk 2010如何从 BizTalk 2010 中的 HL7 消息中的段中获取特定值
【发布时间】:2011-10-12 04:43:30
【问题描述】:

我正在 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 的 PID-3-1 ID 字段患者标识符列表,我得到第一个值,即 000123456。我需要的值位于第 6 个 PID-3 患者标识符列表中(见下图)。请指教

【问题讨论】:

    标签: biztalk hl7


    【解决方案1】:

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

    BizTalk 2010 中的地图如下所示:

    functoid 的配置如下所示:

    如果您查看生成的地图 xslt,您会希望看到类似于以下内容的内容:

    【讨论】:

    • 非常感谢 Mike,您建议的解决方案非常有效:)
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-04
      • 2011-11-12
      • 1970-01-01
      相关资源
      最近更新 更多