このページでは、Digital Imaging and Communications in Medicine(DICOM)ストアを作成、編集、表示、削除する方法について説明します。 Cloud Healthcare API が DICOM 規格にどのように準拠しているかについては、DICOM 適合性宣言をご覧ください。
DICOM ストアの作成
DICOM ストアを作成する前に、データセットを作成する必要があります。
以下のサンプルは、DICOM ストアの作成方法を示しています。
Console
DICOM ストアを作成するには:
- Cloud Console で、[データセット] ページに移動します。
- DICOM ストアを作成するデータセットを開きます。
- [データストアの作成] をクリックします。
- データセット内で一意の名前を入力します。名前が一意でない場合、データストアの作成は失敗します。
- データストアのタイプとして [DICOM] を選択します。
-
データストアの Pub/Sub トピックを構成する場合は、トピック名を入力します。Pub/Sub トピックを指定する場合は、次のサンプルに示すように、トピックの修飾 URI を入力します。
projects/PROJECT_ID/topics/PUBSUB_TOPIC
- [作成] をクリックします。
新しいデータストアがリストに表示されます。
gcloud
データセットに DICOM ストアを作成するには、gcloud healthcare dicom-stores create
コマンドを実行します。
- DICOM ストアの ID はデータセット内で一意であることが必要です。数字、文字、アンダースコア、ダッシュ、ピリオドで構成される、1~256 文字の Unicode 文字列を使用できます。
- Pub/Sub トピックに DICOM ストアの変更を通知するには、
--pubsub-topic
引数を使用して既存の Pub/Sub トピック名を指定します。Pub/Sub トピックを指定する場合は、次のサンプルに示すように、トピックの修飾 URI を入力します。projects/PROJECT_ID/topics/PUBSUB_TOPIC
次の例は、DICOM ストアを作成する方法を示しています。
gcloud healthcare dicom-stores create DICOM_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ [--pubsub-topic=projects/PROJECT_ID/topics/PUBSUB_TOPIC]
リクエストが成功すると、コマンド プロンプトに次のメッセージが表示されます。
Created dicomStore [DICOM_STORE_ID].
API
DICOM ストアを作成するには、projects.locations.datasets.dicomStores.create
メソッドを使用します。
curl
DICOM ストアを作成するには、POST
リクエストを送信して次の情報を指定します。
- 親データセットの名前と場所
- DICOM ストアの名前。DICOM ストア ID は、その親データセット内で一意である必要があります。数字、文字、アンダースコア、ダッシュ、ピリオドで構成される、1~256 文字の Unicode 文字列を使用できます。
- アクセス トークン
- (任意)Cloud Healthcare API が DICOM ストアの変更通知を送信する既存の Pub/Sub トピック。Pub/Sub トピックの構成方法については、DICOM ストアの編集をご覧ください。
次のサンプルは、curl
を使用した POST
リクエストを示しています。
curl -X POST \ --data "" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores?dicomStoreId=DICOM_STORE_ID"
リクエストが成功すると、サーバーは JSON 形式の次のレスポンスを返します。
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" }
PowerShell
DICOM ストアを作成するには、POST
リクエストを送信して次の情報を指定します。
- 親データセットの名前と場所
- DICOM ストアの名前。DICOM ストア ID は、その親データセット内で一意である必要があります。数字、文字、アンダースコア、ダッシュ、ピリオドで構成される、1~256 文字の Unicode 文字列を使用できます。
- アクセス トークン
- (任意)Cloud Healthcare API が DICOM ストアの変更通知を送信する既存の Pub/Sub トピック。Pub/Sub トピックの構成方法については、DICOM ストアの編集をご覧ください。
次のサンプルは、Windows PowerShell を使用した POST
リクエストを示しています。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores?dicomStoreId=DICOM_STORE_ID" | Select-Object -Expand Content
リクエストが成功すると、サーバーは JSON 形式の次のサンプルのようなレスポンスを返します。
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" }
Go
Java
Node.js
Python
DICOM ストアの編集
次のサンプルは、DICOM ストアに対して次の変更を行う方法を示しています。
- Cloud Healthcare API が DICOM ストアの変更通知を送信する Pub/Sub トピックを編集します。
- ラベルを編集します。ラベルは、Google Cloud リソースの整理で役立つ Key-Value ペアです。
projects/PROJECT_ID/topics/PUBSUB_TOPIC通知を送信するには、Cloud Healthcare Service Agent のサービス アカウントに追加の権限を付与する必要があります。詳しくは、DICOM、FHIR、HL7v2 ストアの Pub/Sub 権限をご覧ください。
Console
Cloud Console では、Pub/Sub トピックまたはラベルの編集がサポートされません。代わりに、curl
、Windows PowerShell、またはご希望の言語を使用してください。
gcloud
DICOM ストアを更新するには、gcloud healthcare dicom-stores update
コマンドを実行します。
次のサンプルは、DICOM ストアの Pub/Sub トピックを更新する方法を示しています。gcloud
ツールはラベルの編集をサポートしていません。
gcloud healthcare dicom-stores update DICOM_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ --pubsub-topic=projects/PROJECT_ID/topics/PUBSUB_TOPIC
リクエストが成功すると、コマンド プロンプトに新しいトピック名を含む DICOM ストアの詳細が表示されます。
Updated dicomStore [DICOM_STORE_ID]. name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicom-stores/DICOM_STORE_ID notificationConfig: pubsubTopic: projects/PROJECT_ID/topics/PUBSUB_TOPIC
API
DICOM ストアを編集するには、projects.locations.datasets.dicomStores.patch
メソッドを使用します。
curl
DICOM ストアを編集するには、PATCH
リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- DICOM ストアの名前
- 更新するメタデータ。この例では、Pub/Sub トピックの修飾 URI と、Key-Value ペアのカンマ区切りリストとして更新するラベルを示します。
- 更新マスク
- アクセス トークン
次のサンプルは、curl
を使用した PATCH
リクエストを示しています。
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'notificationConfig': { 'pubsubTopic':'projects/PROJECT_ID/topics/PUBSUB_TOPIC' }, 'labels': { 'KEY1':'VALUE1','KEY2':'VALUE2' } }" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID?updateMask=notificationConfig,labels"
リクエストが成功すると、サーバーは JSON 形式の次のサンプルのようなレスポンスを返します。
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID", "notificationConfig": { "pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC" }, 'labels': { 'KEY1':'VALUE1','KEY2':'VALUE2' } }
PowerShell
DICOM ストアを編集するには、PATCH
リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- DICOM ストアの名前
- 更新するメタデータ。この例では、Pub/Sub トピックの修飾 URI と、Key-Value ペアのカンマ区切りリストとして更新するラベルを示します。
- 更新マスク
- アクセス トークン
次のサンプルは、Windows PowerShell を使用した PATCH
リクエストを示しています。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Patch ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'notificationConfig': { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC' }, 'labels': { 'KEY1':'VALUE1','KEY2':'VALUE2' } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID?updateMask=notificationConfig,labels" | Select-Object -Expand Content
リクエストが成功すると、サーバーは JSON 形式の次のサンプルのようなレスポンスを返します。
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID", "notificationConfig": { "pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC" }, 'labels': { 'KEY1':'VALUE1','KEY2':'VALUE2' } }
Go
Java
Node.js
Python
DICOM ストアの詳細を取得する
以下のサンプルは、DICOM ストアの詳細を取得する方法を示しています。
Console
DICOM ストアの詳細を表示するには:
- Cloud Console で、[データセット] ページに移動します。
- DICOM ストアを含むデータセットの ID をクリックします。
- DICOM ストアの名前をクリックします。
gcloud
DICOM ストアの詳細を表示するには、gcloud healthcare dicom-stores describe
コマンドを実行します。
次のサンプルは、DICOM ストアの詳細を取得する方法を示しています。
gcloud healthcare dicom-stores describe DICOM_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
リクエストが成功すると、コマンド プロンプトに DICOM ストアの詳細が表示されます。
name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicom-stores/DICOM_STORE_ID
API
FHIR ストアの詳細を取得するには、projects.locations.datasets.dicomStores.get
メソッドを使用します。
curl
DICOM ストアの詳細を取得するには、GET
リクエストを送信して次の情報を指定します。
- 親データセットの名前と場所
- DICOM ストアの名前
- アクセス トークン
次のサンプルは、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/dicomStores/DICOM_STORE_ID"
リクエストが成功すると、サーバーは JSON 形式の次のサンプルのようなレスポンスを返します。
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" }
DicomStore
リソースでフィールドを構成した場合は、そのフィールドもレスポンスに表示されます。
PowerShell
DICOM ストアの詳細を取得するには、GET
リクエストを送信して次の情報を指定します。
- 親データセットの名前と場所
- DICOM ストアの名前
- アクセス トークン
次のサンプルは、Windows PowerShell を使用した GET
リクエストを示しています。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" | Select-Object -Expand Content
リクエストが成功すると、サーバーは JSON 形式の次のサンプルのようなレスポンスを返します。
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" }
DicomStore
リソースでフィールドを構成した場合は、そのフィールドもレスポンスに表示されます。
Go
Java
Node.js
Python
データセット内の DICOM ストアの一覧表示
以下のサンプルは、データセット内の DICOM ストアを一覧表示する方法を示します。
Console
データセット内のデータストアを表示するには:
- Cloud Console で、[データセット] ページに移動します。
- 表示するデータストアのデータセットの ID をクリックします。
gcloud
データセット内の DICOM ストアを一覧表示するには、gcloud healthcare dicom-stores list
コマンドを実行します。
gcloud healthcare dicom-stores list --dataset=DATASET_ID
リクエストが成功すると、コマンド プロンプトに DICOM ストアが一覧表示されます。
ID LOCATION TOPIC DICOM_STORE_ID LOCATION projects/PROJECT_ID/topics/PUBSUB_TOPIC
API
データセット内の DICOM ストアを一覧表示するには、projects.locations.datasets.dicomStores.list
メソッドを使用します。
curl
データセット内の DICOM ストアを一覧表示するには、GET
リクエストを送信して次の情報を指定します。
- 親データセットの名前と場所
- アクセス トークン
次のサンプルは、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/dicomStores"
リクエストが成功すると、サーバーは JSON 形式の次のサンプルのようなレスポンスを返します。
{ "dicomStores": [ { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" }, { ... } ] }
DicomStore
リソースでフィールドを構成した場合は、そのフィールドもレスポンスに表示されます。
PowerShell
データセット内の DICOM ストアを一覧表示するには、GET
リクエストを送信して次の情報を指定します。
- 親データセットの名前。
- アクセス トークン
次のサンプルは、Windows PowerShell を使用した GET
リクエストを示しています。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores" | Select-Object -Expand Content
リクエストが成功すると、サーバーは JSON 形式の次のサンプルのようなレスポンスを返します。
{ "dicomStores": [ { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" }, { ... } ] }
DicomStore
リソースでフィールドを構成した場合は、そのフィールドもレスポンスに表示されます。
Go
Java
Node.js
Python
DICOM ストアを削除する
以下のサンプルは、DICOM ストアを削除する方法を示します。
Console
データストアを削除するには:
- Cloud Console で、[データセット] ページに移動します。
- データセット ID をクリックして、データセットを開きます。
- 削除するデータストアを選択し、[削除] をクリックします。
- 確認のために、データストア名を入力して [削除] をクリックします。
gcloud
DICOM ストアを削除するには、gcloud healthcare dicom-stores delete
コマンドを実行します。
delete
コマンドを実行します。
gcloud healthcare dicom-stores delete DICOM_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
- 確認するには、「Y」と入力します。
リクエストが成功すると、コマンド プロンプトに次のように表示されます。
Deleted dicomStore [DICOM_STORE_ID].
API
DICOM ストアを削除するには、projects.locations.datasets.dicomStores.delete
メソッドを使用します。
curl
DICOM ストアを削除するには、DELETE
リクエストを送信して次の情報を指定します。
- 親データセットの名前と場所
- 削除する DICOM ストアの名前。
- アクセス トークン
次のサンプルは、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/dicomStores/DICOM_STORE_ID"
リクエストが成功すると、サーバーは JSON 形式の空のレスポンス本文を返します。
{}
PowerShell
DICOM ストアを削除するには、DELETE
リクエストを送信して次の情報を指定します。
- 親データセットの名前と場所
- 削除する DICOM ストアの名前。
- アクセス トークン
次のサンプルは、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/dicomStores/DICOM_STORE_ID" | Select-Object -Expand Content
リクエストが成功すると、サーバーは JSON 形式の空のレスポンス本文を返します。
{}