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

问题描述 投票:-1回答:2

我正在尝试根据患者ID更新Encounter资源,但它只是创建一个新的Encounter记录,而不是更新现有记录。但是,如果我尝试根据标识符即表示Encounter资源的唯一值来更新Encounter,则它能够对其进行更新。

为什么?谁能解释?

hl7-fhir hapi hapi-fhir
2个回答
0
投票

一名患者可能会遇到很多(甚至数百次)遭遇。更新总是由资源本身的记录来驱动-每个资源(患者,遇到,观察,护理计划等)都有一个“ id”元素,代表该特定服务器上该资源的标识符-类似于主键。通过对新记录进行RESTful PUT到包含相同标识符的URL来执行更新。

即遇到问题的更新必须始终使用以下形式的URL进行:

PUT [somebaseurl]/Encounter/[serverEncounterId]

与相遇相关的患者将从RESTful调用主体中的Encounter对象内引用,但不会出现在URL中。


0
投票

您已经发现,某些FHIR服务器将允许“条件更新”:

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

您将需要添加搜索参数,以过滤所有的Encounter,并生成唯一的Enguer,然后将其更新。正如劳埃德(Lloyd)所指出的,由于患者可以具有多个关联的遭遇,因此患者ID对于条件更新而言不是合适的参数。您的遭遇者的标识符足够唯一,因此更新成功。

© www.soinside.com 2019 - 2024. All rights reserved.