使用醫療技術服務記錄,針對錯誤進行疑難排解
本文提供醫療技術服務記錄中所發現錯誤的疑難排解步驟與修正。
醫療技術服務錯誤嚴重性
此屬性代表所發生錯誤的嚴重性。 以下是此屬性的可能值清單:
嚴重性 | 描述 |
---|---|
非封鎖 | 資料流程中存在問題,但裝置訊息的處理未停止。 |
封鎖 | 資料流程中存在問題,且預期不會處理任何裝置訊息。 |
由醫療技術服務執行的作業
此屬性代表發生錯誤時,醫療技術服務所執行的作業。 作業通常代表處理裝置訊息的資料流程階段。 資料流程階段在錯誤記錄檔中顯示為 OperationName。 以下是此屬性的可能值清單:
OperationName | 描述 |
---|---|
正規化 | 裝置訊息正規化的資料流程階段。 |
FHIRConversion | 將分組正規化資料轉換成觀察資源的資料流程階段。 |
注意
若要了解醫療技術服務裝置訊息資料轉換,請參閱醫療技術服務裝置資料處理階段概觀 (機器翻譯)。
醫療技術服務健康情況檢查例外狀況和修正
系統會自動定期執行健康情況檢查,確認醫療技術服務是否能將裝置訊息正規化並加以轉換。 如果健康情況檢查未通過,就會發生 HealthCheckException 並留下記錄。
在醫療技術服務記錄中,健康情況檢查失敗會記錄於 HealthCheckException 的 LogType,且失敗的健康情況檢查名稱會記錄在訊息中。
下表列出健康情況檢查的名稱,並於表格下方提供其任何失敗的修正說明:
HealthCheck |
---|
CredentialStore:IsCustomerFacingMiCredentialBundlePresent |
ExternalEventHub:IsAuthenticated |
FhirService:IsAuthenticated |
注意
雖然 HealthCheckException 是執行問題,但其屬於暫時性問題,無須介入即可自行解決。
CredentialStore:IsCustomerFacingMiCredentialBundlePresent
描述:檢查是否已啟用醫療技術服務的系統指派受控識別,或是否已設定使用者指派的受控識別。
嚴重性:封鎖
修正:請遵循 ManagedIdentityCredentialNotFound 中所述修正。
ExternalEventHub:IsAuthenticated
描述:檢查事件中樞是否有效,以及醫療技術服務是否取得其接收權限。
嚴重性:封鎖
修正:請遵循 InvalidEventHubException 中所述修正,確保事件中樞有效。 然後,遵循 UnauthorizedAccessEventHubException 中所述修正,確保您的醫療技術服務能夠取得事件中樞的接收權限。
FhirService:IsAuthenticated
描述:檢查 FHIR® 目的地是否有效,以及醫療技術服務是否取得其寫入權限。
嚴重性:封鎖
修正:請遵循 InvalidFhirServiceException 中所述修正,確保 FHIR 目的地有效。 然後,遵循 UnauthorizedAccessFhirServiceException 中所述修正,確保您的醫療技術服務能夠取得 FHIR 目的地的寫入權限。
醫療技術服務錯誤和修正
如果執行裝置訊息正規化或轉換時發生錯誤,則會記錄該錯誤。
在醫療技術服務記錄中,錯誤的名稱會記錄在 LogType。
下表列出錯誤的名稱,並於表格下方提供修正說明:
CorrelationIdNotDefinedException
描述:如果在裝置對應中指定 CorrelationIdExpression (用於剖析裝置訊息中相互關聯識別碼的運算式),則當裝置訊息中不存在相互關聯識別碼,或裝置對應中未正確設定 CorrelationIdExpression 時,就會發生此錯誤。 注意:CorrelationIdExpression 為選用項目。 如果將共用相同裝置、類型和相互關聯識別碼的測量分組至單一 FHIR 觀察資源,就會發生此錯誤。
嚴重性:封鎖
修正:
如果需要 CorrelationIdExpression:請確保您的裝置訊息包含相互關聯識別碼。 此外,在 Azure 入口網站上,移至醫療技術服務的 [裝置對應] 刀鋒視窗,並確保裝置對應中的
correlationIdExpression
值存在,且正確地參考裝置訊息中的相互關聯識別碼索引鍵。如果不需要 CorrelationIdExpression:在 Azure 入口網站上,移至醫療技術服務的 [裝置對應] 刀鋒視窗,然後移除裝置對應中包含
correlationIdExpression
的行。
FhirDataMappingException
描述:使用 FHIR 目的地對應轉換正規化資料時發生錯誤。 當對應至正規化資料的範本未在 FHIR 目的地對應中定義時,就會出現此錯誤。
嚴重性:封鎖
修正:在 Azure 入口網站上,移至醫療技術服務的 [裝置對應] 刀鋒視窗和 [目的地] 刀鋒視窗,並確認在裝置對應的每個範本中,FHIR 目的地對應中都有相同 typeName
值的範本。 此外,在 [目的地] 刀鋒視窗中,修正編輯和儲存 FHIR 目的地對應時顯示的任何驗證錯誤。
FhirResourceNotFoundException
描述:在 FHIR 目的地找不到裝置訊息中指定識別碼的 FHIR 資源時,就會發生此錯誤。 如果 FHIR 資源類型為病患,則錯誤可能是裝置訊息中指定裝置識別碼的裝置 FHIR 資源未參考病患 FHIR 資源。 FHIR 資源類型 (例如,裝置、病患、看診或觀察) 會在錯誤訊息中指定。 注意:只有當醫療技術服務的解決方法類型設定為查閱時,才會發生此錯誤。
嚴重性:非封鎖
修正:請確保您的裝置訊息包含具有錯誤訊息中指定類型的 FHIR 資源識別碼。 此外,在 Azure 入口網站上,移至醫療技術服務的 [裝置對應] 刀鋒視窗,並確保裝置對應中的 {FHIR resource’s type specified in the error message}IdExpression
(例如 deviceIdExpression
) 值存在,且正確地參考裝置訊息中的識別碼索引鍵。
IncompatibleDataException
描述:裝置訊息與裝置對應之間不相容 (例如,裝置訊息和/或裝置對應中可能遺漏必要屬性或為空白)。 錯誤訊息中指定了發生錯誤的裝置對應屬性。
嚴重性:非封鎖
修正:請確保您的裝置訊息包含:
錯誤訊息中指定的裝置對應屬性所參考的索引鍵。
索引鍵的非空白值。
此外,在 Azure 入口網站上,移至醫療技術服務的 [裝置對應] 刀鋒視窗,並確保錯誤訊息中指定的裝置對應屬性具有正確參考裝置訊息中對應索引鍵的值。
InvalidDataFormatException
描述:裝置訊息的格式無法剖析為 JSON 物件。
嚴重性:非封鎖
修正:請確保您的裝置訊息為 JSON 格式。 確認 JSON 格式的其中一種方式是使用線上 JSON 驗證程式。
InvalidEventHubException
描述:下列其中一項原因導致事件中樞無效:
至少有一項事件中樞詳細資料 (事件中樞命名空間、事件中樞名稱或取用者群組) 格式不正確或不存在。 事件中樞命名空間應包含事件中樞,而事件中樞應包含取用者群組。
多項服務正在從事件中樞取用者群組讀取資料。
嚴重性:封鎖
修正:在 Azure 入口網站上,移至醫療技術服務的 [事件中樞] 刀鋒視窗,並確保已填寫事件中樞詳細資料的所有欄位。 若要確保只有您的醫療技術服務從取用者群組讀取資料,請執行下列任一操作:
請檢查您的服務,並確保您的醫療技術服務是唯一存取取用者群組的服務。
移至 Azure 入口網站中的事件中樞,建立只有您的醫療技術服務可存取的新取用者群組,移至醫療技術服務的 [事件中樞] 刀鋒視窗,然後在 [取用者群組] 欄位中選取新的取用者群組。
InvalidFhirServiceException
描述:FHIR 目的地無效,因其格式不正確、不存在或不是 Azure 健康資料服務中的 FHIR 服務。
嚴重性:封鎖
修正:在 Azure 入口網站上,移至醫療技術服務的 [目的地] 刀鋒視窗,並確保已正確填寫 [FHIR 伺服器] 欄位。
InvalidQuantityFhirValueException
描述:具有 Quantity 資源資料類型的值無效 (例如,其可能為不受支援的格式)。 錯誤訊息中指定了發生錯誤的值。
嚴重性:非封鎖
修正:請確保裝置訊息中的值符合 FHIR Quantity.value 規格所支援的資料類型。
InvalidTemplateException
描述:裝置對應或 FHIR 目的地對應中的範本發生錯誤。 這些錯誤包括:
範本的範本類型 (以
templateType
屬性表示) 遺失或具空白值。根集合範本下的範本 (以
template
屬性表示) 沒有 JSON 物件 (該物件以大括號{}
識別) 作為其值。範本的類型 (以
typeName
屬性表示) 遺失或具空白值。對應中的多個範本具有相同類型 (其
typeName
屬性具有相同值)。
錯誤訊息中指定了範本的類型和出錯行。
嚴重性:封鎖
修正:在 Azure 入口網站上,移至醫療技術服務的 [裝置對應] 刀鋒視窗 (如果裝置對應存在錯誤) 或 [目的地] 刀鋒視窗 (如果 FHIR 目的地對應存在錯誤),並修正錯誤訊息中指定的範本。
ManagedIdentityCredentialNotFound
描述:當醫療技術服務連線至事件中樞時,醫療技術服務的系統指派受控識別已停用或不存在,或未針對醫療技術服務設定使用者指派的受控識別。 注意:如果使用設定錯誤的 Azure Resource Manager (ARM) 範本部署醫療技術服務,則可能發生此錯誤。
嚴重性:封鎖
修正:修正取決於您想要使用的受控識別類型。 請至受控識別類型,檢閱系統指派和使用者指派受控識別之間的差異。 注意:醫療技術服務僅支援一種身分識別:系統指派的受控識別或使用者指派的受控識別。
若您想要使用系統指派的受控識別:
如果您要使用 ARM 範本部署醫療技術服務,請確保 ARM 範本中的醫療技術服務具有包含
"SystemAssigned"
type
值的identity
屬性 (請參閱 GitHub 上 azuredeploy.json 檔案中的範例 ARM 範本)。在 Azure 入口網站上,移至醫療技術服務的 [身分識別] 刀鋒視窗,移至 [系統指派] 索引標籤,並確保符合下列條件:
- 狀態設定為 [開啟]。
- Azure 角色指派顯示您的事件中樞已將 Azure 事件中樞資料接收者角色指派給醫療技術服務的系統指派受控識別。 若非如此,請遵循這些指示。
若您想要使用使用者指派的受控識別:
請確保您擁有使用者指派的受控識別。 若非如此,請使用 Azure 入口網站或 ARM 範本建立一個。
如果您要使用 ARM 範本部署醫療技術服務,請確保 ARM 範本中的醫療技術服務具有
identity
屬性,其中包含 1)"userAssigned"
的type
值和 2)userAssignedIdentities
值,其包含使用者指派的受控識別名稱 (請參閱將使用者指派的受控識別指派給 Azure VM (機器翻譯) 的範例)。在 Azure 入口網站上,移至醫療技術服務的 [身分識別] 刀鋒視窗,移至 [使用者指派] 索引標籤,並確保已顯示您的使用者指派受控識別。 若非如此,請新增使用者指派的受控識別 (請參閱將使用者指派的受控識別指派至現有虛擬機器 (機器翻譯))。
在 Azure 入口網站上,移至事件中樞,並將 Azure 事件中樞資料接收者角色指派給醫療技術服務的使用者指派受控識別 (請參閱指示 (機器翻譯),但使用使用者指派的受控識別,而非系統指派的受控識別)。
MultipleResourceFoundException
描述:在 FHIR 目的地中找到多個具有相同識別碼 (取自裝置訊息) 的 FHIR 資源,但應該只會找到一個 FHIR 資源。 FHIR 資源類型 (例如,裝置、病患、看診或觀察) 會在錯誤訊息中指定。
嚴重性:非封鎖
修正:請確保未將識別碼指派給多個具有錯誤訊息中指定類型的 FHIR 資源。
NormalizationDataMappingException
描述:使用裝置對應將裝置訊息正規化時發生錯誤。
嚴重性:封鎖
修正:在 Azure 入口網站上,移至醫療技術服務的 [裝置對應] 刀鋒視窗,並修正編輯和儲存裝置對應時顯示的任何驗證錯誤。
PatientDeviceMismatchException
描述:FHIR 目的地中的裝置資源參考病患 FHIR 資源,其識別碼與裝置訊息中提供的病患識別碼不符 (這表示裝置已連結至另一名病患)。
嚴重性:非封鎖
修正:請確保未將病患識別碼指派給多個裝置。
ResourceIdentityNotDefinedException
描述:當裝置訊息中沒有 FHIR 資源識別碼時,或裝置對應上未設定剖析裝置訊息中 FHIR 資源識別碼的運算式,就會發生此錯誤。 FHIR 資源類型 (例如,裝置、病患、看診或觀察) 會在錯誤訊息中指定。 注意:只有當醫療技術服務的解決方法類型設定為建立時,才會發生此錯誤。
嚴重性:非封鎖
修正:請確保您的裝置訊息包含具有錯誤訊息中指定類型的 FHIR 資源識別碼。 此外,在 Azure 入口網站上,移至醫療技術服務的 [裝置對應] 刀鋒視窗,並確保裝置對應中的 {FHIR resource’s type specified in the error message}IdExpression
(例如 deviceIdExpression
) 值存在,且正確地參考裝置訊息中的識別碼索引鍵。
TemplateExpressionException
描述:裝置對應內範本中的運算式生錯誤。 這些錯誤包括:
遺漏必要運算式。
不支援運算式的語言 (以
language
屬性表示)。 所有範本類型都支援 JSONPath 中的運算式;僅 CalculatedContent 範本類型支援 JMESPath 中的運算式。根據運算式語言的語法,運算式的值 (以
value
屬性表示) 格式不正確。
錯誤訊息中指定了運算式和出錯行。
嚴重性:封鎖
修正:在 Azure 入口網站上,移至醫療技術服務的 [裝置對應] 刀鋒視窗,並更正裝置對應內錯誤訊息中指定的運算式。
TemplateNotFoundException
描述:裝置對應中的範本在 FHIR 目的地對應中沒有相同類型的相符範本。 範本的類型在錯誤訊息中指定。
嚴重性:非封鎖
修正:在 Azure 入口網站上,移至醫療技術服務的 [裝置對應] 刀鋒視窗和 [目的地] 刀鋒視窗,並確認在裝置對應的每個範本中,FHIR 目的地對應內都有相同 typeName
值的範本。
UnauthorizedAccessEventHubException
描述:醫療技術服務缺少事件中樞的接收權限。
嚴重性:封鎖
修正:在 Azure 入口網站上,移至事件中樞,並將 Azure 事件中樞資料接收者角色指派給醫療技術服務 (請參閱指示 (機器翻譯))。
UnauthorizedAccessFhirServiceException
描述:醫療技術服務缺少 FHIR 目的地的寫入權限。
嚴重性:封鎖
修正:在 Azure 入口網站上,移至 FHIR 服務,並將 FHIR 資料寫入者角色指派給醫療技術服務 (請參閱指示 (機器翻譯))。
注意
如果使用本疑難排解指南無法修正醫療技術服務問題,您可以開啟 Azure 技術支援票證,將裝置訊息以及裝置和 FHIR 目的地對應的複本附加至您的要求,協助進一步釐清問題。
下一步
注意
FHIR® 是 HL7 的註冊商標,在 HL7 的許可下使用。