Résoudre les erreurs à l’aide des journaux du service MedTech
Notes
Fast Healthcare Interoperability Resources (FHIR®) est une spécification de soins de santé ouverte.
Cet article fournit des étapes de résolution des problèmes et des correctifs pour les erreurs trouvées dans les journaux du service MedTech.
Conseil
L’accès aux journaux du service MedTech est essentiel pour résoudre les problèmes et évaluer l’intégrité globale et les performances de votre service MedTech.
Pour savoir comment accéder aux journaux du service MedTech, consultez Comment activer les paramètres de diagnostic pour le service MedTech.
Gravité des erreurs du service MedTech
Cette propriété représente la gravité de l’erreur qui s’est produite. Voici la liste des valeurs possibles pour cette propriété :
Gravité | Description |
---|---|
Non bloquant | Il existe un problème dans le processus de flux de données, mais le traitement des messages d’appareil ne s’arrête pas. |
Blocage | Il existe un problème dans le processus de flux de données et aucun message d’appareil n’est censé être traité. |
Opération effectuée par le service MedTech
Cette propriété représente l’opération effectuée par le service MedTech lorsque l’erreur s’est produite. Une opération représente généralement l’étape de flux de données au cours de laquelle un message d’appareil est traité. La phase de flux de données s’affiche dans les journaux d’erreur sous la forme OperationName. Voici la liste des valeurs possibles pour cette propriété :
NomOpération | Description |
---|---|
Normalisation | Étape de flux de données où le message de l’appareil est normalisé. |
FHIRConversion | Étape de flux de données dans laquelle les données groupées normalisées sont transformées en ressource Observation. |
Notes
Pour en savoir plus sur la transformation des données des messages des appareils de service MedTech, consultez Vue d’ensemble des étapes de traitement des données des appareils de service MedTech.
L’intégrité du service MedTech case activée exceptions et correctifs
Les vérifications d’intégrité sont effectuées automatiquement et régulièrement pour case activée si un service MedTech peut normaliser et transformer les messages d’appareil. Si une case activée d’intégrité n’a pas réussi, une exception HealthCheckException se produit et est journalisée.
Dans les journaux du service MedTech, une défaillance d’intégrité case activée est enregistrée avec un LogType de HealthCheckException, et le nom du case activée d’intégrité défaillant est enregistré dans le message.
Les noms des contrôles d’intégrité sont répertoriés dans le tableau suivant, et les correctifs pour l’un de leurs échecs sont décrits sous le tableau :
Healthcheck |
---|
CredentialStore:IsCustomerFacingMiCredentialBundlePresent |
ExternalEventHub:IsAuthenticated |
FhirService:IsAuthenticated |
Notes
Bien qu’un HealthCheckException soit un problème bloquant, il peut être temporaire et peut se résoudre sans intervention.
CredentialStore:IsCustomerFacingMiCredentialBundlePresent
Description : vérifie si l’identité managée affectée par le système d’un service MedTech a été activée ou si une identité managée affectée par l’utilisateur est configurée.
Gravité : blocage
Correctif : suivez le correctif décrit dans ManagedIdentityCredentialNotFound.
ExternalEventHub:IsAuthenticated
Description : vérifie que le hub d’événements est valide et que le service MedTech y a accès.
Gravité : blocage
Correctif : vérifiez que votre hub d’événements est valide en suivant le correctif décrit dans InvalidEventHubException. Vérifiez ensuite que votre service MedTech a accès à votre hub d’événements en suivant le correctif décrit dans UnauthorizedAccessEventHubException.
FhirService:IsAuthenticated
Description : vérifie que la destination FHIR est valide et que le service MedTech y a accès en écriture.
Gravité : blocage
Correctif : vérifiez que votre destination FHIR est valide en suivant le correctif décrit dans InvalidFhirServiceException. Vérifiez ensuite que votre service MedTech dispose d’un accès en écriture à votre destination FHIR en suivant le correctif décrit dans UnauthorizedAccessFhirServiceException.
Erreurs et correctifs du service MedTech
Si une erreur se produit lors de la normalisation ou de la transformation des messages d’appareil, elle est journalisée.
Dans les journaux du service MedTech, le nom de l’erreur est enregistré dans le LogType.
Les noms des erreurs sont répertoriés dans le tableau suivant, et les correctifs pour ces erreurs sont fournis sous le tableau :
CorrelationIdNotDefinedException
Description : si un CorrelationIdExpression (qui est l’expression permettant d’analyser l’identificateur de corrélation à partir du message d’appareil) est spécifié dans le mappage de l’appareil, cette erreur se produit lorsque l’identificateur de corrélation n’est pas présent dans un message d’appareil ou lorsque la correlationIdExpression n’est pas configurée correctement dans le mappage de l’appareil. Remarque : La propriété CorrelationIdExpression est facultative. Cette erreur se produit lors du regroupement des mesures qui partagent le même appareil, le même type et le même identificateur de corrélation en une seule ressource d’observation FHIR.
Gravité : blocage
Correctif :
Si l’objet CorrelationIdExpression est nécessaire : assurez-vous que les messages de votre appareil contiennent l’identificateur de corrélation. En outre, sur le Portail Azure, accédez au panneau Mappage des appareils de votre service MedTech et vérifiez que la valeur dans le
correlationIdExpression
mappage des appareils existe et référence correctement la clé de l’identificateur de corrélation dans les messages de votre appareil.Si le CorrelationIdExpression n’est pas nécessaire : dans le Portail Azure, accédez au panneau Mappage des appareils de votre service MedTech et supprimez la ligne contenant
correlationIdExpression
le mappage d’appareil.
FhirDataMappingException
Description : une erreur s’est produite lors de la transformation de données normalisées avec le mappage de destination FHIR. Cette erreur se produit lorsqu’un modèle qui correspond aux données normalisées n’est pas défini dans le mappage de destination FHIR.
Gravité : blocage
Correctif : dans le Portail Azure, accédez au panneau Mappage des appareils et au panneau Destination de votre service MedTech, puis vérifiez que, pour chaque modèle dans le mappage d’appareil, il existe un modèle avec la même typeName
valeur dans le mappage de destination FHIR. Corrigez également les erreurs de validation qui s’affichent lors de la modification et de l’enregistrement du mappage de destination FHIR dans le panneau Destination .
FhirResourceNotFoundException
Description : cette erreur se produit lorsqu’une ressource FHIR avec l’identificateur donné dans le message de l’appareil est introuvable dans la destination FHIR. Si le type de la ressource FHIR est Patient, l’erreur peut être que la ressource FHIR d’appareil avec l’identificateur d’appareil indiqué dans le message de l’appareil ne référence pas une ressource FHIR patient. Le type de la ressource FHIR (par exemple, Appareil, Patient, Rencontre ou Observation) est spécifié dans le message d’erreur. Remarque : Cette erreur ne peut se produire que lorsque le type de résolution du service MedTech est défini sur Recherche.
Gravité : non bloquant
Correctif : vérifiez que les messages de votre appareil contiennent l’identificateur de la ressource FHIR qui a le type spécifié dans le message d’erreur. En outre, sur le Portail Azure, accédez au panneau Mappage des appareils de votre service MedTech et vérifiez que la {FHIR resource’s type specified in the error message}IdExpression
valeur (par exemple, deviceIdExpression
) dans le mappage d’appareil existe et référence correctement la clé de l’identificateur dans les messages de votre appareil.
IncompatibleDataException
Description : Il existe une incompatibilité entre le message de l’appareil et le mappage d’appareil (par exemple, une propriété requise peut être manquante ou vide dans le message de l’appareil et/ou dans le mappage de l’appareil). La propriété de mappage d’appareil avec l’erreur est spécifiée dans le message d’erreur.
Gravité : non bloquant
Correctif : vérifiez que les messages de votre appareil contiennent :
Clé référencée par la propriété de mappage d’appareil spécifiée dans le message d’erreur.
Valeur non vide pour la clé.
En outre, sur le Portail Azure, accédez au panneau Mappage des appareils de votre service MedTech et vérifiez que la propriété de mappage d’appareil spécifiée dans le message d’erreur a une valeur qui référence correctement la clé correspondante dans les messages de votre appareil.
InvalidDataFormatException
Description : Un message d’appareil n’est pas dans un format qui peut être analysé dans un objet JSON.
Gravité : non bloquant
Correctif : vérifiez que les messages de votre appareil sont au format JSON. Une façon de confirmer le format JSON consiste à utiliser un validateur JSON en ligne.
InvalidEventHubException
Description : Le hub d’événements n’est pas valide pour l’une des raisons suivantes :
Au moins un des détails du hub d’événements (espace de noms Event Hubs, nom du hub d’événements ou groupe de consommateurs) est mal mis en forme ou n’existe pas. L’espace de noms Event Hubs doit contenir le hub d’événements et le hub d’événements doit contenir le groupe de consommateurs.
Plusieurs services sont lisant à partir du groupe de consommateurs du hub d’événements.
Gravité : blocage
Correctif : sur le Portail Azure, accédez au panneau Event Hubs de votre service MedTech et vérifiez que tous les champs pour les détails du hub d’événements sont renseignés. Pour vous assurer que seul votre service MedTech lit à partir du groupe de consommateurs, soit :
Passez par vos services et assurez-vous que votre service MedTech est le seul service qui accède au groupe de consommateurs.
Accédez à votre hub d’événements dans le Portail Azure, créez un groupe de consommateurs auquel seul votre service MedTech accède, accédez au panneau Event Hubs de votre service MedTech et sélectionnez votre nouveau groupe de consommateurs dans le champ Groupe de consommateurs.
InvalidFhirServiceException
Description : la destination FHIR n’est pas valide, car elle est mise en forme incorrecte, n’existe pas ou n’est pas un service FHIR dans Azure Health Data Services.
Gravité : blocage
Correctif : dans le Portail Azure, accédez au panneau Destination de votre service MedTech et vérifiez que le champ serveur FHIR est correctement renseigné.
InvalidQuantityFhirValueException
Description : La valeur avec un type de données de ressource Quantity n’est pas valide (par exemple, elle peut être dans un format qui n’est pas pris en charge). La valeur avec l’erreur est spécifiée dans le message d’erreur.
Gravité : non bloquant
Correctif : vérifiez que les valeurs dans les messages de votre appareil sont dans des types de données pris en charge conformément aux spécifications FHIR Quantity.value.
InvalidTemplateException
Description : Une erreur s’affiche avec un modèle dans le mappage d’appareil ou le mappage de destination FHIR. Les erreurs sont les suivantes :
Le type de modèle d’un modèle (représenté par la
templateType
propriété) est manquant ou a une valeur vide.Un modèle (représenté par la propriété) sous le
template
modèle de collection racine n’a pas d’objet JSON, qui est identifié par des accolades{}
, comme valeur.Le type d’un modèle (représenté par la
typeName
propriété) est manquant ou a une valeur vide.Plusieurs modèles d’un mappage ont le même type (a la même valeur pour sa
typeName
propriété).
Le type et la ligne du modèle avec l’erreur sont spécifiés dans le message d’erreur.
Gravité : blocage
Correction : dans le Portail Azure, accédez au panneau Mappage des appareils (si l’erreur se trouve dans le mappage d’appareil) ou au panneau Destination (si l’erreur se trouve dans le mappage de destination FHIR) de votre service MedTech, puis corrigez le modèle spécifié dans le message d’erreur.
ManagedIdentityCredentialNotFound
Description : Lorsque le service MedTech se connecte au hub d’événements, l’identité managée affectée par le système du service MedTech est désactivée ou n’existe pas, ou une identité managée affectée par l’utilisateur n’est pas configurée pour le service MedTech. Remarque : Cette erreur peut se produire si le service MedTech a été déployé à l’aide d’un modèle Azure Resource Manager (ARM) mal configuré.
Gravité : blocage
Correctif : le correctif dépend du type d’identité managée que vous souhaitez utiliser. La différence entre une identité managée affectée par le système et une identité managée affectée par l’utilisateur peut être examinée dans Types d’identité managée. Remarque : Le service MedTech ne prend en charge qu’une seule identité : une identité managée affectée par le système ou une seule identité managée affectée par l’utilisateur.
Si vous souhaitez utiliser une identité managée affectée par le système :
Si vous déployez un service MedTech à l’aide d’un modèle ARM, vérifiez que votre ressource de service MedTech dans le modèle ARM possède une
identity
propriété contenant la valeur de (voir l’exempletype
de"SystemAssigned"
modèle ARM dans le fichier azuredeploy.json sur GitHub).Dans le Portail Azure, accédez au panneau Identité de votre service MedTech, accédez à l’onglet Affecté par le système et vérifiez ce qui suit :
- L’état est défini sur Activé.
- Les attributions de rôles Azure indiquent que votre hub d’événements a un rôle récepteur de données Azure Event Hubs attribué à l’identité managée affectée par le système de votre service MedTech. Si ce n’est pas le cas, suivez ces instructions.
Si vous souhaitez utiliser une identité managée affectée par l’utilisateur :
Vérifiez que vous disposez d’une identité managée affectée par l’utilisateur. Si ce n’est pas le cas, créez-en un à l’aide de la Portail Azure ou d’un modèle ARM.
Si vous déployez un service MedTech à l’aide d’un modèle ARM, assurez-vous que votre ressource de service MedTech dans le modèle ARM possède une
identity
propriété contenant 1) la valeur et 2) uneuserAssignedIdentities
valeur qui inclut letype
nom de"userAssigned"
votre identité managée affectée par l’utilisateur (voir l’exemple d’affectation d’une identité managée affectée par l’utilisateur à une machine virtuelle Azure).Dans le Portail Azure, accédez au panneau Identité de votre service MedTech, accédez à l’onglet Utilisateur affecté et vérifiez que votre identité managée affectée par l’utilisateur s’affiche. Si ce n’est pas le cas, ajoutez votre identité managée affectée par l’utilisateur (voir exemple dans Attribuer une identité managée affectée par l’utilisateur à une machine virtuelle existante).
Sur le Portail Azure, accédez à votre hub d’événements et attribuez le rôle récepteur de données Azure Event Hubs à l’identité managée affectée par l’utilisateur de votre service MedTech (consultez les instructions, mais utilisez l’identité managée affectée par l’utilisateur au lieu de l’identité managée affectée par le système).
MultipleResourceFoundException
Description : Plusieurs ressources FHIR avec le même identificateur, qui est extrait du message de l’appareil, se trouvent dans la destination FHIR, mais une seule ressource FHIR doit avoir été trouvée. Le type de la ressource FHIR (par exemple, Appareil, Patient, Rencontre ou Observation) est spécifié dans le message d’erreur.
Gravité : non bloquant
Correctif : Vérifiez qu’un identificateur n’est pas affecté à plusieurs ressources FHIR ayant le type spécifié dans le message d’erreur.
NormalizationDataMappingException
Description : une erreur s’est produite lors de la normalisation d’un message d’appareil avec le mappage d’appareil.
Gravité : blocage
Correctif : sur le Portail Azure, accédez au panneau Mappage des appareils de votre service MedTech et corrigez les erreurs de validation qui s’affichent lors de la modification et de l’enregistrement du mappage d’appareils.
PatientDeviceMismatchException
Description : une ressource Appareil dans la destination FHIR référence une ressource Patient FHIR avec un identificateur qui ne correspond pas à l’identificateur du patient donné dans le message de l’appareil (ce qui signifie que l’appareil est lié à un autre patient).
Gravité : non bloquant
Correctif : vérifiez qu’un identificateur de patient n’est pas attribué à plusieurs appareils.
ResourceIdentityNotDefinedException
Description : cette erreur se produit lorsque l’identificateur de la ressource FHIR n’est pas présent dans un message d’appareil ou lorsque l’expression permettant d’analyser l’identificateur de la ressource FHIR à partir du message d’appareil n’est pas configurée dans le mappage de l’appareil. Le type de la ressource FHIR (par exemple, Appareil, Patient, Rencontre ou Observation) est spécifié dans le message d’erreur. Remarque : Cette erreur ne peut se produire que lorsque le type de résolution du service MedTech est défini sur Créer.
Gravité : non bloquant
Correctif : vérifiez que les messages de votre appareil contiennent l’identificateur de la ressource FHIR qui a le type spécifié dans le message d’erreur. En outre, sur le Portail Azure, accédez au panneau Mappage des appareils de votre service MedTech et vérifiez que la {FHIR resource’s type specified in the error message}IdExpression
valeur (par exemple, deviceIdExpression
) dans le mappage d’appareil existe et référence correctement la clé de l’identificateur dans les messages de votre appareil.
TemplateExpressionException
Description : une erreur s’affiche avec une expression dans un modèle dans le mappage d’appareil. Les erreurs sont les suivantes :
Une expression requise est manquante.
La langue d’une expression (représentée par la
language
propriété) n’est pas prise en charge. Tous les types de modèles prennent en charge les expressions dans JSONPath ; seul le type de modèle CalculatedContent prend en charge les expressions dans JMESPath.La valeur d’une expression (représentée par la
value
propriété) est incorrectement mise en forme conformément à la syntaxe du langage de l’expression.
L’expression et la ligne avec l’erreur sont spécifiées dans le message d’erreur.
Gravité : blocage
Correctif : sur le Portail Azure, accédez au panneau Mappage des appareils de votre service MedTech et corrigez l’expression spécifiée dans le message d’erreur dans le mappage d’appareil.
TemplateNotFoundException
Description : un modèle dans le mappage d’appareil n’a pas de modèle correspondant avec le même type dans le mappage de destination FHIR. Le type du modèle est spécifié dans le message d’erreur.
Gravité : non bloquant
Correctif : dans le Portail Azure, accédez au panneau Mappage des appareils et au panneau Destination de votre service MedTech, et vérifiez que, pour chaque modèle du mappage d’appareil, il existe un modèle avec la même typeName
valeur dans le mappage de destination FHIR.
UnauthorizedAccessEventHubException
Description : Le service MedTech ne reçoit pas l’accès au hub d’événements.
Gravité : blocage
Correctif : sur le Portail Azure, accédez à votre hub d’événements et attribuez le rôle Récepteur de données Azure Event Hubs à votre service MedTech (voir les instructions).
UnauthorizedAccessFhirServiceException
Description : le service MedTech n’a pas accès en écriture à la destination FHIR.
Gravité : blocage
Correctif : sur le Portail Azure, accédez à votre service FHIR et attribuez le rôle Enregistreur de données FHIR à votre service MedTech (voir les instructions).
Notes
Si vous n’êtes pas en mesure de résoudre votre problème de service MedTech à l’aide de ce guide de résolution des problèmes, vous pouvez ouvrir un ticket de support technique Azure en joignant des copies du message de votre appareil et des mappages de destination FHIR à votre demande pour mieux vous aider à déterminer le problème.
Étapes suivantes
Dans cet article, vous avez appris à dépanner et à corriger les erreurs à l’aide des journaux du service MedTech.
Pour en savoir plus sur les questions fréquentes (FAQ) sur le service MedTech, consultez
FHIR® est une marque déposée de la Health Level Seven International, enregistrée auprès de l’U.S. Trademark Office et utilisée avec leur autorisation.