在带有 Enterprise Integration Pack 的 Azure 逻辑应用中交换 X12 消息以实现 B2B 企业集成

若要在 Azure 逻辑应用中使用 X12 消息,可以使用 X12 连接器,它提供用于管理 X12 通信的触发器和操作。 有关 EDIFACT 消息的详细信息,请参阅交换 EDIFACT 消息

先决条件

  • Azure 订阅。 如果还没有 Azure 订阅,请注册试用版 Azure 订阅

  • 要从中使用 X12 连接器的逻辑应用,以及用于启动逻辑应用工作流的触发器。 X12 连接器仅提供操作,而不提供触发器。 如果不熟悉逻辑应用,请查看什么是 Azure 逻辑应用快速入门:创建第一个逻辑应用

  • 与 Azure 订阅相关联并链接到计划使用 X12 连接器的逻辑应用的集成帐户。 逻辑应用和集成帐户必须存在于同一位置或 Azure 区域中。

  • 你已使用 X12 标识限定符在集成帐户中定义的至少两个贸易合作伙伴

  • 用于已添加到集成帐户的 XML 验证的架构。 如果使用健康保险流通与责任法案 (HIPAA) 架构,请参阅 HIPAA 架构

  • 在可以使用 X12 连接器之前,必须先在贸易合作伙伴之间签订 X12 协议并将该协议存储在集成帐户中。 如果使用健康保险流通与责任法案 (HIPAA) 架构,则需要在协议中添加 schemaReferences 部分。 有关详细信息,请参阅 HIPAA 架构

接收设置

设置协议属性后,可以配置此协议如何识别和处理从合作伙伴接收的入站消息。

  1. 在“添加”下面,选择“接收设置”。

  2. 根据要与其交换消息的合作伙伴达成的协议来配置这些属性。 “接收设置”划分为以下部分:

    有关属性说明,请参阅本部分中的表格。

  3. 完成后,请务必选择“确定”保存设置。

接收设置 - 标识符

入站消息的标识符属性

属性 说明
ISA1(授权限定符) 要使用的授权限定符值。 默认值为“00 - 不存在任何授权信息”。

注意:如果选择其他值,请指定 ISA2 属性的值。

ISA2 当 ISA1 属性不是“00 - 不存在任何授权信息”时要使用的授权信息值。 此属性值必须最少包含一个字母数字字符,最多包含 10 个。
ISA3(安全限定符) 要使用的安全限定符值。 默认值为“00 - 不存在任何安全信息”。

注意:如果选择其他值,请指定 ISA4 属性的值。

ISA4 当 ISA3 属性不是“00 - 不存在任何安全信息”时要使用的安全信息值。 此属性值必须最少包含一个字母数字字符,最多包含 10 个。

接收设置 - 确认

确认入站消息

属性 说明
预期的 TA1 向交换发送方返回技术确认 (TA1)。
预期的 FA 向交换发送方返回功能确认 (FA)。

对于“FA 版本”属性,根据架构版本,选择 997 或 999 确认。

若要在功能确认中为接受的事务集生成 AK2 循环,请选择“包括 AK2/IK2 循环”。

接收设置 - 架构

入站消息的架构

对于此部分,请从每个事务类型 (ST01) 和发送方应用程序 (GS02) 的集成帐户中选择一个架构。 EDI 接收管道会通过将在此部分中设置的值和架构与传入消息中的 ST01 和 GS02 值进行匹配以及与传入消息的架构进行匹配,来分解传入消息。 完成每行后,会自动显示新的空行。

属性 说明
版本 架构的 X12 版本
事务类型 (ST01) 事务类型
发送方应用程序 (GS02) 发送方应用程序
架构 要使用的架构文件

接收设置 - 包络线

在入站消息的事务集中使用的分隔符

属性 说明
ISA11 用法 要在事务集中使用的分隔符:

- 标准标识符:在 EDI 接收管道中使用句点 (.) 十进制表示法,而不是使用传入文档的十进制表示法。

