本頁說明如何擷取、建立、標記、列出、查看及刪除 HL7v2 訊息。HL7v2 訊息用於在系統之間傳輸臨床資料。HL7v2 訊息可能包含觀察結果、要傳送給藥局的處方、金融交易或其他臨床事件的相關資訊。
建立及擷取 HL7v2 訊息的簡介
如要在 Cloud Healthcare API 中儲存 HL7v2 訊息,請使用下列任一方法:
使用 messages.ingest
時,這個方法會產生包含下列其中一項內容的回應:
- 成功時的 HL7v2 應答 (
ACK
) 訊息 - 發生錯誤時的否定確認 (
NACK
) 訊息
ACK
和 NACK
訊息用於回覆預期收到這些確認訊息的 HL7v2 介面系統。
使用 MLLP 介面卡擷取及建立訊息
醫療照護系統與 Cloud Healthcare API 之間會使用基本較低層通訊協定 (MLLP) 傳送 HL7v2 訊息。詳情請參閱「MLLP and the Google Cloud Platform MLLP adapter」。如要瞭解如何設定 MLLP 配接器,與 Cloud Healthcare API 進行安全通訊,請參閱「透過 TCP/IP 連線傳送 HL7v2 訊息」。
擷取 HL7v2 訊息
Cloud Healthcare API 從照護系統擷取訊息後,會產生包含 hl7ack
欄位的回應,其中包含經過 Base64 編碼的 HL7v2 訊息,並具有下列特徵:
- 訊息類型為
ACK
。 - 傳送設施和接收設施會反向運作,傳送應用程式和接收應用程式也會反向運作。
- 郵件的傳送時間為目前時間,且系統會產生新的控制 ID。
MSH-9.1
欄位的值會定義訊息類型。MSA.1
欄位的值會定義回應類型。AA
回應類型表示Application Accept
,也就是說,系統已驗證並成功擷取訊息。MSA.2
值包含原始訊息的控制項 ID。
下列範例說明如何使用 projects.locations.datasets.hl7V2Stores.messages.ingest
方法擷取 HL7v2 訊息。
curl
如要擷取 HL7v2 訊息,請提出 POST
要求並指定下列資訊:
- 父項資料集的名稱和位置
- HL7v2 儲存庫名稱
- A
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 儲存庫名稱
- A
Message
以下範例顯示使用 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
APIs Explorer
開啟方法參考頁面。系統會在頁面右側開啟 APIs Explorer 面板。您可以使用這項工具來傳送要求。完成任何必填欄位,然後按一下「執行」。
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 儲存庫設定成接受使用非標準結束字元的 HL7v2 訊息,例如 \n
。
請參考下列 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
如要建立 HL7v2 儲存庫,並將區段結束字元設為 \n
,請提出 POST
要求並指定下列資訊:
- 父項資料集的名稱和位置
- HL7v2 儲存庫名稱
parserConfig
物件,且segmentTerminator
設為Cg==
(\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
如要建立 HL7v2 儲存庫,並將區段結束字元設為 \n
,請提出 POST
要求並指定下列資訊:
- 父項資料集的名稱和位置
- HL7v2 儲存庫名稱
parserConfig
物件,且segmentTerminator
設為Cg==
(\n
的 Base64 編碼)
以下範例顯示如何使用 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==" } }
使用空值區隔標頭
如果 HL7v2 訊息沒有訊息標頭區段 (MSH),就會有空值區段標頭。一般來說,HL7v2 訊息會包含 MSH,用於定義訊息的來源、意圖、目的和目的地等中繼資料。MSH 可讓您搜尋及篩選訊息。不過,您可以設定 HL7v2 儲存庫中的 ParserConfig
物件,並將 allowNullHeader
欄位設為 true
,即可儲存不含 MSH 的訊息。
下列範例訊息包含病患 ID (PID) 區段,但沒有 MSH:
PID|1||21004053^^^^MRN||SULLY^BRIAN||19611209|M|||123 MAIN ST^^MOUNTAIN SPRINGS^CO^80439
下列範例說明如何建立 HL7v2 儲存庫時,在 ParserConfig
中設定 allowNullHeader
。如果您有現有的 HL7v2 儲存庫,可以編輯並提供 ParserConfig
主體。將 allowNullHeader
設為 true
後,您就可以建立或擷取含有空值區隔標題的訊息。
curl
如要建立 HL7v2 儲存庫並儲存不含 MSH 的訊息,請提出 POST
要求並指定下列資訊:
- 父項資料集的名稱和位置
- HL7v2 儲存庫名稱
parserConfig
物件,且allowNullHeader
設為true
以下範例顯示如何使用 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 儲存庫名稱
parserConfig
物件,且allowNullHeader
設為true
以下範例顯示如何使用 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 訊息加上標籤
您可以在訊息中新增一或多個鍵/值標籤。標籤的用途之一是為郵件加上狀態標籤,讓應用程式可以依狀態查詢郵件。
下列範例說明如何使用 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
- 要更新的標籤資料
- 更新遮罩
以下範例顯示如何使用 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
和 PowerShell 範例中,為求完整,FULL
檢視畫面會以查詢參數的形式新增。
curl
如要使用 FULL
檢視畫面取得 HL7v2 訊息內容,請提出 GET
要求並指定下列資訊:
- 父項資料集的名稱和位置
- HL7v2 儲存庫名稱
- 訊息 ID
FULL
,例如view
以下範例顯示如何使用 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
FULL
,例如view
以下範例顯示如何使用 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
檢視畫面
以下範例說明如何使用 RAW_ONLY
檢視畫面取得 HL7v2 訊息內容,包括除了 parsedData
以外的所有訊息欄位。
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
做為檢視畫面
以下範例顯示如何使用 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
檢視畫面
以下範例說明如何使用 PARSED_ONLY
檢視畫面取得 HL7v2 訊息內容,包括除了 data
以外的所有訊息欄位。
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
做為檢視畫面
以下範例顯示如何使用 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
檢視畫面
下列範例說明如何使用 BASIC
檢視畫面取得 HL7v2 訊息的內容,其中只包含 name
欄位。
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
做為檢視畫面
以下範例顯示如何使用 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
或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
或FULL
其中之一,或省略以使用BASIC
的預設值
以下範例顯示如何使用 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
以下範例顯示如何使用 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 格式傳回空白的回應主體:
{}