Cotas e limites

A API Cloud Healthcare aplica limites ao uso de recursos por vários motivos. Por exemplo, as cotas protegem a comunidade de usuários do Google Cloud ao impedir picos de uso inesperados. O Google Cloud também oferece cotas de teste gratuitas que proporcionam acesso limitado a usuários que estão testando o Google Cloud, incluindo a API Cloud Healthcare.

As cotas da API Cloud Healthcare são aplicadas por projeto em uma ou várias regiões. O esgotamento da cota em uma única região não afetará seus o uso da API Cloud Healthcare em outras regiões.

Verificação das cotas e do uso

As cotas são limites de armazenamento (também chamados de limites de entrada) e operações.

Para verificar a cota disponível para recursos no seu projeto, acesse a página Cotas no console do Google Cloud.

Para exibir apenas cotas da API Cloud Healthcare, na coluna Filtro na lista suspensa, selecione Serviço e, depois, Cloud Healthcare API.

Nem todos os projetos têm as mesmas cotas. À medida que você usa mais a API Cloud Healthcare, as cotas também podem aumentar proporcionalmente. Se você espera um aumento notável no uso, você poderá solicitar ajustes de cota do a página Cotas console do Google Cloud. Não há custo algum para solicitar um aumento de cota. Seus custos aumentam apenas se você usar mais recursos.

Limites de recurso

A API Cloud Healthcare limita o tamanho do conteúdo de uma solicitação, como o tamanho de uma imagem de raios x em uma solicitação DICOM. Não é possível solicitar uma alteração em um limite de recurso. No entanto, em algumas situações, é possível usar uma operação de importação para importar conteúdo que excede o limite do recurso.

Os limites de recursos a seguir se aplicam e estão sujeitos a alterações.

Modalidade Limite de tamanho da solicitação
DICOM
  • Transação na loja: ilimitada. Todos os outros métodos: 10 MB.
  • Transação de armazenamento ou recuperação de transação: o tempo limite é atingido se a operação exceder uma hora.
  • Os métodos de transação de pesquisa têm uma compensação máxima de 1.000.000 e um limite máximo de 5.000 para estudos/séries e de 50.000 para instâncias.
  • Desidentificação: a desidentificação não pode processar arquivos DICOM com mais de 1 GB se houver edição de pixels.
  • A ingestão de arquivos DICOM tem um limite de 2 GB por tag. O limite inclui PixelData codificado em formato nativo.
  • Ao transcodificar dados DICOM, o tamanho máximo do arquivo é de 1 GB e o tamanho máximo do frame é de 150 MB.
  • dicomStores.import: o tamanho máximo do arquivo é 100 GB.
FHIR
HL7v2 10 MB

Se você tentar processar conteúdo além do limite de recurso associado, ocorrerá um erro.

Limites de tamanho de executeBundle FHIR

Você pode usar o fhir.executeBundle para executar várias operações FHIR em uma única solicitação de API. O número de operações depende do número de entradas em um em lote ou de transação. Essa abordagem é mais eficiente do que fazer chamadas de API individuais para cada operação.

O tempo de processamento de fhir.executeBundle solicitações aumenta com o número de entradas no pacote. Fatores como contenção de recursos (por exemplo, atualizando o mesmo recurso como parte de muitos pacotes de transações em paralelo) também podem afetar o desempenho. Para exemplos de quando a contenção de recursos pode ocorrer e como evitar que ele cause erros, consulte Práticas recomendadas de capacidade de processamento de dados. Pacotes grandes, especialmente aqueles com mais de 1.000 entradas, podem expirar e não ser concluídos.

Para garantir o processamento rápido e eficaz, considere estes limites ao enviar suas solicitações de fhir.executeBundle:

  • Pacotes de transação: pacotes com mais de 4.500 entradas são rejeitados imediatamente para evitar tempos limite. Os pacotes de transações exigem que todas as operações sejam bem-sucedidas.
  • Pacotes de lote: não existe um limite específico de entradas, mas pacotes maiores aumentam o risco de tempo limite. Os tempos limite podem resultar em sucesso parcial, com apenas alguns entradas processadas.

Como usar operações de importação para conteúdo que excede os limites do recurso

