Google Cloud CLI で医療データを保存する
このページでは、Google Cloud CLI で Cloud Healthcare API を使用して次のタスクを実行する方法について説明します。
- Cloud Healthcare API データセットを作成します。
- データセット内に次のいずれかのデータストアを作成します。
- Digital Imaging and Communications in Medicine(DICOM)ストア
- Fast Healthcare Interoperability Resources(FHIR)ストア
- Health Level Seven International Version 2(HL7v2)ストア
- DICOM、FHIR、HL7v2 データを保存し、DICOM メタデータを表示します。
1 種類のデータストアのみを使用する場合は、はじめにとデータセットを作成するのステップが完了後に、クイックスタートのセクションに直接スキップすることができます。
準備
- 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.
-
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.
-
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 を使用するには、少なくとも 1 つのデータセットを作成する必要があります。
次のサンプルは、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].
このクイックスタートを行うには、次のセクションから 1 つ選択します。
DICOM インスタンスの保存と表示
このセクションでは、次のタスクを行う方法を示しています。
- DICOM ストアを作成します。
- 一般公開された Cloud Storage バケットから 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 インスタンスをインポートする
サンプルの DICOM データは、gs://gcs-public-data--healthcare-nih-chest-xray
Cloud Storage バケットにあります。
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 によって指定される長時間実行オペレーションの識別子。長時間実行オペレーションは、メソッド呼び出しが完了するまでに時間がかかる場合に返されます。通常、1 つの 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 トランザクションをサポートしていません。代わりに、Python を使用して実行する、Google の DICOMweb コマンドライン ツールを使用できます。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
は、始める前にで作成または選択した Google Cloud プロジェクトの ID に置き換えます。次のとおり出力されます。出力のフィールドについては、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 バケットから FHIR ストアに FHIR リソースをインポートします。
FHIR ストアの作成
FHIR ストアはデータセット内に存在し、FHIR データを含みます。次のサンプルは、FHIR バージョン R4 を使用する my-fhir-store
という名前の FHIR ストアを作成する方法を示しています。
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 リソースをインポートする
サンプルの FHIR データは、gs://gcp-public-data--synthea-fhir-data-10-patients
Cloud Storage バケットにあります。
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 によって指定される長時間実行オペレーションの識別子。長時間実行オペレーションは、メソッド呼び出しが完了するまでに時間がかかる場合に返されます。FHIR リソースのインポートには 1~2 分ほどかかります。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 バケットから 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 によって指定される長時間実行オペレーションの識別子。長時間実行オペレーションは、メソッド呼び出しが完了するまでに時間がかかる場合に返されます。通常、1 つの 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 の一般的な情報と、別のインターフェースを使用してこのクイックスタートのタスクを実行する方法については、以下のセクションをご覧ください。
- Cloud Healthcare API のコンセプトの概要について読む
curl
または PowerShell を使用して医療データを保存する- クライアント ライブラリを使用して医療データを保存する
- gcloud CLI を使用して医療データを保存する
DICOM
- DICOM ストアの作成と管理
- PACS の Cloud Healthcare API への接続
- DICOMweb 標準を使用する
- Cloud Storage を使用して DICOM データのインポートとエクスポートを行う
Cloud Healthcare API で DICOMweb 標準を実装する方法については、DICOM 適合性ステートメントをご覧ください。
FHIR
Cloud Healthcare API で FHIR 標準を実装する方法については、FHIR 適合性ステートメントをご覧ください。