本頁說明如何建立、編輯、查看及刪除健康狀態層級七 (國際版本 2) (HL7v2) 儲存區。HL7v2 儲存庫會保存 HL7v2 訊息,用於在系統之間傳輸臨床資料。
建立 HL7v2 儲存庫
建立 HL7v2 存放區前,請先建立資料集。
建立 HL7v2 儲存庫時,請指定 V3
剖析器版本。建立 HL7v2 存放區後,就無法變更剖析器版本。
下列範例說明如何使用 V3 剖析器建立 HL7v2 儲存區。
控制台
前往 Google Cloud 控制台的「Datasets」(資料集) 頁面。
選取要建立 HL7v2 存放區的資料集。系統隨即會顯示「資料集」頁面。
點按「add_box Create data store」(建立資料儲存庫)。系統隨即會顯示「建立資料儲存庫」頁面。
在「Type」(類型) 選單中,選取「HL7v2」。
在「ID」欄位中,輸入 HL7v2 儲存區的名稱。資料集中的名稱不得重複。如需更多命名規定,請參閱「允許使用的字元和大小規定」。
點選「下一步」。系統會顯示「設定 HL7v2 儲存庫」部分。
進行下列設定:
- 在「版本」部分,保留預設的「V3」選項。
- 如要允許建立及擷取沒有標頭的 HL7v2 訊息,請選取「允許空值的訊息標頭 (MSH)」。
- 如要設定自訂區段結束字元,請按一下「設定自訂區段結束字元」,然後在「區段結束字元」欄位中輸入結束字元。詳情請參閱「設定區隔終止符」。
- 如要拒絕與 HL7v2 儲存庫中現有 HL7v2 訊息具有相同原始位元組的傳入 HL7v2 訊息,請選取「拒絕重複訊息」。
點選「下一步」。系統會顯示「接收 Cloud Pub/Sub 通知」部分。
如要在 HL7v2 存放區發生臨床事件時收到 Pub/Sub 通知,請指定 Pub/Sub 主題。您必須先建立主題,才能在 HL7v2 儲存庫中設定主題。
點選「下一步」。系統會顯示「新增標籤以便整理資料儲存庫」部分。
如要為 HL7v2 儲存區新增一或多個鍵/值標籤,請按一下「新增標籤」add。如要進一步瞭解資源標籤,請參閱「使用資源標籤」。
按一下「建立」,系統會顯示「資料集」頁面,且 HL7v2 存放區會顯示在「資料存放區」表格中。
gcloud
如要建立 HL7v2 儲存庫,請執行 gcloud healthcare hl7v2-stores create
指令。
使用下列任何指令資料之前,請先替換以下項目:
PROJECT_ID
:您的 Google Cloud 專案 IDLOCATION
:資料集位置DATASET_ID
:HL7v2 存放區的父項資料集HL7V2_STORE_ID
: HL7v2 儲存區的 ID,須符合HL7v2 儲存區的字元和大小規定
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud healthcare hl7v2-stores create HL7V2_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ --parser-version=v3
Windows (PowerShell)
gcloud healthcare hl7v2-stores create HL7V2_STORE_ID ` --dataset=DATASET_ID ` --location=LOCATION ` --parser-version=v3
Windows (cmd.exe)
gcloud healthcare hl7v2-stores create HL7V2_STORE_ID ^ --dataset=DATASET_ID ^ --location=LOCATION ^ --parser-version=v3
您應該會收到類似以下的回應:
回應
Created hl7V2Store [HL7V2_STORE_ID].
REST
如要建立 HL7v2 儲存庫,請使用 projects.locations.datasets.hl7V2Stores.create
方法。
使用任何要求資料之前,請先替換以下項目:
PROJECT_ID
:您的 Google Cloud 專案 IDLOCATION
:資料集位置DATASET_ID
:HL7v2 存放區的父項資料集HL7V2_STORE_ID
: HL7v2 儲存區的 ID,須符合HL7v2 儲存區的字元和大小規定
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
APIs Explorer
複製要求內文並開啟方法參考資料頁面。系統會在頁面右側開啟 APIs Explorer 面板。您可以使用這項工具來傳送要求。將要求內文貼到這項工具中,並填妥其他必填欄位,然後按一下「Execute」(執行)。
您應該會收到如下的 JSON 回應:
Go
Java
Node.js
Python
使用 Pub/Sub 主題和篩選器
使用 Pub/Sub 和篩選器搭配 HL7v2 儲存區是常見的用途,特別是透過 TCP/IP 連線傳送 HL7v2 訊息時。
本頁面上的部分範例說明如何設定現有的 Pub/Sub 主題,讓 Cloud Healthcare API 將 HL7v2 儲存區中的臨床事件通知傳送至該主題。指定現有 Pub/Sub 主題和篩選器清單後,Cloud Healthcare API 就能將通知傳送至多個主題,您也可以使用篩選器限制要傳送的通知。如要進一步瞭解如何設定 Pub/Sub 主題和篩選器,請參閱「HL7v2 通知」 和「查看 HL7v2 通知」。
編輯 HL7v2 儲存庫
下列範例說明如何編輯 Pub/Sub 主題和篩選器清單,讓 Cloud Healthcare API 用於傳送 HL7v2 儲存庫變更通知。
此外,多個範例也說明如何編輯 HL7v2 儲存庫的標籤。
指定 Pub/Sub 主題時,請輸入主題的完整 URI,如下列範例所示:projects/PROJECT_ID/topics/PUBSUB_TOPIC
控制台
如要編輯 HL7v2 儲存庫,請完成下列步驟:
- 前往 Google Cloud 控制台的「Datasets」(資料集) 頁面。
- 選取要編輯 HL7v2 儲存庫的資料集。
- 在「資料儲存庫」清單中,點選要編輯的資料儲存庫。
- 如要編輯 HL7v2 儲存庫的設定,請按一下「HL7v2 Store Configuration」(HL7v2 儲存庫設定)。
如要進一步瞭解 HL7v2 儲存庫的設定選項,請參閱「建立 HL7v2 儲存庫」。 - 如要為資料儲存庫設定 Pub/Sub 主題,請按一下「新增 Pub/Sub 主題」,然後選取主題名稱。指定 Pub/Sub 主題時,請輸入主題的完整 URI,如下列範例所示:
projects/PROJECT_ID/topics/PUBSUB_TOPIC
- 如果已新增 Pub/Sub 主題,請按一下「完成」。
- 如要為商店新增一或多個標籤,請按一下「標籤」使用資源標籤」。 ,然後按一下「新增標籤」,並輸入鍵/值標籤。如要進一步瞭解資源標籤,請參閱「
- 按一下 [儲存]。
gcloud
gcloud CLI 不支援這項操作。請改用 Google Cloud 控制台、curl
、PowerShell 或偏好的語言。
REST
如要編輯 HL7v2 儲存庫,請使用 projects.locations.datasets.hl7V2Stores.patch
方法。
執行下列範例前,您必須在專案中建立至少一個 Pub/Sub 主題。
使用任何要求資料之前,請先替換以下項目:
- 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:第二個標籤鍵
- VALUE2:第二個標籤值
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
APIs Explorer
複製要求內文並開啟方法參考資料頁面。系統會在頁面右側開啟 APIs Explorer 面板。您可以使用這項工具來傳送要求。將要求內文貼到這項工具中,並填妥其他必填欄位,然後按一下「Execute」(執行)。
您應該會收到如下的 JSON 回應:
Go
Java
Node.js
Python
取得 HL7v2 儲存庫詳細資料
下列範例說明如何取得 HL7v2 存放區的詳細資料。
控制台
如要查看 HL7v2 儲存庫的詳細資料,請按照下列步驟操作:
- 前往 Google Cloud 控制台的「Datasets」(資料集) 頁面。
- 選取包含要查看 HL7v2 存放區的資料集。
- 按一下 HL7v2 儲存庫的名稱。
「Datastore details」(資料儲存庫詳細資料) 頁面會顯示所選 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
APIs Explorer
開啟方法參考頁面。系統會在頁面右側開啟 APIs Explorer 面板。您可以使用這項工具來傳送要求。完成任何必填欄位,然後按一下「執行」。
您應該會收到類似以下的回覆。
如果您在 Hl7V2Store
資源中設定任何欄位,這些欄位也會顯示在回應中。
Go
Java
Node.js
Python
列出資料集中的 HL7v2 存放區
下列範例說明如何列出資料集中的 HL7v2 存放區。
控制台
如要查看資料集中的資料儲存庫:
- 前往 Google Cloud 控制台的「Datasets」(資料集) 頁面。
- 選取包含要查看資料儲存庫的資料集。
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
APIs Explorer
開啟方法參考頁面。系統會在頁面右側開啟 APIs Explorer 面板。您可以使用這項工具來傳送要求。完成任何必填欄位,然後按一下「執行」。
您應該會收到類似以下的回覆。
如果您在 Hl7V2Store
資源中設定任何欄位,這些欄位也會顯示在回應中。
Go
Java
Node.js
Python
刪除 HL7v2 儲存庫
下列範例說明如何刪除 HL7v2 存放區。
控制台
如何刪除資料儲存庫:
- 前往 Google Cloud 控制台的「Datasets」(資料集) 頁面。
- 選取要刪除資料存放區的資料集。
- 在要刪除的資料存放區「動作」下拉式清單中,選擇「刪除」。
- 如要確認,請輸入資料儲存庫名稱,然後按一下「Delete」(刪除)。
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
APIs Explorer
開啟方法參考頁面。系統會在頁面右側開啟 APIs Explorer 面板。您可以使用這項工具來傳送要求。完成任何必填欄位,然後按一下「執行」。