Kontingente und Limits

Die Cloud Healthcare API legt aus verschiedenen Gründen Grenzen für die Ressourcennutzung fest. Unter anderem schützen solche Kontingente die Nutzer der Google Cloud-Community vor unerwarteten Auslastungsspitzen. Google Cloud bietet außerdem kostenlose Testkontingente, die Nutzern einen eingeschränkten Zugriff ermöglichen, um Google Cloud einschließlich der Cloud Healthcare API kennenzulernen.

Kontingente für die Cloud Healthcare API werden pro Projekt entweder pro Region oder über mehrere Regionen hinweg erzwungen. Die Erschöpfung des Kontingents in einer einzelnen Region hat keine Auswirkungen auf Ihre Nutzung der Cloud Healthcare API in anderen Regionen.

Kontingente und Nutzung überprüfen

Kontingente sind Limits für Speicher (auch Limits für eingehenden Traffic genannt) und Vorgänge.

Das verfügbare Kontingent für Ressourcen in Ihrem Projekt können Sie auf der Seite Kontingente in der Google Cloud Console ermitteln.

Wenn Sie nur die Kontingente der Cloud Healthcare API anzeigen möchten, wählen Sie in der Drop-down-Liste Tabelle filtern die Option Dienst und dann Cloud Healthcare API aus.

Es gelten nicht für alle Projekte dieselben Kontingente. Wenn Sie die Cloud Healthcare API mit der Zeit stärker nutzen, können sich Ihre Kontingente entsprechend erhöhen. Falls Sie eine deutlich stärkere Auslastung erwarten, können Sie auf der Seite Kontingente in der Google Cloud Console eine Anpassung Ihres Kontingents anfordern. Es fallen keine Gebühren für die Anforderung eines höheren Kontingents an. Ihre Kosten erhöhen sich nur, wenn Sie mehr Ressourcen verwenden.

Ressourcenlimits

Die Cloud Healthcare API begrenzt die Größe des Inhalts einer Anfrage, beispielsweise die Größe eines Röntgenbildes in einer DICOM-Anfrage. Sie können keine Änderung eines Ressourcenlimits anfordern; unter Umständen können Sie jedoch Inhalte, deren Größe das Ressourcenlimit überschreitet, mithilfe eines Importvorgangs importieren.

Die folgenden Ressourcenlimits gelten (Änderungen vorbehalten):

Modalität Maximale Anfragengröße
DICOM
  • Store-Transaktion: Unbegrenzt. Alle anderen Methoden 10 MB.
  • Speichertransaktion oder Abruftransaktion: Zeitüberschreitung bei Vorgängen über einer Stunde.
  • Suchtransaktionsmethoden haben einen Offset von maximal 1.000.000 sowie ein maximales Limit von 5.000 für Studien/Serien und 50.000 für Instanzen.
  • De-Identifikation: Die De-Identifikation kann keine DICOM-Dateien verarbeiten, die größer als 1 GB sind, wenn das Pixel entfernt wird.
  • Für aufgenommene DICOM-Dateien gilt ein Limit von 2 GB pro Tag. Das Limit schließt in nativem Format codierte PixelData ein.
  • Die maximale Dateigröße bei der Transcodierung von DICOM-Daten beträgt 1 GB und die maximale Framegröße 150 MB.
  • dicomStores.import: Dateigröße von maximal 20 GB
FHIR executeBundle: 50 MB, alle anderen Methoden 10 MB
HL7v2 10 MB

Wenn Sie versuchen, Inhalte zu verarbeiten, die das entsprechende Ressourcenlimit überschreiten, tritt ein Fehler auf.

Importvorgänge für Inhalte verwenden, die das Ressourcenlimit überschreiten

Mithilfe von Importvorgängen können Sie Inhalte verarbeiten, die das entsprechende Ressourcenlimit überschreiten. Die Inhaltsgröße bei einem Importvorgang ist nur durch die maximale Speichergröße von Google Cloud von 5 TB für Einzelobjekte begrenzt. Importvorgänge unterliegen Speicherkontingenten, die bestimmen, wie lange ein Importvorgang dauert. Sie können beispielsweise einen Importvorgang verwenden, wenn Sie viele DICOM-Instanzen in einem DICOM-Speicher speichern möchten und nicht dem Größenlimit für Anfragen unterliegen wollen. Anstatt die Instanzen mit den verfügbaren Methoden für Speichertransaktionen hochzuladen, können Sie die Instanzen in einen Cloud Storage-Bucket hochladen und dann in den DICOM-Speicher importieren.

Eine ausführliche Anleitung für das Importieren von DICOM-Daten mithilfe eines Importvorgangs finden Sie unter DICOM-Daten importieren und exportieren.

Eine ausführliche Anleitung für das Importieren von FHIR-Ressourcen mithilfe eines Importvorgangs finden Sie unter FHIR-Ressourcen importieren und exportieren.

Eine ausführliche Anleitung für das Importieren von HL7v2-Nachrichten mithilfe eines Importvorgangs finden Sie unter HL7v2-Nachrichten importieren.

Änderung des Kontingents anfordern

