本页面介绍了如何创建、更新、修补、查看和删除 FHIR 资源。
FHIR 资源可以包含有关患者、设备、观察结果之类的数据。如需查看 FHIR 资源的完整列表,请参阅 FHIR 资源索引(DSTU2 或 R4)。
本页面中的 curl
和 Windows PowerShell 示例可与 R4 FHIR 存储区搭配使用,但如果您使用的是 DSTU2 或 STU3 FHIR 存储区,则我们无法保证一定有效。如果您使用的是 DSTU2 或 STU3 FHIR 存储区,请参阅 https://www.hl7.org/fhir/ 上的官方 FHIR 文档,以了解如何将示例转换为您所使用的 FHIR 版本。
Go、Java、Node.js 和 Python 示例可与 STU3 FHIR 存储区搭配使用。
创建 FHIR 资源
您必须先创建一个 FHIR 存储区,然后才能创建 FHIR 资源。
curl
、Windows PowerShell 和 Python 示例展示了如何创建以下 FHIR 资源:
所有其他语言的示例展示了如何创建通用 FHIR 资源。
如需了解详情,请参阅 projects.locations.datasets.fhirStores.fhir.create
。
以下 curl
和 Windows PowerShell 示例可与 R4 FHIR 存储区搭配使用。Go、Java、Node.js 和 Python 示例可与 STU3 FHIR 存储区搭配使用。
curl
要创建“患者”资源,请发出 POST
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 一个包含患者信息的数据 blob
- 资源类型
- 访问令牌
以下示例展示了如何使用 curl
来发送创建“患者”资源的 POST
请求:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data "{ \"name\": [ { \"use\": \"official\", \"family\": \"Smith\", \"given\": [ \"Darcy\" ] } ], \"gender\": \"female\", \"birthDate\": \"1970-01-01\", \"resourceType\": \"Patient\" }" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient"
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应:
{ "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" }
PowerShell
要创建“患者”资源,请发出 POST
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 一个包含患者信息的数据 blob
- 资源类型
- 访问令牌
以下示例展示了如何使用 Windows PowerShell 来发送创建“患者”资源的 POST
请求:
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $patient = '{ "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" }' Invoke-RestMethod ` -Method Post ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Body $patient ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient" | ConvertTo-Json
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应:
{ "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" }
Go
Java
Node.js
Python
以下 curl
和 Windows PowerShell 示例可与 R4 FHIR 存储区搭配使用。Python 示例可与 STU3 FHIR 存储区搭配使用。
curl
创建“患者”资源后,请创建“相遇”资源来说明患者与医生之间的交互。
以下示例展示了如何使用 curl
来发送创建“相遇”资源的 POST
请求。
在 PATIENT_ID 字段中,替换您在创建“患者”时服务器返回的响应中的 ID。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data "{ \"status\": \"finished\", \"class\": { \"system\": \"http://hl7.org/fhir/v3/ActCode\", \"code\": \"IMP\", \"display\": \"inpatient encounter\" }, \"reasonCode\": [ { \"text\": \"The patient had an abnormal heart rate. She was concerned about this.\" } ], \"subject\": { \"reference\": \"Patient/PATIENT_ID\" }, \"resourceType\": \"Encounter\" }" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Encounter"
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应。
{ "class": { "code": "IMP", "display": "inpatient encounter", "system": "http://hl7.org/fhir/v3/ActCode" }, "id": "ENCOUNTER_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "resourceType": "Encounter", "status": "finished", "subject": { "reference": "Patient/PATIENT_ID" } }
PowerShell
创建“患者”资源后,请创建“相遇”资源来说明患者与医生之间的交互。以下示例展示了如何使用 Windows PowerShell 来发送创建“相遇”资源的 POST
请求。
在 PATIENT_ID 字段中,替换您在创建“患者”时服务器返回的响应中的 ID。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $encounter = '{ "status": "finished", "class": { "system": "http://hl7.org/fhir/v3/ActCode", "code": "IMP", "display": "inpatient encounter" }, "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "subject": { "reference": "Patient/PATIENT_ID" }, "resourceType": "Encounter" }' Invoke-RestMethod ` -Method Post ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Body $encounter ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Encounter" | ConvertTo-Json
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应。
{ "class": { "code": "IMP", "display": "inpatient encounter", "system": "http://hl7.org/fhir/v3/ActCode" }, "id": "ENCOUNTER_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "resourceType": "Encounter", "status": "finished", "subject": { "reference": "Patient/PATIENT_ID" } }
Python
以下 curl
和 Windows PowerShell 示例可与 R4 FHIR 存储区搭配使用。Python 示例可与 STU3 FHIR 存储区搭配使用。
curl
创建“相遇”资源后,请创建该相遇的“观察结果”。“观察结果”测量了患者的每分钟心跳数 (BPM)。以下示例展示了如何使用 curl
来发送创建“观察结果”资源的 POST
请求:
- 在 BPM_VALUE 字段中输入一个值。
- 在 PATIENT_ID 字段中,替换您在创建“患者”时服务器返回的响应中的 ID。
- 在 ENCOUNTER_ID 字段中,替换您在创建“相遇”时服务器返回的响应中的 ID。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data "{ \"resourceType\": \"Observation\", \"status\": \"final\", \"subject\": { \"reference\": \"Patient/PATIENT_ID\" }, \"effectiveDateTime\": \"2020-01-01T00:00:00+00:00\", \"code\": { \"coding\": [ { \"system\": \"http://loinc.org\", \"code\": \"8867-4\", \"display\": \"Heart rate\" } ] }, \"valueQuantity\": { \"value\": BPM_VALUE, \"unit\": \"bpm\" }, \"encounter\": { \"reference\": \"Encounter/ENCOUNTER_ID\" } }" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation"
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应:
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
创建“相遇”资源后,请创建该相遇的“观察结果”。“观察结果”测量了患者的每分钟心跳数 (BPM)。以下示例展示了如何使用 Windows PowerShell 来发送创建“观察结果”资源的 POST
请求。
- 在 BPM_VALUE 字段中输入一个值。
- 在 PATIENT_ID 字段中,替换您在创建“患者”时服务器返回的响应中的 ID。
- 在 ENCOUNTER_ID 字段中,替换您在创建“相遇”时服务器返回的响应中的 ID。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $observation = '{ "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": BPM_VALUE, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } }' Invoke-RestMethod ` -Method Post ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Body $observation ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation" | ConvertTo-Json
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应:
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Python
更新 FHIR 资源
以下示例展示了如何调用 projects.locations.datasets.fhirStores.fhir.update
方法来更新 FHIR 资源。该方法实现 FHIR 标准更新交互(DSTU2、STU3 和 R4)。
当您更新资源时,该资源的全部内容都会更新。 这与修补资源不同,后者只会更新资源的一部分内容。
如果 FHIR 存储区设置了 enableUpdateCreate
,则请求将被视为 upsert 操作(更新或插入),该操作会更新资源(如果资源存在)或者使用该请求中指定的 ID 插入资源(如果资源不存在)。
请求正文必须包含 JSON 编码的 FHIR 资源,而请求标头必须包含 Content-Type: application/fhir+json
。该资源必须包含一个 id
元素,其值与请求的 REST 路径中的 ID 值相同。
以下 curl
和 Windows PowerShell 示例可与 R4 FHIR 存储区搭配使用。Go、Java、Node.js 和 Python 示例可与 STU3 FHIR 存储区搭配使用。
curl
要更新 FHIR 资源,请发出 PUT
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 资源类型
- 资源 ID
- 访问令牌
以下示例展示了如何使用 curl
来发送修改“观察结果”资源的 PUT
请求。“观察结果”测量了患者的每分钟心跳数 (BPM)。
curl -X PUT \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data '{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }' \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID"
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应:
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
要更新 FHIR 资源,请发出 PUT
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 资源类型
- 资源 ID
- 访问令牌
以下示例展示了如何使用 Windows PowerShell 来发送修改“观察结果”资源的 PUT
请求。“观察结果”测量了患者的每分钟心跳数 (BPM)。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $observation = '{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }' Invoke-RestMethod ` -Method Put ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Body $observation ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID" | ConvertTo-Json
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应:
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Go
Node.js
Python
有条件地更新 FHIR 资源
以下示例展示了如何调用 projects.locations.datasets.fhirStores.fhir.conditionalUpdate
方法来更新与搜索查询匹配的 FHIR 资源,而不是按资源 ID 来标识资源。该方法实现 FHIR 标准有条件地更新交互(DSTU2、STU3 和 R4)。
一项资源一次只能应用一个有条件地更新。
服务器返回的响应取决于与搜索条件的匹配项数量:
- 一个匹配项:资源已成功更新或返回错误。
- 多个匹配项:请求返回
412 Precondition Failed
错误。 - 具有
id
的零匹配:如果搜索条件识别零匹配,提供的资源正文包含id
,且 FHIR 存储区设定了enableUpdateCreate
,则系统将使用服务器分配的 ID 创建资源,过程类似于使用projects.locations.datasets.fhirStores.fhir.create
创建资源。忽略id
。 - 没有
id
的零匹配:如果搜索条件识别零匹配,且提供的资源正文不包含id
,则系统将使用服务器分配的 ID 创建资源,过程类似于使用projects.locations.datasets.fhirStores.fhir.create
创建资源。
请求正文必须包含 JSON 编码的 FHIR 资源,而请求标头必须包含 Content-Type: application/fhir+json
。
以下 curl
和 Windows PowerShell 示例可与 R4 FHIR 存储区搭配使用。Go 和 Python 示例可与 STU3 FHIR 存储区搭配使用。
curl
要更新与搜索查询匹配的 FHIR 资源,请发出 PUT
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 您要搜索的资源类型
- 包含您要搜索的信息的查询字符串
- 访问令牌
以下示例展示了如何使用 curl
发送 PUT
请求,以使用“观察结果”的标识符(my-code-system
中的 ABC-12345
)修改“观察结果”资源。“观察结果”测量了患者的每分钟心跳数 (BPM)。
curl -X PUT \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data '{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "resourceType": "Observation", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }' \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345"
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应:
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
要更新与搜索查询匹配的 FHIR 资源,请发出 PUT
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 您要搜索的资源类型
- 包含您要搜索的信息的查询字符串
- 访问令牌
以下示例展示了如何使用 Windows PowerShell 发送 PUT
请求,以使用“观察结果”的标识符(my-code-system
中的 ABC-12345
)修改“观察结果”资源。“观察结果”测量了患者的每分钟心跳数 (BPM)。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $observation = '{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "resourceType": "Observation", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }' Invoke-RestMethod ` -Method Put ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Body $observation ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345" | ConvertTo-Json
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应:
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Go
Python
修补 FHIR 资源
以下示例展示了如何调用 projects.locations.datasets.fhirStores.fhir.patch
方法来修补 FHIR 资源。该方法实现 FHIR 标准修补交互(DSTU2、STU3 和 R4)。
修补资源时,通过应用JSON 补丁文档中指定的操作来更新资源的一部分。
请求必须包含 JSON 补丁文档,而请求标头必须包含 Content-Type: application/json-patch+json
。
以下 curl
和 Windows PowerShell 示例可与 R4 FHIR 存储区搭配使用。Go、Java、Node.js 和 Python 示例可与 STU3 FHIR 存储区搭配使用。
curl
要修补 FHIR 资源,请发出 PATCH
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 资源类型
- 资源 ID
- 访问令牌
以下示例展示了如何使用 curl
来发送修改“观察结果”资源的 PATCH
请求。使用 replace
补丁操作更新“观察结果”:患者的每分钟心跳数 (BPM)。
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json-patch+json" \ --data '[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]' \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID"
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应:
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
要修补 FHIR 资源,请发出 PATCH
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 资源类型
- 资源 ID
- 访问令牌
以下示例展示了如何使用 Windows PowerShell 来发送修改“观察结果”资源的 PATCH
请求。使用 replace
补丁操作更新“观察结果”:患者的每分钟心跳数 (BPM)。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $patch = '[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]' Invoke-RestMethod ` -Method Patch ` -Headers $headers ` -ContentType: "application/json-patch+json" ` -Body $patch ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID" | ConvertTo-Json
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应:
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Go
Java
Node.js
Python
有条件地修补 FHIR 资源
以下示例展示了如何调用 projects.locations.datasets.fhirStores.fhir.conditionalPatch
方法来修补与搜索查询匹配的 FHIR 资源,而不是按资源 ID 来标识资源。该方法实现 FHIR 标准有条件地修补交互(DSTU2、STU3 和 R4)。
一项资源一次只能应用一个有条件地修补。如果搜索条件识别多个匹配项,则请求会返回 412 Precondition Failed
错误。
以下 curl
和 Windows PowerShell 示例可与 R4 FHIR 存储区搭配使用。Go 和 Python 示例可与 STU3 FHIR 存储区搭配使用。
curl
要修补与搜索查询匹配的 FHIR 资源,请发出 PATCH
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 您要搜索的资源类型
- 包含您要搜索的信息的查询字符串
- 访问令牌
以下示例展示了在“观察结果”的标识符是位于 my-code-system
的 ABC-12345
情况下如何发送使用 curl
修改观察结果的 PATCH
请求。
使用 replace
补丁操作更新“观察结果”:患者的每分钟心跳数 (BPM)。
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json-patch+json" \ --data '[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]' \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345"
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应:
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
要修补与搜索查询匹配的 FHIR 资源,请发出 PATCH
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 您要搜索的资源类型
- 包含您要搜索的信息的查询字符串
- 访问令牌
以下示例展示了在“观察结果”的标识符是位于 my-code-system
的 ABC-12345
情况下如何发送使用 Windows PowerShell 修改观察结果的 PATCH
请求。
使用 replace
补丁操作更新“观察结果”:患者的每分钟心跳数 (BPM)。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $patch = '[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]' Invoke-RestMethod ` -Method Patch ` -Headers $headers ` -ContentType: "application/json-patch+json" ` -Body $patch ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345" | ConvertTo-Json
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应:
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Go
Python
获得 FHIR 资源
以下示例展示了如何获取 FHIR 资源的内容。如需了解详情,请参阅 projects.locations.datasets.fhirStores.fhir.read
。
以下 curl
和 Windows PowerShell 示例可与 R4 FHIR 存储区搭配使用。Go、Java、Node.js 和 Python 示例可与 STU3 FHIR 存储区搭配使用。
curl
要获取 FHIR 资源的内容,请发出 GET
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 资源类型和 ID
- 访问令牌
以下示例展示了使用 curl
对上一部分中创建的“观察结果”发出的 GET
请求。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/RESOURCE_ID"
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应:
{ "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
要获取 FHIR 资源的内容,请发出 GET
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 资源类型和 ID
- 访问令牌
以下示例展示了使用 Windows PowerShell 对上一部分中创建的“观察结果”发出的 GET
请求。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/RESOURCE_ID" | ConvertTo-Json
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应:
{ "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Go
Java
Node.js
Python
获取所有患者隔离区资源
以下示例展示了如何获取与特定患者隔离区(DSTU2、STU3 和 R4)关联的所有资源。如需了解详情,请参阅 projects.locations.datasets.fhirStores.fhir.Patient-everything
。
以下 curl
和 Windows PowerShell 示例可与 R4 FHIR 存储区搭配使用。Go、Java、Node.js 和 Python 示例可与 STU3 FHIR 存储区搭配使用。
curl
要获取患者隔离区中的资源,请发出 GET
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 患者的 ID
- 访问令牌
以下示例展示了使用 curl
的 GET
请求。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID/\$everything"
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应:
{ "entry": [ { "resource": { "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" } }, { "resource": { "class": { "code": "IMP", "display": "inpatient encounter", "system": "http://hl7.org/fhir/v3/ActCode" }, "id": "ENCOUNTER_ID", "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "resourceType": "Encounter", "status": "finished", "subject": { "reference": "Patient/PATIENT_ID" } } }, { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } } } ], "resourceType": "Bundle", "type": "searchset" }
PowerShell
要获取患者隔离区中的资源,请发出 GET
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 患者的 ID
- 访问令牌
以下示例展示了使用 Windows PowerShell 的 GET
请求:
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri 'https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/RESOURCE_ID/$everything' | ConvertTo-Json
如果请求成功,则服务器返回 JSON 格式的类似下列示例的响应:
{ "entry": [ { "resource": { "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" } }, { "resource": { "class": { "code": "IMP", "display": "inpatient encounter", "system": "http://hl7.org/fhir/v3/ActCode" }, "id": "ENCOUNTER_ID", "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "resourceType": "Encounter", "status": "finished", "subject": { "reference": "Patient/PATIENT_ID" } } }, { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } } } ], "resourceType": "Bundle", "type": "searchset" }
Go
Java
Node.js
Python
获取按类型或日期过滤的患者隔离区资源
以下示例展示了如何获取与按一组类型过滤以及自指定日期和时间开始的特定患者隔离区 (R4) 关联的所有资源。如需了解详情,请参阅 projects.locations.datasets.fhirStores.fhir.Patient-everything
。
以下 curl
和 Windows PowerShell 示例可与 R4 FHIR 存储区搭配使用。
curl
要获取指定类型以及自指定日期开始的患者隔离区中的资源,请发出 GET
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 患者的 ID
- 包含以逗号分隔的资源类型列表和开始日期的查询字符串
- 访问令牌
以下示例展示了使用 curl
的 GET
请求。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID/\$everything?_type=RESOURCE_TYPES&_since=DATE"
如果请求成功,服务器将以 JSON 格式返回符合指定条件的资源:
PowerShell
要获取指定类型以及自指定日期开始的患者隔离区中的资源,请发出 GET
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 患者的 ID
- 包含以逗号分隔的资源类型列表和开始日期的查询字符串
- 访问令牌
以下示例展示了使用 Windows PowerShell 的 GET
请求:
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri 'https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/RESOURCE_ID/$everything?_type=RESOURCE_TYPES&_since=DATE' | ConvertTo-Json
如果请求成功,服务器将以 JSON 格式返回符合指定条件的资源:
列出 FHIR 资源版本
以下示例展示了如何列出 FHIR 资源的所有历史版本。如需了解详情,请参阅 projects.locations.datasets.fhirStores.fhir.history
。
这些示例使用创建 FHIR 资源中创建的资源,并展示如何列出“观察结果”资源的版本。
以下 curl
和 Windows PowerShell 示例可与 R4 FHIR 存储区搭配使用。Go、Java、Node.js 和 Python 示例可与 STU3 FHIR 存储区搭配使用。
curl
以下示例展示了如何列出“观察结果”资源的所有版本。观察结果在最初创建后更新了一次,以更改患者的每分钟心跳数 (BPM)。
要列出 FHIR 资源的所有版本(包括当前版本和所有已删除的版本),请发出 GET
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 资源类型和 ID
- 访问令牌
以下示例展示了使用 curl
的 GET
请求。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/_history"
如果请求成功,服务器将以 JSON 格式返回响应。在此示例中,它会返回两个版本的观察结果。在第一个版本中,患者的心率是 75 BPM。在第二个版本中,患者的心率是 85 BPM。
{ "entry": [ { "resource": { "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-02T00:00:00+00:00", "versionId": "MTU0MTE5MDk5Mzk2ODcyODAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 85 } } }, { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 75 } } } ], "resourceType": "Bundle", "type": "history" }
PowerShell
以下示例展示了如何列出“观察结果”资源的所有版本。观察结果在最初创建后更新了一次,以更改患者的每分钟心跳数 (BPM)。
要列出 FHIR 资源的所有版本(包括当前版本和所有已删除的版本),请发出 GET
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 资源类型和 ID
- 访问令牌
以下示例展示了使用 Windows PowerShell 的 GET
请求。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/_history" | Select-Object -Expand Content
如果请求成功,服务器将以 JSON 格式返回响应。在此示例中,它会返回两个版本的观察结果。在第一个版本中,患者的心率是 75 BPM。在第二个版本中,患者的心率是 85 BPM。
{ "entry": [ { "resource": { "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-02T00:00:00+00:00", "versionId": "MTU0MTE5MDk5Mzk2ODcyODAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 85 } } }, { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 75 } } } ], "resourceType": "Bundle", "type": "history" }
Go
Java
Node.js
Python
检索 FHIR 资源版本
以下示例展示了如何检索资源的特定版本。
如需了解详情,请参阅 projects.locations.datasets.fhirStores.fhir.vread
。
下面着重强调列出 FHIR 资源版本中的“观察结果”资源的版本 ID:
{ "entry": [ { "resource": { "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-02T00:00:00+00:00", "versionId": "MTU0MTE5MDk5Mzk2ODcyODAwMA" }, ... { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, ... }
以下示例使用创建 FHIR 资源中创建的资源,并展示如何查看“观察结果”资源。
以下 curl
和 Windows PowerShell 示例可与 R4 FHIR 存储区搭配使用。Go、Node.js 和 Python 示例可与 STU3 FHIR 存储区搭配使用。
curl
要获取 FHIR 资源的特定版本,请发出 GET
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 资源类型和 ID
- 资源版本
- 访问令牌
以下示例展示了使用 curl
的 GET
请求。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/_history/RESOURCE_VERSION"
如果请求成功,服务器将以 JSON 格式返回响应。在此示例中,服务器会返回第一个版本的观察结果,其中患者的心率是 75 BPM。
{ "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 75 } }
PowerShell
要获取 FHIR 资源的特定版本,请发出 GET
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 资源类型和 ID
- 资源版本
- 访问令牌
以下示例展示了使用 curl
的 GET
请求。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/RESOURCE_VERSION/_history" | Select-Object -Expand Content
如果请求成功,服务器将以 JSON 格式返回响应。在此示例中,服务器会返回第一个版本的观察结果,其中患者的心率是 75 BPM。
{ "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 75 } }
Go
Node.js
Python
删除 FHIR 资源
以下示例展示了如何调用 projects.locations.datasets.fhirStores.fhir.delete
方法来删除 FHIR 资源。
无论操作是否成功,服务器都会返回 200 OK
HTTP 状态代码。要检查是否已成功删除资源,请搜索或获取该资源并查看它是否存在。
以下 curl
和 Windows PowerShell 示例可与 R4 FHIR 存储区搭配使用。Go、Java、Node.js 和 Python 示例可与 STU3 FHIR 存储区搭配使用。
curl
要删除 FHIR 资源,请发出 DELETE
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 访问令牌
以下示例展示了使用 curl
的 DELETE
请求。
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID"
如果请求成功,服务器将以 JSON 格式返回空响应正文:
{}
PowerShell
要删除 FHIR 资源,请发出 DELETE
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 资源类型和 ID
- 访问令牌
以下示例显示了使用 Windows PowerShell 的 DELETE
请求。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Delete ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID" | Select-Object -Expand Content
如果请求成功,服务器将以 JSON 格式返回空响应正文:
{}
Go
Java
Node.js
Python
有条件地删除 FHIR 资源
以下示例展示了如何调用 projects.locations.datasets.fhirStores.fhir.conditionalDelete
方法来删除与搜索查询匹配的 FHIR 资源,而不是按资源 ID 来标识资源。
不同于有条件地修补或有条件地更新资源,如果从搜索条件返回多个匹配项,则有条件地删除方法可以应用于多个资源。
无论操作是否成功,服务器都会返回 200 OK
HTTP 状态代码。为确保已成功删除资源,请搜索或获取该资源并查看它是否存在。
以下 curl
和 Windows PowerShell 示例可与 R4 FHIR 存储区搭配使用。Go 和 Python 示例可与 STU3 FHIR 存储区搭配使用。
curl
要删除与搜索查询匹配的 FHIR 资源,请发出 DELETE
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 您要搜索的资源类型
- 包含您要搜索的信息的查询字符串
- 访问令牌
以下示例展示了一个 DELETE
请求,该请求使用 curl
删除 status
为 cancelled
(STU3 和 R4)的观察结果。
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?status=cancelled"
如果请求成功,服务器将以 JSON 格式返回空响应正文:
{}
PowerShell
要删除与搜索查询匹配的 FHIR 资源,请发出 DELETE
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 您要搜索的资源类型
- 包含您要搜索的信息的查询字符串
- 访问令牌
以下示例展示了一个 DELETE
请求,该请求使用 Windows PowerShell 删除 status
为 cancelled
(STU3 和 R4)的所有观察结果。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Delete ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?status=cancelled" | Select-Object -Expand Content
如果请求成功,服务器将以 JSON 格式返回空响应正文:
{}
Go
Python
删除 FHIR 资源的历史版本
以下示例展示了如何删除 FHIR 资源的所有历史版本。如需了解详情,请参阅 projects.locations.datasets.fhirStores.fhir.Resource-purge
。
只有具有 roles/healthcare.fhirStoreAdmin
角色的用户(调用者)才能调用 projects.locations.datasets.fhirStores.fhir.Resource-purge
方法;具有 roles/healthcare.fhirResourceEditor
角色的用户无法调用该方法。要允许调用者删除 FHIR 资源的历史版本,请执行以下任一操作:
- 确保调用者具有
roles/healthcare.fhirStoreAdmin
角色。 - 创建具有
healthcare.fhirResources.purge
权限的自定义 IAM 角色,并将此角色分配给调用者。
这些示例使用创建 FHIR 资源中创建的资源,并展示如何删除“观察结果”资源的历史版本。
以下 curl
和 Windows PowerShell 示例可与 R4 FHIR 存储区搭配使用。Go、Java、Node.js 和 Python 示例可与 STU3 FHIR 存储区搭配使用。
curl
要删除 FHIR 资源的所有历史版本,请发出 DELETE
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 资源类型和 ID
- 访问令牌
以下示例展示了使用 curl
的 DELETE
请求。
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/$purge"
如果请求成功,服务器将以 JSON 格式返回空响应正文:
{}
PowerShell
要删除 FHIR 资源的所有历史版本,请发出 DELETE
请求并指定以下信息:
- 父数据集的名称
- FHIR 存储区的名称
- 资源类型和 ID
- 访问令牌
以下示例显示了使用 Windows PowerShell 的 DELETE
请求。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Delete ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/$purge" | ConvertTo-Json
如果请求成功,服务器将以 JSON 格式返回空响应正文:
{}