HL7中国发布订阅框架实施指南
2025.03.10 - release

HL7中国发布订阅框架实施指南 - Local Development build (v2025.03.10) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

概念定义

SubscriptionTopic

SubscriptionTopic 资源用于定义 Subscription 资源的概念性或可计算事件。从定义上讲,订阅主题指定:

  • 一个全球唯一的规范URL引用
  • 一个触发器,通过事件触发器中的事件定义或通过资源触发器中的资源变更来触发通知。
  • 一个过滤器,允许订阅者在发起订阅时允许使用的筛选条件。
  • 服务器可以在通知中包含哪些相关资源。例如,虽然出院通知可能侧重于 Encounter 资源,但由于这是更新的资源,因此可能需要包含患者信息、观察结果、诊断条件、位置信息等。

订阅主题旨在可发现、可重用和可扩展。应尽可能以可计算的方式定义定义,

Subscription

Subscription 资源用于请求有关特定主题(由 SubscriptionTopic 定义)的通知。

从概念上讲,订阅指定:

  • 描述客户请求通知SubscriptionTopic定义的事件
  • 设置实际过滤器,如引用的SubscriptionTopic中定义的那样
  • 描述用于发送通知的渠道和端点
  • 描述通知中包含的有效负载(MIME类型、内容级别等)

在本框架中,为了避免出现订阅期间逻辑上的混淆,并可追踪,订阅设计为不可修改、不可删除。

Subscription-Notification Bundle

用于作为通知消息的载体。无论是发布还是通知时,都是使用相同结构定义的通知消息。从定义上讲,通知消息指定:

  • Bundle类型固定为type=subscription-notification
  • 一个SubscriptionStatus资源,且应位于首位。封装有关订阅的信息和有关通知本身的元信息(例如,包含多少个事件等)。通知的类型分为三种:
    • 握手通知 在订阅运行初始时,用于检测通知的另一端是否存在,且正常运行
    • 心跳通知 在订阅运行期,以固定间隔时间发送,以使双方确认对方都处于正常运行状态
    • 事件通知 在订阅运行期,由发布的通知消息触发,经筛选后分发给适当的通知接收者
  • 可包含零到多个通知有效负载