醫療技術服務服務 FHIR 目的地對應概觀
本文提供醫療技術服務 FHIR目的地對應概觀。
醫療技術服務需要兩種類型的 JSON 對應,這些對應會透過 Azure 入口網站或 Azure Resource Manager API 新增至您的醫療技術服務。 裝置對應 是傳送至醫療技術服務之裝置資料中的第一種類型,並控制對應值至內部正規化資料物件。 裝置對應包含醫療技術服務用來擷取類型、裝置識別碼、測量日期時間和測量值的運算式。 FHIR 目的地對應是第二種類型,並控制標準化資料如何對應至 FHIR 觀察。
注意
每次處理裝置訊息時,都會重新評估裝置和 FHIR 目的地對應。 任何對應更新都會立即生效。
FHIR 目的地對應基礎
FHIR 目的地對應如何控制從裝置訊息擷取的標準化資料對應至 FHIR 觀察。
- 是否應針對某個時間點或在一小時期間建立觀察?
- 應將哪些程式碼新增至觀察?
- 值應該以 SampledData 或 Quantity 表示?
這些資料類型都是 FHIR 目的地對應組態控制項的所有選項。
一旦裝置資料轉換成正規化資料模型,就會收集正規化資料以轉換為 FHIR 觀察。 如果觀察類型是 SampledData,則資料會根據裝置識別碼、測量類型和時間週期進行分組(時間週期可以是 1 小時或 24 小時)。 此群組的輸出會傳送至代表該資料類型時間週期的單一 FHIR 觀察。 對於其他觀察類型 (Quantity、CodeableConcept 和 String) 資料不會分組,而是將每個測量轉換成代表時間點的單一觀察。
提示
如需醫療技術服務如何將裝置訊息資料處理至 FHIR 觀察,以取得 FHIR 服務持續性的詳細資訊,請參閱醫療技術服務裝置訊息處理階段的概觀。
此圖表提供醫療技術服務轉換階段期間所發生之情況的圖表。
注意
此圖表中的 FHIR 觀察不是完整的資源。 如需整個 FHIR 觀察,請參閱此概觀中的範例。
CollectionFhir
CollectionFhir 是醫療技術服務 FHIR 目的地對應所使用的根範本類型。 CollectionFhir 是轉換階段期間使用的所有範本清單。 您可以在 CollectionFhir 中定義一或多個範本,並針對所有範本評估每個標準化訊息。
CodeValueFhir
CodeValueFhir 是 FHIR 目的地對應中唯一支援的範本。 其可讓您定義代碼、有效期間和觀察值。 支援多個實值型別:SampledData、CodeableConcept、Quantity 和 String。 除了這些可設定的值外,也會自動處理觀察資源的識別碼及適當裝置和病患資源的連結。
重要
解析類型指定醫療技術服務如何將裝置資料與裝置資源和病患資源產生關聯。 醫療技術服務會使用裝置識別碼和病患識別符,從 FHIR 服務讀取裝置和病患資源。 如果指定遇到標識碼並從裝置資料承載擷取,則如果具有該識別碼的 FHIR 服務上存在遇到,則會連結到觀察。 如果遇到識別碼成功正規化,但找不到遇到識別碼的 FHIR,則會擲回 FhirResourceNotFound 例外狀況。 如需設定醫療技術服務解析類型的詳細資訊,請參閱設定目的地索引標籤。
元素 | 描述 | 必要 |
---|---|---|
typeName | 此範本應繫結的量測類型。 注意:應至少有一個具有相同內容的裝置對應範本typeName 。 typeName 項目可用來將 FHIR 目的地對應範本連結至一或多個裝置對應範本。 具有相同 typeName 元素的裝置對應範本會產生使用相同 FHIR 目的地對應範本評估的標準化資料typeName 。 |
True |
periodInterval | 所建立觀察應代表的時間週期。 支援的值有 0 (瞬間)、60 (一小時)、1440 (一天)。 | 當觀察類型為 SampledData 時,則為是;忽略其他觀察類型。 |
category | CodeableConcepts 的數目,用於分類所建立觀察的類型。 | False |
程式碼 | 一或多個 Codings,用於套用至所建立觀察。 | True |
codes[].code | codes 元素中編碼的程式碼。 |
True |
codes[].system | codes 元素中編碼的系統。 |
False |
codes[].display | codes 元素中編碼的顯示。 |
False |
value | 要在觀察擷取和代表的值。 如需value 元素包含之專案的詳細資訊,請參閱值類型。 |
「True」表示如果未使用 components 元素 (除非觀察類型為 CodebleConcept,在此情況下,此元素不只「不需要」,也會忽略)。 |
元件 | 一或多個元件,用於在觀察上建立。 | True 表示未改用value 元素時。 |
components[].codes | 一或多個 Codings,可用套至元件。 | False |
components[].value | 要在元件中擷取和代表的值。 如需components[].value 元素包含之專案的詳細資訊,請參閱值類型。 |
「True」表示如果已使用 components 元素 (除非觀察類型為 CodebleConcept,在此情況下,此元素不只「不需要」,也會忽略)。 |
值類型
所有 CodeValueFhir 樣本 value
元素都包含下列元素:
元素 | 描述 | 必要 |
---|---|---|
valueType | 值的型別。 根據實值類型,此值會是「SampledData」、「Quantity」、「CodeableConcept」或 「String」。 | True |
valueName | 值的名稱。 | True 表示除非valueType 為 CodeableConcept。 |
醫療技術服務 FHIR 目的地對應支持這些實值類型:
SampledData
表示 SampledData FHIR 資料類型。 觀察量測會從某個時間點開始寫入值資料流,並使用定義的期間向前遞增。 如果沒有值,E
會寫入至資料流。 如果期間中的兩個或以上的值佔據資料流中的相同位置,則會使用最新的值。 更新使用 SampledData 的觀察時,也會套用相同邏輯。 針對具有 SampledData 值類型的 CodeValueFhir 範本,範本的value
元素包含下列元素:
元素 | 描述 | 必要 |
---|---|---|
defaultPeriod | 要使用的預設期間 (毫秒)。 | True |
單位 | 要在 SampledData 原點上設定的單位。 | True |
數量
代表 Quantity FHIR 資料類型。 此類型會建立單一時間點觀察。 如果達到新的值,其中包含相同的裝置識別碼、測量類型和時間戳記,則會將先前的觀察更新為新的值。 針對具有 Quantity 值類型的 CodeValueFhir 範本,範本的value
元素包含下列元素:
元素 | 描述 | 必要 |
---|---|---|
單位 | 單位表示。 | False |
code | 單位的編碼形式。 | False |
系統 | 定義編碼單位形式的系統。 | False |
CodeableConcept
代表 CodeableConcept FHIR 資料類型。 正規化資料模型中的值不會使用,而是在收到這種類型的資料時,使用代表在特定時間點記錄觀察的特定程式碼來建立觀察。 針對具有 CodeableConcept 值類型的 CodeValueFhir 範本,範本的value
元素包含下列元素:
元素 | 描述 | 必要 |
---|---|---|
text | 純文字表示。 | False |
程式碼 | 一或多個 Codings,用於套用至所建立觀察。 | True |
codes[].code | codes 元素中編碼的程式碼。 |
True |
codes[].system | codes 元素中編碼的系統。 |
False |
codes[].display | codes 元素中編碼的顯示。 |
False |
String
代表 String FHIR 資料類型。 此類型會建立單一時間點觀察。 如果達到新的值,其中包含相同的裝置識別碼、測量類型和時間戳記,則會將先前的觀察更新為新的值。 未定義其他元素。
範例
提示
您可以使用醫療技術服務對應偵錯工具 ,協助建立、更新及疑難排解醫療技術服務裝置和 FHIR 目的地對應。 對應偵錯工具可讓您輕鬆即時檢視和進行內嵌調整,無需離開 Azure 入口網站。 對應偵錯工具也可用來上傳測試裝置訊息,以查看處理為規範訊息並轉換成 FHIR 觀察之後看起來的樣子。
注意
此範例和正規化訊息是接續醫療技術服務裝置對應概觀。
在此範例中,我們使用標準化訊息擷取 heartRate
資料:
[
{
"type": "heartrate",
"occurrenceTimeUtc": "2023-03-13T22:46:01.875Z",
"deviceId": "device01",
"properties": [
{
"name": "hr",
"value": "78"
}
]
}
]
我們將此 FHIR 目的地對應用於轉換階段:
{
"templateType": "CollectionFhir",
"template": [
{
"templateType": "CodeValueFhir",
"template": {
"codes": [
{
"code": "8867-4",
"system": "http://loinc.org",
"display": "Heart rate"
}
],
"typeName": "heartrate",
"value": {
"system": "http://unitsofmeasure.org",
"code": "count/min",
"unit": "count/min",
"valueName": "hr",
"valueType": "Quantity"
}
}
}
]
}
產生的 FHIR 觀察在轉換階段之後看起來會像這樣:
[
{
"code": {
"coding": [
{
"system": {
"value": "http://loinc.org"
},
"code": {
"value": "8867-4"
},
"display": {
"value": "Heart rate"
}
}
],
"text": {
"value": "heartrate"
}
},
"effective": {
"start": {
"value": "2023-03-13T22:46:01.8750000Z"
},
"end": {
"value": "2023-03-13T22:46:01.8750000Z"
}
},
"issued": {
"value": "2023-04-05T21:02:59.1650841+00:00"
},
"value": {
"value": {
"value": 78
},
"unit": {
"value": "count/min"
},
"system": {
"value": "http://unitsofmeasure.org"
},
"code": {
"value": "count/min"
}
}
}
]
下一步
如何使用 CalculatedContent 範本搭配醫療技術服務裝置對應
如何使用 IotJsonPathContent 範本搭配醫療技術服務裝置對應
注意
(FHIR®) 是 HL7 的註冊商標,在 HL7 的許可下使用。