如何从 BizTalk 2010 中的 HL7 消息中的分段获取特定值

发布于 2024-12-09 06:08:51 字数 466 浏览 4 评论 0原文

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

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

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

I'm developing a HL7 related Map in BizTalk2010, I've everything ready including the source and target schemas, maps etc and everything is processing correctly. What I'm trying to achieve is to get a specific value from one of the required segments i.e. Patient Identification (PID) and pass it MemberID field of my target schema. This is how the PID segment looks like (pasting only the specific part):

PID|1||000123456^^^^MR~^^^^MA~123456789A^^^^MC~12345^^^^PT~123456789^^^^SS~000000000001234^^^^PI~^^^^AN~^^^^VN||John^Smith^A|

the bold part above is PID-3 Patient Identifier List (CX), the value i need is after the text SS~ which is 000000000001234. If I simply map the PID-3-1 ID field of the first PID-3 Patient Identifier List, I get the first value which is 000123456. The value I need is sitting in the 6th PID-3 Patient Identifier List (see image below). Please advice

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

远山浅 2024-12-16 06:08:51

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

BizTalk 2010 中的地图如下所示:
此屏幕截图显示了地图的配置方式

functoid 的配置如下所示:
Functoid Configuration

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

For your case, you will probably want to use an index functoid. This functoid takes the element that you want to map as the first input and the 1-base index of the element that you would like to map.

This is what the map in BizTalk 2010 would look like:
This screenshot shows how the map is configured

The configuration of the functoid would look like the following:
Functoid Configuration

If you look at the generated xslt of the map, you will want to see something similar to this:
enter image description here

久光 2024-12-16 06:08:51

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

map

If the index functoid doesn't work (because you can't rely on a specific order) you could try to connect a looping functoid between the top level to make sure you get all records then do a logical equal for the PT qualifier and a value mapping functoid to the id number. The link from the logical equal to the root loop should block the empty loops

map

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文