curl と PowerShell を使用して医療データを保存する
このページでは、Cloud Healthcare API とcurl
、または PowerShell を使用して次のタスクを行う方法について説明します。
- 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 ストアに特定の種類の医療データを保存し、検査します。
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
データセットを作成する
データセットにはデータストアが含まれ、データストアには医療データが含まれています。Cloud Healthcare API を使用するには、少なくとも 1 つのデータセットを作成する必要があります。
次のサンプルは、us-central1
リージョンに my-dataset
という名前のデータセットを作成する方法を示しています。このクイックスタートでは、このデータセットを使用して DICOM ストア、FHIR ストア、HL7v2 ストアを作成します。
projects.locations.datasets.create
メソッドを使用してデータセットを作成します。リクエストのデータを使用する前に、次のように置き換えます。
: 始める前にで作成または選択した Google Cloud プロジェクトの IDPROJECT_ID
リクエストを送信するには、次のいずれかのオプションを選択します。
次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets?datasetId=my-dataset"次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets?datasetId=my-dataset" | Select-Object -Expand Contentメソッド リファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。必須フィールドを入力して、[Execute] をクリックします。
OPERATION_ID
の値をメモします。この値は次の手順で必要になります。回答
{ "name": "projects/
PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /operations/OPERATION_ID " }projects.locations.datasets.operations.get
メソッドを使用して、長時間実行オペレーションのステータスを取得します。リクエストのデータを使用する前に、次のように置き換えます。
: Google Cloud プロジェクトの IDPROJECT_ID
: 長時間実行オペレーションから返された IDOPERATION_ID
リクエストを送信するには、次のいずれかのオプションを選択します。
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/operations/OPERATION_ID "次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/operations/OPERATION_ID " | Select-Object -Expand Contentメソッド リファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。必須フィールドを入力して、[Execute] をクリックします。
"done": true
が含まれている場合、長時間実行オペレーションは終了しています。回答
{ "name": "projects/
PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /operations/OPERATION_ID ", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.dataset.DatasetService.CreateDataset", "createTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "endTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "logsUrl": "https://console.cloud.google.com/CLOUD_LOGGING_URL " "counter": { "success": "SUCCESS_COUNT ", // If there were any failures, they display in the `failure` field. "failure": "FAILURE_COUNT " } }, "done": true, // The `response` field only displays if there were no errors. "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.dataset.Dataset", "name": "projects/PROJECT_ID /locations/us-central1/datasets/my-dataset", }, // If there were any errors, an `error` field displays instead of a `response` field. // See Troubleshooting long-running operations for a list of response codes. "error": { "code":ERROR_CODE , "message": "DESCRIPTION ", "details": [ { "@type": "...",FIELD1 : ..., ... } ] } }
このクイックスタートを行うには、次のセクションから 1 つ選択します。
DICOM インスタンスを保存、表示する
このセクションでは、次のタスクを行う方法を示しています。
- DICOM ストアを作成します。
- DICOM ストアに DICOM インスタンスを保存します。
- DICOM インスタンスのメタデータの表示。
Cloud Healthcare API は、医療画像データを保存してアクセスするための DICOMweb 標準を実装しています。
DICOM ストアの作成
DICOM ストアはデータセット内に存在し、DICOM インスタンスを保持します。次の例は、my-dicom-store
という名前の DICOM ストアを作成する方法を示しています。
projects.locations.datasets.dicomStores.create
メソッドを使用して DICOM ストアを作成します。
リクエストのデータを使用する前に、次のように置き換えます。
: 始める前にで作成または選択した Google Cloud プロジェクトの IDPROJECT_ID
リクエストを送信するには、次のいずれかのオプションを選択します。
次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/dicomStores?dicomStoreId=my-dicom-store"
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/dicomStores?dicomStoreId=my-dicom-store" | Select-Object -Expand Content
メソッド リファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。必須フィールドを入力して、[Execute] をクリックします。
次のような JSON レスポンスが返されます。
回答
{ "name": "projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store" }
DICOM インスタンスの保存
サンプル DICOM インスタンス ファイルをお使いのマシンにダウンロードします。このファイルには、匿名化された患者の X 線写真が含まれています。
curl -O https://cloud.google.com/healthcare-api/docs/resources/dicom_00000001_000.dcm
Invoke-WebRequest -Uri "https://cloud.google.com/healthcare-api/docs/resources/dicom_00000001_000.dcm" -OutFile $pwd/dicom_00000001_000.dcm
dicomStores.storeInstances
メソッドを使用して DICOM インスタンスを保存します。このクイックスタートでは、DICOM インスタンスをダウンロードしたディレクトリと同じディレクトリからコマンドを実行することを前提としています。リクエストのデータを使用する前に、次のように置き換えます。
: 始める前にで作成または選択した Google Cloud プロジェクトの IDPROJECT_ID
リクエストを送信するには、次のいずれかのオプションを選択します。
次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/dicom" \
--data-binary @dicom_00000001_000.dcm \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/studies"次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-InFile dicom_00000001_000.dcm `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/studies" | Select-Object -Expand Content出力は次の XML レスポンスです。この出力で:
PROJECT_ID
、us-central1
、my-dataset
、my-dicom-store
: コマンドを実行したときに指定した値SOPClassUID
: Service-Object Pair(SOP)クラスを一意に識別しますSOPInstanceUID
: Service-Object Pair(SOP)インスタンスを一意に識別しますSTUDY_UID
: スタディ インスタンスを一意に識別しますSERIES_UID
: シリーズ インスタンスを一意に識別しますINSTANCE_UID
: インスタンスを一意に識別します
回答
<NativeDicomModel> <DicomAttribute tag="00081190" vr="UR" keyword="RetrieveURL"> <Value number="1">https://healthcare.googleapis.com/v1/projects/
PROJECT_ID /locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/studies/STUDY_UID </Value> </DicomAttribute> <DicomAttribute tag="00081199" vr="SQ" keyword="ReferencedSOPSequence"> <Item number="1"> <DicomAttribute tag="00081150" vr="UI" keyword="ReferencedSOPClassUID"> <Value number="1">SOPClassUID </Value> </DicomAttribute> <DicomAttribute tag="00081155" vr="UI" keyword="ReferencedSOPInstanceUID"> <Value number="1">SOPInstanceUID </Value> </DicomAttribute> <DicomAttribute tag="00081190" vr="UR" keyword="RetrieveURL"> <Value number="1">https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/studies/STUDY_UID /series/SERIES_UID /instances/INSTANCE_UID </Value> </DicomAttribute> </Item> </DicomAttribute> </NativeDicomModel>
DICOM インスタンスのメタデータの表示
dicomStores.searchForInstances
メソッドを使用して、インスタンスのメタデータを表示します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : 始める前にで作成または選択した Google Cloud プロジェクトの ID
リクエストを送信するには、次のいずれかのオプションを選択します。
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/instances"
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/instances" | Select-Object -Expand Content
メソッド リファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。必須フィールドを入力して、[Execute] をクリックします。
次のような JSON レスポンスが返されます。
回答
[ { "00080005":{ "vr":"CS", "Value":[ "CODE_STRING " ] }, "00080016":{ "vr":"UI", "Value":[ "UNIQUE_IDENTIFIER " ] }, "00080018":{ "vr":"UI", "Value":[ "UNIQUE_IDENTIFIER " ] }, "00080020":{ "vr":"DA", "Value":[ "DATE_TIME " ] }, "00080030":{ "vr":"TM", "Value":[ "TIME " ] }, "00080060":{ "vr":"CS", "Value":[ "CODE_STRING " ] }, "0008103E":{ "vr":"LO", "Value":[ "LONG_STRING " ] }, "00100010":{ "vr":"PN", "Value":[ { "Alphabetic":"Anonymized" } ] }, }, ... ]
Cloud Healthcare API で DICOM インスタンスを保存して表示した後、このページで使用したリソースについて Google Cloud アカウントに課金されないように、クリーンアップに進みます。
DICOM データの操作について詳しくは、次のステップをご覧ください。
FHIR リソースを保存、表示する
このセクションでは、次のタスクを行う方法を示しています。
- FHIR ストアを作成します。
- FHIR ストアに FHIR リソースを保存します。
- FHIR リソースのデータを表示します。
Cloud Healthcare API は、FHIR データを保存してアクセスするための FHIR 仕様標準を実装しています。
FHIR ストアの作成
FHIR ストアはデータセット内に存在し、FHIR データを含みます。次のサンプルは、FHIR バージョン R4 を使用する my-fhir-store
という名前の FHIR ストアを作成する方法を示しています。
projects.locations.datasets.fhirStores.create
メソッドを使用して FHIR ストアを作成します。
リクエストのデータを使用する前に、次のように置き換えます。
: 始める前にで作成または選択した Google Cloud プロジェクトの IDPROJECT_ID
リクエストの本文(JSON):
{ "version": "R4" }
リクエストを送信するには、次のいずれかのオプションを選択します。
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "version": "R4" } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/fhirStores?fhirStoreId=my-fhir-store"
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "version": "R4" } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/fhirStores?fhirStoreId=my-fhir-store" | Select-Object -Expand Content
リクエスト本文をコピーして、メソッドのリファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。このツールにリクエスト本文を貼り付け、その他の必須フィールドに入力して、[Execute] をクリックします。
次のような JSON レスポンスが返されます。
回答
{ "name": "projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store", "version": "R4" }
FHIR リソースの保存
projects.locations.datasets.fhirStores.fhir.create
メソッドを使用して、FHIR ストアに患者リソースを作成します。
リクエストのデータを使用する前に、次のように置き換えます。
: 始める前にで作成または選択した Google Cloud プロジェクトの IDPROJECT_ID
リクエストの本文(JSON):
{ "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" }
リクエストを送信するには、次のいずれかのオプションを選択します。
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/fhir+json" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient"
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/fhir+json" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
回答
{ "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID ", "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "versionId": "VERSION_ID " }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" }
FHIR リソースの内容の表示
projects.locations.datasets.fhirStores.fhir.search
メソッドを使用して、患者リソースに関する情報を表示します。
リクエストのデータを使用する前に、次のように置き換えます。
: 始める前にで作成または選択した Google Cloud プロジェクトの IDPROJECT_ID
リクエストを送信するには、次のいずれかのオプションを選択します。
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient"
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "entry": [ { "fullUrl": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient/PATIENT_ID ", "resource": { "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID ", "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "versionId": "MTY5MDQxMDk5ODU1OTkxNTAwMA" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" }, "search": { "mode": "match" } } ], "link": [ { "relation": "search", "url": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient/?" }, { "relation": "first", "url": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient/?" }, { "relation": "self", "url": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient/?" } ], "resourceType": "Bundle", "total": 1, "type": "searchset" }
Cloud Healthcare API に FHIR リソースを保存して表示した後、このページで使用したリソースについて、Google Cloud アカウントに課金されないように、クリーンアップに進みます。
FHIR データの操作について詳しくは、次のステップをご覧ください。
HL7v2 メッセージを保存、表示する
このセクションでは、次のタスクを行う方法を示しています。
- HL7v2 ストアを作成します。
- HL7v2 メッセージを HL7v2 ストアに保存します。
- HL7v2 メッセージデータを表示します。
Cloud Healthcare API 内の HL7v2 実装は、HL7v2 標準に適合しています。
HL7v2 ストアの作成
HL7v2 ストアはデータセット内に存在し、HL7v2 メッセージを保持します。次のサンプルは、my-hl7v2-store
という名前の HL7v2 ストアを作成する方法を示します。.
projects.locations.datasets.hl7V2Stores.create
メソッドを使用して HL7v2 ストアを作成します。
リクエストのデータを使用する前に、次のように置き換えます。
: 始める前にで作成または選択した Google Cloud プロジェクトの IDPROJECT_ID
リクエストを送信するには、次のいずれかのオプションを選択します。
次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/hl7V2Stores?hl7V2StoreId=my-hl7v2-store"
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/hl7V2Stores?hl7V2StoreId=my-hl7v2-store" | Select-Object -Expand Content
メソッド リファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。必須フィールドを入力して、[Execute] をクリックします。
次のような JSON レスポンスが返されます。
回答
{ "name": "projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store" }
HL7v2 メッセージの作成
サンプル HL7v2 メッセージ ファイルをマシンにダウンロードします。
curl -O https://cloud.google.com/healthcare-api/docs/resources/hl7v2-sample.json
Invoke-WebRequest -Uri "https://cloud.google.com/healthcare-api/docs/resources/hl7v2-sample.json" -OutFile $pwd/hl7v2-sample.json
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
projects.locations.datasets.hl7V2Stores.messages.create
メソッドを使用して、HL7v2 メッセージを HL7v2 ストアに保存します。このクイックスタートでは、HL7v2 メッセージをダウンロードしたディレクトリでコマンドを実行することを前提としています。リクエストのデータを使用する前に、次のように置き換えます。
: 始める前にで作成または選択した Google Cloud プロジェクトの IDPROJECT_ID
リクエストを送信するには、次のいずれかのオプションを選択します。
次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
--data-binary @hl7v2-sample.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages"次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-InFile hl7v2-sample.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages" | Select-Object -Expand Contentメソッド リファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。必須フィールドを入力して、[Execute] をクリックします。
次のとおり出力されます。この出力で:
、PROJECT_ID us-central1
、my-dataset
、my-hl7v2-store
: メソッド呼び出しで指定した値MESSAGE_ID
: Cloud Healthcare API によって指定される HL7v2 メッセージの識別子MESSAGE_ID
の値をメモします。この値は次の手順で必要になります。
回答
{ "name": "projects/
PROJECT_ID /locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages/MESSAGE_ID ", "data": "TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZfEF8QXwyMDE4MDEwMTAwMDAwMHx8VFlQRV5BfDIwMTgwMTAxMDAwMDAwfFR8MC4wfHx8QUF8fDAwfEFTQ0lJDUVWTnxBMDB8MjAxODAxMDEwNDAwMDANUElEfHwxNAExMTFeXl5eTVJOfDExMTExMTExXl5eXk1STn4xMTExMTExMTExXl5eXk9SR05NQlI=", "sendFacility": "SEND_FACILITY", "sendTime": "2018-01-01T00:00:00Z", "messageType": "TYPE", "createTime": "1970-01-01T00:00:00Z", "patientIds": [ { "value": "14\u0001111", "type": "MRN" }, { "value": "11111111", "type": "MRN" }, { "value": "1111111111", "type": "ORGNMBR" } ] }
HL7v2 メッセージの内容の表示
HL7v2 メッセージを作成したときに受け取ったレスポンスで MESSAGE_ID
を見つけます。
projects.locations.datasets.hl7V2stores.messages.get
メソッドを使用して HL7v2 メッセージの詳細を表示します。
リクエストのデータを使用する前に、次のように置き換えます。
: 始める前にで作成または選択した Google Cloud プロジェクトの IDPROJECT_ID
: HL7v2 メッセージを作成したときに返されたレスポンスの IDHL7V2_MESSAGE_ID
リクエストを送信するには、次のいずれかのオプションを選択します。
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages/HL7V2_MESSAGE_ID "
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages/HL7V2_MESSAGE_ID " | Select-Object -Expand Content
メソッド リファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。必須フィールドを入力して、[Execute] をクリックします。
次のような JSON レスポンスが返されます。
回答
{ "name": "projects/PROJECT_ID /locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages/MESSAGE_ID ", "data": "TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZfEF8QXwyMDE4MDEwMTAwMDAwMHx8VFlQRV5BfDIwMTgwMTAxMDAwMDAwfFR8MC4wfHx8QUF8fDAwfEFTQ0lJDUVWTnxBMDB8MjAxODAxMDEwNDAwMDANUElEfHwxNAExMTFeXl5eTVJOfDExMTExMTExXl5eXk1STn4xMTExMTExMTExXl5eXk9SR05NQlI=", "sendFacility": "SEND_FACILITY", "sendTime": "2018-01-01T00:00:00Z", "messageType": "TYPE", "createTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "patientIds": [ { "value": "14\u0001111", "type": "MRN" }, { "value": "11111111", "type": "MRN" }, { "value": "1111111111", "type": "ORGNMBR" } ], "parsedData": { "segments": [ { "segmentId": "MSH", "fields": { "8.2": "A", "11": "0.0", "8.1": "TYPE", "4": "A", "9": "20180101000000", "10": "T", "17": "ASCII", "14": "AA", "1": "^~\\&", "2": "A", "3": "SEND_FACILITY", "5": "A", "16": "00", "0": "MSH", "6": "20180101000000" } }, { "segmentId": "EVN", "fields": { "0": "EVN", "1": "A00", "2": "20180101040000" } }, { "segmentId": "PID", "fields": { "2.5": "MRN", "3[0].1": "11111111", "3[0].5": "MRN", "3[1].1": "1111111111", "3[1].5": "ORGNMBR", "0": "PID", "2.1": "14\u0001111" } } ] } }
Cloud Healthcare API で HL7v2 メッセージを保存して表示したら、このページで使用されるリソースに対して Google Cloud アカウントに課金されないようにクリーンアップに進みます。
HL7v2 データの操作について詳しくは、次のステップをご覧ください。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、Google Cloud プロジェクトとそのリソースをまとめて削除してください。
このクイックスタート用に新しいプロジェクトを作成した場合は、プロジェクトの削除の手順に従ってください。それ以外の場合は、データセットの削除の手順に従ってください。
Optional: Revoke credentials from the gcloud CLI.
gcloud auth revoke
プロジェクトの削除
Delete a Google Cloud project:
gcloud projects deletePROJECT_ID
データセットの削除
このクイックスタートで作成したデータセットが不要になった場合は、削除できます。データセットを完全に削除すると、データセットと、データセットに含まれる FHIR ストア、HL7v2 ストア、または DICOM ストアが完全に削除されます。
projects.locations.datasets.delete
メソッドを使用して、データセットを削除します。
リクエストのデータを使用する前に、次のように置き換えます。
: 始める前にで作成または選択した Google Cloud プロジェクトの IDPROJECT_ID
リクエストを送信するには、次のいずれかのオプションを選択します。
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset"
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/datasets/my-dataset" | Select-Object -Expand Content
メソッド リファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。必須フィールドを入力して、[Execute] をクリックします。
成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。
いかがでしたか
次のステップ
Cloud Healthcare API の一般的な情報と、別のインターフェースを使用してこのクイックスタートのタスクを実行する方法については、以下のセクションをご覧ください。
- Cloud Healthcare API のコンセプトの概要について読む
- クライアント ライブラリを使用して医療データを保存する
- Google Cloud コンソールで医療データを保存する
- gcloud CLI を使用して医療データを保存する
DICOM
- DICOM ストアの作成と管理
- PACS の Cloud Healthcare API への接続
- DICOMweb 標準を使用する
- Cloud Storage を使用して DICOM データのインポートとエクスポートを行う
Cloud Healthcare API で DICOMweb 標準を実装する方法については、DICOM 適合性ステートメントをご覧ください。
FHIR
Cloud Healthcare API で FHIR 標準を実装する方法については、FHIR 適合性ステートメントをご覧ください。