FHIR资源与数据类型详解
1. FHIR版本跟踪与更新机制
FHIR规范鼓励服务器提供完整的版本支持,因为这对于保持记录的一致性以及确保所有更改都得到妥善记录至关重要。然而,由于许多医疗系统内部并未实现版本控制,因此它们无法在FHIR接口上提供该功能。所以,版本跟踪并非强制要求,但一些实施指南可能会有此要求。
为防止更新丢失,可以结合使用ETag和If - Match头。当客户端读取资源时,会在响应头和资源中获取到versionId。示例如下:
HTTP 200 OK
Date: Sat, 09 Feb 2013 16:09:50 GMT
Content - Type: application/json+fhir
Last - Modified: Sat, 02 Feb 2013 12:02:47 GMT
ETag: W/"23"
{ "resourceType" : "Patient",
"id" : "347",
"meta" : {
"versionId" : "23",
"lastUpdated" : "2013-02-02T12:02:47Z"
}, etc.
当客户端更新资源时,会在请求中包含一个引用服务器ETag的If - Match头:
PUT /Patient/347 HTTP/1.1
If - Match: W/"23"
如果If - Match头中提供的版本ID不匹配,服务器将返回409冲突状态码,而不是更新资源。有些服务器让客户端决定是否进行特定版本的更
超级会员免费看
订阅专栏 解锁全文
2550

被折叠的 条评论
为什么被折叠?



