Dela via


Felsöka fel med hjälp av MedTech-tjänstloggarna

Viktigt!

Från och med 2025-02-26 kommer MedTech-tjänsten inte längre att vara tillgänglig i följande regioner: Storbritannien, västra, Förenade Arabemiraten, Norra Förenade Arabemiraten, Sydafrika, norra, Qatar Central.

Den här artikeln innehåller felsökningssteg och korrigeringar för fel som finns i MedTech-tjänstloggarna.

Tips/Råd

Att ha åtkomst till MedTech-tjänstloggar är viktigt för att felsöka och utvärdera den övergripande hälsan och prestandan för din MedTech-tjänst.

Mer information om hur du kommer åt MedTech-tjänstloggarna finns i Så här aktiverar du diagnostikinställningar för MedTech-tjänsten.

Allvarlighetsgrad för MedTech-tjänstens fel

Den här egenskapen representerar allvarlighetsgraden för det inträffade felet. Här är en lista över möjliga värden för den här egenskapen:

Svårighetsgrad Beskrivning
Icke-blockerande Det finns ett problem i dataflödesprocessen, men bearbetningen av enhetsmeddelanden stoppas inte.
Blockering Det finns ett problem i dataflödesprocessen och inga enhetsmeddelanden förväntas bearbetas.

Operation som utförs av MedTech-tjänsten

Den här egenskapen representerar den åtgärd som utförs av MedTech-tjänsten när felet inträffade. En åtgärd representerar vanligtvis dataflödessteget där ett enhetsmeddelande bearbetas. Dataflödessteget visas i felloggarna som OperationName. Här är en lista över möjliga värden för den här egenskapen:

Operationens namn Beskrivning
Normalisering Dataflödessteget där enhetsmeddelandet normaliseras.
FHIRConversion Dataflödessteget där grupperade normaliserade data omvandlas till en observationsresurs.

Anmärkning

Mer information om dataomvandlingen för MedTech-tjänstens enhetsmeddelanden finns i Översikt över databearbetningsstegen för MedTech-tjänstens enhet.

MedTech-tjänstens hälsokontrollsfel och korrigeringar

Hälsokontroller utförs automatiskt och regelbundet för att kontrollera om en MedTech-tjänst kan normalisera och transformera enhetsmeddelanden. Om en hälsokontroll inte godkänns, inträffar en HealthCheckException och loggas.

I MedTech-tjänstloggarna loggas ett hälsokontrollfel med en LogType av HealthCheckException, och namnet på den misslyckade hälsokontrollen loggas i Meddelandet.

Hälsokontrollernas namn visas i följande tabell och korrigeringarna för något av deras fel beskrivs under tabellen:

Hälsokontroll
CredentialStore:ÄrKundsynligMiCredentialBundleNärvarande
ExternalEventHub:IsAuthenticated
FhirService:IsAuthenticated

Anmärkning

Även om ett HealthCheckException är ett blockerande problem kan det vara tillfälligt och kan lösa sig utan någon åtgärd.

CredentialStore:IsCustomerFacingMiCredentialBundlePresent

Beskrivning: Kontrollerar om en MedTech-tjänsts systemtilldelade hanterade identitet har aktiverats eller om en användartilldelad hanterad identitet har konfigurerats.

Allvarlighetsgrad: Blockerande

Korrigering: Följ korrigeringen som beskrivs i ManagedIdentityCredentialNotFound.

ExternalEventHub:ÄrAutentiserad

Beskrivning: Kontrollerar att händelsehubben är giltig och att MedTech-tjänsten har åtkomst till den.

Allvarlighetsgrad: Blockering

Korrigering: Kontrollera att händelsehubben är giltig genom att följa korrigeringen som beskrivs i InvalidEventHubException. Kontrollera sedan att Din MedTech-tjänst har fått åtkomst till din händelsehubb genom att följa korrigeringen som beskrivs i UnauthorizedAccessEventHubException.

FhirService:ÄrAutentiserad

Beskrivning: Kontrollerar att FHIR®-destinationen är giltig och att MedTech-tjänsten har skrivåtkomst till den.

