简短回答: 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,并带有指向下一页的链接。
在沙盒中免费试用
5 分钟完成第一次 FHIR 调用. 一个内置患者授权的 HL7 FHIR R4 API:先在沙盒中试用,然后连接您自己的应用或诊所系统。
免费 · 30 位合成患者 · 无需信用卡

