Cuotas y límites

La API de Cloud Healthcare aplica ciertos límites sobre el uso de recursos por varios motivos. Por ejemplo, las cuotas protegen a la comunidad de usuarios de Google Cloud al evitar que se produzcan picos de uso imprevistos. Google Cloud también ofrece cuotas de prueba gratuita que proporcionan acceso limitado a los usuarios que quieran probar Google Cloud, incluida la API Cloud Healthcare.

Las cuotas de la API de Cloud Healthcare se aplican por proyecto, ya sea por región o por multirregión. El agotamiento de cuotas en una sola región no afectará al uso de la API Cloud Healthcare en otras regiones.

Comprobar las cuotas y el uso

Las cuotas son límites de almacenamiento (también se denominan límites de entrada) y de operaciones.

Para conocer las cuotas de los recursos de tu proyecto, ve a la página Cuotas de la consola de Google Cloud .

Para ver solo las cuotas de la API Cloud Healthcare, selecciona Servicio en la lista desplegable Filtrar tabla y, luego, API Cloud Healthcare.

Estas cuotas varían en función del proyecto Las cuotas pueden ir aumentando conforme se amplía el uso que le das a la API de Cloud Healthcare. Si crees que tu uso va a aumentar de manera considerable, solicita un ajuste de la cuota en la página Cuotas de laGoogle Cloud consola. No te cobraremos nada por solicitar un aumento de cuota. Los costes solo se incrementan si utilizas más recursos.

Límites de recursos

La API de Cloud Healthcare limita el tamaño del contenido de una solicitud; por ejemplo, el tamaño de una radiografía en una solicitud DICOM. No puedes solicitar cambios en cuanto al límite de recursos, pero hay situaciones en las que puedes usar una operación de importación para importar contenido cuyo tamaño sea superior al límite de recursos.

Estos son los límites de recursos que se aplican, los cuales están sujetos a cambios.

Modalidad Límite del tamaño de la solicitud
DICOM
  • Store Transaction: sin límites. El resto de los métodos tienen un límite de 10 MB.
  • Store Transaction o Retrieve Transaction: el tiempo de espera se agota si las operaciones duran más de 30 minutos.
  • Los métodos Search Transaction tienen una compensación máxima de 1.000.000, así como un límite máximo de 5000 para los estudios o series y de 50.000 para las instancias.
  • Desidentificación: no puede procesar archivos DICOM cuyo tamaño sea superior a 1 GB si se aplica la ocultación de píxeles. Si los datos de píxel están comprimidos, su tamaño sin comprimir no puede superar los 2 GB. El tamaño sin comprimir se puede calcular mediante etiquetas DICOM de la siguiente manera: NumberOfFrames * Rows * Columns * SamplesPerPixel * BitsAllocated / 8.
  • Los archivos DICOM ingeridos tienen un límite de 4 GB por etiqueta. Este límite no se aplica a los valores con una longitud indefinida.
  • A la hora de transcodificar datos DICOM, el tamaño máximo permitido de los archivos es de 1 GB y el de los fotogramas, de 150 MB.
  • Al aplicar el parámetro de consulta viewport en recursos renderizados, el tamaño máximo del marco es de 50 MB y la dimensión máxima (anchura o altura) es de 10.000 píxeles.
  • dicomStores.import: el tamaño máximo de los archivos es de 100 GB.
FHIR
HL7v2 10 MB

Si intentas procesar contenido cuyo tamaño sea superior al límite de recursos asociado, se producirá un error.

Límites de tamaño de executeBundle de FHIR

Puedes usar el método fhir.executeBundle para realizar varias operaciones de FHIR en una sola solicitud de API. El número de operaciones depende del número de entradas de un paquete de lote o de transacción. Este método es más eficiente que hacer llamadas a la API individuales para cada operación.

Los tiempos de procesamiento de las solicitudes de fhir.executeBundle aumentan con el número de entradas del paquete. Factores como la contención de recursos (por ejemplo, actualizar el mismo recurso como parte de muchos paquetes de transacciones en paralelo) también pueden afectar al rendimiento. Para ver ejemplos de cuándo se puede producir una contención de recursos y cómo evitar que provoque errores, consulta las prácticas recomendadas sobre el rendimiento de los datos. Los paquetes grandes, sobre todo los que superan las 1000 entradas, pueden agotar el tiempo de espera y no completarse.

Para que el proceso se lleve a cabo correctamente y a tiempo, tenga en cuenta estos límites al enviar sus solicitudes fhir.executeBundle:

  • Paquetes de transacciones: los paquetes que superen las 4500 entradas se rechazarán inmediatamente para evitar que se agote el tiempo de espera. Los paquetes de transacciones requieren que todas las operaciones se completen correctamente.
  • Paquetes por lotes: no hay un límite de entradas específico, pero los paquetes más grandes aumentan el riesgo de que se agote el tiempo de espera. Los tiempos de espera pueden dar lugar a un éxito parcial, en el que solo se procesan algunas entradas.

Usar operaciones de importación si el contenido supera los límites de recursos