Allvarlighetsgrad: Blockerande

Korrigering: Kontrollera att FHIR-målet är giltigt genom att följa korrigeringen som beskrivs i InvalidFhirServiceException. Kontrollera sedan att din MedTech-tjänst har skrivåtkomst till din FHIR-destination genom att följa korrigeringen som beskrivs i UnauthorizedAccessFhirServiceException.

MedTech-tjänstfel och korrigeringar

Om ett fel uppstår när enhetsmeddelanden normaliseras eller transformeras loggas det.

I MedTech-tjänstloggarna loggas felets namn i LogType.

Felens namn visas i följande tabell och korrigeringarna för dem anges under tabellen:

Loggtyp
CorrelationIdNotDefinedException
FhirDataMappingException
FhirResourceNotFoundException
IncompatibleDataException
InvalidDataFormatException
InvalidEventHubException
InvalidFhirServiceException
InvalidQuantityFhirValueException
InvalidTemplateException
ManagedIdentityCredentialNotFound
MultipleResourceFoundException
NormalizationDataMappingException
PatientDeviceMismatchException
ResourceIdentityNotDefinedException
TemplateExpressionException
TemplateNotFoundException
UnauthorizedAccessEventHubException
UnauthorizedAccessFhirServiceException

CorrelationIdNotDefinedException

Beskrivning: Om ett CorrelationIdExpression (som är uttrycket för att parsa korrelationsidentifieraren från enhetsmeddelandet) anges i enhetsmappningen uppstår det här felet när korrelationsidentifieraren inte finns i ett enhetsmeddelande eller när CorrelationIdExpression inte har konfigurerats korrekt i enhetsmappningen. Obs! CorrelationIdExpression är valfritt. Det här felet uppstår när du grupperar mått som delar samma enhet, typ och korrelationsidentifierare i en enda FHIR-observationsresurs.

Allvarlighetsgrad: Blockering

Lösningen

  • Om CorrelationIdExpression behövs: Kontrollera att enhetsmeddelandena innehåller korrelationsidentifieraren. På Azure-portalen går du också till bladet Enhetsmappning i Din MedTech-tjänst och ser till att correlationIdExpression värdet i enhetsmappningen finns och refererar korrekt till korrelationsidentifierarens nyckel i dina enhetsmeddelanden.

  • Om CorrelationIdExpression inte behövs: Gå till bladet Enhetsmappning i MedTech-tjänsten på Azure-portalen och ta bort raden som innehåller correlationIdExpression i enhetsmappningen.

FhirDataMappingException

Beskrivning: Ett fel uppstod vid transformering av normaliserade data med FHIR-målmappningen. Det här felet uppstår när en mall som motsvarar normaliserade data inte definieras i FHIR-målmappningen.

Allvarlighetsgrad: Blockerande

Åtgärda: På Azure-portalen går du till bladet Enhetsmappning och målbladet för Din MedTech-tjänst och ser till att det för varje mall i enhetsmappningen finns en mall med samma typeName värde i FHIR-målmappningen. Åtgärda eventuella valideringsfel som visas när du redigerar och sparar FHIR-destinationsmappningen i Destination-bladet.

FhirResourceNotFoundException

Beskrivning: Det här felet uppstår när en FHIR-resurs med identifieraren som anges i enhetsmeddelandet inte kan hittas i FHIR-målet. Om typen av FHIR-resurs är Patient kan felet vara att FHIR-resursen för enhet, med den enhetsidentifierare som anges i enhetsmeddelandet, inte refererar till en FHIR-resurs av typen Patient. FHIR-resursens typ (till exempel Enhet, Patient, Möte eller Observation) anges i felmeddelandet. Obs! Det här felet kan bara inträffa när MedTech-tjänstens lösningstyp är inställd på Lookup.

Allvarlighetsgrad: Icke-blockering

