このページでは、Health Level Seven バージョン 2.x(HL7v2)ストアを作成、編集、表示、削除する方法について説明します。HL7v2 ストアは、システム間で臨床データを送信するために使用される HL7v2 のメッセージを保持します。
HL7v2 ストアの作成
HL7v2 ストアを作成する前に、データセットを作成する必要があります。
HL7v2 ストアを作成するときは、V3
パーサー バージョンを指定します。HL7v2 ストアの作成後にパーサー バージョンを変更することはできません。
以下のサンプルは、V3 パーサーを使用して HL7v2 ストアを作成する方法を示しています。
Console
Google Cloud コンソールで、[データセット] ページに移動します。
HL7v2 ストアを作成するデータセットを選択します。[データセット] ページが表示されます。
add_boxデータストアを作成 をクリックします。[データストアを作成] ページが表示されます。
[タイプ] メニューで [HL7v2] を選択します。
[ID] フィールドに、HL7v2 ストアの名前を入力します。この名前はデータセット内で一意である必要があります。命名の要件については、使用可能な文字とサイズの要件をご覧ください。
[Next] をクリックします。[HL7v2 ストアを構成] セクションが表示されます。
以下の設定を構成します。
- [バージョン] セクションでは、デフォルトの [V3] を選択したままにします。
- ヘッダーのない HL7v2 メッセージの作成と取り込みを許可するには、[null メッセージ ヘッダーを許可(MSH)] を選択します。
- カスタム セグメント ターミネータを設定するには、[カスタム セグメント ターミネータの設定] をクリックし、[セグメント ターミネータ] フィールドにターミネータを入力します。詳細については、セグメント ターミネータの設定をご覧ください。
- HL7v2 ストアにすでに存在する HL7v2 メッセージと同じ RAW バイトを持つ HL7v2 受信メッセージを拒否するには、[重複したメッセージを拒否] を選択します。
[Next] をクリックします。[Cloud Pub/Sub 通知を受信する] セクションが表示されます。
HL7v2 ストアで臨床イベントが発生したときに Pub/Sub 通知を受け取る場合は、Pub/Sub トピックを指定します。トピックは、HL7v2 ストアで構成する前に、存在している必要があります。
[Next] をクリックします。[データストアを整理するラベルを追加] セクションが表示されます。
HL7v2 ストアに 1 つ以上の Key-Value ラベルを追加するには、add [ラベルを追加] をクリックします。リソースラベルの詳細については、リソースラベルの使用をご覧ください。
[作成] をクリックします。[データセット] ページが表示され、HL7v2 ストアが [データストア] テーブルに表示されます。
gcloud
Google Cloud CLI は、HL7v2 ストアを作成する際のパーサー バージョンの設定をサポートしていません。代わりに、Google Cloud コンソール、curl
、PowerShell
、または設定言語を使用してください。
REST
HL7v2 ストアを作成するには、projects.locations.datasets.hl7V2Stores.create
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: Google Cloud プロジェクトの IDLOCATION
: データセットの場所DATASET_ID
: HL7v2 ストアの親データセットHL7V2_STORE_ID
: HL7v2 ストアの文字とサイズの要件の対象となる HL7v2 ストアの ID
リクエストの本文(JSON):
{ "parserConfig": { "version": "V3" } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "parserConfig": { "version": "V3" } } 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/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "parserConfig": { "version": "V3" } } '@ | 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/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID" | Select-Object -Expand Content
API Explorer
リクエスト本文をコピーして、メソッドのリファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。このツールにリクエスト本文を貼り付け、その他の必須フィールドに入力して、[Execute] をクリックします。
次のような JSON レスポンスが返されます。
Go
Java
Node.js
Python
Pub/Sub トピックとフィルタの使用
HL7v2 ストアで Pub/Sub とフィルタを使用することは、特に TCP/IP 接続を介した HL7v2 メッセージの送信時に一般的です。
このページの例では、Cloud Healthcare API が HL7v2 ストアの臨床イベントの通知を送信する既存の Pub/Sub トピックを構成する方法を示します。既存の Pub/Sub トピックとフィルタのリストを指定すると、Cloud Healthcare API は複数のトピックに通知を送信できます。また、フィルタを使用して、送信する通知を制限できます。 Pub/Sub トピックとフィルタを構成する方法について詳しくは、HL7v2 通知と HL7v2 通知を表示するをご覧ください。
HL7v2 ストアの編集
次のサンプルは、Cloud Healthcare API が HL7v2 ストアの変更に関する通知を送信するために使用する Pub/Sub トピックとフィルタのリストを編集する方法を示しています。
いくつかのサンプルでは、HL7v2 ストアのラベルを編集する方法も示しています。
Pub/Sub トピックを指定する場合は、次のサンプルに示すように、トピックの修飾 URI を入力します。projects/PROJECT_ID/topics/PUBSUB_TOPIC通知を機能させるには、Cloud Healthcare サービス エージェントのサービス アカウントに追加の権限を付与する必要があります。 詳しくは、DICOM、FHIR、HL7v2 ストアの Pub/Sub 権限をご覧ください。
Console
HL7v2 ストアを編集するには、次の手順を実行します。
- Google Cloud コンソールで、[データセット] ページに移動します。
- 編集する HL7v2 ストアを含むデータセットを選択します。
- [データストア] リストで、編集するデータストアをクリックします。
- HL7v2 ストアの構成を編集するには、[HL7v2 ストアの構成] をクリックします。
HL7v2 ストアの構成オプションの詳細については、HL7v2 ストアの作成をご覧ください。 - データストアの Pub/Sub トピックを構成する場合は、[Pub/Sub トピックの追加] をクリックし、トピック名を選択します。Pub/Sub トピックを指定する場合は、次のサンプルに示すように、トピックの修飾 URI を入力します。
projects/PROJECT_ID/topics/PUBSUB_TOPIC
- Pub/Sub トピックの追加が完了した場合は、[完了] をクリックします。
- ストアに 1 つ以上のラベルを追加するには、リソースラベルの使用をご覧ください。 [ラベル] をクリックし、[ラベルを追加] をクリックして、Key-Value ラベルを入力します。 リソースラベルの詳細については、
- [保存] をクリックします。
gcloud
gcloud CLI では、この操作はサポートされていません。代わりに、Google Cloud コンソール、curl
、PowerShell、または設定言語を使用してください。
REST
HL7v2 ストアを編集するには、projects.locations.datasets.hl7V2Stores.patch
メソッドを使用します。
次のサンプルを実行する前に、プロジェクトに Pub/Sub トピックを少なくとも 1 つ作成する必要があります。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID
- LOCATION: データセットの場所
- DATASET_ID: HL7v2 ストアの親データセット
- HL7V2_STORE_ID: HL7v2 ストア ID
- PUBSUB_TOPIC1: データストアでイベントが発生した場合にメッセージが公開される Pub/Sub トピック
- FILTER1: PUBSUB_TOPIC1 に公開されるメッセージの一致に使用される文字列
有効なフィルタ値の例については、
filter
をご覧ください。 - PUBSUB_TOPIC2: メッセージが公開される Pub/Sub トピック
- FILTER2: PUBSUB_TOPIC2 に公開されるメッセージの一致に使用される文字列
- KEY1: 最初のラベルキー
- VALUE1: 最初のラベル値
- KEY2: 2 番目のラベルキー
- VALUE2: 2 番目のラベル値
JSON 本文のリクエスト:
{ 'notificationConfigs': [ { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC1', 'filter' : 'FILTER1' }, { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC2', 'filter': 'FILTER2' }, ], 'labels': { 'KEY1':'VALUE1', 'KEY2':'VALUE2' } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { 'notificationConfigs': [ { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC1', 'filter' : 'FILTER1' }, { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC2', 'filter': 'FILTER2' }, ], 'labels': { 'KEY1':'VALUE1', 'KEY2':'VALUE2' } } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X PATCH \
-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/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID?updateMask=notificationConfigs,labels"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { 'notificationConfigs': [ { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC1', 'filter' : 'FILTER1' }, { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC2', 'filter': 'FILTER2' }, ], 'labels': { 'KEY1':'VALUE1', 'KEY2':'VALUE2' } } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID?updateMask=notificationConfigs,labels" | Select-Object -Expand Content
API Explorer
リクエスト本文をコピーして、メソッドのリファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。このツールにリクエスト本文を貼り付け、その他の必須フィールドに入力して、[Execute] をクリックします。
次のような JSON レスポンスが返されます。
Go
Java
Node.js
Python
HL7v2 ストアの詳細の取得
以下のサンプルは、HL7v2 ストアの詳細を取得する方法を示しています。
Console
HL7v2 ストアの詳細を表示するには:
- Google Cloud コンソールで、[データセット] ページに移動します。
- 表示する HL7v2 ストアを含むデータセットを選択します。
- HL7v2 ストアの名前をクリックします。
[Datastore の詳細] ページに、選択した HL7v2 ストアの詳細が表示されます。
gcloud
HL7v2 ストアの詳細を取得するには、gcloud healthcare hl7v2-stores describe
コマンドを実行します。
後述のコマンドデータを使用する前に、次のように置き換えます。
- LOCATION: データセットの場所
- DATASET_ID: HL7v2 ストアの親データセット
- HL7V2_STORE_ID: HL7v2 ストア ID
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud healthcare hl7v2-stores describe HL7V2_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
Windows(PowerShell)
gcloud healthcare hl7v2-stores describe HL7V2_STORE_ID ` --dataset=DATASET_ID ` --location=LOCATION
Windows(cmd.exe)
gcloud healthcare hl7v2-stores describe HL7V2_STORE_ID ^ --dataset=DATASET_ID ^ --location=LOCATION
次のようなレスポンスが返されます。
Hl7V2Store
リソースでフィールドを構成した場合は、そのフィールドもレスポンスに表示されます。
... name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID ...
REST
HL7v2 ストアの詳細を取得するには、projects.locations.datasets.hl7V2Stores.get
メソッドを使用します。
データをリクエストする前に、次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID
- LOCATION: データセットの場所
- DATASET_ID: HL7v2 ストアの親データセット
- HL7V2_STORE_ID: HL7v2 ストア ID
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID"
PowerShell
次のコマンドを実行します。
$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/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID" | Select-Object -Expand Content
API Explorer
メソッド リファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。必須フィールドを入力して、[Execute] をクリックします。
次のようなレスポンスが返されます。
Hl7V2Store
リソースでフィールドを構成した場合は、そのフィールドもレスポンスに表示されます。
Go
Java
Node.js
Python
データセット内の HL7v2 ストアの一覧表示
以下のサンプルは、データセット内の HL7v2 ストアを一覧表示する方法を示します。
Console
データセット内のデータストアを表示するには:
- Google Cloud コンソールで、[データセット] ページに移動します。
- 表示するデータストアを含むデータセットを選択します。
gcloud
データセット内の HL7v2 ストアを一覧表示するには、gcloud healthcare hl7v2-stores list
コマンドを実行します。
後述のコマンドデータを使用する前に、次のように置き換えます。
- LOCATION: データセットの場所
- DATASET_ID: HL7v2 ストアの親データセット
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud healthcare hl7v2-stores list --dataset=DATASET_ID \ --location=LOCATION
Windows(PowerShell)
gcloud healthcare hl7v2-stores list --dataset=DATASET_ID ` --location=LOCATION
Windows(cmd.exe)
gcloud healthcare hl7v2-stores list --dataset=DATASET_ID ^ --location=LOCATION
次のようなレスポンスが返されます。
Hl7V2Store
リソースでフィールドを構成した場合は、そのフィールドもレスポンスに表示されます。
ID LOCATION TOPIC HL7V2_STORE_ID LOCATION projects/PROJECT_ID/topics/PUBSUB_TOPIC PUBSUB_TOPIC ...
REST
データセット内の HL7v2 ストアを一覧表示するには、projects.locations.datasets.hl7V2Stores.list
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID
- LOCATION: データセットの場所
- DATASET_ID: HL7v2 ストアの親データセット
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores"
PowerShell
次のコマンドを実行します。
$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/LOCATION/datasets/DATASET_ID/hl7V2Stores" | Select-Object -Expand Content
API Explorer
メソッド リファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。必須フィールドを入力して、[Execute] をクリックします。
次のようなレスポンスが返されます。
Hl7V2Store
リソースでフィールドを構成した場合は、そのフィールドもレスポンスに表示されます。
Go
Java
Node.js
Python
HL7v2 ストアの削除
次のサンプルは、HL7v2 ストアを削除する方法を示しています。
Console
データストアを削除するには:
- Google Cloud コンソールで、[データセット] ページに移動します。
- 削除するデータストアを含むデータセットを選択します。
- 削除するデータストアの [アクション] プルダウン リストから [削除] を選択します。
- 確認のために、データストア名を入力して [削除] をクリックします。
gcloud
HL7v2 ストアを削除するには、gcloud healthcare hl7v2-stores delete
コマンドを実行します。
後述のコマンドデータを使用する前に、次のように置き換えます。
- LOCATION: データセットの場所
- DATASET_ID: HL7v2 ストアの親データセット
- HL7V2_STORE_ID: HL7v2 ストア ID
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud healthcare hl7v2-stores delete HL7V2_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
Windows(PowerShell)
gcloud healthcare hl7v2-stores delete HL7V2_STORE_ID ` --dataset=DATASET_ID ` --location=LOCATION
Windows(cmd.exe)
gcloud healthcare hl7v2-stores delete HL7V2_STORE_ID ^ --dataset=DATASET_ID ^ --location=LOCATION
Deleted hl7v2Store [HL7V2_STORE_ID].
REST
HL7v2 ストアを削除するには、projects.locations.datasets.hl7V2Stores.delete
メソッドを使用します。
データをリクエストする前に、次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID
- LOCATION: データセットの場所
- DATASET_ID: HL7v2 ストアの親データセット
- HL7V2_STORE_ID: HL7v2 ストア ID
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID"
PowerShell
次のコマンドを実行します。
$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/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID" | Select-Object -Expand Content
API Explorer
メソッド リファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。必須フィールドを入力して、[Execute] をクリックします。