クイックスタート: gcloud コマンドライン ツールの使用

このページでは、Cloud Healthcare API と gcloud コマンドライン ツールを使用して、次のタスクを行う方法について説明します。

  1. Cloud Healthcare API データセットを作成します。
  2. データセット内に次のいずれかのデータストアを作成します。
    • Digital Imaging and Communications in Medicine(DICOM)ストア
    • Fast Healthcare Interoperability Resources(FHIR)ストア
    • Health Level Seven International バージョン 2(HL7v2)ストア
  3. DICOM、FHIR、HL7v2 データを保存し、DICOM メタデータを表示します。

1 種類のデータストアのみを使用する場合は、はじめにデータセットを作成するのステップが完了後に、クイックスタートのセクションに直接スキップすることができます。

始める前に

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. Cloud Healthcare API を有効にします。

    API を有効にする

  5. gcloud コマンドライン ツールの使用状況に応じて、次のいずれかの手順を行います。
    • Cloud Shell を使用している場合は、Google Cloud Console に移動し、コンソール ウィンドウの上部にある [Cloud Shell をアクティブにする] ボタンをクリックします。

      Google Cloud Console に移動

      コンソールの下部の新しいフレーム内で Cloud Shell セッションが開き、コマンドライン プロンプトが表示されます。シェル セッションの初期化には数秒かかる場合があります。

    • Compute Engine 仮想マシンを使用している場合は、仮想マシンのターミナル ウィンドウを開きます。
    • マシンで gcloud ツールを使用している場合は、Cloud SDK をインストールして初期化します。

データセットを作成する

データセットにはデータストアが含まれ、データストアには医療データが含まれています。Cloud Healthcare API を使用するには、少なくとも 1 つのデータセットを作成する必要があります。

gcloud healthcare datasets create コマンドを使用してデータセットを作成します。

gcloud healthcare datasets create DATASET_ID \
    --location=LOCATION

以下を置き換えます。

  • DATASET_ID: データセットの識別子。データセット ID は、次の条件を満たしている必要があります。
    • ロケーション内の一意の ID
    • 次のもので構成される 1 ~ 256 文字の Unicode 文字列。
      • 数字
      • 文字
      • アンダースコア
      • ダッシュ
      • ピリオド
  • LOCATION: データセットのロケーション。us-central1us-west2us-east4europe-west2europe-west3europe-west4europe-west6northamerica-northeast1southamerica-east1asia-east2asia-northeast1asia-northeast3asia-south1asia-southeast1australia-southeast1 または us を使用します。

次のような出力が表示されます。

Created dataset [DATASET_ID].

このクイックスタートを行うには、次のセクションから 1 つ選択します。

DICOM インスタンスの保存と表示

このセクションでは、次のタスクを行う方法を示しています。

  1. DICOM ストアを作成します。
  2. Cloud Storage から DICOM ストアに DICOM インスタンスをインポートします。
  3. DICOM インスタンスのメタデータの表示。

Cloud Healthcare API は、医療画像データを保存してアクセスするための DICOMweb 標準を実装しています。

DICOM ストアの作成

DICOM ストアはデータセット内に存在し、DICOM インスタンスを含みます。

gcloud healthcare dicom-stores create コマンドを使用して DICOM ストアを作成します。

gcloud healthcare dicom-stores create DICOM_STORE_ID \
  --dataset=DATASET_ID \
  --location=LOCATION

以下を置き換えます。

  • DICOM_STORE_ID: DICOM ストアの識別子。HL7v2 ストア ID は、次の要件を満たす必要があります。
    • そのデータセットの一意の ID
    • 次のもので構成される 1 ~ 256 文字の Unicode 文字列。
      • 数字
      • 文字
      • アンダースコア
      • ダッシュ
      • ピリオド
  • DATASET_ID: データセット ID
  • LOCATION: データセットの場所

次のような出力が表示されます。

Created dicomStore [DICOM_STORE_ID].

DICOM インスタンスのインポート

サンプルの DICOM データは、gs://gcs-public-data--healthcare-nih-chest-xray Cloud Storage バケットにあります。

gcloud healthcare dicom-stores import コマンドを使用して gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm DICOM インスタンスをインポートします。

gcloud healthcare dicom-stores import gcs DICOM_STORE_ID \
  --dataset=DATASET_ID \
  --location=LOCATION \
  --gcs-uri=gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm

以下を置き換えます。

  • DICOM_STORE_ID: DICOM ストア ID
  • DATASET_ID: データセット ID
  • LOCATION: データセットの場所

次のような出力が表示されます。

