【发布时间】:2020-03-09 16:15:29
【问题描述】:
您能否推荐一些材料来了解更多关于 EDI 及其专业语言的信息,例如 Test ISA Qualifier: 14
测试 ISA 发件人 ID:
测试 GS 发件人 ID:
我完全是一个初学者,想了解更多关于这个话题
另外,我可以使用哪个程序将 EDI 消息类型转换为从 FDI 到 AS2 通信方法的不同格式(例如从 X12 到 XML)(不确定您是否理解这种情况)
非常感谢您的回复。
金
【问题讨论】:
标签: edi
您能否推荐一些材料来了解更多关于 EDI 及其专业语言的信息,例如 Test ISA Qualifier: 14
测试 ISA 发件人 ID:
测试 GS 发件人 ID:
我完全是一个初学者,想了解更多关于这个话题
另外,我可以使用哪个程序将 EDI 消息类型转换为从 FDI 到 AS2 通信方法的不同格式(例如从 X12 到 XML)(不确定您是否理解这种情况)
非常感谢您的回复。
金
【问题讨论】:
标签: edi
您的问题非常广泛,所以我将尝试提供一些可能会有所帮助的信息。
大多数 EDI 交换往往通过与 EDI 公司合作进行,而不是自建。这部分是因为涉及很多复杂性,部分是因为标准并不总是公开可用,部分是因为您经常需要使用各种传输机制,包括专用网络。我注意到您提到了 AS2,但同样,您通常会让第三方为您管理它,或提供软件来执行此操作。
有各种 EDI 标准机构。你提到了 X12,如果你在北美,这是最常见的,但它们的规格必须购买,而且价格相当昂贵。但是,您可能能够从您的贸易伙伴处获得规格。
有许多专有产品可以将 EDI 格式转换为其他格式(例如 XML),但它们通常需要一些专业知识才能使用。如果您有一个通用的 X12 格式,并且您希望将其转换为通用的集成格式(比如由常用会计包定义的 XML 格式 - 我不确定“FDI”是什么),您可能会找到现成的东西。
越来越多的企业希望将其 EDI 外包给托管服务,该服务将为您处理一切事宜。即使是小商贩,成本通常也不高。
【讨论】:
我的回答假设您对 XML 了解很多,如果不正确,我深表歉意。但是,如果你想学习 EDI 和 ANSI,你应该学习 XML,因为它的层次结构非常适合 ANSI 格式。
使用包含 ISA 和 GS 段(段是可变长度数据结构)的 ANSI X12 事务集学习“电子数据交换”可以从了解哪个行业使用哪个事务集和哪个版本开始(https://www.edi2xml.com 或 @987654322 @)。 X12.org 允许您下载示例 ANSI 文件。
材料管理使用特定的 ANSI X12 交易(采购订单和发票),这不同于在美国使用 X12N HIPAA 授权交易集 (www.wpc-edi.com) 的医院营业厅或保险索赔裁决公司的需求。
所有 ANSI 段都由“元素”组成 - 而“限定符”是许多段中的一个元素。它表示识别或限定正在传输的数据的特定值 - 就像告诉接收方保险公司正在支付哪种类型的保险计划的值。 “发件人 ID”也是 ANSI 元素 - 在 ISA 和 GS 段中。它通常包含一个数字或字母数字,用于标识 EDI 交易的 EDI 发送者 - 可能是也可能不是信息的发起者。
对于大多数工作场所,第三方软件和/或供应商通常用于以电子方式发送/接收必要的交易。
我在医疗保健领域工作了多年,通过向保险公司索取特定交易的具体实施指南的副本,我开始了解必要的 ANSI 交易集。这可能只是一份文件,显示他们的交易与 HIPAA 建议之间的差异。
我还在互联网上找到了旧的 HIPAA 之前(1996 年之前)版本的 ANSI 事务指南(开发者文档)。
一旦您了解了您所在行业中使用了哪些 ANSI 事务集,然后尝试找到相关的适当 ANSI 事务集,例如医院的 837/835、采购或仓库的 850/855。
当您知道哪些事务用于哪个目的并了解其层次结构后,请尝试使用您找到或购买的程序员/开发人员文档(实施指南或标准)将它们分开。您的贸易伙伴可能有他们将发送给您的文档指南。如果您还没有“贸易伙伴”,请在网上或书店查找文档。
如果您有任何编程经验,实施指南或 ANSI 标准文档是程序员了解事务集函数和段布局的工具。
如果您没有任何编程技能,这将是一个学习一些基本输入和输出逻辑的好项目 - 将 ANSI 事务文件转换为您设计的格式良好的 XML 文档,或转换为 CSV 或制表符分隔的文件。
通过一些基本的输入、输出和数据操作逻辑,您可以将任何 ANSI X12 文件转换为格式良好的 XML 文档——其中 ANSI 段(大部分)被转换为包含保存 ANSI 段数据的属性的空 XML 元素,就像这样:
For this ANSI stream:
ISA*00* *00* *ZZ*123456789012345*ZZ*123456789012346*080503*1705*>*00501*000010216*0*T*:~GS*HS*12345*12345*20080503*1705*20213*X*005010X279A1~ST*270*1235*005010X279A1~ (to end of file after the IEA segment)
Convert it to a flat file with CRLF characters after each tilde (~):
ISA*00* *00* (skipping elements to simplify) *00501*000010216*0*T*:~
GS*HS*12345*12345*20080503*1705*20213*X*005010X279A1~
ST*270*1235*005010X279A1~
(continue to end of file, after the IEA segment)
Then, convert the new ANSI flat file to an XML document with Attributes like:
<?xml version="1.0"?> (this must be your first line in the XML document)
<ISA a1="00" a2=" " a3="00" (skipping attributes to simplify) >
<GS a1="HS" a2="12345" a3="12345" a4="20080503" a5="1705" a6="20213" a7="X" a8= "005010X279A1" >
<ST a1="270" a2="1235" a3="005010X279A1" > (ISA, GS, ST are not empty elements)
(continue to end of file with empty elements like:)
<
<ST ... /> (closing xml tag for the ST element, convert the "SE")
<GS ... /> (closing xml tag for the GS element, convert the "GE")
<ISA a1="1" a2="000010216" /> (Closing xml tag for the ISA element, convert the "IEA")
就像我说的,输出主要由“空”XML 元素标签组成,但 SE、GS 和 IEA ANSI 元素必须转换为“ISA”、“GS”和“ST” XML 元素 - 因为这三个不是空的 XML 元素。它们包含其他 XML 元素。
有许多其他内部 ANSI 元素的示例也不应该是“空”XML 元素,因为在 ANSI 形式中,它们与其他从属 ANSI 元素具有父/子关系。考虑一个包含大量患者人口统计数据和许多医疗费用的保险索赔(不是我的示例)——在 ANSI 中,这些段是“CLM”段的子元素。在 XML 中,“CLM”不会是“空的”——包含子 XML 元素,例如,“NM1”和“SVC”。
当遇到下一个“CLM”(患者的保险索赔)时,第一个“CLM”XML 标记将被关闭,包含其所有“子”元素。在 ANSI 中,这种“关闭”并不明显,而只是通过存在后续“CLM”段来表示。
要了解您是否创建了格式良好的 XML 文档,请尝试使用 Web 浏览器浏览和显示 XML 输出文件。如果 XML 中有错误,它将在错误处停止显示。
一旦你了解了 ANSI 文件的数据结构(布局),你就可以学习创建一个简单的格式良好的 XML 文档,并使用一些“XSL”转换技巧,将其转换为浏览器友好的可视化文件。
<?xml version="1.0"?> must be the first line of your XML document so that
a browser can recognize and know what to do with the XML markup. It has no
equivalent in the ANSI file.
【讨论】: