HL7 MLLP 端口

Version 24.2.9039


HL7 MLLP 端口


Health Level-7 是一套医院和其他医疗保健提供者使用的临床数据传输标准。 HL7 MLLP 端口支持与 MLLP 作为传输协议结合生成和解析 HL7 文档。

总览

HL7 MLLP 端口提供两组功能:

  • 通过 MLLP 传输协议进行文件传输
  • 根据 HL7 EDI 标准解析并生成 EDI 文档

HL7 MLLP 连接在两个位置进行配置。 使用将知行之桥标识为 HL7 和 MLLP 实体的设置来配置 HL7 MLLP 个人设置。 然后使用每个贸易伙伴的 HL7 和 MLLP 详细信息配置单独的 HL7 MLLP 端口。

当 HL7 MLLP 端口收到来自贸易伙伴的入站消息时,它会验证 HL7 标识详细信息,以确认文档是从预期各方发送的或发送到预期各方的。 然后,它将文档转换为 XML,以便在知行之桥流程中进一步处理。

当 HL7 MLLP 端口向贸易伙伴发送文件时:

  • XML 文件在发送之前被转换为 HL7
  • HL7 文件按原样发送

强烈建议将 HL7 MLLP 端口与 XML Map 端口 结合使用,以确保输入和输出 XML 的格式正确。 有关详细信息,请参阅和 XML Map 端口一起使用

个人设置的配置

必须先配置 HL7 MLLP 配置文件,然后才能与各个 HL7 MLLP 端口建立连接。 单击顶部菜单栏上的 个人设置,然后单击 HL7 MLLP 选项卡。

HL7 MLLP配置文件选项

服务器配置

托管本地 MLLP 服务器的设置。

  • 端口 监听传入 MLLP 连接的端口。
  • 使用 TLS/SSL 是否要求传入连接将 TLS/SSL 加密用于传输安全。
  • TLS 服务器证书 用于验证 TLS/SSL 服务器身份的公钥证书。 如果目标服务器使用TLS/SSL,则将此字段设置为标识服务器的证书。 如果服务器的证书不可用,可以将此设置留空以允许底层 OS/JVM 执行证书验证,或将其设置为 “Any Certificate” 以隐式信任服务器的身份。 (仅当选中 使用 SSL/TLS 时,才会显示此字段。)

HL7 个人 ID

  • 应用程序命名空间 ID(MSH3.1) 标识 HL7 协议交换的本地命名空间的应用程序 Id。
  • 应用程序通用 ID(MSH3.2) HL7 协议交换的本地应用程序通用 Id。
  • 应用程序通用 ID 类型(MSH3.3) 为本地应用程序通用 Id 提供上下文的类型限定符。
  • 设施命名空间 ID(MSH4.1) 标识 HL7 协议交换的本地命名空间的设施 Id。
  • 设施通用 ID(MSH4.2) HL7 协议交换的本地设施通用标识。
  • 设施通用 ID 类型(MSH4.3) 一个类型限定符,用于为本地设施通用标识提供上下文。

其它设置

很少需要修改的设置。

  • 空闲超时 服务器允许客户端在连接终止之前保持非活动状态的时间(以秒为单位)。

日志

与日志的生成和存储相关的设置。

  • 日志级别 端口生成的日志的详细程度。 当请求支持时,请将其设置为 调试
  • 日志轮换间隔 创建新日志文件之前等待的天数。
  • 日志删除间隔 删除旧日志文件之前等待的天数。

特殊设置

特殊设置 适用于特定用例。

  • 其他设置 允许在以分号分隔的列表中配置隐藏的端口设置,例如setting1=value1;setting2=value2。 正常的端口用例和功能不需要使用这些设置。

端口配置

配置全局 HL7 MLLP 个人设置后,请在 工作流 页面上为每个贸易伙伴创建和配置单独的 HL7 MLLP 端口。

设置

端口设置

与端口核心操作相关的设置。

  • 端口 Id 端口的静态、唯一标识符。
  • 端口类型 显示端口类型及其用途的描述。
  • 端口描述 一个可选字段,用于提供端口及其在流中的角色的自由格式描述。
  • 远程主机 远程主机的主机名或 IP 地址。
  • 端口 用于侦听传入 MLLP 连接的端口。
  • 版本 正在使用的 MLLP 版本。
  • 连接超时 端口在抛出超时错误之前等待连接响应的时间长度(以秒为单位)。
  • 使用 SSL/TLS 是否要求传入连接使用 SSL/TLS 加密以确保传输安全。

HL7 配置