Sie benötigen die Berechtigung serviceusage.quotas.update, um eine Änderung Ihres Kontingents anzufordern. Diese ist standardmäßig in den vordefinierten Rollen Inhaber, Bearbeiter und Kontingentadministrator enthalten.

  1. Rufen Sie die Seite Kontingente auf.

    Kontingente aufrufen

  2. Wählen Sie auf der Seite Kontingente die Kontingente aus, die Sie ändern möchten. Wenn Sie nur die Kontingente der Cloud Healthcare API aufrufen möchten, wählen Sie in der Drop-down-Liste Tabelle filtern die Option Dienst und danach Cloud Healthcare API aus.

  3. Klicken Sie auf die Kästchen der Kontingente, die Sie bearbeiten möchten.

  4. Klicken Sie oben auf der Seite auf die Schaltfläche Kontingente bearbeiten.

  5. Füllen Sie das Formular aus und klicken Sie dann auf Weiter.

  6. Geben Sie die Limits ein, die Sie anfordern möchten, und klicken Sie dann auf Weiter.

  7. Klicken Sie auf Anfrage senden.

Anfragen zum Verringern des Kontingents werden standardmäßig abgelehnt. Sollten Sie Ihr Kontingent verringern wollen, antworten Sie bitte auf die E-Mail des Supports und erklären Sie Ihre Anforderungen. Ein Supportmitarbeiter wird auf Ihre Anfrage antworten.

Das Team von Cloud Healthcare API antwortet innerhalb von 24 bis 48 Stunden auf Ihre Anfrage.

Fordern Sie zusätzliche Ressourcen mindestens einige Tage im Voraus an, damit genug Zeit bleibt, um Ihrer Anfrage nachzukommen.

Kontingentlimits

In den folgenden Abschnitten werden die Kontingente für Cloud Healthcare API-Datenspeicher und -Vorgänge beschrieben.

DICOM-Kontingente

In der folgenden Tabelle werden die Cloud Healthcare API-Kontingente für DICOM-Speicher und DICOM-Vorgänge beschrieben.

Messwertname Anzeigename Beschreibung
dicomweb_ops Anzahl der DICOMweb-Vorgänge pro Minute und Region Folgende Methoden stehen zur Verfügung:
  • Alle projects.locations.datasets.dicomStores.studies-Methoden in v1beta1 und v1
  • Alle projects.locations.datasets.dicomStores.studies.series-Methoden in v1beta1 und v1
  • Alle projects.locations.datasets.dicomStores.studies.series.instances-Methoden in v1beta1 und v1
  • Alle projects.locations.datasets.dicomStores.studies.series.instances.frames-Methoden in v1beta1 und v1
dicom_structured_storage_bytes Eingehender Traffic des strukturierten DICOM-Speichers in Byte pro Minute und Region Strukturierte Byte in Form von DICOM-Tags und zugehörigen Metadaten, die während der Verarbeitung von dicomweb_ops-Vorgängen an die Cloud Healthcare API gesendet werden.
dicom_store_ops Anzahl der DICOM-Speichervorgänge pro Minute und Region Vorgänge im DICOM-Speicher, keine DICOM-Daten. Folgende Methoden stehen zur Verfügung:
dicom_store_lro_ops Anzahl der lang andauernden DICOM-Speichervorgänge pro Minute und Region Vorgänge im DICOM-Speicher, nicht für DICOM-Daten, die einen lang andauernden Vorgang zurückgeben. Folgende Methoden stehen zur Verfügung:
dicom_structured_storage_operations_bytes Eingehender Traffic aus strukturiertem DICOM-Speicher für lang andauernde Vorgänge in Byte pro Minute und Region Strukturierte Byte in Form von DICOM-Tags und zugehörigen Metadaten, die während der Verarbeitung von dicom_store_lro_ops-Vorgängen an die Cloud Healthcare API gesendet werden.

FHIR-Kontingente

In der folgenden Tabelle werden die Cloud Healthcare API-Kontingente für FHIR-Speicher und FHIR-Vorgänge beschrieben.

Messwertname Anzeigename Beschreibung
fhir_ops Anzahl der FHIR-Vorgänge pro Minute und Region Wird in Einheiten gemessen, wobei jede Einheit eine Anfrage an eine beliebige projects.locations.datasets.fhirStores.fhir-Methode in v1beta1 und v1 ist.
fhir_read_ops Anzahl der FHIR-Lesevorgänge pro Minute und Region Wird in Einheiten gemessen, wobei eine Einheit eine Leseanfrage für eine einzelne FHIR-Ressource ist.

Umfasst die folgenden Methoden:

v1beta1: Version 1:
fhir_write_ops Anzahl der FHIR-Schreibvorgänge pro Minute und Region Wird in Einheiten gemessen, wobei eine Einheit eine Anfrage zum Erstellen, Aktualisieren oder Löschen einer einzelnen FHIR-Ressource darstellt.

Umfasst die folgenden Methoden:

