Quote e limiti

L'API Cloud Healthcare applica dei limiti sull'utilizzo delle risorse per diversi motivi. Ad esempio, le quote proteggono la community di utenti di Google Cloud da picchi di utilizzo imprevisti. Google Cloud offre anche quote per la prova gratuita che forniscono un accesso limitato per gli utenti che esplorano Google Cloud, inclusa l'API Cloud Healthcare.

Le quote per l'API Cloud Healthcare vengono applicate per progetto su base per regione o multiregionale. L'esaurimento della quota in una singola regione non influisce sull'utilizzo dell'API Cloud Healthcare in altre regioni.

Verifica delle quote e dell'utilizzo

Le quote sono dei limiti per lo spazio di archiviazione (chiamati anche limiti in entrata) e le operazioni.

Per verificare la quota disponibile per le risorse nel progetto, vai alla pagina Quote in Google Cloud console.

Per visualizzare solo le quote per l'API Cloud Healthcare, nell'elenco a discesa Filtra tabella, seleziona Servizio e poi API Cloud Healthcare.

Non tutti i progetti hanno le stesse quote. Man mano che il tuo utilizzo dell'API Cloud Healthcare aumenta, le tue quote potrebbero aumentare di conseguenza. Se prevedi un aumento imminente e consistente dell'utilizzo, puoi richiedere un adeguamento della quota in modo proattivo nella pagina Quote diGoogle Cloud console. Non sono previsti costi per una richiesta di aumento della quota. I costi aumentano solo nel caso si utilizzino più risorse.

Limiti delle risorse

L'API Cloud Healthcare limita le dimensioni del contenuto di una richiesta, ad esempio quelle di un'immagine a raggi X in una richiesta DICOM. Sebbene non sia possibile richiedere di modificare un limite delle risorse, in alcune situazioni puoi utilizzare un'operazione di importazione per importare contenuti che superano un limite delle risorse.

Di seguito sono riportati i limiti delle risorse (soggetti a modifica).

Modalità Limite delle dimensioni della richiesta
DICOM
  • Transazione di archiviazione: illimitata. Tutti gli altri metodi 10 MB.
  • Transazione di archiviazione o transazione di recupero: si verifica il timeout se l'operazione supera i 30 minuti.
  • I metodi della transazione di ricerca hanno uno scarto massimo di 1.000.000 e un limite massimo di 5000 per studi/serie e 50.000 per istanze.
  • Anonimizzazione: l'anonimizzazione non può elaborare file DICOM di dimensioni superiori a 1 GB se è coinvolta la redazione dei pixel. Se i dati Pixel sono compressi, le loro dimensioni non compresse non possono superare i 2 GB. La dimensione non compressa può essere calcolata utilizzando i tag DICOM nel seguente modo: NumberOfFrames * Rows * Columns * SamplesPerPixel * BitsAllocated / 8.
  • I file DICOM importati hanno un limite di 4 GB per tag. Questo limite non si applica ai valori con lunghezza indefinita.
  • Durante la transcodifica dei dati DICOM, la dimensione massima del file è 1 GB e la dimensione massima del frame è 150 MB.
  • Quando applichi il parametro di query viewport alle risorse sottoposte a rendering, la dimensione massima del frame è 50 MB e la dimensione massima (larghezza o altezza) è 10.000 pixel.
  • dicomStores.import: la dimensione massima del file è 100 GB.
FHIR
  • fhir.executeBundle: 50 MB. Potresti riscontrare limitazioni in base al numero di voci in un bundle. Per ulteriori informazioni, consulta Limiti di dimensione di FHIR executeBundle.
  • fhir.Binary-create: 1 GB
  • fhir.Binary-update: 1 GB
  • Tutti gli altri metodi: 10 MB. Questo limite si applica alla rappresentazione interna della risorsa, non alle dimensioni del payload JSON che invii. Una risorsa che rispetta questo limite potrebbe avere un payload JSON di dimensioni superiori a 10 MB.