As operações de importação permitem processar mais conteúdo que o limite de recursos associado. O tamanho do conteúdo em uma operação de importação é limitado apenas pelo tamanho máximo de armazenamento de 5 TB do Google Cloud para objetos individuais. As operações de importação estão sujeitas a cotas de armazenamento que determinam quanto tempo leva uma operação de importação. É possível usar uma operação de importação, por exemplo, se você quiser armazenar muitas instâncias DICOM em um armazenamento DICOM e não quiser estar sujeito ao limite de tamanho da solicitação. Em vez de fazer upload das instâncias usando os métodos de transações de armazenamento disponíveis, faça upload das instâncias em um bucket do Cloud Storage e depois importe-as para o armazenamento DICOM.

Para ver as etapas detalhadas de importação de dados DICOM usando uma operação desse tipo, consulte Como importar e exportar dados DICOM.

Para ver as etapas detalhadas de importação de recursos do FHIR usando uma operação desse tipo, consulte Como importar e exportar recursos do FHIR.

Para etapas detalhadas sobre como importar mensagens HL7v2 usando uma operação, consulte Importar mensagens HL7v2 do Cloud Storage.

Solicite uma alteração da cota

Para solicitar uma alteração em uma cota, você precisa ter a permissão serviceusage.quotas.update. Por padrão, ela está incluída nos seguintes papéis predefinidos: proprietário, editor e administrador de cotas.

  1. Acesse a página Cotas.

    Acessar "Cotas"

  2. Na página Cotas, selecione as cotas que você quer alterar. Se você quer exibir apenas as cotas da API Cloud Healthcare API, selecione a opção Serviço na lista suspensa Filtrar tabela e depois clique em API Cloud Healthcare.

  3. Marque as caixas das cotas que você quer editar.

  4. Clique no botão Editar cotas na parte superior da página.

  5. Preencha o formulário e clique em Avançar.

  6. Insira os limites que você está solicitando e clique em Avançar.

  7. Clique em Enviar solicitação.

Solicitações para redução de cota serão recusadas por padrão. Se você quiser reduzir sua cota, responda ao e-mail de suporte com uma explicação das suas necessidades. Um representante de suporte responderá à sua solicitação.

Você receberá uma resposta da equipe da API Cloud Healthcare de 24 a 48 horas após a solicitação.

Planeje solicitar outros recursos com pelo menos alguns dias de antecedência para garantir que o atendimento será feito a tempo.

Limites de cotas

As seções a seguir descrevem as cotas associadas às operações e aos armazenamentos de dados da API Cloud Healthcare.

Cotas DICOM

A tabela a seguir descreve as cotas da API Cloud Healthcare associadas com armazenamentos DICOM e operações DICOM.

Nome da métrica Nome de exibição Descrição
dicomweb_ops Número de operações DICOMweb por minuto e por região Inclui os seguintes métodos:
  • Tudo em projects.locations.datasets.dicomStores.studies Métodos na v1beta1 e v1
  • Tudo em projects.locations.datasets.dicomStores.studies.series Métodos na v1beta1 e v1
  • Todos os métodos projects.locations.datasets.dicomStores.studies.series.instances na v1beta1 e na v1
  • Tudo em projects.locations.datasets.dicomStores.studies.series.instances.frames Métodos na v1beta1 e v1
dicom_structured_storage_bytes Entrada de armazenamento DICOM estruturado em bytes por minuto por região Bytes estruturados, na forma de tags DICOM e metadados relacionados, enviados à API Cloud Healthcare ao processar as operações dicomweb_ops.
dicom_store_ops Número de operações de armazenamento DICOM por minuto e por região Operações no armazenamento DICOM, não nos dados DICOM. Inclui os seguintes métodos:
dicom_store_lro_ops Número de operações de longa duração da loja DICOM por minuto e por região Operações no armazenamento DICOM, não dados DICOM, que retornam uma operação de longa duração. Inclui os seguintes métodos:
dicom_structured_storage_operations_bytes Entrada de armazenamento DICOM estruturado para operações de longa duração em bytes por minuto por região Bytes estruturados, na forma de tags DICOM e metadados relacionados, enviados à API Cloud Healthcare ao processar as operações dicom_store_lro_ops.

Cotas de FHIR

A tabela a seguir descreve as cotas da API Cloud Healthcare associadas com armazenamentos FHIR e operações FHIR.

Nome da métrica Nome de exibição Descrição
fhir_read_ops Número de operações de leitura de FHIR por minuto e por região É medida em unidades, em que uma unidade é uma solicitação de leitura em um recurso FHIR individual.

Inclui os seguintes métodos:

v1beta1: v1:
fhir_write_ops Número de operações de gravação do FHIR por minuto e região É medida em unidades, em que uma unidade é uma solicitação de criação, atualização ou exclusão em um recurso FHIR individual.

