Solução de problemas

Saiba mais sobre as etapas de solução de problemas que podem ser úteis se você tiver dúvidas ao usar a API Cloud Healthcare.

Não é possível ativar a API Cloud Healthcare

Ao ativar a API Cloud Healthcare pela primeira vez no projeto do Google Cloud, é possível que ocorra um erro de permissão indicando que você não tem permissão para ativar as APIs Google Cloud para o projeto.

Consulte Como ativar e desativar APIs para informações sobre como ativar APIs Google Cloud, incluindo a API Cloud Healthcare.

Não é possível autenticar na API Cloud Healthcare

Ao chamar a API Cloud Healthcare, é possível que você receba uma mensagem de erro indicando que suas "credenciais padrão do aplicativo" não estão disponíveis.

Consulte Como autenticar na API para informações sobre como configurar o Application Default Credentials ou passar as credenciais de autenticação manualmente para um aplicativo ou comando.

Conta de serviço da API Cloud Healthcare ou papel de Agente de serviço do Cloud Healthcare

A conta de serviço do Agente de serviço do Cloud Healthcare é criada automaticamente ao ativar a API Cloud Healthcare e criar seu primeiro conjunto de dados. Esta é uma conta serviço gerenciado pelo Google. Não é possível excluir totalmente a conta de serviço, mas em determinadas circunstâncias talvez ele não apareça na página Identity and Access Management. e você pode encontrar problemas com a API Cloud Healthcare.

Para que a API Cloud Healthcare funcione corretamente e conclua tarefas como publicar e receber mensagens do Pub/Sub ou gravar métricas no Cloud Logging, a conta de serviço do Agente de serviço do Cloud Healthcare precisa existir e ter o papel do IAM de Agente de serviço de saúde.

É possível recriar a conta de serviço do Agente de serviço do Cloud Healthcare ou conceder a ela o papel IAM de agente de serviço da Healthcare, se você encontrar um dos seguintes problemas:

  • Não é possível encontrar a conta de serviço do Agente de serviço do Cloud Healthcare na página gerenciamento de identidade e acesso.
  • É possível encontrar a conta de serviço do Agente de serviço do Cloud Healthcare, mas ela não inclui o papel Agente de serviço do Cloud Healthcare.

use a Google Cloud CLI; para adicionar o papel healthcare.serviceAgent ao Conta de serviço do Agente de serviço do Cloud Healthcare usando o identificador da conta de serviço, que usa o formato service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.

Para recriar a conta de serviço ou conceder o papel IAM do agente de serviço do Healthcare, execute o comando gcloud projects add-iam-policy-binding. Para encontrar PROJECT_ID e PROJECT_NUMBER, consulte Como identificar projetos.

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

Se a solicitação for bem-sucedida, o prompt de comando exibirá uma mensagem semelhante à seguinte amostra:

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

Retorne à página Gerenciamento de identidade e acesso novamente e verifique o seguinte:

  • A coluna Membro contém um identificador de conta de serviço no formato service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.
  • Na mesma linha da coluna Membro, a coluna Nome exibe o Agente de serviço do Cloud Healthcare.
  • Na mesma linha da coluna Membro, a coluna Papel contém o Agente de serviços do Cloud Healthcare.

Pacote transacional FHIR cancelado devido à carga pesada cumulativa

Ao executar um pacote transacional FHIR, você pode receber uma mensagem de erro indicando que a solicitação foi "cancelada devido à sobrecarga cumulativa de de execução de pacote transacional".

Quando você executa pacotes transacionais, não há limite de contenção de bloqueio que você pode criar. Por exemplo, se você criar um conjunto de pacotes em que cada pacote atualiza um único recurso comum de paciente e cria alguns outros recursos não comuns e executá-los em paralelo, o tempo aumentam rapidamente, pois cada pacote precisa manter o controle sobre comum para toda a transação. Como resultado, eles vão começar a tempo limite. Quando a API Cloud Healthcare detecta pacotes transacionais tempo limite, ele rejeita temporariamente todos os pacotes transacionais com este mensagem de erro para tentar deixar a contenção limpar.

Para evitar esse problema, tente uma das seguintes opções:

  • Use pacotes em lote se não precisar de semântica de transação. Pacotes em lote evitar esse problema inteiramente porque elas não são atômicas. No entanto, reduz a aplicação da integridade referencial.
  • Se você conseguir identificar qual recurso está sendo atualizado em paralelo, determine se essas atualizações podem ser desconsideradas ou evitadas. No FHIR, isso acontece quando você criar um novo recurso, como "Observação", e atualizar o paciente associado (ou organização, local, dispositivo etc.) que já existe e não muda.
  • Limitação de taxa no lado do cliente se os pacotes transacionais usam muito tempo de execução, reduza a taxa de ingestão antes que as solicitações comecem tempo limite.