Dépannage

Découvrez les étapes de dépannage qui pourraient vous être utiles si vous rencontrez des problèmes avec l'API Cloud Healthcare.

Impossible d'activer l'API Cloud Healthcare

Lorsque vous activez l'API Cloud Healthcare pour la première fois dans votre projet Google Cloud, vous pouvez rencontrer une erreur d'autorisation indiquant que vous n'êtes pas autorisé à activer les API Google Cloud pour votre projet.

Consultez la section Activer et désactiver des API pour savoir comment activer les API Google Cloud, y compris l'API Cloud Healthcare.

Impossible de s'authentifier auprès de l'API Cloud Healthcare

Lorsque vous appelez l'API Cloud Healthcare, vous pouvez être confronté à un message d'erreur indiquant que vos "Identifiants par défaut de l'application" ne sont pas disponibles.

Consultez la section S'authentifier auprès de l'API pour savoir comment configurer les identifiants par défaut de l'application ou comment transmettre manuellement les identifiants d'authentification à une application ou une commande.

Absence du compte de service de l'API Cloud Healthcare ou du rôle d'agent de service Healthcare

Le compte de service Agent de service Cloud Healthcare est automatiquement créé lorsque vous activez l'API Cloud Healthcare et créez votre premier ensemble de données. Il s'agit d'un compte de service géré par Google. Vous ne pouvez pas supprimer entièrement le compte de service, mais dans certaines circonstances, il peut ne pas apparaître sur la page Identity and Access Management, et vous pouvez rencontrer des problèmes avec l'API Cloud Healthcare.

Pour que l'API Cloud Healthcare fonctionne correctement et effectue des tâches telles que la publication et la réception publier de messages depuis Pub/Sub ou l'écriture de métriques dans Cloud Logging, le compte de service Agent de service Cloud Healthcare doit exister et disposer du rôle Cloud IAM Agent de service Healthcare.

Vous pouvez recréer le compte de service Agent de service Cloud Healthcare ou lui attribuer le rôle Cloud IAM Agent de service Healthcare si vous rencontrez l'un des problèmes suivants :

  • Vous ne pouvez pas trouver le compte de service Agent de service Cloud Healthcare sur la page Cloud Identity and Access Management.
  • Vous pouvez trouver le compte de service Agent de service Cloud Healthcare, mais il ne contient pas le rôle Agent de service Healthcare.

Utilisez Google Cloud CLI pour ajouter le rôle healthcare.serviceAgent au compte de service de l'agent de service Cloud Healthcare à l'aide de l'identifiant du compte de service. qui utilise le format service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.

Pour recréer le compte de service ou lui accorder le rôle Cloud IAM Agent de service Healthcare, exécutez la commande gcloud projects add-iam-policy-binding. Pour trouver les informations PROJECT_ID et PROJECT_NUMBER, consultez la section Identifier des projets.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/healthcare.serviceAgent

Si la requête aboutit, l'invite de commande affiche un message semblable à l'exemple suivant :

Updated IAM policy for project [PROJECT_ID].
bindings:
...
- members:
  - serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
  role: roles/healthcare.serviceAgent
...
etag: VALUE
version: VALUE

Revenez à la page Identity and Access Management et vérifiez les éléments suivants :

  • La colonne Membre contient un identifiant de compte de service au format service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.
  • Sur la même ligne que la colonne Membre, la colonne Nom contient Agent de service Cloud Healthcare.
  • Sur la même ligne que celle identifiée à partir de la colonne Membre, la colonne Nom contient Agent de service Cloud Life Sciences.

Groupe transactionnel FHIR annulé en raison d'une charge importante cumulative

Lors de l'exécution d'un groupe transactionnel FHIR, vous pouvez recevoir un message d'erreur indiquant que la requête est "annulée en raison d'une charge importante cumulative liée à l'exécution du groupe transactionnel".

Lorsque vous exécutez des groupes transactionnels, vous pouvez créer autant de conflits de verrou que vous le souhaitez. Par exemple, si vous créez un ensemble de groupes dans lesquels chaque lot met à jour une seule ressource Patient commune et crée d'autres ressources inhabituelles, et que vous les exécutez en parallèle, le temps nécessaire augmente rapidement, car chaque groupe doit contenir le verrou de ce patient commun pour l'ensemble de la transaction. Par conséquent, ils vont expirer. Lorsque l'API Cloud Healthcare détecte des groupes transactionnels arrivant à expiration, elle rejette temporairement tous les groupes transactionnels avec ce message d'erreur pour essayer de résoudre le conflit.

Pour éviter ce problème, vous pouvez essayer l'une des solutions suivantes :

  • Utilisez des groupes par lot si vous n'avez pas besoin de la sémantique transactionnelle. Les groupes par lot évitent complètement ce problème, car ils ne sont pas atomiques. Toutefois, cela réduit l'application de l'intégrité référentielle.
  • Si vous pouvez identifier la ressource qui est mise à jour en parallèle, déterminez si ces mises à jour peuvent être factorisées ou évitées. Dans FHIR, cela se produit si vous créez une ressource telle que Observation et mettez également à jour la ressource Patient associée (ou l'organisation, l'emplacement, l'appareil, etc.) qui existe déjà et ne change pas.
  • Limitation du débit côté client. Si l'exécution de vos groupes transactionnels prend beaucoup de temps, réduisez le taux d'ingestion avant l'expiration des requêtes.