- 重复分隔符:为重复出现的简单数据元素或重复数据结构指定分隔符。 例如,脱字符 (^) 通常用作重复分隔符。 对于 HIPAA 架构,只能使用脱字符。

接收设置 - 控制编号

处理入站消息的控制编号重复项

属性 说明
不允许交换控制编号重复项 阻止重复交换。 检查交换控制编号 (ISA13) 是否匹配接收的交换控制编号。 如果检测到匹配项,则 EDI 接收管道不处理交换。

若要指定执行检查的间隔天数,请为“每 x 天检查重复的 ISA13”属性输入适当的值。

不允许组控制编号重复项 阻止具有重复组控制编号的交换。
不允许事务集控制编号重复项 阻止具有重复事务集控制编号的交换。

接收设置 - 验证

入站消息验证

“默认”行显示用于 EDI 消息类型的验证规则。 如果要定义不同的规则,请选择要将规则设置为 true 的每个框。 完成每行后,会自动显示新的空行。

属性 说明
消息类型 EDI 消息类型
EDI 验证 根据架构的 EDI 属性、长度限制、空数据元素和尾部分隔符的定义,对数据类型执行 EDI 验证。
扩展验证 如果数据类型不是 EDI,则验证会基于数据元素要求,且允许重复、枚举和数据元素长度验证(最小/最大)。
允许前导零/尾随零 保留所有额外的前导或尾随零和空格字符。 不要删除这些字符。
剪裁前导零/尾随零 删除任何前导或尾随零和空格字符。
尾随分隔符策略 生成尾部分隔符。

- 不允许:禁止在入站交换中包含尾随分隔符。 如果交换包含尾部分隔符,会将它声明为无效。

- 可选:接受包含或不包含尾随分隔符的交换。

- 必需:入站交换必须包含尾随分隔符。

接收设置 - 内部设置

入站消息的内部设置

属性 说明
将隐式小数格式“Nn”转换为十进制数值 将使用格式“Nn”指定的 EDI 数字转换为十进制数值。
如果允许尾随分隔符,请创建空的 XML 标记 使交换发送方包含用于尾随分隔符的空 XML 标记。
将交换拆分为事务集 - 出错时暂停事务集 通过将相应包络线应用于事务集,将交换中的每个事务集分析为单独 XML 文档。 仅暂停未通过验证的事务。
将交换拆分为事务集 - 出错时暂停交换 通过应用相应包络线,将交换中的每个事务集分析为单独 XML 文档。 如果交换中的一个或多个事务集未能通过验证,则暂停整个交换。
保留交换 - 出错时暂停事务集 保留交换不变,并为整个批处理交换创建 XML 文档。 仅暂停未能通过验证的事务集,但继续处理所有其他事务集。
保留交换 - 出错时暂停交换 保留交换不变,为整个批处理交换创建 XML 文档。 如果交换中的一个或多个事务集未能通过验证,则暂停整个交换。

发送设置

设置协议属性后,可以配置此协议识别和处理出站消息的方式,该出站消息通过此协议发送到合作伙伴。

  1. 在“添加”下面,选择“发送设置”。

  2. 根据要与其交换消息的合作伙伴达成的协议来配置这些属性。 有关属性说明,请参阅本部分中的表格。

    “发送设置”划分为以下部分:

  3. 完成后,请务必选择“确定”保存设置。

发送设置 - 标识符

出站消息的标识符属性

属性 说明
ISA1(授权限定符) 要使用的授权限定符值。 默认值为“00 - 不存在任何授权信息”。

注意:如果选择其他值,请指定 ISA2 属性的值。

ISA2 当 ISA1 属性不是“00 - 不存在任何授权信息”时要使用的授权信息值。 此属性值必须最少包含一个字母数字字符,最多包含 10 个。
ISA3(安全限定符) 要使用的安全限定符值。 默认值为“00 - 不存在任何安全信息”。

注意:如果选择其他值,请指定 ISA4 属性的值。

