FHIR

FHIR Bundle 详解:九种 Bundle 类型及其适用场景

FHIR Bundle 是多个资源的容器。FHIR R4 中的九种 Bundle 类型(document、message、transaction、transaction-response、batch、batch-response、history、searchset、collection),transaction 与 batch 的区别,以及一个最小化的 JSON 示例。

作者 发布于 阅读约 1 分钟

简短回答: Bundle 是 FHIR 资源,用于将其他资源分组:搜索结果、一次请求发送的一组写入操作、临床文档(如患者摘要)或消息。其 type 表明了该组的含义以及服务器应如何处理它。

FHIR R4 中的九种类型

  • searchset:搜索结果,包含分页链接。
  • transaction:写入操作全部成功或全部失败;如果其中一个失败,则都不应用。
  • batch:写入操作独立处理;每个条目自行成功或失败。
  • transaction-response / batch-response:服务器为每个操作返回的内容。
  • document:临床文档(第一个条目是 Composition),例如国际患者摘要;它作为一个整体进行签名或存储。
  • message:消息,第一个条目是 MessageHeader。
  • history:资源的各个版本。
  • collection:一组没有进一步含义的资源。

Transaction 与 Batch

当资源相互依赖时,请使用 transaction,例如患者及其引用的 Observation:条目之间的引用可以使用临时的 urn:uuid: 标识符,服务器会解析这些标识符。对于部分成功可接受的独立操作,请使用 batch。

{
  "resourceType": "Bundle",
  "type": "transaction",
  "entry": [
    {"fullUrl": "urn:uuid:61ebe359-bfdc-4613-8bf2-c5e300945f0a",
     "resource": {"resourceType": "Patient", "name": [{"family": "Example"}]},
     "request": {"method": "POST", "url": "Patient"}},
    {"resource": {"resourceType": "Observation", "status": "final",
       "code": {"coding": [{"system": "http://loinc.org", "code": "8867-4"}]},
       "subject": {"reference": "urn:uuid:61ebe359-bfdc-4613-8bf2-c5e300945f0a"},
       "valueQuantity": {"value": 72, "unit": "/min", "system": "http://unitsofmeasure.org", "code": "/min"}},
     "request": {"method": "POST", "url": "Observation"}}
  ]
}

在 Anpheros 中

Anpheros Platform 接受 transaction 和 batch bundle,并返回带分页的 searchset bundle;国际患者摘要以 document bundle 的形式返回。请参阅 FHIR 沙盒 进行尝试,以及 FHIR 中的国际患者摘要。

相关页面

来源

常见问题

FHIR transaction 和 batch 有什么区别?

Transaction 是全有或全无的;batch 则独立处理每个条目。

如何引用同一 bundle 中创建的资源?

为其提供一个完整的 URL,如 urn:uuid:…,并将其用作引用;在 transaction 中,服务器会将其替换为实际 ID。

患者摘要是什么类型?

是 document bundle,其第一个条目是 Composition。

为什么我的搜索返回的是 Bundle?

搜索结果始终是 searchset bundle,并带有指向下一页的链接。

Anpheros Platform

在沙盒中免费试用

5 分钟完成第一次 FHIR 调用. 一个内置患者授权的 HL7 FHIR R4 API:先在沙盒中试用,然后连接您自己的应用或诊所系统。

免费 · 30 位合成患者 · 无需信用卡

本指南仅供参考,不能替代医生诊疗。涉及健康的决定请咨询医生。紧急情况下,请拨打当地急救电话(欧洲为 112)。
撰写人
Anpheros 团队

Anpheros 致力于打造一个由患者掌控的医疗记录,并可在欧盟的 HL7 FHIR R4 平台上与任何诊所共享。这些指南旨在帮助您理解和整理您的健康信息,但不能替代您的医生。

关于 Anpheros →