使用 Google Cloud CLI 儲存醫療照護資料
本頁說明如何使用 Cloud Healthcare API 和 Google Cloud CLI 完成下列工作:
- 建立 Cloud Healthcare API 資料集。
- 在資料集中建立下列任一資料儲存庫:
- 數位醫學影像和通訊 (DICOM) 儲存庫
- 快速醫療照護互通資源 (FHIR) 儲存庫
- 健康狀態層級七 (國際版本 2) (HL7v2) 儲存庫
- 儲存 DICOM、FHIR 和 HL7v2 資料,並查看 DICOM 中繼資料。
事前準備
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Healthcare API:
gcloud services enable healthcare.googleapis.com
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/healthcare.datasetAdmin, roles/healthcare.fhirStoreAdmin, roles/healthcare.dicomStoreAdmin, roles/healthcare.hl7V2StoreAdmin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Healthcare API:
gcloud services enable healthcare.googleapis.com
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/healthcare.datasetAdmin, roles/healthcare.fhirStoreAdmin, roles/healthcare.dicomStoreAdmin, roles/healthcare.hl7V2StoreAdmin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
建立資料集
「資料集」包含資料儲存庫,以及含有醫療照護資料的資料儲存庫。 如要使用 Cloud Healthcare API,您至少須建立一個資料集。
以下範例顯示如何在 us-central1
區域中建立名為 my-dataset
的資料集。在本快速入門導覽課程中,您會使用資料集建立 DICOM 存放區、FHIR 存放區和 HL7v2 存放區。
gcloud
使用 gcloud healthcare datasets create
指令建立資料集。
使用下方的任何指令資料之前,請先替換以下項目:
PROJECT_ID
:您在「事前準備」中建立或選取的 Google Cloud 專案 ID
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud healthcare datasets create my-dataset \ --project=PROJECT_ID \ --location=us-central1
Windows (PowerShell)
gcloud healthcare datasets create my-dataset ` --project=PROJECT_ID ` --location=us-central1
Windows (cmd.exe)
gcloud healthcare datasets create my-dataset ^ --project=PROJECT_ID ^ --location=us-central1
您應該會收到類似以下的回應:
回應
Create request issued for: [my-dataset] Created dataset [my-dataset].
如要完成這項快速入門導覽課程,請選擇下列其中一個部分:
儲存及查看 DICOM 執行個體
本節說明如何完成下列工作:
- 建立 DICOM 儲存庫。
- 將公開 Cloud Storage bucket 中的 DICOM 執行個體匯入 DICOM 儲存庫。
- 查看 DICOM 執行個體的中繼資料。
Cloud Healthcare API 會導入 DICOMweb 標準,用於儲存及存取醫療影像資料。
建立 DICOM 儲存庫
DICOM 儲存庫位於資料集內,並含有 DICOM 執行個體。下列範例說明如何建立名為 my-dicom-store
的 DICOM 儲存庫。
gcloud
使用 gcloud healthcare dicom-stores create
指令建立 DICOM 儲存庫。
使用下方的任何指令資料之前,請先替換以下項目:
PROJECT_ID
:您在「事前準備」中建立或選取的 Google Cloud 專案 ID
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud healthcare dicom-stores create my-dicom-store \ --project=PROJECT_ID \ --dataset=my-dataset \ --location=us-central1
Windows (PowerShell)
gcloud healthcare dicom-stores create my-dicom-store ` --project=PROJECT_ID ` --dataset=my-dataset ` --location=us-central1
Windows (cmd.exe)
gcloud healthcare dicom-stores create my-dicom-store ^ --project=PROJECT_ID ^ --dataset=my-dataset ^ --location=us-central1
您應該會收到類似以下的回應:
回應
Created dicomStore [my-dicom-store].
匯入 DICOM 執行個體
您可以在 Cloud Storage 值區「gs://gcs-public-data--healthcare-nih-chest-xray
」中找到範例 DICOM 資料。
gcloud
使用 gcloud healthcare dicom-stores import
指令匯入 gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm
執行個體。
使用下方的任何指令資料之前,請先替換以下項目:
PROJECT_ID
:您在「事前準備」中建立或選取的 Google Cloud 專案 ID
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud healthcare dicom-stores import gcs my-dicom-store \ --project=PROJECT_ID \ --dataset=my-dataset \ --location=us-central1 \ --gcs-uri=gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm
Windows (PowerShell)
gcloud healthcare dicom-stores import gcs my-dicom-store ` --project=PROJECT_ID ` --dataset=my-dataset ` --location=us-central1 ` --gcs-uri=gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm
Windows (cmd.exe)
gcloud healthcare dicom-stores import gcs my-dicom-store ^ --project=PROJECT_ID ^ --dataset=my-dataset ^ --location=us-central1 ^ --gcs-uri=gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm
輸出內容如下:
PROJECT_ID
、us-central1
、my-dataset
、my-dicom-store
:執行指令時提供的值OPERATION_ID
:匯入 DICOM 執行個體時,Cloud Healthcare API 提供的長時間執行的作業 ID。如果方法呼叫可能需要很長時間才能完成,系統就會傳回長時間執行的作業。匯入一個 DICOM 執行個體通常很快,因此輸出內容幾乎會立即傳回。
回應
Request issued for: [my-dicom-store] Waiting for operation [projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/operations/OPERATION_ID] to complete...done. name: projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store
查看 DICOM 執行個體中繼資料
gcloud CLI 不支援 DICOMweb 交易,例如查看或擷取執行個體。您可以改用 Google 的 DICOMweb 指令列工具,該工具會使用 Python 執行。如要瞭解如何在 Google Cloud上設定 Python,請參閱「設定 Python 開發環境」。
請完成下列步驟,使用 DICOMweb 指令列工具查看 DICOM 執行個體中繼資料:
使用 Pip 安裝 DICOMweb 指令列工具:
pip install https://github.com/GoogleCloudPlatform/healthcare-api-dicomweb-cli/archive/v1.0.zip
更新
PATH
變數,加入dcmweb
安裝位置:export PATH="$HOME/bin:$PATH"
查看 DICOM 執行個體的中繼資料:
dcmweb \ https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb \ search instances
將
PROJECT_ID
替換為您在「事前準備」中建立或選取的專案 ID。 Google Cloud輸出內容如下所示。如要瞭解輸出內容中的欄位,請參閱「SOP 通用模組的屬性」。
[ { "00080016": { "Value": [ "1.2.840.10008.5.1.4.1.1.7" ], "vr": "UI" }, "00080018": { "Value": [ "1.3.6.1.4.1.11129.5.5.153751009835107614666834563294684339746480" ], "vr": "UI" }, "00080060": { "Value": [ "DX" ], "vr": "CS" }, "00100020": { "Value": [ "1" ], "vr": "LO" }, "00100040": { "Value": [ "M" ], "vr": "CS" }, "0020000D": { "Value": [ "1.3.6.1.4.1.11129.5.5.111396399361969898205364400549799252857604" ], "vr": "UI" }, "0020000E": { "Value": [ "1.3.6.1.4.1.11129.5.5.195628213694300498946760767481291263511724" ], "vr": "UI" }, "00280010": { "Value": [ 1024 ], "vr": "US" }, "00280011": { "Value": [ 1024 ], "vr": "US" }, "00280100": { "Value": [ 8 ], "vr": "US" } } ]
將 DICOM 執行個體匯入 Cloud Healthcare API 並查看中繼資料後,請繼續進行清除作業,以免系統向您的 Google Cloud 帳戶收取本頁面所用資源的費用。
如要瞭解後續步驟,例如如何在 Cloud Healthcare API 中使用 DICOMweb 標準搜尋或擷取 DICOM 影像,請參閱「後續步驟」。
儲存 FHIR 資源
本節說明如何完成下列工作:
- 建立 FHIR 儲存庫。
- 將公開 Cloud Storage bucket 中的 FHIR 資源匯入 FHIR 儲存庫。
建立 FHIR 儲存庫
FHIR 儲存庫位於資料集內,並含有 FHIR 資源。下列範例說明如何建立名為 my-fhir-store
的 FHIR 儲存庫,並使用 FHIR R4 版。
gcloud
使用 gcloud healthcare fhir-stores create
指令建立 FHIR 儲存庫。
使用下方的任何指令資料之前,請先替換以下項目:
PROJECT_ID
:您在「事前準備」中建立或選取的 Google Cloud 專案 ID
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud healthcare fhir-stores create my-fhir-store \ --project=PROJECT_ID \ --dataset=my-dataset \ --location=us-central1 \ --version=R4
Windows (PowerShell)
gcloud healthcare fhir-stores create my-fhir-store ` --project=PROJECT_ID ` --dataset=my-dataset ` --location=us-central1 ` --version=R4
Windows (cmd.exe)
gcloud healthcare fhir-stores create my-fhir-store ^ --project=PROJECT_ID ^ --dataset=my-dataset ^ --location=us-central1 ^ --version=R4
您應該會收到類似以下的回應:
回應
Created fhirStore [my-fhir-store].
匯入 FHIR 資源
您可以在 Cloud Storage bucket「gs://gcp-public-data--synthea-fhir-data-10-patients
」中找到範例 FHIR 資料。
gcloud
使用 gcloud healthcare fhir-stores import
指令,匯入 gs://gcp-public-data--synthea-fhir-data-10-patients
中的 FHIR 資源。
使用下方的任何指令資料之前,請先替換以下項目:
PROJECT_ID
:您在「事前準備」中建立或選取的 Google Cloud 專案 ID
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud healthcare fhir-stores import gcs my-fhir-store \ --project=PROJECT_ID \ --dataset=my-dataset \ --location=us-central1 \ --gcs-uri=gs://gcp-public-data--synthea-fhir-data-10-patients/fhir_r4_ndjson/*.ndjson \ --content-structure=RESOURCE
Windows (PowerShell)
gcloud healthcare fhir-stores import gcs my-fhir-store ` --project=PROJECT_ID ` --dataset=my-dataset ` --location=us-central1 ` --gcs-uri=gs://gcp-public-data--synthea-fhir-data-10-patients/fhir_r4_ndjson/*.ndjson ` --content-structure=RESOURCE
Windows (cmd.exe)
gcloud healthcare fhir-stores import gcs my-fhir-store ^ --project=PROJECT_ID ^ --dataset=my-dataset ^ --location=us-central1 ^ --gcs-uri=gs://gcp-public-data--synthea-fhir-data-10-patients/fhir_r4_ndjson/*.ndjson ^ --content-structure=RESOURCE
輸出內容如下:
PROJECT_ID
、us-central1
、my-dataset
、my-fhir-store
:執行指令時提供的值OPERATION_ID
:匯入 FHIR 資源時,Cloud Healthcare API 提供的長時間執行的作業 ID。如果方法呼叫可能需要很長時間才能完成,系統就會傳回長時間執行的作業。匯入 FHIR 資源約需一到兩分鐘。R4
:FHIR 存放區版本
回應
Request issued for: [my-fhir-store] Waiting for operation [projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/operations/OPERATION_ID] to complete...done. name: projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store version: R4
將 FHIR 資源匯入 Cloud Healthcare API 後,請繼續清除資源,以免系統向您的 Google Cloud 帳戶收取本頁面所用資源的費用。
如要瞭解後續步驟 (例如如何查看及搜尋 FHIR 資源),請參閱「後續步驟」。
儲存 HL7v2 訊息
本節說明如何完成下列工作:
- 建立 HL7v2 儲存庫。
- 將公開 Cloud Storage bucket 中的 HL7v2 訊息匯入 HL7v2 儲存庫。
Cloud Healthcare API 中的 HL7v2 實作符合 HL7v2 標準。
建立 HL7v2 儲存庫
HL7v2 存放區位於資料集內,並含有 HL7v2 訊息。下列範例說明如何建立名為 my-hl7v2-store
的 HL7v2 儲存庫。
gcloud
使用 gcloud healthcare hl7v2-stores create
指令建立 HL7v2 儲存庫。
使用下方的任何指令資料之前,請先替換以下項目:
PROJECT_ID
:您在「事前準備」中建立或選取的 Google Cloud 專案 ID
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud healthcare hl7v2-stores create my-hl7v2-store \ --project=PROJECT_ID \ --dataset=my-dataset \ --location=us-central1
Windows (PowerShell)
gcloud healthcare hl7v2-stores create my-hl7v2-store ` --project=PROJECT_ID ` --dataset=my-dataset ` --location=us-central1
Windows (cmd.exe)
gcloud healthcare hl7v2-stores create my-hl7v2-store ^ --project=PROJECT_ID ^ --dataset=my-dataset ^ --location=us-central1
您應該會收到類似以下的回應:
回應
Created hl7v2Store [my-hl7v2-store].
匯入 HL7v2 訊息
gcloud
使用 gcloud healthcare hl7v2-stores import
指令匯入 gs://cloud-samples-data/healthcare/hl7v2/messages.ndjson
HL7v2 訊息。
使用下方的任何指令資料之前,請先替換以下項目:
PROJECT_ID
:您在「事前準備」中建立或選取的 Google Cloud 專案 ID
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud healthcare hl7v2-stores import gcs my-hl7v2-store \ --project=PROJECT_ID \ --dataset=my-dataset \ --location=us-central1 \ --gcs-uri=gs://cloud-samples-data/healthcare/hl7v2/messages.ndjson
Windows (PowerShell)
gcloud healthcare hl7v2-stores import gcs my-hl7v2-store ` --project=PROJECT_ID ` --dataset=my-dataset ` --location=us-central1 ` --gcs-uri=gs://cloud-samples-data/healthcare/hl7v2/messages.ndjson
Windows (cmd.exe)
gcloud healthcare hl7v2-stores import gcs my-hl7v2-store ^ --project=PROJECT_ID ^ --dataset=my-dataset ^ --location=us-central1 ^ --gcs-uri=gs://cloud-samples-data/healthcare/hl7v2/messages.ndjson
輸出內容如下:
PROJECT_ID
、us-central1
、my-dataset
、my-hl7v2-store
:執行指令時提供的值OPERATION_ID
:匯入 HL7v2 訊息時,Cloud Healthcare API 提供的長期作業 ID。如果方法呼叫可能需要很長時間才能完成,系統就會傳回長時間執行的作業。匯入一則 HL7v2 訊息通常很快,因此輸出內容幾乎會立即傳回。
回應
Request issued for: [my-hl7v2-store] Waiting for operation [projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/operations/OPERATION_ID] to complete...done. name: projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store
將 HL7v2 訊息匯入 Cloud Healthcare API 後,請繼續清除資源,以免系統向您的 Google Cloud 帳戶收取本頁面所用資源的費用。
如要瞭解後續步驟 (例如如何查看 HL7v2 訊息內容),請參閱「後續步驟」。
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本頁面所用資源的費用,請刪除含有這些資源的 Google Cloud 專案。
如果您是為本快速入門導覽課程建立新專案,請按照「刪除專案」一節的步驟操作。如果沒有,請按照「刪除資料集」一節的步驟操作。
Optional: Revoke credentials from the gcloud CLI.
gcloud auth revoke
刪除專案
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
刪除資料集
如果不再需要這個快速入門導覽課程中建立的資料集,您可以刪除該資料集。如果刪除資料集,該資料集以及其中包含的所有 FHIR、HL7v2 或 DICOM 儲存庫都會永久刪除。
gcloud
使用 gcloud healthcare datasets delete
指令刪除資料集。
使用下方的任何指令資料之前,請先替換以下項目:
PROJECT_ID
:您在「事前準備」中建立或選取的 Google Cloud 專案 ID
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud healthcare datasets delete my-dataset \ --project=PROJECT_ID \ --location=us-central1
Windows (PowerShell)
gcloud healthcare datasets delete my-dataset ` --project=PROJECT_ID ` --location=us-central1
Windows (cmd.exe)
gcloud healthcare datasets delete my-dataset ^ --project=PROJECT_ID ^ --location=us-central1
回應
You are about to delete dataset [my-dataset] Do you want to continue (Y/n)? Y Deleted dataset [my-dataset].
還順利嗎?
後續步驟
如要瞭解 Cloud Healthcare API 的一般資訊,以及如何使用其他介面執行本快速入門導覽課程中的工作,請參閱下列章節:
DICOM
如要瞭解 Cloud Healthcare API 如何導入 DICOMweb 標準,請參閱 DICOM 符合聲明。
FHIR
要瞭解 Cloud Healthcare API 如何導入 FHIR 標準,請參閱 FHIR 符合聲明。