醫療技術服務裝置對應概觀
本文提供醫療技術服務裝置對應的概觀。
醫療技術服務需要兩種類型的 JSON 對應,這些對應會透過 Azure 入口網站或 Azure Resource Manager (ARM) API 新增至您的醫療技術服務。 裝置對應是第一種類型,能控制傳送至醫療技術服務之裝置資料中的值與內部正規化資料物件的對應值。 裝置對應包含醫療技術服務用來擷取類型、裝置識別碼、測量日期時間和測量值的運算式。 FHIR® 目的地對應是第二種類型,能控制 FHIR® 觀察的對應。
注意
每次處理裝置訊息時,都會重新評估裝置和 FHIR 目的地對應。 任何對應更新都會立即生效。
裝置對應基本概念
裝置對應包含運算式範本集合,其用於將裝置訊息資料擷取至內部正規化格式的,以供進一步評估。 系統會針對集合中所有運算式範本,評估每個已接收裝置訊息。 評估方式為將單一輸入裝置訊息可分成多個輸出訊息,這些訊息可對應至 FHIR 服務中的多個 FHIR 觀察。
提示
如需醫療技術服務如何將裝置訊息資料處理至 FHIR 觀察,以取得 FHIR 服務持續性的詳細資訊,請參閱醫療技術服務裝置資料處理階段的概觀。
此圖表提供醫療技術服務正規化階段期間所發生之情況。
裝置對應驗證
正規化流程會先驗證裝置對應,再儲存以供使用。 這些元素在裝置對應範本中是必要的。
裝置對應
Element | CalculatedContent 中的必要項 | IotJsonPathContent 中的必要項 |
---|---|---|
typeName | True | True |
typeMatchExpression | True | True |
deviceIdExpression | True | False 且完全忽略。 |
timestampExpression | True | False 且完全忽略。 |
patientIdExpression | 醫療技術服務的解析類型設定為建立時,則為 True;醫療技術服務的解析類型設定為查詢時,則為 False。 | 醫療技術服務的解析類型設定為建立時,則為 True;醫療技術服務的解析類型設定為查詢時,則為 False。 |
encounterIdExpression | False | False |
correlationIdExpression | False | False |
values[].valueName | True | True |
values[].valueExpression | True | True |
values[].required | True | True |
重要
解析類型指定醫療技術服務如何將裝置資料和裝置資源與病患資源產生關聯。 醫療技術服務會使用裝置識別碼和病患識別碼,從 FHIR 服務讀取裝置和病患資源。 如果指定遇到標識碼並從裝置資料承載擷取,則如果具有該識別碼的 FHIR 服務上存在遇到,則會連結到觀察。 如果遇到識別碼成功正規化,但找不到遇到識別碼的 FHIR,則會擲回 FhirResourceNotFound 例外狀況。 如需設定醫療技術服務解析類型的詳細資訊,請參閱設定目的地索引標籤。
注意
只有在陣列中有值輸入時,才需要 values[].valueName, values[].valueExpression
和 values[].required
元素。 沒有對應值也依舊有效。 事件是傳送遙測資料時,就會使用這些元素。
舉例來說,部分案例可能需要在 FHIR 服務中建立不包含值的 FHIR 觀察資源。
CollectionContent
CollectionContent 是醫療技術服務對應所使用的根範本類型。 CollectionContent 是正規化階段期間使用的所有範本清單。 您可以在 CollectionContent 中定義一或多個範本,醫療技術服務會針對所有範本評估每個裝置訊息。
您可以根據您的使用案例,在 CollectionContent 內使用這些範本類型:
- 裝置訊息的 CalculatedContent 會直接傳送至醫療技術服務事件中樞。 CalculatedContent 支援 JSONPath、JMESPath、JMESPath 函數,以及醫療技術服務自訂函數。
和/或
- 裝置訊息的 IotJsonPathContent 透過 Azure IoT 中樞,路由傳送至您的醫療技術服務事件中樞。 IotJsonPathContent 支援 JSONPath。
範例
提示
您可以使用醫療技術服務對應偵錯工具,協助建立、更新及疑難排解醫療技術服務裝置和 FHIR 目的地對應。 對應偵錯工具可讓您輕鬆即時檢視和進行內嵌調整,無需離開 Azure 入口網站。 對應偵錯工具也可用於上傳測試裝置訊息,以查看處理為正規化訊息並轉換成 FHIR 觀察後的樣子。
在此範例中,我們使用裝置訊息擷取 heartRate
資料:
{
"heartRate": "78",
"endDate": "2023-03-13T22:46:01.8750000",
"deviceId": "device01"
}
我們在正規化階段使用此裝置對應:
{
"templateType": "CollectionContent",
"template": [
{
"templateType": "CalculatedContent",
"template": {
"typeName": "heartrate",
"typeMatchExpression": "$..[?(@heartRate)]",
"deviceIdExpression": "$.matchedToken.deviceId",
"timestampExpression": "$.matchedToken.endDate",
"values": [
{
"required": true,
"valueExpression": "$.matchedToken.heartRate",
"valueName": "hr"
}
]
}
}
]
}
產生的正規化訊息在正規化階段之後,會變成這樣:
[
{
"type": "heartrate",
"occurrenceTimeUtc": "2023-03-13T22:46:01.875Z",
"deviceId": "device01",
"properties": [
{
"name": "hr",
"value": "78"
}
]
}
]
醫療技術服務處理裝置訊息時,CollectionContent 中的範本會用於評估訊息。 typeMatchExpression
用於判斷範本是否應該用於從裝置訊息建立正規化訊息。 如果 typeMatchExpression
評估為 true,則會使用 deviceIdExpression
、timestampExpression
和 valueExpression
值,從裝置訊息中尋找和擷取 JSON 值,並建立正規化訊息。 在此範例中,所有運算式都以 JSONPath 寫入,但在 JMESPath 中寫入所有運算式亦是有效的。 由範本建立者決定哪種運算式語言最合適。
下一步
如何使用 CalculatedContent 範本搭配醫療技術服務裝置對應
如何使用 IotJsonPathContent 範本搭配醫療技術服務裝置對應
注意
FHIR® 是 HL7 的註冊商標,可經 HL7 許可使用。