Inclui os seguintes métodos:

v1beta1: v1:
fhir_search_ops Número de operações de pesquisa FHIR por minuto e região É medido em unidades, em que uma unidade é uma solicitação de pesquisa em um tipo de recurso FHIR em que a pesquisa não exige a resolução de referências, exceto quando _include é usado. Por exemplo, uma pesquisa Observation?subject:Patient.identifier=system|value consome duas unidades de cota fhir_search_ops porque requer duas pesquisas, uma no recurso de observação e outra no recurso de paciente, usando o subject como referência.

Inclui os seguintes métodos:

v1beta1: v1:
fhir_storage_egress_bytes Saída de armazenamento FHIR em bytes por minuto por região Medido em unidades, em que uma unidade é um byte que a API Cloud Healthcare lê do armazenamento ao processar operações fhir_read_ops, fhir_write_ops e fhir_search_ops.
fhir_storage_bytes Entrada de armazenamento FHIR em bytes por minuto por região Bytes enviados para a API Cloud Healthcare durante o processamento de operações fhir_write_ops.
fhir_store_ops Número de operações de armazenamento FHIR por minuto e por região Operações no armazenamento do FHIR, não nos dados do FHIR.

Inclui os seguintes métodos:
fhir_store_lro_ops Número de operações de longa duração de armazenamento FHIR por minuto e por região Operações no armazenamento FHIR, não nos dados FHIR, que retornam uma operação de longa duração.

Inclui os seguintes métodos:
fhir_storage_operations_bytes Ingresso de armazenamento FHIR para operações de longa duração em bytes por minuto e região Bytes enviados para a API Cloud Healthcare durante o processamento de operações fhir_store_lro_ops.

Uma única solicitação pode consumir várias unidades de cota. Por exemplo, uma solicitação de pesquisa GET que usa Observation?subject:Patient.identifier=system|value como parâmetro de pesquisa consome duas unidades de cota fhir_search_ops. Duas operações de pesquisa são realizadas, uma no recurso de observação e outra no recurso de paciente, usando o subject como referência.

Se uma solicitação de exclusão condicional usando Observation?status=canceled como o pesquisa e exclui seis recursos de observação, os seguintes: como unidades de cota:

  • Uma unidade de cota fhir_search_ops, porque a solicitação de pesquisa GET é realizada apenas em um tipo de recurso FHIR, o recurso de observação. A solicitação retorna todos os recursos de observação que correspondem aos critérios de pesquisa.
  • Seis unidades de cota de fhir_write_ops, porque há um total de seis operações de DELETE nos recursos de observação excluídos.

Executar consumo de cota de pacote

Para enviar uma solicitação de execute package: independentemente da cota que a solicitação consumir, O projeto do Google Cloud precisa ter pelo menos uma unidade disponível para cada um as seguintes cotas:

  • fhir_read_ops
  • fhir_write_ops
  • fhir_search_ops

Se essas cotas não estiverem disponíveis, a solicitação de execução do pacote vai falhar.

Por exemplo, se você enviar uma solicitação fhir.executeBundle com um pacote de transações contendo 100 operações POST, cada uma delas criando um recurso FHIR, a API Cloud Healthcare primeiro verifica se pelo menos uma unidade de cota está disponível para fhir_read_ops, fhir_write_ops e fhir_search_ops. Se a verificação for bem-sucedida, a API Cloud Healthcare executa o pacote e cria os recursos FHIR, que consomem um total de 100 unidades de cota fhir_write_ops.

Considere o pacote de transações a seguir, que usa uma referência condicional para criar um recurso de observação se a reference existir:

{
  "resourceType": "Bundle",
  "type": "transaction",
  "entry": [
    {
      "request": {
        "method": "POST",
        "url": "Observation"
      },
      "resource": {
        "resourceType": "Observation",
        "subject": {
          "reference": "Patient?identifier=a1b2c3d4e5"
        }
      }
    }
  ]
}

Quando você executa o pacote, a API Cloud Healthcare primeiro verifica se pelo menos uma unidade de cota está disponível para fhir_read_ops, fhir_write_ops e fhir_search_ops Se a verificação for bem-sucedida, a API Cloud Healthcare vai executar o pacote. As unidades de cota a seguir são consumidas:

  • Um fhir_write_ops para criar o novo recurso de observação.
  • Um fhir_search_ops, porque uma única operação de pesquisa é realizada na referência Patient?identifier=a1b2c3d4e5.