Åtgärda: Kontrollera att enhetsmeddelandena innehåller identifieraren för den FHIR-resurs som har den typ som anges i felmeddelandet. På Azure-portalen går du också till bladet Enhetsmappning för Din MedTech-tjänst och ser till att {FHIR resource’s type specified in the error message}IdExpression värdet (till exempel deviceIdExpression) i enhetsmappningen finns och korrekt refererar till identifierarens nyckel i dina enhetsmeddelanden.

IncompatibleDataException

Beskrivning: Det finns en inkompatibilitet mellan enhetsmeddelandet och enhetsmappningen (till exempel kan en obligatorisk egenskap saknas eller vara tom i enhetsmeddelandet och/eller i enhetsmappningen). Egenskapen för enhetsmappning med felet anges i felmeddelandet.

Allvarlighetsgrad: Icke-blockering

Korrigering: Se till att enhetsmeddelandena innehåller:

  • Den nyckel som refereras till av egenskapen för enhetsmappning som anges i felmeddelandet.

  • Ett värde som inte är tomt för nyckeln.

På Azure-portalen går du också till bladet Enhetsmappning i Din MedTech-tjänst och ser till att den enhetsmappningsegenskap som anges i felmeddelandet har ett värde som refererar till motsvarande nyckel i dina enhetsmeddelanden.

InvalidDataFormatException

Beskrivning: Ett enhetsmeddelande är inte i ett format som kan parsas till ett JSON-objekt.

Allvarlighetsgrad: Icke-blockering

Korrigering: Kontrollera att enhetsmeddelandena är i JSON-format. Ett sätt att bekräfta JSON-format är att använda en JSON-validator online.

InvalidEventHubException

Beskrivning: Händelsehubben är ogiltig av någon av följande orsaker:

  • Minst en av uppgifterna om händelsehubben (Event Hubs namespace, händelsehubbnamn eller konsumentgrupp) är felaktigt formaterade eller finns inte. Event Hubs-namnområdet ska innehålla händelsehubben och händelsehubben ska innehålla konsumentgruppen.

  • Mer än en tjänst läser från händelsehubbens konsumentgrupp.

Allvarlighetsgrad: Blockerande

Korrigering: På Azure-portalen går du till Event Hubs-bladet för Din MedTech-tjänst och ser till att alla fält för händelsehubbens information är ifyllda. För att säkerställa att endast din MedTech-tjänst läser från konsumentgruppen:

  • Gå igenom dina tjänster och se till att din MedTech-tjänst är den enda tjänst som har åtkomst till konsumentgruppen.

  • Gå till din händelsehubb i Azure-portalen, skapa en ny konsumentgrupp som endast din MedTech-tjänst har åtkomst till, gå till Event Hubs-bladet för Din MedTech-tjänst och välj din nya konsumentgrupp i fältet Konsumentgrupp .

InvalidFhirServiceException

Beskrivning: FHIR-målet är ogiltigt eftersom det är felaktigt formaterat, inte finns eller inte är en FHIR-tjänst i Azure Health Data Services.

Allvarlighetsgrad: Blockerande

Åtgärda: På Azure-portalen går du till Målbladet för Din MedTech-tjänst och ser till att FHIR-serverfältet är korrekt ifyllt.

InvalidQuantityFhirValueException

Beskrivning: Värdet med resursdatatypen Quantity är ogiltigt (det kan till exempel vara i ett format som inte stöds). Värdet med felet anges i felmeddelandet.

Allvarlighetsgrad: Icke-blockering

Åtgärda: Kontrollera att värdena i enhetsmeddelandena finns i datatyper som stöds enligt specifikationerna för FHIR Quantity.value.

InvalidTemplateException

Beskrivning: Det finns ett fel med en mall i enhetsmappningen eller FHIR-målmappningen. Bland felen finns:

  • Malltypen för en mall (representerad av templateType egenskapen) saknas eller har ett tomt värde.

  • En mall (representeras av template egenskapen) under rotsamlingsmallen har inte något JSON-objekt som identifieras av klammerparenteser {}som dess värde.

  • En malltyp (representeras av typeName egenskapen) saknas eller har ett tomt värde.

  • Fler än en mall i en mappning har samma typ (har samma värde för sin typeName egenskap).

