繁体   English   中英

我们可以根据患者 ID 更新任何 fhir 资源吗?

[英]Can we update any fhir resource on the basis of patient id?

我正在尝试根据患者 ID 更新 Encounter 资源,但它只是创建 Encounter 的一条新记录,而不是更新现有记录。 但是,如果我尝试根据标识符更新 Encounter,即代表 Encounter 资源的唯一值,那么它能够更新它。

这是为什么? 谁能解释一下?

一名患者可能会遇到许多(甚至数百次)遭遇。 更新始终由资源本身的记录驱动——每个资源(Patient、Encounter、Observation、CarePlan 等)都有一个“id”元素,表示该特定服务器上该资源的标识符——有点像主键. 通过对包含相同标识符的 URL 进行新记录的 RESTful PUT 来执行更新。

即,必须始终使用以下形式的 URL 执行 Encounter 的更新:

PUT [somebaseurl]/Encounter/[serverEncounterId]

与遭遇相关的患者将在 RESTful 调用正文中的 Encounter object 中引用,但不会出现在 URL 中。

正如您所发现的,一些 FHIR 服务器将允许“有条件更新”:

PUT [somebaseurl]/Encounter?search_key=search_value&...

您将需要添加搜索参数来过滤所有遭遇并产生一个唯一的,然后将被更新。 正如 Lloyd 还指出的那样,一个 Patient 可以有多个关联的 Encounter,因此 Patient id 不是条件更新的合适参数。 您的 Encounter 的标识符足够独特,因此更新成功。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM