クイックスタート: 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 ストアに特定の種類の医療データを保存し、検査します。

始める前に

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

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

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

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

    API を有効にする

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

      Google Cloud Console に移動

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

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

データセットの作成

データセットは、Google Cloud で医療データを保持する基本的なコンテナです。Cloud Healthcare API を使用するには、少なくとも 1 つのデータセットを作成する必要があります。

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

gcloud healthcare datasets create DATASET_ID \
    --location=LOCATION

以下を置き換えます。

  • DATASET_ID: データセットの識別子。データセット ID は、ロケーション内で一意でなければなりません。データセット ID には、数字、文字、アンダースコア、ダッシュ、ピリオドで構成される 1〜256 文字の Unicode 文字列を使用できます。
  • LOCATION: データセットを作成する Google Cloud のロケーション。us-central1us-west2us-east4europe-west2europe-west4europe-west6northamerica-northeast1southamerica-east1asia-east2asia-northeast1asia-southeast1australia-southeast1us のいずれかを使用します。プロジェクトのデフォルト リージョンを使用するには、--location オプションを省略します。

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

Created dataset [DATASET_ID].

DICOM、FHIR、HL7v2 データの保存と表示

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

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

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

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

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

  1. DICOM ストアはデータセット内に存在し、DICOM インスタンスを保持します。DICOM ストアを作成するには、gcloud healthcare dicom-stores create コマンドを使用します。

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

    以下を置き換えます。

    • DICOM_STORE_ID: DICOM ストアの識別子。DICOM ストアの ID はデータセット内で一意であることが必要です。DICOM ストア ID には、数字、文字、アンダースコア、ダッシュ、ピリオドで構成される 1~256 文字の Unicode 文字列を使用できます。
    • DATASET_ID: DICOM ストアの親データセットの名前。
    • LOCATION: 親データセットの場所。

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

    Created dicomStore [DICOM_STORE_ID].
    
  2. サンプルの 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 ストアの識別子。
    • DATASET_ID: DICOM ストアの親データセットの名前。
    • 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
    
  3. (省略可)gcloud ツールは、インスタンスの表示や取得などの DICOMweb トランザクションをサポートしていません。代わりに、Google が提供する DICOMweb コマンドライン ツールを使用できます。DICOMweb コマンドライン ツールは Python を使用して実行されます。Google Cloud での Python の設定方法については、Python 開発環境の設定をご覧ください。

    Python を設定したら、pip を使用してツールをインストールできます。

    pip install https://github.com/GoogleCloudPlatform/healthcare-api-dicomweb-cli/archive/v1.0.zip
    

    インスタンスのメタデータを表示するには、DICOMweb コマンドライン ツールを使用して次のコマンドを実行します。

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

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

    [
      {
        "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 リソース ファイルをバケットにコピーします。
  3. Cloud Storage バケットから FHIR ストアに FHIR リソースをインポートします。

このクイックスタートを完了するには、次の手順を行います。

  1. FHIR ストアはデータセット内に存在し、FHIR リソースを保持します。FHIR ストアを作成するには、gcloud healthcare fhir-stores create コマンドを使用します。

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

    以下を置き換えます。

    • FHIR_STORE_ID: FHIR ストアの識別子。FHIR ストアの ID はデータセット内で一意である必要があります。FHIR ストア ID には、数字、文字、アンダースコア、ダッシュ、ピリオドで構成される 1~256 文字の Unicode 文字列を使用できます。
    • DATASET_ID: FHIR ストアの親データセットの名前。
    • LOCATION: 親データセットの場所。
    • FHIR ストアのバージョンに使用できるオプションは、DSTU2STU3、または R4 です。このクイックスタートでは、STU3 を使用します。

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

    Created fhirStore [FHIR_STORE_ID].
    
  2. サンプル JSON FHIR リソース ファイルをマシンに保存します。このファイルには、Patient リソースに関する基本的なデータと、患者が所有していたエンカウンタが含まれています。

  3. サンプルの FHIR リソース ファイルの保存に使用する Cloud Storage バケットがない場合は、gsutil mb コマンドを使用して新しいバケットを作成します。

    gsutil mb gs://BUCKET
    

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

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

    Creating gs://BUCKET/...
    

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

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

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

  4. gsutil cp コマンドを使用して、サンプルの JSON FHIR リソース ファイルをバケットにコピーします。

    gsutil cp resources.ndjson gs://BUCKET
    

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

    Copying file://resources.ndjson [Content-Type=application/octet-stream]...
    / [1 files][  860.0 B/  860.0 B]
    Operation completed over 1 objects/860.0 B.
    
  5. FHIR リソース ファイルをバケットにコピーした後、gcloud healthcare fhir-stores import コマンドを使用して FHIR リソースをインポートします。

    gcloud healthcare fhir-stores import gcs FHIR_STORE_ID \
     --dataset=DATASET_ID \
     --location=LOCATION \
     --gcs-uri=gs://BUCKET/resources.ndjson \
     --content-structure=RESOURCE
    

    以下を置き換えます。

    • FHIR_STORE_ID: FHIR ストアの識別子。
    • DATASET_ID: FHIR ストアの親データセットの名前。
    • LOCATION: 親データセットの場所。
    • BUCKET: FHIR リソース ファイルを含む Cloud Storage バケットの名前。

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

    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: STU3
    

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

HL7v2 メッセージの保存と表示

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

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

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

  1. HL7v2 ストアはデータセット内に存在し、HL7v2 メッセージを保持します。HL7v2 ストアを作成するには、gcloud healthcare hl7V2-stores create コマンドを使用します。

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

    以下を置き換えます。

    • HL7V2_STORE_ID: HL7v2 ストアの識別子。HL7v2 ストアの ID はデータセット内で一意であることが必要です。HL7v2 ストア ID には、数字、文字、アンダースコア、ダッシュ、ピリオドで構成される 1~256 文字の Unicode 文字列を使用できます。
    • DATASET_ID: HL7v2 ストアの親データセットの名前。
    • LOCATION: 親データセットの場所。

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

    Created hl7v2Store [HL7V2_STORE_ID].
    
  2. サンプル HL7v2 メッセージ ファイルをマシンに保存します。メッセージには、次の基本的な情報が含まれます。ここでは、サンプル ファイルの data フィールドに base-64 でエンコードされています。

    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
    
  3. サンプルの HL7v2 メッセージの保存に使用する Cloud Storage バケットがまだ存在しない場合は、gsutil mb コマンドを使用して新しいバケットを作成します。

    gsutil mb gs://BUCKET
    

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

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

    Creating gs://BUCKET/...
    

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

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

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

  4. 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.
    
  5. 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 ストアの識別子。
    • DATASET_ID: HL7v2 ストアの親データセットの名前。
    • 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 ガイドに進んで、次のようなトピックを確認する。