ISA4 当 ISA3 属性不是“00 - 不存在任何安全信息”时要使用的安全信息值。 此属性值必须最少包含一个字母数字字符,最多包含 10 个。

发送设置 - 确认

出站消息的确认属性

属性 说明
预期的 TA1 向交换发送方返回技术确认 (TA1)。

此设置指定发送消息的管理方请求协议中的托管方的确认。 管理方基于协议的接收设置需要这些确认。

预期的 FA 向交换发送方返回功能确认 (FA)。 对于“FA 版本”属性,根据架构版本,选择 997 或 999 确认。

此设置指定发送消息的管理方请求协议中的托管方的确认。 管理方基于协议的接收设置需要这些确认。

发送设置 - 架构

出站消息的架构

对于此部分,请从每个事务类型 (ST01) 的集成帐户中选择一个架构。 完成每行后,会自动显示新的空行。

属性 说明
版本 架构的 X12 版本
事务类型 (ST01) 架构的事务类型
架构 要使用的架构文件。 如果先选择架构,将自动设置版本和事务类型。

发送设置 - 包络线

在出站消息的事务集中使用的分隔符

属性 说明
ISA11 用法 要在事务集中使用的分隔符:

- 标准标识符:在 EDI 发送管道中使用句点 (.) 十进制表示法,而不是使用出站文档的十进制表示法。

- 重复分隔符:为重复出现的简单数据元素或重复数据结构指定分隔符。 例如,脱字符 (^) 通常用作重复分隔符。 对于 HIPAA 架构,只能使用脱字符。

发送设置 - 控制版本号

出站消息的控制版本号

对于此部分,请从每个交换的集成帐户中选择一个架构。 完成每行后,会自动显示新的空行。

属性 说明
控制版本号 (ISA12) X12 标准的版本
用法指示符 (ISA15) 交换的上下文,为测试数据、信息数据或生产数据
架构 用于为发送到 EDI 发送管道的 X12 编码交换生成 GS 和 ST 段的架构。
GS1 可选:选择功能代码。
GS2 可选:指定应用程序发送方。
GS3 可选:指定应用程序接收器。
GS4 可选:选择 CCYYMMDD 或 YYMMDD 。
GS5 可选,选择 HHMM、HHMMSS 或 HHMMSSdd 。
GS7 可选:选择负责代理的值。
GS8 可选:指定架构文档版本。

发送设置 - 控制编号

出站消息的控制编号

属性 说明
交换控制编号 (ISA13) 交换控制编号的值范围,最小值为 1,最大值为 999999999
组控制编号 (GS06) 组控制编号的值范围,最小值为 1,最大值为 999999999
事务集控制编号 (ST02) 事务集控制编号的值范围,最小值为 1,最大值为 999999999

- 前缀:可选,字母数字值
- 后缀:可选,字母数字值

发送设置 - 字符集和分隔符

出站消息的消息类型的分隔符

“默认”行显示用作消息架构分隔符的字符集。 如果不想使用“默认”字符集,可以为每种消息类型输入不同分隔符集。 完成每行后,会自动显示新的空行。

提示

若要提供特殊字符值,请编辑作为 JSON 的协议并提供特殊字符的 ASCII 值。

属性 说明
要使用的字符集 X12 字符集,为“基本”、“扩展”或“UTF8”。
架构 要使用的架构。 选择架构后,请根据以下分隔符说明选择要使用的字符集。
输入类型 字符集的输入类型
组件分隔符 分隔复合数据元素的单个字符
数据元素分隔符 分隔复合数据中的简单数据元素的单个字符
替换字符分隔符 用于在生成出站 X12 消息时替换有效负载数据中的所有分隔符的替换字符
段终止符 指示 EDI 段的结尾的单个字符
后缀 与段标识符一起使用的字符。 如果指定了后缀,则段终止符数据元素可以为空。 如果段终止符留空,则必须指定后缀。

发送设置 - 验证

出站消息的验证属性

