当您执行 DELETE 时,大多数 FHIR 服务器不会从数据库中完全删除 FHIR 资源。
我想知道的是:如果我使用它检索已删除资源的最新版本
_history
例如:GET Patient/1/_history/2
并想要“恢复”它。最好的方法是什么?
我唯一的选择是通过删除 ID 并执行
POST
到 /Patient
来创建已删除患者的副本,或者...是否有某种方法可以恢复已删除的患者并保留其原始 ID?
您正在寻找的功能是“更新为创建”功能,或更新插入操作https://hl7.org/fhir/http.html#upsert。此功能允许您使用
PUT
而不是 POST
创建具有您指定的 ID 的资源。因此,在您的示例中,您可以执行 PUT Patient/1
,其中 1
是已删除资源的 ID,以恢复资源。这应该简单地添加到现有的资源历史记录中。