v1beta1: Version 1:
fhir_search_ops Anzahl der FHIR-Suchvorgänge pro Minute und Region Wird in Einheiten gemessen, wobei eine Einheit eine Suchanfrage für einen FHIR-Ressourcentyp ist, bei dem für die Suche keine Auflösung von Referenzen erforderlich ist, es sei denn, _include wird verwendet. Eine Observation?subject:Patient.identifier=system|value-Suche verbraucht beispielsweise zwei fhir_search_ops-Kontingenteinheiten, da zwei Suchen erforderlich sind: eine in der Beobachtungs- und eine in der Patientenressource, wobei subject als Referenz verwendet wird.

Umfasst die folgenden Methoden:

v1beta1: Version 1:
fhir_storage_egress_bytes Ausgehender FHIR-Speicher in Byte pro Minute und Region Gemessen in Einheiten. Eine Einheit ist dabei ein Byte, das die Cloud Healthcare API bei der Verarbeitung von fhir_read_ops-, fhir_write_ops- und fhir_search_ops-Vorgängen aus dem Speicher liest.
fhir_storage_bytes Eingehender FHIR-Speicher in Byte pro Minute und Region Byte, die während der Verarbeitung von fhir_ops-Vorgängen an die Cloud Healthcare API gesendet werden.
fhir_store_ops Anzahl der FHIR-Speichervorgänge pro Minute und Region Vorgänge im FHIR-Speicher, nicht FHIR-Daten.

Umfasst die folgenden Methoden:
fhir_store_lro_ops Anzahl der lang andauernden FHIR-Speichervorgänge pro Minute und Region Vorgänge im FHIR-Speicher, nicht FHIR-Daten, die einen Vorgang mit langer Ausführungszeit zurückgeben.

Umfasst die folgenden Methoden:
fhir_storage_operations_bytes Eingehender FHIR-Speicher für Vorgänge mit langer Ausführungszeit in Byte pro Minute und Region Byte, die während der Verarbeitung von fhir_store_lro_ops-Vorgängen an die Cloud Healthcare API gesendet werden.

Eine einzelne Anfrage kann mehrere Kontingenteinheiten verbrauchen. Beispielsweise verbraucht eine GET-Suchanfrage mit Observation?subject:Patient.identifier=system|value als Suchparameter zwei fhir_search_ops-Kontingenteinheiten. Es werden zwei Suchvorgänge ausgeführt, einer in der Ressource „Beobachtung“ und einer in der Ressource „Patient“. Dabei dient subject als Referenz.

Wenn bei einer bedingten Löschanfrage mit Observation?status=canceled als Suchkriterium sechs Observation-Ressourcen gesucht und gelöscht werden, werden die folgenden Kontingenteinheiten verbraucht:

  • Eine fhir_search_ops-Kontingenteinheit, da die GET-Suchanfrage nur für einen Typ von FHIR-Ressource ausgeführt wird: die Beobachtungsressource. Die Anfrage gibt alle Beobachtungsressourcen zurück, die den Suchkriterien entsprechen.
  • Sechs Kontingenteinheiten vom Typ „fhir_write_ops“, weil für die gelöschten Beobachtungsressourcen insgesamt sechs DELETE-Vorgänge vorhanden sind.

Verbrauch des Bundle-Kontingents ausführen

Damit Sie eine Anfrage zum Ausführen von Paketen senden können, muss in Ihrem Google Cloud-Projekt für jedes der folgenden Kontingente mindestens eine Einheit verfügbar sein, unabhängig von dem von der Anfrage verbrauchten Kontingent:

  • fhir_read_ops
  • fhir_write_ops
  • fhir_search_ops

Wenn diese Kontingente nicht verfügbar sind, schlägt die Anfrage zum Ausführen des Bundles fehl.

Wenn Sie beispielsweise eine fhir.executeBundle-Anfrage mit einem Transaktions-Bundle senden, das 100 POST-Vorgänge enthält, von denen jeder eine FHIR-Ressource erstellt, überprüft die Cloud Healthcare API zuerst, ob mindestens eine Kontingenteinheit für fhir_read_ops, fhir_write_ops und fhir_search_ops verfügbar ist. Wenn die Überprüfung erfolgreich ist, führt die Cloud Healthcare API das Bundle aus und erstellt die FHIR-Ressourcen, die insgesamt 100 Kontingenteinheiten vom Typ fhir_write_ops verbrauchen.

Betrachten Sie das folgende Transaktions-Bundle, das einen bedingten Verweis zum Erstellen einer Observation-Ressource verwendet, wenn reference vorhanden ist:

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

Wenn Sie das Bundle ausführen, prüft die Cloud Healthcare API zuerst, ob für fhir_read_ops, fhir_write_ops und fhir_search_ops mindestens eine Kontingenteinheit verfügbar ist. Wenn die Überprüfung erfolgreich ist, führt die Cloud Healthcare API das Bundle aus. Folgende Kontingenteinheiten werden verbraucht:

  • Eine fhir_write_ops zum Erstellen der neuen Beobachtungsressource.
  • Eine fhir_search_ops, da ein einzelner Suchvorgang für die Patient?identifier=a1b2c3d4e5-Referenz ausgeführt wird.