“默认”行显示用于 EDI 消息类型的验证规则。 如果要定义不同的规则,请选择要将规则设置为 true 的每个框。 完成每行后,会自动显示新的空行。

属性 说明
消息类型 EDI 消息类型
EDI 验证 根据架构的 EDI 属性、长度限制、空数据元素和尾部分隔符的定义,对数据类型执行 EDI 验证。
扩展验证 如果数据类型不是 EDI,则验证会基于数据元素要求,且允许重复、枚举和数据元素长度验证(最小/最大)。
允许前导零/尾随零 保留所有额外的前导或尾随零和空格字符。 不要删除这些字符。
剪裁前导零/尾随零 删除任何前导或尾随零和空格字符。
尾随分隔符策略 生成尾部分隔符。

- 不允许:禁止在出站交换中包含尾随分隔符。 如果交换包含尾部分隔符,会将它声明为无效。

- 可选:发送包含或不包含尾随分隔符的交换。

- 必需:出站交换必须包含尾随分隔符。

HIPAA 架构和消息类型

使用 HIPAA 架构和 277 或 837 消息类型时,需要执行一些额外的步骤。 这些消息类型的文档版本号 (GS8) 具有超过 9 个字符,例如“005010X222A1”。 此外,某些文档版本号映射到变体消息类型。 如果在架构和协议中未引用正确的消息类型,则会收到以下错误消息:

"The message has an unknown document type and did not resolve to any of the existing schemas configured in the agreement."

此表列出了受影响的消息类型、所有变体以及映射到这些消息类型的文档版本号:

消息类型或变体 说明 文档版本号 (GS8)
277 医疗保健信息状态通知 005010X212
837_I 医疗保健索赔:机构 004010X096A1
005010X223A1
005010X223A2
837_D 医疗保健索赔:牙科 004010X097A1
005010X224A1
005010X224A2
837_P 医疗保健索赔:职业 004010X098A1
005010X222
005010X222A1

使用这些文档版本号时,还需要禁用 EDI 验证,因为它们会导致字符长度无效的错误。

若要指定这些文档版本号和消息类型,请执行以下步骤:

  1. 在 HIPAA 架构中,将当前消息类型替换为要使用的文档版本号的变体消息类型。

    例如,假设你要将文档版本号 005010X222A1 用于 837 消息类型。 在架构中,将每个 "X12_00501_837" 值替换为 "X12_00501_837_P" 值。

    若要更新架构,请执行以下步骤:

    1. 在 Azure 门户中,转到集成帐户。 查看和下载你的架构。 替换消息类型并重命名架构文件,然后将修改后的架构上载到集成帐户。 有关详细信息,请参阅编辑架构

    2. 在协议的消息设置中,选择修改后的架构。

  2. 在协议的 schemaReferences 对象中,添加另一个条目来指定与文档版本号匹配的变体消息类型。

    例如,假设要将文档版本号 005010X222A1 用于 837 消息类型。 协议有一个 schemaReferences 部分,其中包含以下属性和值:

    "schemaReferences": [
      {
         "messageId": "837",
         "schemaVersion": "00501",
         "schemaName": "X12_00501_837"
      }
    ]
    

    在此 schemaReferences 部分中,添加另一个具有以下值的项:

    • "messageId": "837_P"
    • "schemaVersion": "00501"
    • "schemaName": "X12_00501_837_P"

    完成后,schemaReferences 部分如下所示:

    "schemaReferences": [
      {
         "messageId": "837",
         "schemaVersion": "00501",
         "schemaName": "X12_00501_837"
      },
      {
         "messageId": "837_P",
         "schemaVersion": "00501",
         "schemaName": "X12_00501_837_P"
      }
    ]
    
  3. 在协议的消息设置中,如果使用“默认”值,请通过清除每个消息类型或所有消息类型的“EDI 验证”复选框来禁用 EDI 验证。

    为所有消息类型或每个消息类型禁用验证

连接器参考

有关此连接器的更多技术详细信息(例如连接器的 Swagger 文件所述的操作和限制),请查看连接器的参考页

后续步骤