本頁說明如何建立、編輯、查看及刪除 Health Level Seven 2.x 版 (HL7v2) 儲存庫。HL7v2 儲存庫會儲存 HL7v2 訊息,用於在系統之間傳輸臨床資料。
建立 HL7v2 儲存庫
您必須先建立資料集,才能建立 HL7v2 存放區。
建立 HL7v2 儲存庫時,請指定 V3
剖析器版本。建立 HL7v2 儲存庫後,您就無法變更剖析器版本。
以下範例說明如何使用 V3 剖析器建立 HL7v2 儲存庫。
控制台
在 Google Cloud 控制台中,前往「Datasets」(資料集) 頁面。
選取要建立 HL7v2 儲存庫的資料集。系統隨即會顯示「Dataset」(資料集) 頁面。
按一下 add_box「Create data store」(建立資料儲存庫)。系統會顯示「Create data store」(建立資料儲存庫) 頁面。
在「Type」選單中,選取「HL7v2」。
在「ID」欄位中,輸入 HL7v2 儲存庫的名稱。這個名稱在資料集中不得重複。如需更多命名規定,請參閱「允許的字元和大小限制」。
點選「下一步」。系統會顯示「Configure your HL7v2 store」部分。
進行下列設定:
- 在「Version」部分,保留預設的「V3」選項。
- 如要允許建立及擷取沒有標頭的 HL7v2 訊息,請選取「允許空值的訊息標頭 (MSH)」。
- 如要設定自訂區段結束字元,請按一下「設定自訂區段結束字元」,然後在「區段結束字元」欄位中輸入結束字元。詳情請參閱「設定區段終結符」。
- 如要拒絕傳入的 HL7v2 訊息,因為該訊息與 HL7v2 儲存庫中已存在的 HL7v2 訊息具有相同的原始位元組,請選取「Reject duplicate messages」(拒絕重複訊息)。
點選「下一步」。畫面上會顯示「Receive Cloud Pub/Sub notifications」部分。
如果您想在 HL7v2 儲存庫發生臨床事件時收到 Pub/Sub 通知,請指定 Pub/Sub 主題。您必須先建立主題,才能在 HL7v2 儲存庫中設定主題。
點選「下一步」。系統會顯示「新增標籤以便整理資料儲存庫」部分。
如要將一或多個鍵/值標籤新增至 HL7v2 儲存庫,請按一下 add「Add label」。如要進一步瞭解資源標籤,請參閱「使用資源標籤」。
按一下「建立」,系統會顯示「Dataset」頁面,並在「Data stores」表格中顯示 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
複製要求主體並開啟方法參考頁面。系統會在頁面右側開啟 API Explorer 面板。 您可以使用這項工具來傳送要求。將要求主體貼到這項工具中,並填妥其他必填欄位,然後按一下「執行」。
您應該會收到如下的 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 儲存庫
以下範例說明如何編輯 Cloud Healthcare API 用來傳送 HL7v2 儲存庫變更通知的 Pub/Sub 主題和篩選器清單。
幾個範例也說明如何編輯 HL7v2 儲存庫中的標籤。
指定 Pub/Sub 主題時,請輸入主題的完整 URI,如以下範例所示:projects/PROJECT_ID/topics/PUBSUB_TOPIC
控制台
如要編輯 HL7v2 儲存庫,請完成下列步驟:
- 在 Google Cloud 控制台中,前往「Datasets」(資料集) 頁面。
- 選取含有要編輯的 HL7v2 儲存庫的資料集。
- 在「資料儲存庫」清單中,按一下要編輯的資料儲存庫。
- 如要編輯 HL7v2 儲存庫的設定,請按一下「HL7v2 儲存庫設定」。
如要進一步瞭解 HL7v2 儲存庫的設定選項,請參閱「建立 HL7v2 儲存庫」。 - 如要為資料儲存庫設定 Pub/Sub 主題,請按一下「Add Pub/Sub topic」(新增 Pub/Sub 主題),然後選取主題名稱。指定 Pub/Sub 主題時,請輸入主題的完整 URI,如以下範例所示:
projects/PROJECT_ID/topics/PUBSUB_TOPIC
- 新增 Pub/Sub 主題後,請按一下「完成」。
- 如要為商店新增一或多個標籤,請依序點選 使用資源標籤」一文。 「標籤」和「新增標籤」,然後輸入鍵/值標籤。 如要進一步瞭解資源標籤,請參閱「
- 按一下 [儲存]。
gcloud
gcloud 命令列介面不支援這項操作。請改用 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
複製要求主體並開啟方法參考頁面。系統會在頁面右側開啟 API Explorer 面板。 您可以使用這項工具來傳送要求。將要求主體貼到這項工具中,並填妥其他必填欄位,然後按一下「執行」。
您應該會收到如下的 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
開啟方法參考頁面。系統會在頁面右側開啟 API 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
開啟方法參考頁面。系統會在頁面右側開啟 API 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
開啟方法參考頁面。系統會在頁面右側開啟 API Explorer 面板。 您可以使用這項工具來傳送要求。完成所有必填欄位,然後按一下「執行」。