HL7v2 Dimensioni del campo data con codifica base64: 10 MB

Se provi a elaborare contenuti di dimensioni superiori al limite delle risorse associato, si verifica un errore.

Limiti di dimensioni di FHIR executeBundle

Puoi utilizzare il metodo fhir.executeBundle per eseguire più operazioni FHIR in un'unica richiesta API. Il numero di operazioni dipende dal numero di voci in un batch o in un bundle di transazioni. Questo approccio è più efficiente rispetto all'esecuzione di chiamate API individuali per ogni operazione.

I tempi di elaborazione delle richieste fhir.executeBundle aumentano con il numero di voci nel bundle. Anche fattori come la contesa delle risorse (ad esempio, l'aggiornamento della stessa risorsa nell'ambito di molti bundle di transazioni in parallelo) possono influire sulle prestazioni. Per esempi di quando può verificarsi la contesa delle risorse e come evitare che causi errori, consulta Best practice per la velocità effettiva dei dati. I bundle di grandi dimensioni, soprattutto quelli che superano le 1000 voci, potrebbero scadere e non essere completati.

Per garantire un'elaborazione tempestiva e corretta, tieni presente questi limiti quando invii le richieste fhir.executeBundle:

  • Bundle di transazioni: i bundle che superano le 4500 voci vengono immediatamente rifiutati per evitare timeout. I bundle di transazioni richiedono che tutte le operazioni vadano a buon fine.
  • Bundle batch: non esiste un limite specifico per le voci, ma i bundle più grandi aumentano il rischio di timeout. I timeout potrebbero comportare un esito positivo parziale, con l'elaborazione solo di alcune voci.

Utilizzo delle operazioni di importazione per contenuti che superano i limiti delle risorse

Le operazioni di importazione consentono di elaborare contenuti che superano il limite delle risorse associato. Le dimensioni dei contenuti in un'operazione di importazione sono limitate solo dalla dimensione massima dello spazio di archiviazione di Google Cloud pari a 5 TB per i singoli oggetti. Le operazioni di importazione sono soggette alle quote di archiviazione che ne determinano la durata. Un'operazione di importazione potrebbe essere utile se, ad esempio, vuoi archiviare molte istanze DICOM in un archivio DICOM e non intendi rispettare il limite per le dimensioni delle richieste. Invece di caricare le istanze utilizzando i metodi di transazione di archiviazione disponibili, potresti caricarle in un bucket Cloud Storage e poi importarle nell'archivio DICOM.

Per la procedura dettagliata su come importare i dati DICOM mediante un'operazione di importazione, consulta Importazione ed esportazione dei dati DICOM.

Per la procedura dettagliata su come importare le risorse FHIR mediante un'operazione di importazione, consulta Importazione ed esportazione delle risorse FHIR.

Per la procedura dettagliata su come importare i messaggi HL7v2 mediante un'operazione di importazione, consulta Importare messaggi HL7v2 da Cloud Storage.

Richiedere una modifica della quota

Per richiedere una modifica della quota, devi avere l'autorizzazione serviceusage.quotas.update, che è già inclusa per i seguenti ruoli predefiniti: Proprietario, Editor e Amministratore quota.

  1. Vai alla pagina Quote.

    Vai a Quote

  2. Nella pagina Quote, seleziona quelle da modificare. Se vuoi visualizzare solo le quote per l'API Cloud Healthcare, seleziona Servizio dall'elenco a discesa Filtra tabella, quindi seleziona API Cloud Healthcare.

  3. Seleziona le caselle delle quote da modificare.

  4. Fai clic sul pulsante Modifica quote nella parte superiore della pagina.

  5. Compila il modulo e fai clic su Avanti.

  6. Inserisci i limiti che vuoi richiedere e fai clic su Avanti.

  7. Fai clic su Invia richiesta.

Una richiesta di riduzione della quota viene rifiutata per impostazione predefinita. Se vuoi ridurre la quota, rispondi all'email dell'assistenza spiegando il motivo della richiesta. Un rappresentante dell'assistenza risponderà alla tua richiesta.