与消息头相关的设置。 将 HL7 文档转换为 XML 时,将根据这些设置验证文档头; 从 XML 生成 HL7 文档时,这些设置用于生成文档头。

  • 应用程序命名空间 ID(MSH5.1) 结合其它 5.X 元素,标识 HL7 交换机远程端的应用程序。
  • 应用程序通用 ID(MSH5.2) 结合其它 5.X 元素,标识 HL7 交换机远程端的应用程序。
  • 应用程序通用 ID 类型(MSH5.3) 结合其它 5.X 元素,标识 HL7 交换机远程端的应用程序。
  • 设施命名空间 ID(MSH6.1) 结合其它 6.X 元素,标识 HL7 交换机远程端的设施。
  • 设施通用 ID(MSH6.2) 结合其它 6.X 元素,标识 HL7 交换机远程端的设施。
  • 设施通用 ID 类型(MSH6.3) 结合其它 6.X 元素,标识 HL7 交换机远程端的设施。

ACK

与生成和请求 ACK 相关的设置。

  • ACK 类型 确认是否应生成并请求。

自动化

自动化设置

与端口自动处理文件相关的设置。

  • 发送 到达端口的文件是否自动作为 HL7 或 XML 消息发送。
  • 重试间隔 重试失败发送之前的分钟数。 当服务器没有响应发送尝试,或者做出否定响应以表明未收到文件时,将触发重试。
  • 最大尝试次数 端口处理输入文件的最大次数。 成功取决于服务器成功确认和验证收据(同步请求时)。 如果将此设置为 0,连接将无限期地重试该文件。
  • 重新发送间隔 重新发送未确认消息之前的分钟数。 当服务器收到文件但未在预期时间范围内提供异步 MDN 回执时,会触发重新发送。
  • 最大尝试次数(异步) 当请求异步收据时,端口处理输入文件的最大次数。 成功取决于服务器成功确认后在重新发送间隔内返回的异步收据。 如果未返回成功的服务器确认,则会应用 最大尝试次数。 如果将此设置为 0,端口将无限期地重新发送文件。

性能

与端口资源分配相关的设置。

  • 最大线程数 从线程池中消耗用于处理此端口上的文件的最大工作线程数。 如果设置,这将覆盖 设置 > 自动化 页面上的默认设置。
  • 最大文件数 分配给端口的每个线程发送的最大文件数。 如果设置,这将覆盖 设置 > 自动化 页面上的默认设置。

通知

与配置警报和服务等级协议 (SLA) 相关的设置。

端口邮件设置

在执行 SLA 之前,需要设置电子邮件警报以获取通知。 单击 配置通知 将打开一个新的浏览器窗口,转到 系统设置,可以在其中设置系统范围的警报。 有关详细信息,请参阅通知

服务等级协议 (SLA) 配置

SLA 能够配置期望工作流中的端口发送或接收的数量,并设置期望满足该数量的时间范围。 知行之桥在不满足 SLA 时发送电子邮件警告用户,并将 SLA 标记为 有风险,这意味着如果很快不满足 SLA,则会将其标记为 已违反。 这使用户有机会介入并确定未满足 SLA 的原因,并采取适当的措施。 如果在风险时间段结束时仍未满足 SLA,则将 SLA 标记为违反,并再次通知用户。

要定义 SLA,请单击 添加预期数量条件

  • 如果端口具有单独的发送和接收操作,请使用单选按钮指定 SLA 所属的方向。
  • 期待至少 设置为期望处理的最小交易数量(交易量),然后使用 字段指定时间范围。
  • 默认情况下,SLA 每天都有效。 要更改此设置,请取消选中每日,然后选中想要的一周中的几天的框。
  • 使用 将状态设置为“有风险” 来指示何时应将 SLA 标记为存在风险。
  • 默认情况下,在违反 SLA 之前不会发送通知。 要更改此设置,请选中 发送“有风险”通知

以下示例显示为预计周一至周五每天接收 1000 个文件的端口配置的 SLA。 如果尚未收到 1000 个文件,则会在该时间段结束前 1 小时发送风险通知。

高级设置

EDI 分隔符

指定用哪些字符分隔元素、段等。

  • 数据元素分隔符 分隔文档中各个数据元素的字符。
  • 组件元素分隔符 分隔文档中复合数据结构内元素的字符。
  • 段终止符 指示文档中段结尾的字符。
  • 转义字符 释放(转义)下一个字符的字符,覆盖其通常的含义。只要前面有释放字符,允许保留字符在文档中显示为数据。
  • 重复字符 表示元素值重复的字符。
  • 后缀 附加到段终止符以区分段。

