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 inoltre quote per la prova gratuita che forniscono un accesso limitato per gli utenti che esplorano Google Cloud, compresa l'API Cloud Healthcare.

Le quote per l'API Cloud Healthcare vengono applicate per progetto a livello di regione o di più regioni. 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 della console Google Cloud. 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 un'ora.
  • 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 l'oscuramento dei pixel.
  • I file DICOM importati hanno un limite di 2 GB per tag. Il limite include PixelData codificati in formato nativo
  • Durante la transcodifica dei dati DICOM, la dimensione massima del file è 1 GB e la dimensione massima del frame è 150 MB.
  • dicomStores.import: la dimensione massima del file è 100 GB.
FHIR
HL7v2 10 MB

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

Limiti di dimensione di executeBundle FHIR

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

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

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

  • Bundle di transazioni: i bundle che superano le 4500 voci vengono rifiutati immediatamente per evitare timeout. I pacchetti di transazioni richiedono il completamento di tutte le operazioni.
  • Bundle batch: non esiste un limite di voci specifico, ma i bundle più grandi aumentano il rischio di timeout. I timeout potrebbero comportare un risultato parziale, con l'elaborazione di solo 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 quote per le località

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

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

Per richiedere un aumento della quota in una località con più regioni:

  • Per un aumento della quota nella regione multipla us, indica nella richiesta che la quota è per la "metaregione Stati Uniti".
  • Per un aumento della quota nella regione multipla 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 ai datastore DICOM e alle operazioni DICOM.

Nome metrica Nome visualizzato Descrizione
dicomweb_ops Numero di operazioni DICOMweb al minuto per regione Sono inclusi 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 di 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. Sono inclusi 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 unoperazione a lunga esecuzione. Sono inclusi i seguenti metodi:
dicom_structured_storage_operations_bytes Ingresso di spazio di archiviazione DICOM strutturato 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.

Sono inclusi 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 in una singola risorsa FHIR.

Sono inclusi 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 nella risorsa Observation e una nella risorsa Patient, utilizzando subject come riferimento.

Sono inclusi i seguenti metodi:

v1beta1: v1:
fhir_storage_egress_bytes Uscita dello spazio di archiviazione FHIR in byte al minuto per regione Misurata in unità, dove un'unità corrisponde a 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 spazio 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 dell'archivio FHIR al minuto per regione Operazioni sull'archivio FHIR, non sui dati FHIR.

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

Sono inclusi i seguenti metodi:
fhir_storage_operations_bytes Ingresso dello spazio di archiviazione 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 di osservazione, 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 di osservazione corrispondenti ai criteri di ricerca.
  • Sei unità di quota fhir_write_ops, perché sono presenti un totale di sei operazioni fhir_write_ops sulle risorse di osservazione eliminate.DELETE

Consumo della quota del bundle di esecuzione

Per inviare una richiesta di esecuzione del pacchetto, indipendentemente dalla quota utilizzata dalla richiesta, il tuo progetto Google 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, ciascuna 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 va a buon fine, l'API Cloud Healthcare esegue il bundle e crea le risorse FHIR, che consumano un totale di 100 unità di quota fhir_write_ops.

Prendi in considerazione il seguente pacchetto 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 va a buon fine, 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.