Riceverai una risposta dal team dell'API Cloud Healthcare entro 24-48 ore dalla richiesta.

Pianifica la richiesta di risorse aggiuntive con almeno qualche giorno di anticipo per avere abbastanza tempo per rispondere alla tua richiesta.

Richieste di quota per le località

Puoi richiedere un aumento della quota per l'API Cloud Healthcare in una regione specifica o in una posizione multiregionale.

Per richiedere un aumento di quota in una singola regione: nella richiesta di aumento della quota, specifica la regione.

Per richiedere un aumento della quota in una località multiregionale:

  • Per un aumento della quota nella multiregione us, indica nella richiesta che la quota è per la "metaregione Stati Uniti".
  • Per un aumento della quota nella multiregione eu, indica nella richiesta che la quota è per la "metaregione UE".

Limiti di quota

Le sezioni seguenti descrivono le quote associate alle operazioni e ai datastore dell'API Cloud Healthcare.

Quote DICOM

La tabella riportata di seguito descrive le quote dell'API Cloud Healthcare associate agli archivi DICOM e alle operazioni DICOM.

Nome metrica Nome visualizzato Descrizione
dicomweb_ops Numero di operazioni DICOMweb al minuto per regione Include i seguenti metodi:
  • Tutti i metodi projects.locations.datasets.dicomStores.studies in v1beta1 e v1
  • Tutti i metodi projects.locations.datasets.dicomStores.studies.series in v1beta1 e v1
  • Tutti i metodi projects.locations.datasets.dicomStores.studies.series.instances in v1beta1 e v1
  • Tutti i metodi projects.locations.datasets.dicomStores.studies.series.instances.frames in v1beta1 e v1
dicom_structured_storage_bytes Ingresso dell'archiviazione DICOM strutturata in byte al minuto per regione Byte strutturati, sotto forma di tag DICOM e metadati correlati, inviati all'API Cloud Healthcare durante l'elaborazione delle operazioni dicomweb_ops.
dicom_store_ops Numero di operazioni dell'archivio DICOM al minuto per regione Operazioni sull'archivio DICOM, non sui dati DICOM. Include i seguenti metodi:
dicom_store_lro_ops Numero di operazioni a lunga esecuzione dell'archivio DICOM al minuto per regione Operazioni sull'archivio DICOM, non sui dati DICOM, che restituiscono un'operazione a lunga esecuzione. Include i seguenti metodi:
dicom_structured_storage_operations_bytes Ingresso di archiviazione DICOM strutturata per operazioni a lunga esecuzione in byte al minuto per regione Byte strutturati, sotto forma di tag DICOM e metadati correlati, inviati all'API Cloud Healthcare durante l'elaborazione delle operazioni dicom_store_lro_ops.

Quote FHIR

La tabella riportata di seguito descrive le quote dell'API Cloud Healthcare associate agli archivi FHIR e alle operazioni FHIR.

Nome metrica Nome visualizzato Descrizione
fhir_read_ops Numero di operazioni di lettura FHIR al minuto per regione Misurata in unità, dove un'unità corrisponde a una richiesta di lettura di una singola risorsa FHIR.

Include i seguenti metodi:

v1beta1: v1:
fhir_write_ops Numero di operazioni di scrittura FHIR al minuto per regione Misurata in unità, dove un'unità corrisponde a una richiesta di creazione, aggiornamento o eliminazione di una singola risorsa FHIR.

Include i seguenti metodi:

v1beta1: v1:
fhir_search_ops Numero di operazioni di ricerca FHIR al minuto per regione Misurata in unità, dove un'unità è una richiesta di ricerca su un tipo di risorsa FHIR in cui la ricerca non richiede la risoluzione dei riferimenti, tranne quando viene utilizzato _include. Ad esempio, una ricerca Observation?subject:Patient.identifier=system|value consuma due unità di quota fhir_search_ops perché richiede due ricerche, una sulla risorsa Observation e una sulla risorsa Patient, utilizzando subject come riferimento.