代理设置

这些是一组设置,用于识别代理并对其进行身份验证,HL7 MLLP 连接应通过该代理进行路由。 默认情况下,此部分使用设置页面上的全局设置。 清除该复选框可提供特定于端口设置。

  • 代理类型 基于代理的防火墙使用的协议。
  • 代理主机 基于代理的防火墙的名称或 IP 地址。
  • 代理端口 基于代理的防火墙的 TCP 端口。
  • 代理用户 用于通过基于代理的防火墙进行身份验证的用户名。
  • 代理密码 用于对基于代理的防火墙进行身份验证的密码。
  • 身份验证方案 保留默认值 None 或选择以下身份验证方案之一:BasicDigestProprietaryNTLM

高级设置

先前类别中未包含的设置。

  • 将描述生成为 将 HL7 转换为 XML 时,可以提供 HL7 段和元素的描述作为 HL7 数据的上下文。 使用此下拉列表可以选择是否将此上下文添加为 XML 注释或 XML 属性。
  • 延迟处理 放置在输入文件夹中的文件的处理延迟的时间量(以秒为单位)。 这是一个遗留设置。 最佳实践是使用 File 端口 来管理本地文件系统,而不是此设置。
  • 严格模式验证 检测到以下情况时,端口是否提示应忽略、警告或失败:重复计数超过允许的数目,缺少必需的元素或段,限定符和代码值无效,不允许的元素长度以及无效的元素值。
  • 本地文件名格式 用于为端口输出的消息分配文件名的方案。 可以在文件名中动态使用宏来包含标识符和时间戳等信息。 有关详细信息,请参阅
  • 启用 TLS 的协议 建立传出连接时支持的 TLS/SSL 协议列表。 最佳实践是仅使用 TLS 协议。 一些过时的操作系统不支持 TLS 1.2。
  • 验证标识符 选中后,端口将确保已翻译文档中的标识符与端口配置中指定的标识符匹配。
  • 上传 Schema 使用此选项可上传架构并将其安装在端口的架构文件夹中。如果架构已存在,系统会询问您是否要覆盖它。
  • 重置状态 EDI 端口会跟踪已使用的控制编号并增加该编号以确保将来的运行不会重复数据。使用此按钮可将计数器重置为其初始状态,而无需更改任何配置的设置。

消息

  • 保存至 Sent 文件夹 选中此选项可将端口处理的文件复制到端口的已发送文件夹中。
  • 已发送文件夹方案 指示端口根据选定的时间间隔对已发送文件夹中的消息进行分组。 例如,Weekly 选项指示端口每周创建一个新的子文件夹,并将该周的所有消息存储在该文件夹中。 空白设置告诉端口将所有消息直接保存在“已发送”文件夹中。 对于处理许多消息的端口,使用子文件夹有助于保持消息的组织性并提高性能。

日志

  • 日志级别 端口生成的日志的详细程度。 当端口请求支持时,请将其设置为 调试
  • 日志子文件夹方案 指端口根据选定的时间间隔对日志文件夹中的文件进行分组。 例如,Weekly 选项表示端口每周创建一个新子文件夹并将该周的所有日志存储在该文件夹中。 空白设置告诉端口将所有日志直接保存在 Logs 文件夹中。 对于处理大量事务的端口,使用子文件夹有助于保持日志井井有条并提高性能。
  • 保留消息副本 选中此项可使已处理文件的日志条目包含文件本身的副本。 如果禁用此功能,端口可能无法从 输入输出 选项卡下载文件的副本。

特殊设置

特殊设置 适用于特定用例。

  • 其他设置 允许在以分号分隔的列表中配置隐藏的端口设置,例如setting1=value1;setting2=value2。 正常的端口用例和功能不需要使用这些设置。

生成 HL7 文档

从 XML 生成 HL7 文件时,端口根据 HL7 MLLP 配置文件选项卡上的 HL7 个人 ID 以及端口中的 HL7 配置 应用事务消息头 。 其余数据来自 XML 输入文件。 有关生成适当的 XML 输入文件的详细信息,请参阅和 XML Map 端口一起使用

到达端口“输入”选项卡的文件将打包成 HL7 文档并通过 MLLP 发送出去。 文件可以通过将文件直接拖放到磁盘上的文件夹路径中或通过将另一个知行之桥端口连接到流程中的 HL7 MLLP 端口来到达“输入”选项卡。

HL7 转换为 XML

