用于解析 EDI 的 PL/SQL(X12、NCPDP、HL7)

发布于 2024-07-08 01:48:58 字数 228 浏览 14 评论 0原文

我有一些 EDI 消息(X12、HL7 等)存储在 Oracle 数据库中。 我有时想提取单个字段(例如 ISA-03)。 目前,我有一些非常丑陋的sql。 我想创建一个 PL/SQL 包以使其更容易,并且想知道是否有人已经这样做了。

我想象这样的事情:

选择 edi.x12.extract_field( clob_column, 'ISA', 4) 从 编辑表

I have some EDI messages (X12, HL7, etc ...) stored in an Oracle database. I sometimes want to pull out individual fields (e.g. ISA-03). Currently, I have some really ugly sql. I'd like to create a PL/SQL package to make it easier and was wondering if anybody had already done this.

I imagine something like:

select
edi.x12.extract_field( clob_column, 'ISA', 4)
from
edi_table

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

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

发布评论

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

评论(1

怪我入戏太深 2024-07-15 01:48:58

虽然我从未将 HL7 消息按原样存储在数据库中,但这应该是可能的。

HL7(和 XML)的想法是,它是系统用来传输信息的通用格式。 它从未被设计为“可存储”物品。 通常,我会将数据从仓库格式提取到特定的 HL7 消息中,并将其发送到 MQHub/eGate 进行传输。 在返回时,执行相反的操作,提取我正在仓储的字段并保存它们。 IE HL7 不应该被存储,所以我没有。

讲座够了。 :)

我建议每个段一个函数/过程,并将消息拆分到临时表中。

拆分示例甲骨文

While I never stored the HL7 message as is in a database it should be possible.

The idea of HL7 (and XML) is that it's a common format for systems to use to transfer information. It was never designed as a "storable" item. Usually, I would pull the data out of the warehouse format into a particular HL7 message and send it to the MQHub/eGate for transmitting. On the return do the opposite extract the fields I'm warehousing and save those. I.E. HL7 should not be stored so I don't have one.

Enough of the lecture. :)

I would suggest a function/procedure per segment and split the message into a temp table.

example of split in oracle

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