Ř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:

Typ protokolu
CorrelationIdNotDefinedException
FhirDataMappingException
FhirResourceNotFoundException
Výjimka incompatibleDataException
InvalidDataFormatException
InvalidEventHubException
InvalidFhirServiceException
InvalidQuantityFhirValueException
InvalidTemplateException
ManagedIdentityCredentialNotFound
Výjimka MultipleResourceFoundException
NormalizationDataMappingException
PatientDeviceMismatchException
ResourceIdentityNotDefinedException
Výjimka TemplateExpressionException
Výjimka TemplateNotFoundException
UnauthorizedAccessEventHubException
UnauthorizedAccessFhirServiceException

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:

  1. 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).

  2. 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:

  1. Ujistěte se, že máte spravovanou identitu přiřazenou uživatelem. Pokud ne, vytvořte ho pomocí Azure Portal nebo šablony ARM.

  2. 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).

  3. 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).

  4. 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.