将 HL7 文档转换为 XML 时,应用程序会根据 HL7 MLLP 配置文件选项卡上的 HL7 个人 IDHL7 配置 在端口中验证入站文档中的交换标题。 从 HL7 文档生成的 XML 放置在“输出”选项卡中,以便在流程中传递以进行进一步处理。 有关处理翻译后的 XML 的详细信息,请参阅和 XML Map 端口一起使用

和 XML Map 端口一起使用

根据典型的知行之桥约定,HL7 MLLP 端口需要 XML 输入并生成 XML 输出。 为了确保这些输入和输出文件具有正确的 XML 结构,强烈建议在生成时使用 XML Map 端口 作为流程中的上一步出站 HL7 文件,或接收入站 HL7 文件时按照流程中的以下步骤操作。

上传测试文件功能使 XML Map 端口和 HL7 MLLP 端口之间的交互变得简单。 此功能位于 HL7 MLLP 端口的“输入”选项卡上的“更多”下拉列表下。 选择此选项,然后导航到磁盘上的 HL7 文件,该文件表示端口应处理的 HL7 文档的结构。 端口在内部将示例文档建模为 XML,并且 XML Map端口可以检测此 XML 模型。

当 XML Map 端口连接到流程中的 HL7 MLLP 端口时,它会检测从 上传测试文件 功能生成的任何 XML 模型。 这些模型在 XML Map 端口中作为 源模板目标模板 文件提供(取决于 XML Map 端口在流程中的位置)。 这些自动检测的模板用于轻松地将数据映射到 HL7 结构或从 HL7 结构映射数据。

注意:XML Map 端口需要源模板和目标模板,因此必须根据数据源自的结构或数据应转换为的结构来设置其余模板。 例如,如果需要将 HL7 文档中的数据插入到数据库中,则 XML Map 端口中的另一个模板将是数据库插入的 XML 模型。 有关在两个模板文件之间创建映射的详细信息,请参阅 XML Map 端口的XML Map 设计器

在文件命名策略中使用宏可以提高组织效率和对数据的上下文理解。 通过将宏合并到文件名中,可以动态地包含相关信息,例如标识符、时间戳和消息头信息,从而为每个文件提供有价值的上下文。 这有助于确保文件名反映对组织重要的详细信息。

知行之桥 支持这些宏,它们都使用以下语法:%Macro%

描述
ConnectorID 替换为端口的 ConnectorID。
Ext 替换为端口当前正在处理的文件的文件扩展名。
Filename 替换为端口当前正在处理的文件的文件名(包括扩展名)。
FilenameNoExt 替换为端口当前正在处理的文件的文件名(不带扩展名)。
MessageId 计算端口输出的消息的 MessageId。
RegexFilename:pattern 将正则表达式模式应用于端口当前正在处理的文件的文件名。
Header:headername 替换为端口正在处理的当前消息的目标消息头 (headername) 的值。
LongDate 以常规格式计算系统的当前日期时间(例如,2024 年 1 月 24 日星期三)。
ShortDate 以 yyyy-MM-dd 格式计算系统的当前日期时间(例如 2024-01-24)。
DateFormat:format 以指定格式(format)计算系统的当前日期时间。 有关可用的日期时间格式,请参阅示例日期格式
Vault:vaultitem 计算指定保管库项目的值。

示例

某些宏(例如 %Ext% 和 %ShortDate%)不需要参数,但其他宏则需要。 所有带有参数的宏都使用以下语法:%Macro:argument%

以下是带有参数的宏的一些示例:

  • %Header:headername%:其中 headername 是消息上消息头的名称。
  • %Header:mycustomheader% 解析为输入消息上设置的 mycustomheader 消息头的值。
  • %Header:ponum% 解析为输入消息上设置的 ponum 消息头的值。
  • %RegexFilename:pattern%:其中“pattern”是正则表达式模式。 例如,%RegexFilename:^([\w][A-Za-z]+)% 匹配并解析为文件名中的第一个单词,并且不区分大小写(test_file.xml解析为test) 。
  • %Vault:vaultitem%:其中 vaultitemvault 中项目的名称。 例如,%Vault:companyname%解析为存储在保管库中的companyname项的值。
  • %DateFormat:format%:其中 format 是可接受的日期格式(有关详细信息,请参阅示例日期格式)。 例如,%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%解析为文件上的日期和时间戳。

还可以创建更复杂的宏,如以下示例所示:

  • 将多个宏组合在一个文件名中:%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%%EXT%
  • 包括宏之外的文本:MyFile_%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%
  • 在宏中包含文本: %DateFormat:'DateProcessed-'yyyy-MM-dd_'TimeProcessed-'HH-mm-ss%