Las operaciones de importación te permiten procesar contenido cuyo tamaño supere el límite de recursos asociado. El tamaño del contenido en una operación de importación solo está limitado por el Google Cloud tamaño de almacenamiento máximo de 5 TB para objetos concretos. Las operaciones de importación están sujetas a cuotas de almacenamiento que determinan su duración. Por ejemplo, si quieres almacenar muchas instancias DICOM en un almacén DICOM, pero que no se aplique el límite de tamaño de la solicitud, te recomendamos que utilices una operación de importación. En lugar de subir las instancias con los métodos de Store Transaction, puedes subirlas a un segmento de Cloud Storage y, a continuación, importarlas al almacén DICOM.

Para obtener información detallada sobre cómo importar datos DICOM mediante una operación de importación, consulta el artículo sobre cómo importar y exportar datos DICOM.

Para obtener información detallada sobre cómo importar recursos FHIR mediante una operación de importación, consulta el artículo sobre cómo importar y exportar recursos FHIR.

Para obtener información detallada sobre cómo importar mensajes HL7v2 mediante una operación de importación, consulta el artículo sobre cómo importar mensajes HL7v2 desde Cloud Storage.

Solicitar un cambio de cuota

Para solicitar un cambio de cuota, debes contar con el permiso serviceusage.quotas.update, que está incluido de forma predeterminada en los siguientes roles predefinidos: propietario, editor y administrador de cuota.

  1. Ve a la página Cuotas.

    Ir a Cuotas

  2. En la página Cuotas, selecciona las cuotas que quieres modificar. Si solo quieres ver las cuotas de la API de Cloud Healthcare, selecciona Servicio en la lista desplegable Filtrar tabla y, luego, API de Cloud Healthcare.

  3. Marca las casillas de las cuotas que quieres editar.

  4. Haz clic en el botón Editar cuotas que se encuentra en la parte superior de la página.

  5. Rellena el formulario y haz clic en Siguiente.

  6. Introduce los límites que quieres solicitar y selecciona Siguiente.

  7. Haz clic en Enviar solicitud.

Las solicitudes para reducir la cuota se rechazan de forma predeterminada. Si quieres reducirla, responde al correo electrónico de asistencia explicando tu situación. Un representante del equipo de asistencia responderá a tu solicitud.

Tras esto, el equipo de la API de Cloud Healthcare se pondrá en contacto contigo en un plazo de entre 24 y 48 horas.

Si quieres solicitar más recursos, hazlo con algunos días de antelación para que tengamos tiempo suficiente de procesar tu solicitud.

Solicitudes de cuota de ubicación

Puedes solicitar un aumento de cuota para la API Cloud Healthcare en una región específica o en una ubicación multirregión.

Para solicitar un aumento de cuota en una sola región, especifica la región en tu solicitud.

Para solicitar un aumento de cuota en una ubicación multirregional, sigue estos pasos:

  • Si quieres aumentar la cuota en la multirregión us, indica en tu solicitud que la cuota es para la "metarregión de EE. UU.".
  • Si quieres aumentar la cuota en la multirregión eu, indica en tu solicitud que la cuota es para la "metarregión de la UE".

Límites de cuota

En las siguientes secciones se describen las cuotas asociadas a los almacenes de datos y las operaciones de la API Cloud Healthcare.

Cuotas de DICOM

En la siguiente tabla se describen las cuotas de la API Cloud Healthcare asociadas a los almacenes DICOM y a las operaciones DICOM.

Nombre de la métrica Nombre visible Descripción
dicomweb_ops Número de operaciones de DICOMweb por minuto y región Incluye los siguientes métodos:
  • Todos los métodos projects.locations.datasets.dicomStores.studies de v1beta1 y v1
  • Todos los métodos projects.locations.datasets.dicomStores.studies.series de v1beta1 y v1
  • Todos los métodos projects.locations.datasets.dicomStores.studies.series.instances de v1beta1 y v1
  • Todos los métodos projects.locations.datasets.dicomStores.studies.series.instances.frames de v1beta1 y v1
dicom_structured_storage_bytes Ingreso de almacenamiento DICOM estructurado en bytes por minuto y región Bytes estructurados, en forma de etiquetas DICOM y metadatos relacionados, que se envían a la API Cloud Healthcare durante el procesamiento de operaciones dicomweb_ops.
dicom_store_ops Número de operaciones de almacén DICOM por minuto y región Operaciones en el almacén DICOM, no en los datos DICOM. Incluye los siguientes métodos:
dicom_store_lro_ops Número de operaciones de larga duración de almacenes DICOM por minuto y región Operaciones en el almacén DICOM, no en los datos DICOM, que devuelven una operación de larga duración. Incluye los siguientes métodos:
dicom_structured_storage_operations_bytes Ingreso de almacenamiento DICOM estructurado para operaciones de larga duración en bytes por minuto y región Bytes estructurados, en forma de etiquetas DICOM y metadatos relacionados, que se envían a la API Cloud Healthcare durante el procesamiento de operaciones dicom_store_lro_ops.

Cuotas de FHIR

