このページでは、FHIR リソースの作成、更新、パッチ適用、表示、削除の方法を説明します。
FHIR リソースには、患者、デバイス、モニタリングなどに関するデータを含めることができます。FHIR リソースの一覧については、FHIR リソース インデックス(DST2、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 リソースを作成する方法を示しています。
- Patient(DSTU2、STU3、R4)リソース
- Patient の Encounter(DSTU2、STU3、R4)リソース
- Encounter の Observation(DSTU2、STU3、R4)リソース
その他のすべての言語のサンプルでは、汎用 FHIR リソースの作成方法を示しています。
詳細については、projects.locations.datasets.fhirStores.fhir.create
をご覧ください。
以下の curl
と Windows PowerShell のサンプルは、R4 FHIR ストアで動作します。Go、Java、Node.js、Python のサンプルは STU3 FHIR ストアで動作します。
curl
Patient リソースを作成するには、POST
リクエストを作成して次の情報を指定します。
- 親データセットの名前
- FHIR ストアの名前
- 患者に関する情報を含むデータの blob
- リソースのタイプ
- アクセス トークン
次のサンプルは、curl
を使用して POST
リクエストを送信し、Patient リソースを作成する方法を示しています。
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
Patient リソースを作成するには、POST
リクエストを作成して次の情報を指定します。
- 親データセットの名前
- FHIR ストアの名前
- 患者に関する情報を含むデータの blob
- リソースのタイプ
- アクセス トークン
次のサンプルは、Windows PowerShell を使用して POST
リクエストを送信し、Patient リソースを作成する方法を示しています。
$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
Patient リソースを作成したら、Encounter リソースを作成して、患者と開業医のやり取りを記述します。
次のサンプルは、curl
を使用して POST
リクエストを送信し、Encounter リソースを作成する方法を示しています。
PATIENT_ID フィールドに、Patient を作成したときにサーバーから返されたレスポンスの 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
Patient リソースを作成したら、Encounter リソースを作成して、患者と開業医のやり取りを記述します。次のサンプルは、Windows PowerShell を使用して POST
リクエストを送信し、Encounter リソースを作成する方法を示しています。
PATIENT_ID フィールドに、Patient を作成したときにサーバーから返されたレスポンスの 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
Encounter リソースを作成したら、その受診に関する Observation を作成します。この Observation では、患者の 1 分あたりの心拍数(BPM)の測定値を記録します。次のサンプルは、curl
を使用して POST
リクエストを送信し、Observation リソースを作成する方法を示しています。
- BPM_VALUE フィールドに値を入力します。
- PATIENT_ID フィールドに、Patient を作成したときにサーバーから返されたレスポンスの ID を置き換えます。
- ENCOUNTER_ID フィールドに、Encounter を作成したときにサーバーから返されたレスポンスの 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
Encounter リソースを作成したら、その受診に関する Observation を作成します。Observation には、患者の 1 分あたりの心拍数(BPM)の測定値が記録されます。次のサンプルは、Windows PowerShell を使用して POST
リクエストを送信し、Observation リソースを作成する方法を示しています。
- BPM_VALUE フィールドに値を入力します。
- PATIENT_ID フィールドに、Patient を作成したときにサーバーから返されたレスポンスの ID を置き換えます。
- ENCOUNTER_ID フィールドに、Encounter を作成したときにサーバーから返されたレスポンスの 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
が設定されていると、リソースが存在する場合、または存在せず指定された ID でリソースを挿入する場合は、リクエストはリソースを更新する Upsert(Update または Insert)として扱われます。
リクエストの本文には、JSON エンコードされた FHIR リソース、リクエスト ヘッダーには Content-Type: application/fhir+json
を含める必要があります。リソースには、リクエストの REST パスの ID と同じ値を持つ id
要素を含める必要があります。
以下の curl
と Windows PowerShell のサンプルは、R4 FHIR ストアで動作します。Go、Java、Node.js、Python のサンプルは STU3 FHIR ストアで動作します。
curl
FHIR リソースを更新するには、PUT
リクエストを送信して次の情報を指定します。
- 親データセットの名前
- FHIR ストアの名前
- リソースのタイプ
- リソース ID
- アクセス トークン
次のサンプルは、curl
を使用して PUT
リクエストを送信し、Observation リソースを編集する方法を示しています。Observation には、患者の 1 分あたりの心拍数(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
リクエストを送信し、Observation リソースを編集する方法を示しています。Observation には、患者の 1 分あたりの心拍数(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
メソッドを呼び出して、ID でリソースを特定するのではなく、検索クエリで一致する FHIR リソースを更新する方法を示しています。このメソッドには、FHIR 標準条件付き更新インタラクション(DSTU2、STU3、R4)を実装します。
条件付き更新を適用できるのは、一度に 1 つのリソースのみです。
サーバーから返されるレスポンスは、検索条件に基づいて一致した件数によって異なります。
- 1 件一致: リソースが正常に更新されるか、エラーが返されます。
- 複数件一致: リクエストにより
412 Precondition Failed
エラーが返されます。 - ゼロ一致(
id
付き): 検索条件でゼロ一致となり、指定されたリソース本文にid
が含まれ、FHIR ストアでenableUpdateCreate
が設定されている場合、リソースは、projects.locations.datasets.fhirStores.fhir.create
を使用して作成されたリソースと同様に、サーバー割り当て ID を使用して作成されます。id
は無視されます。 - ゼロ一致(
id
なし): 検索条件でゼロ一致となり、指定されたリソース本文にid
が含まれていない場合、リソースは、projects.locations.datasets.fhirStores.fhir.create
を使用して作成されたリソースと同様に、サーバー割り当て ID を使用して作成されます。
リクエストの本文には、JSON エンコードされた FHIR リソース、リクエスト ヘッダーには Content-Type: application/fhir+json
を含める必要があります。
以下の curl
と Windows PowerShell のサンプルは、R4 FHIR ストアで動作します。Go と Python のサンプルは STU3 FHIR ストアで動作します。
curl
検索クエリと一致する FHIR リソースを更新するには、PUT
リクエストを送信して次の情報を指定します。
- 親データセットの名前
- FHIR ストアの名前
- 検索するリソースのタイプ
- 検索対象の情報を含むクエリ文字列
- アクセス トークン
次のサンプルは、curl
を使用して PUT
リクエストを送信し、Observation の識別子(my-code-system
内の ABC-12345
)を使用して Observation リソースを編集する方法を示しています。Observation には、患者の 1 分あたりの心拍数(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
リクエストを送信し、Observation の識別子(my-code-system
内の ABC-12345
)を使用して Observation リソースを編集する方法を示しています。Observation には、患者の 1 分あたりの心拍数(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
リクエストを送信し、Observation リソースを編集する方法を示しています。患者の 1 分あたりの心拍数(BPM)の Observation は、replace
パッチ操作を使用して更新されます。
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
リクエストを送信し、Observation リソースを編集する方法を示しています。患者の 1 分あたりの心拍数(BPM)の Observation は、replace
パッチ オペレーションを使用して更新されます。
$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
メソッドを呼び出して、ID でリソースを特定するのではなく、検索クエリで一致する FHIR リソースにパッチを適用する方法を示しています。このメソッドは、FHIR 標準条件付きパッチ適用インタラクション(DSTU2、STU3、R4)を実装します。
条件付きパッチを適用できるのは、一度に 1 つのリソースのみです。検索条件が複数件と一致した場合、リクエストは 412 Precondition Failed
エラーを返します。
以下の curl
と Windows PowerShell のサンプルは、R4 FHIR ストアで動作します。Go と Python のサンプルは STU3 FHIR ストアで動作します。
curl
検索クエリに一致する FHIR リソースにパッチを適用するには、PATCH
リクエストを送信して次の情報を指定します。
- 親データセットの名前
- FHIR ストアの名前
- 検索するリソースのタイプ
- 検索対象の情報を含むクエリ文字列
- アクセス トークン
次のサンプルは、Observation の識別子が my-code-system
の ABC-12345
の場合に、curl
を使用して Observation を編集する PATCH
リクエストを送信する方法を示しています。患者の 1 分あたりの心拍数(BPM)の Observation は、replace
パッチ オペレーションを使用して更新されます。
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 ストアの名前
- 検索するリソースのタイプ
- 検索対象の情報を含むクエリ文字列
- アクセス トークン
次のサンプルは、Observation の識別子が my-code-system
の ABC-12345
の場合に Windows PowerShell を使用して Observation を編集する PATCH
リクエストを送信する方法を示しています。患者の 1 分あたりの心拍数(BPM)の Observation は、replace
パッチ オペレーションを使用して更新されます。
$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
- アクセス トークン
次のサンプルは、前のセクションで作成した Observation での 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
- アクセス トークン
次のサンプルは、前のセクションで作成した Observation での 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 リソースの作成で作成したリソースを使用し、Observation リソースのバージョンを一覧表示する方法を示します。
以下の curl
と Windows PowerShell のサンプルは、R4 FHIR ストアで動作します。Go、Java、Node.js、Python のサンプルは STU3 FHIR ストアで動作します。
curl
次のサンプルは、Observation リソースのすべてのバージョンを一覧表示する方法を示しています。Observation は、患者の 1 分あたりの心拍数(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 形式でレスポンスを返します。この例では、2 つのバージョンの Observation が返されます。最初のバージョンでは、患者の心拍数は 75 BPM でした。2 番目のバージョンでは、患者の心拍数は 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
次のサンプルは、Observation リソースのすべてのバージョンを一覧表示する方法を示しています。Observation は、患者の 1 分あたりの心拍数(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 形式でレスポンスを返します。この例では、2 つのバージョンの Observation が返されます。最初のバージョンでは、患者の心拍数は 75 BPM でした。2 番目のバージョンでは、患者の心拍数は 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 リソース バージョンの一覧表示にある Observation リソースのバージョン 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 リソースの作成で作成したリソースを使用して、Observation リソースを表示する方法を示しています。
以下の 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 であった最初のバージョンの Observation が返されます。
{ "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 であった最初のバージョンの Observation が返されます。
{ "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
メソッドを呼び出して、ID でリソースを特定するのではなく、検索クエリで一致する FHIR リソースを削除する方法を示しています。
リソースの条件付きパッチ適用や条件付き更新とは異なり、条件付き削除メソッドは、検索条件で複数の一致が返された場合は、複数のリソースに適用できます。
オペレーションが成功したか失敗したかにかかわらず、サーバーは200 OK
HTTP ステータスコードを返します。リソースが正常に削除されたことを確認するには、リソースを検索するか取得して、そのリソースが存在するかどうかを確認します。
以下の curl
と Windows PowerShell のサンプルは、R4 FHIR ストアで動作します。Go と Python のサンプルは STU3 FHIR ストアで動作します。
curl
検索クエリと一致する FHIR リソースを削除するには、DELETE
リクエストを送信して次の情報を指定します。
- 親データセットの名前
- FHIR ストアの名前
- 検索するリソースのタイプ
- 検索対象の情報を含むクエリ文字列
- アクセス トークン
次のサンプルは、curl
を使用してstatus
がcancelled
であるすべてのObservationを削除するDELETE
リクエストを示しています(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 ストアの名前
- 検索するリソースのタイプ
- 検索対象の情報を含むクエリ文字列
- アクセス トークン
次のサンプルは、Windows PowerShell を使用してstatus
が cancelled
であるすべての Observation を削除するDELETE
リクエストを示します(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
をご覧ください。
projects.locations.datasets.fhirStores.fhir.Resource-purge
メソッドの呼び出しは、roles/healthcare.fhirStoreAdmin
ロールを持つユーザー(呼び出し元)に限定されています。roles/healthcare.fhirResourceEditor
ロールを持つユーザーはこのメソッドを呼び出すことができません。呼び出し元が FHIR リソースの履歴バージョンを削除できるようにするには、次のいずれかを行います。
- 呼び出し元に
roles/healthcare.fhirStoreAdmin
のロールがあることを確認する。 healthcare.fhirResources.purge
権限を持つカスタム IAM ロールを作成し、そのロールを呼び出し元に割り当てる。
このサンプルは、FHIR リソースの作成で作成したリソースを使用して、Observation リソースのすべてのバージョンを削除する方法を示しています。
以下の 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 形式の空のレスポンス本文を返します。
{}