Řešení chyb pomocí protokolů služby MedTech
Poznámka
Fast Healthcare Interoperability Resources (FHIR®) je otevřená specifikace zdravotní péče.
Tento článek obsahuje kroky pro řešení potíží a opravy chyb zjištěných v protokolech služby MedTech.
Tip
Přístup k protokolům služby MedTech je nezbytný pro řešení potíží a posouzení celkového stavu a výkonu služby MedTech.
Informace o přístupu k protokolům služby MedTech najdete v tématu Povolení nastavení diagnostiky pro službu MedTech.
Závažnost chyby služby MedTech
Tato vlastnost představuje závažnost chyby, ke které došlo. Tady je seznam možných hodnot pro tuto vlastnost:
Závažnost | Popis |
---|---|
Neblokující | V procesu toku dat došlo k problému, ale zpracování zpráv zařízení se nezastaví. |
Blokování | V procesu toku dat došlo k problému a neočekává se, že by se zpracovávaly žádné zprávy zařízení. |
Operace prováděná službou MedTech
Tato vlastnost představuje operaci prováděnou službou MedTech, když došlo k chybě. Operace obecně představuje fázi toku dat, ve které se zpracovává zpráva zařízení. Fáze toku dat se v protokolech chyb zobrazí jako OperationName. Tady je seznam možných hodnot pro tuto vlastnost:
OperationName | Description |
---|---|
Normalizace | Fáze toku dat, ve které se zpráva zařízení normalizuje. |
FHIRConversion | Fáze toku dat, ve které se seskupená normalizovaná data transformují na prostředek pozorování. |
Poznámka
Další informace o transformaci dat zpráv zařízení služby MedTech najdete v tématu Přehled fází zpracování dat zařízení služby MedTech.
Výjimky a opravy kontroly stavu služby MedTech
Kontroly stavu se provádějí automaticky a pravidelně, aby se zkontrolovalo, jestli služba MedTech může normalizovat a transformovat zprávy zařízení. Pokud kontrola stavu neprošla, dojde k výjimka HealthCheckException a zaprotokoluje se.
V protokolech služby MedTech se do protokolu zaprotokoluje chyba kontroly stavu s logtypemHealthCheckException a název neúspěšné kontroly stavu se zaprotokoluje do zprávy.
Názvy kontrol stavu jsou uvedené v následující tabulce a opravy všech jejich selhání jsou popsané v tabulce:
Kontrola stavu |
---|
CredentialStore:IsCustomerFacingMiCredentialBundlePresent |
ExternalEventHub:IsAuthenticated |
FhirService:IsAuthenticated |
Poznámka
I když je výjimka HealthCheckException blokující problém, může být přechodná a může se vyřešit sama bez zásahu.
CredentialStore:IsCustomerFacingMiCredentialBundlePresent
Popis: Zkontroluje, jestli je spravovaná identita přiřazená systémem služby MedTech povolená nebo jestli je nakonfigurovaná spravovaná identita přiřazená uživatelem.
Závažnost: Blokování
Oprava: Postupujte podle opravy popsané v tématu ManagedIdentityCredentialNotFound.
ExternalEventHub:IsAuthenticated
Popis: Zkontroluje, jestli je centrum událostí platné a jestli k němu má služba MedTech přístup.
Závažnost: Blokování
Oprava: Podle pokynů v tématu InvalidEventHubException se ujistěte, že je vaše centrum událostí platné. Pak se ujistěte, že vaše služba MedTech přijímá přístup k vašemu centru událostí. Postupujte podle opravy popsané v článku UnauthorizedAccessEventHubException.
FhirService:IsAuthenticated
Popis: Kontroluje, jestli je cíl FHIR platný a jestli k němu má služba MedTech přístup pro zápis.
Závažnost: Blokování
Oprava: Podle pokynů v tématu InvalidFhirServiceException se ujistěte, že je cíl FHIR platný. Pak se ujistěte, že vaše služba MedTech má přístup k zápisu do cíle FHIR. Postupujte podle opravy popsané v článku UnauthorizedAccessFhirServiceException.
Chyby a opravy služby MedTech
Pokud dojde k chybě při normalizaci nebo transformaci zpráv zařízení, zaprotokoluje se.
V protokolech služby MedTech se název chyby protokoluje v logType.
Názvy chyb jsou uvedené v následující tabulce a jejich opravy jsou uvedené pod tabulkou:
CorrelationIdNotDefinedException
Popis: Pokud je v mapování zařízení zadaný CorrelationIdExpression (což je výraz pro parsování identifikátoru korelace ze zprávy zařízení), dojde k této chybě v případě, že se identifikátor korelace nenachází ve zprávě zařízení nebo když correlationIdExpression není správně nakonfigurovaný v mapování zařízení. Poznámka: CorrelationIdExpression je volitelný. K této chybě dochází při seskupení měření, která sdílejí stejné zařízení, typ a identifikátor korelace do jednoho prostředku pozorování FHIR.
Závažnost: Blokování
Oprava:
Pokud potřebujete CorrelationIdExpression: Ujistěte se, že zprávy zařízení obsahují identifikátor korelace. Na Azure Portal také přejděte do okna Mapování zařízení vaší služby MedTech a ujistěte se, že
correlationIdExpression
hodnota v mapování zařízení existuje a ve zprávách zařízení správně odkazuje na klíč identifikátoru korelace.Pokud correlationIdExpression není potřeba: Na Azure Portal přejděte do okna Mapování zařízení vaší služby MedTech a odeberte řádek, který obsahuje
correlationIdExpression
mapování zařízení.
FhirDataMappingException
Popis: Při transformaci normalizovaných dat pomocí mapování cíle FHIR došlo k chybě. K této chybě dochází v případě, že šablona, která odpovídá normalizovaným datům, není definována v mapování cíle FHIR.
Závažnost: Blokování
Oprava: Na Azure Portal přejděte do okna Mapování zařízení a Cíl vaší služby MedTech a ujistěte se, že pro každou šablonu v mapování zařízení existuje šablona se stejnou typeName
hodnotou v mapování cíle FHIR. Opravte také všechny chyby ověřování, které se zobrazují při úpravách a ukládání mapování cíle FHIR v okně Cíl .
FhirResourceNotFoundException
Popis: K této chybě dochází v případě, že prostředek FHIR s identifikátorem zadaným ve zprávě zařízení nejde najít v cíli FHIR. Pokud je typ prostředku FHIR Pacient, může být chyba v tom, že prostředek Device FHIR s identifikátorem zařízení zadaným ve zprávě zařízení neodkazuje na prostředek FHIR patient. V chybové zprávě je uvedený typ prostředku FHIR (například Zařízení, Pacient, Setkání nebo Pozorování). Poznámka: K této chybě může dojít pouze v případě, že je typ řešení služby MedTech nastavený na Lookup.
Závažnost: Neblokující
Oprava: Ujistěte se, že zprávy zařízení obsahují identifikátor prostředku FHIR, který má typ zadaný v chybové zprávě. Na Azure Portal přejděte také do okna Mapování zařízení vaší služby MedTech a ujistěte se, deviceIdExpression
že {FHIR resource’s type specified in the error message}IdExpression
hodnota (například ) v mapování zařízení existuje a správně odkazuje na klíč identifikátoru ve zprávách zařízení.
Výjimka incompatibleDataException
Popis: Zpráva zařízení a mapování zařízení jsou nekompatibilní (například požadovaná vlastnost může ve zprávě zařízení a/nebo v mapování zařízení chybět nebo být prázdná). Vlastnost mapování zařízení s chybou je určená v chybové zprávě.
Závažnost: Neblokující
Oprava: Ujistěte se, že zprávy zařízení obsahují:
Klíč, na který odkazuje vlastnost mapování zařízení zadaná v chybové zprávě.
Neprázdná hodnota klíče.
Na Azure Portal přejděte také do okna Mapování zařízení vaší služby MedTech a ujistěte se, že vlastnost mapování zařízení zadaná v chybové zprávě má hodnotu, která správně odkazuje na odpovídající klíč ve zprávách zařízení.
InvalidDataFormatException
Popis: Zpráva zařízení není ve formátu, který by se mohl analyzovat na objekt JSON.
Závažnost: Neblokující
Oprava: Ujistěte se, že zprávy zařízení jsou ve formátu JSON. Jedním ze způsobů, jak ověřit formát JSON, je použít online validátor JSON.
InvalidEventHubException
Popis: Centrum událostí je neplatné z jednoho z těchto důvodů:
Nejméně jeden z podrobností centra událostí (obor názvů služby Event Hubs, název centra událostí nebo skupina příjemců) je nesprávně naformátovaný nebo neexistuje. Obor názvů služby Event Hubs by měl obsahovat centrum událostí a centrum událostí by mělo obsahovat skupinu příjemců.
Ze skupiny uživatelů centra událostí čte více než jedna služba.
Závažnost: Blokování
Oprava: Na Azure Portal přejděte do okna Event Hubs vaší služby MedTech a ujistěte se, že jsou vyplněná všechna pole podrobností centra událostí. Pokud chcete zajistit, aby ze skupiny příjemců četla jenom služba MedTech, proveďte následující:
Projděte si své služby a ujistěte se, že vaše služba MedTech je jedinou službou, která přistupuje ke skupině uživatelů.
V Azure Portal přejděte do centra událostí, vytvořte novou skupinu příjemců, ke které má přístup jenom vaše služba MedTech, přejděte do okna Event Hubs vaší služby MedTech a v poli Skupina uživatelů vyberte novou skupinu uživatelů.
InvalidFhirServiceException
Popis: Cíl FHIR je neplatný, protože je nesprávně naformátovaný, neexistuje nebo se nejedná o službu FHIR ve službě Azure Health Data Services.
Závažnost: Blokování
Oprava: Na Azure Portal přejděte do okna Cíl služby MedTech a ujistěte se, že je správně vyplněné pole serveru FHIR.
InvalidQuantityFhirValueException
Popis: Hodnota s datovým typem zdroje Quantity je neplatná (může být například ve formátu, který není podporovaný). Hodnota s chybou je zadaná v chybové zprávě.
Závažnost: Neblokující
Oprava: Ujistěte se, že hodnoty ve zprávách zařízení jsou v podporovaných datových typech podle specifikace FHIR Quantity.value.
InvalidTemplateException
Popis: V mapování zařízení nebo v mapování cíle FHIR došlo k chybě se šablonou. Mezi chyby patří:
Typ šablony (reprezentovaný
templateType
vlastností) chybí nebo má prázdnou hodnotu.Šablona (reprezentovaná
template
vlastností) v kořenové šabloně kolekce nemá jako hodnotu objekt JSON, který je označen pomocí složených závorek{}
.Typ šablony (reprezentovaný
typeName
vlastností) chybí nebo má prázdnou hodnotu.Více než jedna šablona v mapování má stejný typ (má stejnou hodnotu pro svou
typeName
vlastnost).
Typ šablony a řádek s chybou jsou uvedeny v chybové zprávě.
Závažnost: Blokování
Oprava: Na Azure Portal přejděte do okna Mapování zařízení (pokud je chyba v mapování zařízení) nebo Do okna Cíl (pokud se chyba nachází v mapování cíle FHIR) vaší služby MedTech a opravte šablonu uvedenou v chybové zprávě.
ManagedIdentityCredentialNotFound
Popis: Když se služba MedTech připojuje k centru událostí, spravovaná identita přiřazená systémem služby MedTech je zakázaná nebo neexistuje nebo spravovaná identita přiřazená uživatelem není pro službu MedTech nakonfigurovaná. Poznámka: K této chybě může dojít, pokud se služba MedTech nasadila pomocí chybně nakonfigurované šablony Azure Resource Manager (ARM).
Závažnost: Blokování
Oprava: Oprava závisí na typu spravované identity, kterou chcete použít. Rozdíl mezi spravovanou identitou přiřazenou systémem a spravovanou identitou přiřazenou uživatelem si můžete prohlédnout v tématu Typy spravovaných identit. Poznámka: Služba MedTech podporuje pouze jednu identitu: spravovanou identitu přiřazenou systémem nebo jednu spravovanou identitu přiřazenou uživatelem.
Pokud chcete použít spravovanou identitu přiřazenou systémem:
Pokud službu MedTech nasazujete pomocí šablony ARM, ujistěte se, že prostředek služby MedTech v šabloně ARM obsahuje
identity
vlastnost obsahujícítype
hodnotu"SystemAssigned"
(viz příklad šablony ARM v souboru azuredeploy.json na GitHubu).Na Azure Portal přejděte do okna Identita vaší služby MedTech, přejděte na kartu Přiřazené systémem a ujistěte se, že platí následující:
- Stav je nastavený na Zapnuto.
- Přiřazení rolí Azure ukazují, že vaše centrum událostí má přiřazenou roli příjemce dat Azure Event Hubs ke spravované identitě přiřazené systémem služby MedTech. Pokud ne, postupujte podle těchto pokynů.
Pokud chcete použít spravovanou identitu přiřazenou uživatelem:
Ujistěte se, že máte spravovanou identitu přiřazenou uživatelem. Pokud ne, vytvořte ho pomocí Azure Portal nebo šablony ARM.
Pokud nasazujete službu MedTech pomocí šablony ARM, ujistěte se, že prostředek služby MedTech v šabloně ARM obsahuje
identity
vlastnost obsahující 1)type
hodnotu"userAssigned"
a 2)userAssignedIdentities
hodnotu, která obsahuje název spravované identity přiřazené uživatelem (viz příklad v tématu Přiřazení spravované identity přiřazené uživatelem k virtuálnímu počítači Azure).Na Azure Portal přejděte do okna Identita vaší služby MedTech, přejděte na kartu Přiřazený uživatelem a ujistěte se, že je zobrazená spravovaná identita přiřazená uživatelem. Pokud ne, přidejte spravovanou identitu přiřazenou uživatelem (viz příklad v tématu Přiřazení spravované identity přiřazené uživatelem k existujícímu virtuálnímu počítači).
Na Azure Portal přejděte do centra událostí a přiřaďte roli Azure Event Hubs Příjemce dat spravované identitě přiřazené uživatelem služby MedTech (viz pokyny, ale místo spravované identity přiřazené systémem použijte spravovanou identitu přiřazenou uživatelem).
Výjimka MultipleResourceFoundException
Popis: V cíli FHIR se nachází více prostředků FHIR se stejným identifikátorem, který je převzatý ze zprávy zařízení, ale měl se najít jenom jeden prostředek FHIR. V chybové zprávě je uvedený typ prostředku FHIR (například Zařízení, Pacient, Setkání nebo Pozorování).
Závažnost: Neblokující
Oprava: Ujistěte se, že identifikátor není přiřazený více než jednomu prostředku FHIR, který má typ zadaný v chybové zprávě.
NormalizationDataMappingException
Popis: Při normalizaci zprávy zařízení s mapováním zařízení došlo k chybě.
Závažnost: Blokování
Oprava: Na Azure Portal přejděte do okna Mapování zařízení vaší služby MedTech a opravte všechny chyby ověřování, které se zobrazují při úpravách a ukládání mapování zařízení.
PatientDeviceMismatchException
Popis: Prostředek zařízení v cíli FHIR odkazuje na prostředek FHIR pacienta s identifikátorem, který neodpovídá identifikátoru pacienta uvedenému ve zprávě zařízení (to znamená, že zařízení je propojené s jiným pacientem).
Závažnost: Neblokující
Oprava: Ujistěte se, že identifikátor pacienta není přiřazený k více než jednomu zařízení.
ResourceIdentityNotDefinedException
Popis: K této chybě dochází v případě, že se identifikátor prostředku FHIR nenachází ve zprávě zařízení nebo když výraz pro parsování identifikátoru prostředku FHIR ze zprávy zařízení není nakonfigurovaný v mapování zařízení. V chybové zprávě je uvedený typ prostředku FHIR (například Zařízení, Pacient, Setkání nebo Pozorování). Poznámka: K této chybě může dojít pouze v případě, že je typ řešení služby MedTech nastavený na Vytvořit.
Závažnost: Neblokující
Oprava: Ujistěte se, že zprávy zařízení obsahují identifikátor prostředku FHIR, který má typ zadaný v chybové zprávě. Na Azure Portal přejděte také do okna Mapování zařízení vaší služby MedTech a ujistěte se, deviceIdExpression
že {FHIR resource’s type specified in the error message}IdExpression
hodnota (například ) v mapování zařízení existuje a správně odkazuje na klíč identifikátoru ve zprávách zařízení.
Výjimka TemplateExpressionException
Popis: V šabloně v rámci mapování zařízení došlo k chybě s výrazem. Mezi chyby patří:
Chybí požadovaný výraz.
Jazyk výrazu (reprezentovaný
language
vlastností) není podporovaný. Všechny typy šablon podporují výrazy v JSONPath; Pouze typ šablony CalculatedContent podporuje výrazy v JMESPath.Hodnota výrazu (reprezentovaná
value
vlastností) je nesprávně formátovaná podle syntaxe jazyka výrazu.
Výraz a řádek s chybou jsou uvedeny v chybové zprávě.
Závažnost: Blokování
Oprava: Na Azure Portal přejděte do okna Mapování zařízení vaší služby MedTech a opravte výraz zadaný v chybové zprávě v rámci mapování zařízení.
Výjimka TemplateNotFoundException
Popis: Šablona v mapování zařízení nemá odpovídající šablonu se stejným typem v rámci mapování cíle FHIR. Typ šablony je zadaný v chybové zprávě.
Závažnost: Neblokující
Oprava: Na Azure Portal přejděte do okna Mapování zařízení a Cíl vaší služby MedTech a ujistěte se, že pro každou šablonu v mapování zařízení je v cílovém mapování FHIR šablona se stejnou typeName
hodnotou.
UnauthorizedAccessEventHubException
Popis: Službě MedTech chybí přístup k centru událostí.
Závažnost: Blokování
Oprava: Na Azure Portal přejděte do centra událostí a přiřaďte službě MedTech roli Azure Event Hubs Příjemce dat (viz pokyny).
UnauthorizedAccessFhirServiceException
Popis: Službě MedTech chybí přístup pro zápis do cíle FHIR.
Závažnost: Blokování
Oprava: Na Azure Portal přejděte do služby FHIR a přiřaďte vaší službě MedTech roli FHIR Data Writer (viz pokyny).
Poznámka
Pokud se vám nedaří vyřešit problém se službou MedTech pomocí tohoto průvodce odstraňováním potíží, můžete otevřít lístek technické podpory Azure a připojit k vaší žádosti kopie zpráv zařízení a mapování zařízení a cílů FHIR , abyste mohli lépe pomoct s určením problému.
Další kroky
V tomto článku jste zjistili, jak řešit a opravovat chyby pomocí protokolů služby MedTech.
Informace o nejčastějších dotazech ke službě MedTech najdete v tématu
FHIR® je registrovaná ochranná známka společnosti Health Level Seven International, registrovaná v Americkém úřadu pro ochranné známky a používá se s jejich svolením.