如何在不发送完整资源历史的FHIR响应中标识资源删除?
订阅错误恢复的FHIR Bundle类型选择问题
在高负载系统中,无限积累失败订阅的事件成本过高,因此需要一种不依赖事件存储的订阅错误恢复方案:客户端指定最后一次成功交付的时间点,系统返回从该时间点到当前的资源变更列表,需包含资源的创建、更新、删除操作,且仅保留每个资源的最新状态(无需中间版本)。
但目前不清楚哪种FHIR Bundle类型适合返回这类变更集,具体问题如下:
- searchset类型Bundle:条目必须始终包含资源,且无法通过
request.method标识已删除资源,无法满足需求。 - history类型Bundle:支持包含删除操作,但FHIR规范要求条目为资源版本而非资源本身;若省略中间版本、仅放入反映最新状态的无版本资源,可能不符合规范要求。
- subscription-notification、transaction和batch类型Bundle:用途与该错误恢复场景完全不同,使用它们会造成概念混淆且不符合FHIR规范。
内容的提问来源于stack exchange,提问作者Zoltan
相关产品推荐
相关产品推荐

