文章
· 六月 9, 2023 阅读大约需 2 分钟

FHIR小技巧:注册新资源时如何将特定ID注册为资源的逻辑ID

我们想介绍一些在 FHIR 相关培训期间我们从几个人那里收到的问题。


IRIS for Health FHIR 存储库会自动在存储库中分配一个唯一的逻辑 ID (id) 作为资源 POST 期间的默认行为。

例如,如果您发布一个 Patient 资源,例如

{ "resourceType" : "Patient" , "address" : [ { "postalCode" : "1600023" , "text" : "東京都新宿区西新宿6丁目" } ], "birthDate" : "1970-01-01" , "gender" : "male" , "identifier" : [ { "value" : "P101001" } ], "name" : [ { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/iso21090-EN-representation" , "valueCode" : "IDE" } ], "use" : "official" , "text" : "山田 太郎" , "family" : "山田" , "given" : [ "太郎" ] }, { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/iso21090-EN-representation" , "valueCode" : "SYL" } ], "use" : "official" , "text" : "ヤマダ タロウ" , "family" : "ヤマダ" , "given" : [ "タロウ" ] } ], "telecom" : [ { "value" : "0312345678" } ] }

如下面的“id”:“1”所示,资源 id 自动设置为存储库中的唯一值。 (摘自患者资源)

 "id" : "1" , "meta" : { "lastUpdated" : "2023-06-02T07:40:35Z" , "versionId" : "1"    }

以Patient资源为例,我想使用patient ID,本来就是一个唯一值,作为FHIR repository的资源id!我将介绍在这种情况下如何注册。

POST 请求用于新注册,但 PUT 请求可用于执行指定资源 ID 的注册。

例如,如果患者 ID 为 P101001,则指定的 URL

http://localhost:52773/csp/healthshare/r4fhirnamespace/fhir/r4/Patient /P101001  

指定喜欢

示例端点 URL = http://localhost:52773/csp/healthshare/r4fhirnamespace/fhir/r4

此外,在 Body 中指定的 Patient 资源的 JSON 中,

“编号”:“ P101001

指定

执行示例如下。

PUT 请求示例(我正在使用 Postman)


确认的GET请求为:

http://localhost:52773/csp/healthshare/r4fhirnamespace/fhir/r4/Patient/P...
​​​​

“参考”

FHIR 标准还提到了对 FHIR 存储库中尚不存在的资源的 PUT 请求,并声明 FHIR 服务器可以决定是否允许 PUT 请求。

https://www.hl7.org/fhir/http.html#upsert

在上面的文档中,FHIR 服务器上的CapabilityStatement.rest.resource.updateCreate应该指示是否允许 PUT 到不存在的资源。

如果您检查 IRIS 的 FHIR 存储库中的 CapabilityStatement(URL 示例:http://localhost:52773/csp/healthshare/r4fhirnamespace/fhir/r4/metadata

由于 updateCreate 为真,我们可以确认它是允许的。

讨论 (0)1
登录或注册以继续