Mallens typ och rad med felet anges i felmeddelandet.

Allvarlighetsgrad: Blockerande

Korrigering: På Azure-portalen går du till bladet Enhetsmappning (om felet finns i enhetsmappningen) eller målbladet (om felet finns i FHIR-målmappningen) för MedTech-tjänsten och korrigerar mallen som anges i felmeddelandet.

ManagedIdentityCredentialNotFound

Beskrivning: När MedTech-tjänsten ansluter till händelsehubben är MedTech-tjänstens systemtilldelade hanterade identitet inaktiverad eller finns inte, eller så konfigureras inte en användartilldelad hanterad identitet för MedTech-tjänsten. Obs! Det här felet kan inträffa om MedTech-tjänsten distribuerades med hjälp av en felkonfigurerad ARM-mall (Azure Resource Manager).

Allvarlighetsgrad: Blockerande

Korrigering: Korrigeringen beror på vilken typ av hanterad identitet du vill använda. Skillnaden mellan en systemtilldelad och en användartilldelad hanterad identitet kan granskas på hanterade identitetstyper. Obs! MedTech-tjänsten stöder endast en identitet: antingen en systemtilldelad hanterad identitet eller en enda användartilldelad hanterad identitet.  

Om du vill använda en systemtilldelad hanterad identitet:

  1. Om du distribuerar en MedTech-tjänst med hjälp av "SystemAssigned" en ARM-mall kontrollerar du att din MedTech-tjänstresurs i ARM-mallen har en identity egenskap som innehåller type värdet för (se exempel på ARM-mall i azuredeploy.json-filen GitHub).

  2. På Azure-portalen går du till identitetsbladet för Din MedTech-tjänst, går till fliken Systemtilldelad och kontrollerar följande:

    • Status är inställt på På.
    • Rolltilldelningarna i Azure visar att din händelsehubb har en Azure Event Hubs Data Receiver-roll tilldelad till MedTech-tjänstens systemtilldelade hanterade identitet. Om inte följer du dessa instruktioner

Om du vill använda en användartilldelad hanterad identitet:

  1. Kontrollera att du har en användartilldelad hanterad identitet. Om inte skapar du en med hjälp av Azure-portalen eller en ARM-mall.

  2. Om du distribuerar en MedTech-tjänst med hjälp av en ARM-mall kontrollerar du att din MedTech-tjänstresurs i ARM-mallen har en identity egenskap som innehåller 1) type värdet för och 2) ett userAssignedIdentities värde som innehåller den användartilldelade hanterade identitetens namn (se exempel på Tilldela en användartilldelad hanterad identitet till en virtuell Azure-dator)."userAssigned"

  3. I Azure-portalen går du till identitetsbladet för Din MedTech-tjänst, går till fliken Användartilldelad och ser till att din användartilldelade hanterade identitet visas. Om inte lägger du till din användartilldelade hanterade identitet (se exempel på Tilldela en användartilldelad hanterad identitet till en befintlig virtuell dator).

  4. På Azure-portalen går du till din händelsehubb och tilldelar rollen Azure Event Hubs Data Receiver till MedTech-tjänstens användartilldelade hanterade identitet (se instruktioner, men använd den användartilldelade hanterade identiteten i stället för den systemtilldelade hanterade identiteten).

MultipleResourceFoundException

Beskrivning: Flera FHIR-resurser med samma identifierare, som hämtas från enhetsmeddelandet, finns i FHIR-målet, men endast en FHIR-resurs ska ha hittats. FHIR-resursens typ (till exempel Enhet, Patient, Möte eller Observation) anges i felmeddelandet.

Allvarlighetsgrad: Icke-blockering

Korrigering: Kontrollera att en identifierare inte har tilldelats till mer än en FHIR-resurs som har den typ som anges i felmeddelandet.

NormalizationDataMappingException

Beskrivning: Ett fel uppstod när ett enhetsmeddelande normaliserades med enhetsmappningen.

Allvarlighetsgrad: Blockerande