Request issued for: [DICOM_STORE_ID]
Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID] to complete...done.
name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID

DICOM インスタンスのメタデータの表示

gcloud ツールは、インスタンスの表示や取得などの DICOMweb トランザクションをサポートしていません。代わりに、Google の DICOMweb コマンドライン ツールを使用できます。DICOMweb コマンドライン ツールは、Python を使用して実行されます。Google Cloud での Python の設定方法については、Python 開発環境の設定をご覧ください。

DICOM インスタンスのメタデータを表示します。

  1. Python を設定したら、Pip を使用して DICOMweb コマンドラインツールをインストールします。

    pip install https://github.com/GoogleCloudPlatform/healthcare-api-dicomweb-cli/archive/v1.0.zip
    
  2. DICOM インスタンスのメタデータの表示。

    dcmweb \
      https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb \
      search instances
    

    以下を置き換えます。

    • DICOM_STORE_ID: DICOM ストア ID
    • DATASET_ID: データセット ID
    • LOCATION: データセットの場所

    次のような出力が表示されます。

    [
      {
        "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 に保存し、そのメタデータを表示したら、次のステップに進み、DICOM 画像の検索または取得を行う方法などについて確認します。

FHIR リソースの保存

このセクションでは、次のタスクを行う方法を示しています。

  1. FHIR ストアを作成します。
  2. Cloud Storage バケットから FHIR ストアに FHIR リソースをインポートします。

FHIR ストアの作成

FHIR ストアはデータセット内に存在し、FHIR データを含みます。

gcloud healthcare fhir-stores create コマンドを使用して FHIR ストアを作成します。

gcloud healthcare fhir-stores create FHIR_STORE_ID \
  --dataset=DATASET_ID \
  --location=LOCATION \
  --version=R4

以下を置き換えます。

  • FHIR_STORE_ID: FHIR ストアの ID。FHIR ストア ID は、次の要件を満たす必要があります。
    • そのデータセットの一意の ID
    • 次のもので構成される 1 ~ 256 文字の Unicode 文字列。
      • 数字
      • 文字
      • アンダースコア
      • ダッシュ
      • ピリオド
  • DATASET_ID: データセット ID
  • LOCATION: データセットの場所

次のような出力が表示されます。

Created fhirStore [FHIR_STORE_ID].

FHIR リソースのインポート

サンプルの DICOM データは、gs://gcp-public-data--synthea-fhir-data-10-patients Cloud Storage バケットにあります。バケットには、いくつかのタイプの FHIR リソースを含むディレクトリ fhir_r4_ndjson/ が含まれています。

gcloud healthcare fhir-stores import コマンドを使用して、バケットから FHIR ストアに FHIR リソースをインポートします。

gcloud healthcare fhir-stores import gcs FHIR_STORE_ID \
  --dataset=DATASET_ID \
  --location=LOCATION \
  --gcs-uri=gs://gcp-public-data--synthea-fhir-data-10-patients/fhir_r4_ndjson/*.ndjson \
  --content-structure=RESOURCE

以下を置き換えます。

  • FHIR_STORE_ID: FHIR ストア ID
  • DATASET_ID: データセット ID
  • LOCATION: データセットの場所

次のような出力が表示されます。

Request issued for: [FHIR_STORE_ID]
Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID] to complete...done.
name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID
version: R4

FHIR リソースを Cloud Healthcare API に保存したら、次のステップに進み、FHIR ストアで FHIR リソースの表示と検索を行う方法などを確認します。

HL7v2 メッセージの保存

このセクションでは、次のタスクを行う方法を示しています。

  1. HL7v2 ストアを作成します。
  2. Cloud Storage バケットを作成し、HL7v2 メッセージをそのバケットにコピーします。
  3. Cloud Storage バケットから HL7v2 メッセージを HL7v2 ストアにインポートします。

Cloud Healthcare API 内の HL7v2 実装は、HL7v2 標準に適合しています。

HL7v2 ストアの作成

HL7v2 ストアはデータセット内に存在し、HL7v2 メッセージを保持します。

gcloud healthcare hl7V2-stores create コマンドを使用して HL7v2 ストアを作成します。

gcloud healthcare hl7V2-stores create HL7V2_STORE_ID \
  --dataset=DATASET_ID \
  --location=LOCATION

以下を置き換えます。

  • HL7V2_STORE_ID: HL7v2 ストア ID。HL7v2 ストア ID は、次の要件を満たす必要があります。
    • そのデータセットの一意の ID
    • 次のもので構成される 1 ~ 256 文字の Unicode 文字列。
      • 数字
      • 文字
      • アンダースコア
      • ダッシュ
      • ピリオド
  • DATASET_ID: データセット ID
  • LOCATION: データセットの場所

次のような出力が表示されます。

Created hl7v2Store [HL7V2_STORE_ID].

HL7v2 メッセージのインポート

HL7v2 サンプル メッセージ ファイルを Cloud Storage バケットに保存し、サンプル メッセージ ファイルを HL7v2 ストアにインポートします。

  1. サンプル HL7v2 メッセージ ファイルをマシンに保存します。メッセージには次の基本情報が含まれています。ここでは、サンプル ファイルの data フィールドに Base64 でエンコードされています。

    MSH|^~\&|A|SEND_FACILITY|A|A|20180101000000||TYPE^A|20180101000000|T|0.0|||AA||00|ASCII
    EVN|A00|20180101040000
    PID||14^111^^^^MRN|11111111^^^^MRN~1111111111^^^^ORGNMBR
    
  2. サンプルの HL7v2 メッセージの保存に使用する Cloud Storage バケットがまだ存在しない場合は、gsutil mb コマンドを使用して新しいバケットを作成します。

    gsutil mb gs://BUCKET
    

    BUCKET 変数は、独自のグローバルに一意であるバケット名に置き換えます。

    次のような出力が表示されます。

    Creating gs://BUCKET/...
    

    選択したバケット名がすでに自身または他のユーザーによって使用されている場合は、コマンドから次のメッセージが返されます。

    Creating gs://BUCKET/...
    ServiceException: 409 Bucket BUCKET already exists.
    

    バケット名がすでに使用されている場合は、別のバケット名でもう一度お試しください。

  3. gsutil cp コマンドを使用して、サンプルの HL7v2 メッセージをバケットにコピーします。

    gsutil cp hl7v2-sample-import.ndjson gs://BUCKET
    

    次のような出力が表示されます。

    Copying file://hl7v2-sample-import.ndjson [Content-Type=application/octet-stream]...
    / [1 files][  241.0 B/  241.0 B]
    Operation completed over 1 objects/241.0 B.
    
  4. バケットに HL7v2 ファイルをコピーした後、gcloud beta healthcare hl7V2-stores import コマンドを使用して HL7v2 メッセージをインポートします。

    gcloud beta healthcare hl7v2-stores import gcs HL7V2_STORE_ID \
     --dataset=DATASET_ID \
     --location=LOCATION \
     --gcs-uri=gs://BUCKET/hl7v2-sample-import.ndjson
    

    以下を置き換えます。

    • HL7V2_STORE_ID: HL7v2 ストア ID
    • DATASET_ID: データセット ID
    • LOCATION: データセットの場所
    • BUCKET: HL7v2 ファイルを含む Cloud Storage バケットの名前

    次のような出力が表示されます。

    Request issued for: [HL7V2_STORE_ID]
    Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID] to complete...done.
    name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID
    