En la siguiente tabla se describen las cuotas de la API Cloud Healthcare asociadas a los almacenes FHIR y a las operaciones FHIR.

Nombre de la métrica Nombre visible Descripción
fhir_read_ops Número de operaciones de lectura de FHIR por minuto y región Se mide en unidades, donde una unidad es una solicitud de lectura en un recurso FHIR individual.

Incluye los siguientes métodos:

v1beta1: v1:
fhir_write_ops Número de operaciones de escritura de FHIR por minuto y región Se mide en unidades, donde una unidad es una solicitud de creación, actualización o eliminación de un recurso FHIR individual.

Incluye los siguientes métodos:

v1beta1: v1:
fhir_search_ops Número de operaciones de búsqueda de FHIR por minuto y región Se mide en unidades, donde una unidad es una solicitud de búsqueda en un tipo de recurso FHIR en la que la búsqueda no requiere resolver referencias, excepto cuando se usa _include. Por ejemplo, una búsqueda de Observation?subject:Patient.identifier=system|value consume dos unidades de cuota de fhir_search_ops porque requiere dos búsquedas: una en el recurso Observation y otra en el recurso Patient, usando subject como referencia.

Incluye los siguientes métodos:

v1beta1: v1:
fhir_storage_egress_bytes Salida de almacenamiento de FHIR en bytes por minuto y región Se mide en unidades, donde una unidad es un byte que la API de Cloud Healthcare lee del almacenamiento mientras procesa las operaciones fhir_read_ops, fhir_write_ops y fhir_search_ops.
fhir_storage_bytes Ingreso de almacenamiento de FHIR en bytes por minuto y región Bytes enviados a la API Cloud Healthcare durante el procesamiento de operaciones fhir_write_ops.
fhir_store_ops Número de operaciones de almacén FHIR por minuto y región Operaciones en el almacén FHIR, no en los datos FHIR.

Incluye los siguientes métodos:
fhir_store_lro_ops Número de operaciones de larga duración de almacenes FHIR por minuto y por región Operaciones en el almacén FHIR, no en los datos FHIR, que devuelven una operación de larga duración.

Incluye los siguientes métodos:
fhir_storage_operations_bytes Ingreso de almacenamiento de FHIR para operaciones de larga duración en bytes por minuto y región Bytes enviados a la API Cloud Healthcare durante el procesamiento de operaciones fhir_store_lro_ops.

Una sola solicitud puede consumir varias unidades de cuota. Por ejemplo, una solicitud de búsqueda GET que use Observation?subject:Patient.identifier=system|value como parámetro de búsqueda consume dos unidades de cuota fhir_search_ops. Se realizan dos operaciones de búsqueda, una en el recurso Observation y otra en el recurso Patient, usando subject como referencia.

Si una solicitud de eliminación condicional que usa Observation?status=canceled como criterio de búsqueda busca y elimina seis recursos Observation, se consumirán las siguientes unidades de cuota:

  • Una unidad de cuota fhir_search_ops, ya que la solicitud de búsqueda GET solo se realiza en un tipo de recurso FHIR, el recurso Observation. La solicitud devuelve todos los recursos Observation que coinciden con los criterios de búsqueda.
  • Seis unidades de cuota fhir_write_ops, porque hay un total de seis operaciones DELETE en los recursos Observation eliminados.

Consumo de cuota de ejecución de paquetes

Para enviar una solicitud de ejecución de paquete, independientemente de la cuota que consuma la solicitud, tuGoogle Cloud proyecto debe tener al menos una unidad disponible para cada una de las siguientes cuotas:

  • fhir_read_ops
  • fhir_write_ops
  • fhir_search_ops

Si estas cuotas no están disponibles, la solicitud de paquete de ejecución falla.

Por ejemplo, si envías una solicitud fhir.executeBundle con un paquete de transacciones que contiene 100 operaciones POST, cada una de las cuales crea un recurso FHIR, la API Cloud Healthcare primero verifica que haya al menos una unidad de cuota disponible para fhir_read_ops, fhir_write_ops y fhir_search_ops. Si la verificación se realiza correctamente, la API Cloud Healthcare ejecuta el paquete y crea los recursos FHIR, que consumen un total de 100 unidades de cuota fhir_write_ops.

Considera el siguiente paquete de transacciones, que usa una referencia condicional para crear un recurso Observation si existe reference:

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

Cuando ejecutas el paquete, la API Cloud Healthcare verifica primero que haya al menos una unidad de cuota disponible para fhir_read_ops, fhir_write_ops y fhir_search_ops. Si la verificación se realiza correctamente, la API Cloud Healthcare ejecuta el paquete. Se consumen las siguientes unidades de cuota:

  • Una fhir_write_ops para crear el nuevo recurso Observation.
  • Una fhir_search_ops, porque se realiza una sola operación de búsqueda en la referencia Patient?identifier=a1b2c3d4e5.

Prácticas recomendadas

Para consultar las prácticas recomendadas para gestionar la cuota de la API Cloud Healthcare, consulta el artículo Prácticas recomendadas para gestionar las cuotas.