Åtgärda: Gå till bladet Enhetsmappning i MedTech-tjänsten på Azure-portalen och åtgärda eventuella valideringsfel som visas när du redigerar och sparar enhetsmappningen.

PatientDeviceMismatchException

Beskrivning: En enhetsresurs i FHIR-målet refererar till en Patient FHIR-resurs med en identifierare som inte matchar patientidentifieraren som anges i enhetsmeddelandet (vilket innebär att enheten är länkad till en annan patient).

Allvarlighetsgrad: Icke-blockering

Korrigering: Se till att en patientidentifierare inte har tilldelats till fler än en enhet.

ResourceIdentityNotDefinedException

Beskrivning: Det här felet uppstår när FHIR-resursens identifierare inte finns i ett enhetsmeddelande eller när uttrycket för att parsa FHIR-resursens identifierare från enhetsmeddelandet inte har konfigurerats i enhetsmappningen. FHIR-resursens typ (till exempel Enhet, Patient, Möte eller Observation) anges i felmeddelandet. Obs! Det här felet kan bara inträffa när MedTech-tjänstens lösningstyp är inställd på Skapa.

Allvarlighetsgrad: Icke-blockering

Åtgärda: Kontrollera att enhetsmeddelandena innehåller identifieraren för den FHIR-resurs som har den typ som anges i felmeddelandet. På Azure-portalen går du också till bladet Enhetsmappning för Din MedTech-tjänst och ser till att {FHIR resource’s type specified in the error message}IdExpression värdet (till exempel deviceIdExpression) i enhetsmappningen finns och korrekt refererar till identifierarens nyckel i dina enhetsmeddelanden.

TemplateExpressionException

Beskrivning: Det finns ett fel med ett uttryck i en mall i enhetsmappningen. Bland felen finns:

  • Ett obligatoriskt uttryck saknas.

  • Ett uttrycks språk (representeras av egenskapen language ) stöds inte. Alla malltyper stöder uttryck i JSONPath; endast malltypen CalculatedContent stöder uttryck i JMESPath.

  • Ett uttrycks värde (representeras av value egenskapen) är felaktigt formaterat enligt syntaxen för uttryckets språk.

Uttrycket och raden med felet anges i felmeddelandet.

Allvarlighetsgrad: Blockerande

Åtgärda: Gå till bladet Enhetsmappning i MedTech-tjänsten på Azure-portalen och korrigera uttrycket som anges i felmeddelandet i enhetsmappningen.

TemplateNotFoundException

Beskrivning: En mall i enhetsmappningen har ingen matchande mall med samma typ i FHIR-målmappningen. Mallens typ anges i felmeddelandet.

Allvarlighetsgrad: Icke-blockering

Åtgärda: På Azure-portalen går du till bladet Enhetsmappning och målbladet för Din MedTech-tjänst och ser till att det för varje mall i enhetsmappningen finns en mall med samma typeName värde i FHIR-målmappningen.

UnauthorizedAccessEventHubException

Beskrivning: MedTech-tjänsten saknar åtkomst till händelsehubben.

Allvarlighetsgrad: Blockering

Korrigering: På Azure-portalen går du till din händelsehubb och tilldelar rollen Azure Event Hubs Data Receiver till din MedTech-tjänst (se instruktioner).

ObehörigÅtkomstFhirTjänstUndantag

Beskrivning: MedTech-tjänsten saknar skrivåtkomst till FHIR-målet.

Allvarlighetsgrad: Blockera

Korrigering: Gå till din FHIR-tjänst på Azure-portalen och tilldela rollen FHIR Data Writer till Din MedTech-tjänst (se instruktioner).

Anmärkning

Om du inte kan åtgärda problemet med MedTech-tjänsten med hjälp av den här felsökningsguiden kan du öppna en Azure Technical Support biljett som bifogar kopior av ditt enhetsmeddelande och mappningar av enheter och FHIR-mål till din begäran för att bättre hjälpa till med problembestämning.

Nästa steg

Vanliga frågor och svar om MedTech-tjänsten

Anmärkning

FHIR® är ett registrerat varumärke som tillhör HL7 och används med tillstånd av HL7.