HL7v2 メッセージを Cloud Healthcare API に保存したら、次のステップに進み、ストアで HL7v2 メッセージの内容を表示するなどを確認します。

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、Google Cloud で作成したリソースをクリーンアップします。

このチュートリアル用に新しいプロジェクトを作成した場合は、プロジェクトの削除の手順に従ってください。それ以外の場合は、データセットの削除の手順に従ってください。

プロジェクトの削除

  1. Cloud Console で [リソースの管理] ページに移動します。

    [リソースの管理] に移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

データセットの削除

このクイックスタートで作成したデータセットが不要になった場合は、削除できます。データセットを完全に削除すると、データセットと、データセットに含まれる FHIR ストア、HL7v2ストア、または DICOM ストアが完全に削除されます。

  1. データセットを削除するには、gcloud healthcare datasets delete コマンドを使用します。

    gcloud healthcare datasets delete DATASET_ID \
    --location=LOCATION \
    --project=PROJECT_ID
    
  2. 確認するには、「Y」と入力します。

次のような出力が表示されます。

Deleted dataset [DATASET_ID].

いかがでしたか

次のステップ

Cloud Healthcare API に関する一般的な情報と、Cloud Console、curl、Windows PowerShell を使用してタスクを実行する方法については、以下のセクションをご覧ください。

DICOM

DICOM ガイドに進み、以下のようなトピックを確認する。

Cloud Healthcare API が DICOMweb 標準を実装する方法について、DICOM 適合性宣言で確認する。

FHIR

FHIR ガイドに進んで次のようなトピックを確認する。

Cloud Healthcare API で FHIR 標準を実装する方法について、FHIR 適合性ステートメントで確認する。

HL7v2

HL7v2 ガイドに進んで、次のようなトピックを確認する。