このページでは、HL7v2 メッセージの取り込み、作成、ラベル付け、リスト表示、削除の方法について説明します。 HL7v2 メッセージは、システム間で臨床データを送信するために使用されます。HL7v2 メッセージには、所見、薬局に送信するための処方箋、金融取引、その他の臨床イベントに関する情報が含まれる場合があります。
HL7v2 メッセージの作成と取り込みの概要
次のいずれかの方法を使用して、Cloud Healthcare API に HL7v2 メッセージを保存します。
messages.ingest を使用すると、メソッドは次のいずれかを含むレスポンスを生成します。
- 成功した場合は HL7v2 確認応答(
ACK)メッセージ - エラーがある場合は否定応答(
NACK)メッセージ
ACK メッセージと NACK メッセージは、これらの確認応答を要求する HL7v2 インターフェース システムに応答するために使用されます。
MLLP アダプターを使用したメッセージの取り込みと作成
HL7v2 メッセージは、最小階層プロトコル(MLLP)を使用して、医療システムと Cloud Healthcare API の間で配信されます。詳細については、MLLP と Google Cloud Platform MLLP アダプターをご覧ください。Cloud Healthcare API と安全に通信できるように MLLP アダプターを構成する方法については、TCP/IP 接続を介した HL7v2 メッセージの送信をご覧ください。
HL7v2 メッセージの取り込み
Cloud Healthcare API が医療システムからメッセージを取り込んだ後、Cloud Healthcare API は、次の特性を持つ base64 エンコードされた HL7v2 メッセージを含む hl7ack フィールドを含んだレスポンスを生成します。
- メッセージタイプは
ACKです。 - 送信側と受信側は逆になり、送信側アプリケーションと受信側アプリケーションは逆になります。
- メッセージの送信時刻は現在の時刻であり、新しいコントロール ID が生成されます。
MSH-9.1フィールドの値はメッセージ タイプを定義します。MSA.1フィールドの値はレスポンス タイプを定義します。AAレスポンス タイプはApplication Acceptを示し、メッセージが検証されて正常に取り込まれたことを意味します。MSA.2値には元のメッセージのコントロール ID が含まれています。
次のサンプルは、projects.locations.datasets.hl7V2Stores.messages.ingest メソッドを使用して HL7v2 メッセージを取り込む方法を示しています。
curl
HL7v2 メッセージを取り込むには、POST リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
Message
次のサンプルは、curl を使用した POST リクエストと hl7v2-sample.json というサンプル JSON ファイルを示しています。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default 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/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages:ingest"
次のサンプル レスポンスは、hl7Ack とメッセージの詳細を示しています。
{
"hl7Ack": "TVNIfF5+XCZ8QXxBfEF8U0VORF9GQUNJTElUWXwyMDIwMDIxNDIxMjAwNXx8QUNLfDFmMmQ1MjQzLTFhOWEtNGE4My05ZmI5LWNlNTIzMTVmZjk2M3xUfDAuMA1NU0F8QUF8MjAxODAxMDEwMDAwMDA=",
"message": {
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID",
"data": "TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZfEF8QXwyMDE4MDEwMTAwMDAwMHx8VFlQRV5BfDIwMTgwMTAxMDAwMDAwfFR8MC4wfHx8QUF8fDAwfEFTQ0lJDUVWTnxBMDB8MjAxODAxMDEwNDAwMDANUElEfHwxNAExMTFeXl5eTVJOfDExMTExMTExXl5eXk1STn4xMTExMTExMTExXl5eXk9SR05NQlI=",
"sendFacility": "SEND_FACILITY",
"sendTime": "2018-01-01T00:00:00Z",
"messageType": "TYPE",
"createTime": "CREATE_TIME",
"patientIds": [
{
"value": "14\u0001111",
"type": "MRN"
},
{
"value": "11111111",
"type": "MRN"
},
{
"value": "1111111111",
"type": "ORGNMBR"
}
]
}
}
PowerShell
HL7v2 メッセージを取り込むには、POST リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
Message
次のサンプルは、Windows PowerShell を使用した POST リクエストと hl7v2-sample.json というサンプル JSON ファイルを示しています。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile hl7v2-sample.json ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages:ingest" | Select-Object -Expand Content
次のサンプル レスポンスは、hl7Ack とメッセージの詳細を示しています。
{
"hl7Ack": "TVNIfF5+XCZ8QXxBfEF8U0VORF9GQUNJTElUWXwyMDIwMDIxNDIxMjAwNXx8QUNLfDFmMmQ1MjQzLTFhOWEtNGE4My05ZmI5LWNlNTIzMTVmZjk2M3xUfDAuMA1NU0F8QUF8MjAxODAxMDEwMDAwMDA=",
"message": {
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID",
"data": "TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZfEF8QXwyMDE4MDEwMTAwMDAwMHx8VFlQRV5BfDIwMTgwMTAxMDAwMDAwfFR8MC4wfHx8QUF8fDAwfEFTQ0lJDUVWTnxBMDB8MjAxODAxMDEwNDAwMDANUElEfHwxNAExMTFeXl5eTVJOfDExMTExMTExXl5eXk1STn4xMTExMTExMTExXl5eXk9SR05NQlI=",
"sendFacility": "SEND_FACILITY",
"sendTime": "2018-01-01T00:00:00Z",
"messageType": "TYPE",
"createTime": "CREATE_TIME",
"patientIds": [
{
"value": "14\u0001111",
"type": "MRN"
},
{
"value": "11111111",
"type": "MRN"
},
{
"value": "1111111111",
"type": "ORGNMBR"
}
]
}
}
Go
Java
Node.js
Python
HL7v2 メッセージの作成
次のサンプルは、projects.locations.datasets.hl7V2Stores.messages.create メソッドを使用して HL7v2 メッセージを作成する方法を示しています。
REST
HL7v2 メッセージを作成するには、projects.locations.datasets.hl7V2Stores.messages.create メソッドを使用します。
サンプル コマンドで使用する HL7v2 メッセージ ファイルが必要な場合は、hl7v2-sample.json JSON ファイルをダウンロードできます。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID
- LOCATION: データセットの場所
- DATASET_ID: HL7v2 ストアの親データセット
- HL7V2_STORE_ID: HL7v2 ストア ID
- HL7V2_MESSAGE_FILE: ローカルマシン上の HL7v2 メッセージを含む JSON 形式のファイルへのパス
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
--data-binary @HL7V2_MESSAGE_FILE \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages"
PowerShell
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-InFile HL7V2_MESSAGE_FILE `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages" | Select-Object -Expand Content
API Explorer
メソッド リファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。必須フィールドを入力して、[Execute] をクリックします。
hl7v2-sample.json JSON ファイルを使用してメッセージを作成すると、次の出力が返されます。
Go
Java
Node.js
Python
HL7v2 メッセージ セグメントの区切り文字とエンコード
HL7v2 のデフォルトのセグメント区切り文字は、改行(\r)です。ほとんどのテキスト エディタでは、区切り文字として改行(\n)文字を使用しています。この結果、デフォルトで構成したのではHL7v2 メッセージは、Cloud Healthcare API には取り込めないことになります。HL7v2 ストアがセグメント区切り文字として改行文字を使用したメッセージを取り込めるようにするには、セグメント ターミネータの設定をご覧ください。
ファイル内の改行文字を復帰文字に変換するには、Linux シェルで次のコマンドを実行します。
sed -z 's/\n/\r/g' INPUT_FILENAME > OUTPUT_FILENAME
取り込みメソッドと作成メソッドは、HL7v2 メッセージが base64 でエンコードされた文字列であることを想定しています。文字列を base64 エンコードに変換するには、Linux のシェルで次のコマンドを実行します。
openssl base64 -A -in ./INPUT_FILENAME -out ./OUTPUT_FILENAME
セグメント ターミネータの設定
データを作成または取り込む場合、HL7v2 メッセージ形式では、戻り文字 \r を使用してセグメントを終了する必要があります。HL7v2 ストアは、\n などの非標準ターミネータを含む HL7v2 メッセージを受け入れるように構成できます。
次の HL7v2 メッセージでは、デフォルトの \r がセグメント ターミネータとして使用されていると考えます。このメッセージは、HL7v2 ストアを作成する際にはデフォルトで承認されます。
MSH|^~\\&|FROM_APP|FROM_FACILITY|TO_APP|TO_FACILITY|20150503223000||ADT^A01|20150503223000|P|2.5|\r EVN|A01|20110613083617|\r PID|1||21004053^^^^MRN||SULLY^BRIAN||19611209|M|||123 MAIN ST^^MOUNTAIN SPRINGS^CO^80439|\r PV1||I|H73 RM1^1^^HIGHWAY 73 CLINIC||||5148^MARY QUINN|||||||||Y||||||||||||||||||||||||||||20150503223000|\r
次のメッセージは、前のメッセージと同じですが、セグメントの終了文字として \n が使用されています。
MSH|^~\\&|FROM_APP|FROM_FACILITY|TO_APP|TO_FACILITY|20150503223000||ADT^A01|20150503223000|P|2.5|\n EVN|A01|20110613083617|\n PID|1||21004053^^^^MRN||SULLY^BRIAN||19611209|M|||123 MAIN ST^^MOUNTAIN SPRINGS^CO^80439|\n PV1||I|H73 RM1^1^^HIGHWAY 73 CLINIC||||5148^MARY QUINN|||||||||Y||||||||||||||||||||||||||||20150503223000|\n
メッセージを非標準ターミネータで保存するには、HL7v2 ストアで ParserConfig オブジェクトを構成し、segmentTerminator フィールドを \n の base64 エンコードに設定します。
次のサンプルは、HL7v2 ストアを作成するときに ParserConfig で segmentTerminator を構成する方法を示しています。既存の HL7v2 ストアがある場合は、編集して ParserConfig 本文を指定できます。セグメント ターミネータを設定したら、メッセージの作成または取り込みができます。
curl
セグメント ターミネータを \n に設定して HL7v2 ストアを作成するには、POST リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
segmentTerminatorがCg==に設定されたparserConfigオブジェクト(\nの base64 エンコード)
次のサンプルは、curlを使用した POST リクエストを示しています。
curl -X POST \ --data "{ 'parserConfig': { 'segmentTerminator': 'Cg==' } }" \ -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/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID"
リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。
{
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID",
"parserConfig": {
"segmentTerminator": "Cg=="
}
}
PowerShell
セグメント ターミネータを \n に設定して HL7v2 ストアを作成するには、POST リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
segmentTerminatorがCg==に設定されたparserConfigオブジェクト(\nの base64 エンコード)
次のサンプルは、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" ` -Body "{ 'parserConfig': { 'segmentTerminator': 'Cg==' } } ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID" | Select-Object -Expand Content
リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。
{
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID",
"parserConfig": {
"segmentTerminator": "Cg=="
}
}
null セグメント ヘッダーの使用
メッセージ ヘッダー セグメント(MSH)がない HL7v2 メッセージは、セグメント ヘッダーが null となります。通常、HL7v2 メッセージには、メッセージのソース、インテント、目的、宛先などのメタデータを定義する MSH が含まれます。MSH を使用すると、メッセージを検索してフィルタできます。ただし、HL7v2 ストアで ParserConfig オブジェクトを構成し、allowNullHeader フィールドを true に設定することで、MSH を含まないメッセージを保存できます。
以下のサンプル メッセージには Patient Identification(PID)セグメントが含まれていますが、MSH は含まれていません。
PID|1||21004053^^^^MRN||SULLY^BRIAN||19611209|M|||123 MAIN ST^^MOUNTAIN SPRINGS^CO^80439
次のサンプルは、HL7v2 ストアを作成するときに ParserConfig で allowNullHeader を構成する方法を示しています。既存の HL7v2 ストアがある場合は、編集して ParserConfig 本文を指定できます。allowNullHeader を true に設定すると、セグメント ヘッダーが null のメッセージを作成または取り込むことができます。
curl
HL7v2 ストアを作成し、MSH を含まないメッセージを保存するには、POST リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
allowNullHeaderがtrueに設定されたparserConfigオブジェクト
次のサンプルは、curlを使用した POST リクエストを示しています。
curl -X POST \ --data "{ 'parserConfig': { 'allowNullHeader': true } }" \ -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/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID"
リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。
{
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID",
"parserConfig": {
"allowNullHeader": true
}
}
PowerShell
HL7v2 ストアを作成し、MSH を含まないメッセージを保存するには、POST リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
allowNullHeaderがtrueに設定されたparserConfigオブジェクト
次のサンプルは、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" ` -Body "{ 'parserConfig': { 'nullTerminator': true } } ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID" | Select-Object -Expand Content
リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。
{
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID",
"parserConfig": {
"allowNullHeader": true
}
}
HL7v2 メッセージへのラベル付け
1 つのメッセージに 1 つ以上の Key-Value ラベルを追加できます。ラベルのユースケースの 1 つは、ステータス ラベルをメッセージに追加し、アプリケーションがステータスごとにメッセージをクエリできるようにすることです。
次のサンプルは、projects.locations.datasets.hl7V2Stores.messages.patch メソッドを使用して HL7v2 メッセージにラベルを追加する方法を示しています。
curl
HL7v2 メッセージにラベルを追加するには、PATCH リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
- メッセージ ID
- 更新するラベルデータ
- 更新マスク
次のサンプルは、curlを使用した PATCH リクエストを示しています。
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'labels': { 'KEY' : 'VALUE' } }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?updateMask=labels"
リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。
{
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID",
"data": "DATA",
"sendFacility": "SEND_FACILITY",
"sendTime": "2018-01-01T00:00:00Z",
"messageType": "TYPE",
"createTime": "CREATE_TIME",
"patientIds": [
{
"value": "VALUE_1",
"type": "TYPE_1"
},
{
"value": "VALUE_2",
"type": "TYPE_2"
}
],
"labels": {
"KEY": "VALUE"
}
}
PowerShell
HL7v2 メッセージにラベルを追加するには、PATCH リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
- メッセージ ID
- 更新するラベルデータ
- 更新マスク
次のサンプルは、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 "{ 'labels': { 'KEY': 'VALUE' } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?updateMask=labels" | Select-Object -Expand Content
リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。
{
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID",
"data": "DATA",
"sendFacility": "SEND_FACILITY",
"sendTime": "2018-01-01T00:00:00Z",
"messageType": "TYPE",
"createTime": "CREATE_TIME",
"patientIds": [
{
"value": "VALUE_1",
"type": "TYPE_1"
},
{
"value": "VALUE_2",
"type": "TYPE_2"
}
],
"labels": {
"KEY": "VALUE"
}
}
Go
Java
Node.js
Python
HL7v2 メッセージ コンテンツの取得
次のサンプルは、projects.locations.datasets.hl7V2Stores.messages.get メソッドを使用して HL7v2 メッセージの内容を取得する方法を示しています。取得するメッセージの部分を決定するには、view クエリ パラメータに次のいずれかのオプションを指定します。
BASIC:nameフィールドのみを含めます。RAW_ONLY:parsedDataフィールドを除くすべてのメッセージ フィールドを含めます。PARSED_ONLY:dataフィールドを除くすべてのメッセージ フィールドを含めます。FULL: すべてのメッセージ フィールドを含めます。これがデフォルトです。
次のサンプルは、FULL、RAW_ONLY、PARSED_ONLY ビューを使用して HL7v2 メッセージの内容を取得する方法を示しています。
FULL ビューの使用
FULL ビューを明示的に設定する必要はありません。FULL がデフォルト値です。ただし、次の curl と Windows PowerShell のサンプルでは、完全性を確保するため FULL ビューがクエリ パラメータとして追加されています。
curl
FULL ビューを使用して HL7v2 メッセージの内容を取得するには、GET リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
- メッセージ ID
viewとしてFULL
次のサンプルは、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/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?view=FULL"
リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。
{
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID",
"data": "DATA",
"sendFacility": "SEND_FACILITY",
"sendTime": "2018-01-01T00:00:00Z",
"messageType": "TYPE",
"createTime": "CREATE_TIME",
"patientIds": [
{
"value": "VALUE_1",
"type": "TYPE_1"
},
{
"value": "VALUE_2",
"type": "TYPE_2"
},
{
"value": "VALUE_3",
"type": "TYPE_3"
}
],
"parsedData": {
"segments": [
{
""segmentId": "SEGMENT_ID_1",
"fields": {
FIELDS_1
}
},
{
"segmentId": "SEGMENT_ID_2",
"fields": {
FIELDS_2
}
},
{
"segmentId": "SEGMENT_ID_3",
"fields": {
FIELDS_3
}
}
]
}
}
PowerShell
FULL ビューを使用して HL7v2 メッセージの内容を取得するには、GET リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
- メッセージ ID
viewとしてFULL
次のサンプルは、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/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?view=FULL" | Select-Object -Expand Content
リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。
{
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID",
"data": "DATA",
"sendFacility": "SEND_FACILITY",
"sendTime": "2018-01-01T00:00:00Z",
"messageType": "TYPE",
"createTime": "CREATE_TIME",
"patientIds": [
{
"value": "VALUE_1",
"type": "TYPE_1"
},
{
"value": "VALUE_2",
"type": "TYPE_2"
},
{
"value": "VALUE_3",
"type": "TYPE_3"
}
],
"parsedData": {
"segments": [
{
""segmentId": "SEGMENT_ID_1",
"fields": {
FIELDS_1
}
},
{
"segmentId": "SEGMENT_ID_2",
"fields": {
FIELDS_2
}
},
{
"segmentId": "SEGMENT_ID_3",
"fields": {
FIELDS_3
}
}
]
}
}
Go
Java
Node.js
Python
RAW_ONLY ビューの使用
次のサンプルは、parsedData を除くすべてのメッセージ フィールドを含む RAW_ONLY ビューを使用して、HL7v2 メッセージの内容を取得する方法を示しています。
curl
RAW_ONLY ビューを使用して HL7v2 メッセージの内容を取得するには、GET リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
- メッセージ ID
- ビューとして
RAW_ONLY
次のサンプルは、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/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?view=RAW_ONLY"
リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。
{
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID",
"data": "DATA",
"sendFacility": "SEND_FACILITY",
"sendTime": "2018-01-01T00:00:00Z",
"messageType": "TYPE",
"createTime": "CREATE_TIME",
"patientIds": [
{
"value": "VALUE_1",
"type": "TYPE_1"
},
{
"value": "VALUE_2",
"type": "TYPE_2"
},
{
"value": "VALUE_3",
"type": "TYPE_3"
}
]
}
PowerShell
RAW_ONLY ビューを使用して HL7v2 メッセージの内容を取得するには、GET リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
- メッセージ ID
- ビューとして
RAW_ONLY
次のサンプルは、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/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?view=RAW_ONLY" | Select-Object -Expand Content
リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。
{
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID",
"data": "DATA",
"sendFacility": "SEND_FACILITY",
"sendTime": "2018-01-01T00:00:00Z",
"messageType": "TYPE",
"createTime": "CREATE_TIME",
"patientIds": [
{
"value": "VALUE_1",
"type": "TYPE_1"
},
{
"value": "VALUE_2",
"type": "TYPE_2"
},
{
"value": "VALUE_3",
"type": "TYPE_3"
}
]
}
PARSED_ONLY ビューの使用
次のサンプルは、data を除くすべてのメッセージ フィールドを含む PARSED_ONLY ビューを使用して、HL7v2 メッセージの内容を取得する方法を示しています。
curl
PARSED_ONLY ビューを使用して HL7v2 メッセージの内容を取得するには、GET リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
- メッセージ ID
- ビューとして
PARSED_ONLY
次のサンプルは、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/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?view=PARSED_ONLY"
リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。
{
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID",
"sendFacility": "SEND_FACILITY",
"sendTime": "2018-01-01T00:00:00Z",
"messageType": "TYPE",
"createTime": "CREATE_TIME",
"patientIds": [
{
"value": "VALUE_1",
"type": "TYPE_1"
},
{
"value": "VALUE_2",
"type": "TYPE_2"
},
{
"value": "VALUE_3",
"type": "TYPE_3"
}
],
"parsedData": {
"segments": [
{
"segmentId": "SEGMENT_ID_1",
"fields": {
FIELDS_1
}
},
{
"segmentId": "SEGMENT_ID_2",
"fields": {
FIELDS_2
}
},
{
"segmentId": "SEGMENT_ID_3",
"fields": {
FIELDS_3
}
}
]
}
}
PowerShell
PARSED_ONLY ビューを使用して HL7v2 メッセージの内容を取得するには、GET リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
- メッセージ ID
- ビューとして
PARSED_ONLY
次のサンプルは、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/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?view=PARSED_ONLY" | Select-Object -Expand Content
リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。
{
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID",
"sendFacility": "SEND_FACILITY",
"sendTime": "2018-01-01T00:00:00Z",
"messageType": "TYPE",
"createTime": "CREATE_TIME",
"patientIds": [
{
"value": "VALUE_1",
"type": "TYPE_1"
},
{
"value": "VALUE_2",
"type": "TYPE_2"
},
{
"value": "VALUE_3",
"type": "TYPE_3"
}
],
"parsedData": {
"segments": [
{
"segmentId": "SEGMENT_ID_1",
"fields": {
FIELDS_1
}
},
{
"segmentId": "SEGMENT_ID_2",
"fields": {
FIELDS_2
}
},
{
"segmentId": "SEGMENT_ID_3",
"fields": {
FIELDS_3
}
}
]
}
}
BASIC ビューの使用
次のサンプルは、name フィールドのみを含む BASIC ビューを使用して HL7v2 メッセージのコンテンツを取得する方法を示しています。
curl
BASIC ビューを使用して HL7v2 メッセージの内容を取得するには、GET リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
- メッセージ ID
- ビューとして
BASIC
次のサンプルは、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/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?view=BASIC"
リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。
{
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID"
}
PowerShell
BASIC ビューを使用して HL7v2 メッセージの内容を取得するには、GET リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
- メッセージ ID
- ビューとして
BASIC
次のサンプルは、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/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?view=BASIC" | Select-Object -Expand Content
リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。
{
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID"
}
HL7v2 メッセージのリスト出力
以下のサンプルは、このメソッドを使用して HL7v2 ストア内のメッセージを一覧表示する方法を示しています。リストに含める各メッセージに関する情報を決定するには、次のいずれかのオプションを使用して view クエリ パラメータを指定します。
BASIC:nameフィールドのみを含めます。これがデフォルトです。RAW_ONLY:parsedDataフィールドを除くすべてのメッセージ フィールドを含めます。PARSED_ONLY:dataフィールドを除くすべてのメッセージ フィールドを含めます。FULL: すべてのメッセージ フィールドを含めます。
curl
HL7v2 ストア内のメッセージを一覧表示するには、GET リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
viewについて、BASIC、RAW_ONLY、PARSED_ONLYのいずれか 1 つ、またはFULL、またはデフォルトのBASICを使用しない。
次のサンプルは、curl を使用した GET リクエストを示しています。このリクエストでは、すべてのメッセージ フィールドを含めるように ?view=FULL を指定しています。
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/hl7V2Stores/HL7V2_STORE_ID/messages?view=FULL"
リクエストが成功すると、サーバーは 200 OK HTTP ステータス コードと hl7_v2_messages という名前のメッセージの配列を返します。次のサンプル レスポンスは切り捨てられます。
{
"hl7_v2_messages": [
{
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID",
"data": "DATA",
"sendFacility": "SEND_FACILITY",
"sendTime": "SEND_TIME",
"messageType": "MESSAGE_TYPE",
"createTime": "CREATE_TIME",
...
},
...
]
}
PowerShell
HL7v2 ストア内のメッセージを一覧表示するには、GET リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
viewについて、BASIC、RAW_ONLY、PARSED_ONLYのいずれか 1 つ、またはFULL、またはデフォルトのBASICを使用しない。
次のサンプルは、Windows PowerShell を使用した GET リクエストを示しています。このリクエストでは、すべてのメッセージ フィールドを含めるように ?view=FULL を指定しています。
$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/hl7V2Stores/HL7V2_STORE_ID/messages?view=FULL" | Select-Object -Expand Content
リクエストが成功すると、サーバーは JSON 形式でレスポンスを返します。サンプル レスポンスは切り捨てられます。
{
"hl7_v2_messages": [
{
"name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID",
"data": "DATA",
"sendFacility": "SEND_FACILITY",
"sendTime": "SEND_TIME",
"messageType": "MESSAGE_TYPE",
"createTime": "CREATE_TIME",
...
},
...
]
}
Go
Java
Node.js
Python
HL7v2 メッセージの削除
次のサンプルは、projects.locations.datasets.hl7V2Stores.messages.delete メソッドを使用して HL7v2 メッセージを削除する方法を示しています。
curl
HL7v2 メッセージを削除するには、DELETE リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
- HL7v2 メッセージ ID
次のサンプルは、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/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID"
リクエストが成功すると、サーバーは空のレスポンス本文を JSON 形式で返します。
{}
PowerShell
HL7v2 メッセージを削除するには、DELETE リクエストを行い、次の情報を指定します。
- 親データセットの名前と場所
- HL7v2 ストアの名前。
- HL7v2 メッセージ ID
次のサンプルは、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/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID" | Select-Object -Expand Content
リクエストが成功すると、サーバーは JSON 形式の空のレスポンス本文を返します。
{}