Include i seguenti metodi:

v1beta1: v1:
fhir_storage_egress_bytes Egress di FHIR Storage in byte al minuto per regione Misurata in unità, dove un'unità è un byte che l'API Cloud Healthcare legge dallo spazio di archiviazione durante l'elaborazione delle operazioni fhir_read_ops, fhir_write_ops e fhir_search_ops.
fhir_storage_bytes Ingresso di dati di archiviazione FHIR in byte al minuto per regione Byte inviati all'API Cloud Healthcare durante l'elaborazione delle operazioni fhir_write_ops.
fhir_store_ops Numero di operazioni del datastore FHIR al minuto per regione Operazioni sull'archivio FHIR, non sui dati FHIR.

Include i seguenti metodi:
fhir_store_lro_ops Numero di operazioni a lunga esecuzione dell'archivio FHIR al minuto per regione Operazioni sul datastore FHIR, non sui dati FHIR, che restituiscono un'operazione a lunga esecuzione.

Include i seguenti metodi:
fhir_storage_operations_bytes Ingresso dell'archivio FHIR per operazioni a lunga esecuzione in byte al minuto per regione Byte inviati all'API Cloud Healthcare durante l'elaborazione delle operazioni fhir_store_lro_ops.

Una singola richiesta può consumare più unità di quota. Ad esempio, una richiesta di ricerca GET che utilizza Observation?subject:Patient.identifier=system|value come parametro di ricerca consuma due unità di quota fhir_search_ops. Vengono eseguite due operazioni di ricerca, una sulla risorsa Observation e una sulla risorsa Patient, utilizzando subject come riferimento.

Se una richiesta di eliminazione condizionale che utilizza Observation?status=canceled come criteri di ricerca cerca ed elimina sei risorse Observation, vengono consumate le seguenti unità di quota:

  • Un'unità di quota fhir_search_ops, perché la richiesta di ricerca GET viene eseguita solo su un tipo di risorsa FHIR, la risorsa Observation. La richiesta restituisce tutte le risorse Observation che corrispondono ai criteri di ricerca.
  • Sei unità di quota fhir_write_ops, perché sono presenti un totale di sei operazioni DELETE sulle risorse Observation eliminate.

Esecuzione del consumo della quota di bundle

Per inviare una richiesta execute bundle, indipendentemente dalla quota consumata dalla richiesta, il tuo progettoGoogle Cloud deve avere almeno un'unità disponibile per ciascuna delle seguenti quote:

  • fhir_read_ops
  • fhir_write_ops
  • fhir_search_ops

Se queste quote non sono disponibili, la richiesta di esecuzione del bundle non va a buon fine.

Ad esempio, se invii una richiesta fhir.executeBundle con un bundle di transazioni contenente 100 operazioni POST, ognuna delle quali crea una risorsa FHIR, l'API Cloud Healthcare verifica innanzitutto che sia disponibile almeno un'unità di quota per fhir_read_ops, fhir_write_ops e fhir_search_ops. Se la verifica ha esito positivo, l'API Cloud Healthcare esegue il bundle e crea le risorse FHIR, che consumano un totale di 100 unità di quota fhir_write_ops.

Considera il seguente bundle di transazioni, che utilizza un riferimento condizionale per creare una risorsa Observation se esiste reference:

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

Quando esegui il bundle, l'API Cloud Healthcare verifica innanzitutto che sia disponibile almeno un'unità di quota per fhir_read_ops, fhir_write_ops e fhir_search_ops. Se la verifica ha esito positivo, l'API Cloud Healthcare esegue il bundle. Vengono consumate le seguenti unità di quota:

  • Un fhir_write_ops per creare la nuova risorsa Observation.
  • Uno fhir_search_ops, perché viene eseguita una singola operazione di ricerca sul riferimento Patient?identifier=a1b2c3d4e5.

Best practice

Per le best practice sulla gestione della quota dell'API Cloud Healthcare, consulta Best practice per la gestione delle quote.