Kuota dan batas

Cloud Healthcare API memberlakukan batas penggunaan resource karena berbagai alasan. Misalnya, kuota melindungi komunitas pengguna Google Cloud dengan mencegah lonjakan penggunaan yang tidak terduga. Google Cloud juga menawarkan kuota uji coba gratis yang menyediakan akses terbatas bagi pengguna yang menjelajahi Google Cloud, termasuk Cloud Healthcare API.

Kuota untuk Cloud Healthcare API diterapkan per project berdasarkan per wilayah atau multi-wilayah. Kuota yang habis di satu region tidak memengaruhi penggunaan Cloud Healthcare API Anda di region lain.

Memeriksa kuota dan penggunaan Anda

Kuota adalah batas pada penyimpanan (juga disebut batas ingress) dan operasi.

Untuk memeriksa kuota yang tersedia untuk resource di project Anda, buka halaman Kuota di konsol Google Cloud .

Untuk menampilkan hanya kuota Cloud Healthcare API, di menu drop-down Filter tabel, pilih Layanan, lalu pilih Cloud Healthcare API.

Tidak semua project memiliki kuota yang sama. Seiring meningkatnya penggunaan Cloud Healthcare API Anda dari waktu ke waktu, kuota Anda juga dapat meningkat. Jika Anda memperkirakan adanya peningkatan penggunaan yang signifikan di masa mendatang, Anda dapat secara proaktif meminta penyesuaian kuota dari halaman Kuota diGoogle Cloud console. Meminta peningkatan kuota tidak dikenakan biaya. Biaya akan meningkat hanya jika resource yang Anda gunakan melebihi batas.

Batas resource

Cloud Healthcare API membatasi ukuran konten permintaan, seperti ukuran gambar sinar-X dalam permintaan DICOM. Anda tidak dapat meminta perubahan pada batas resource; namun, dalam beberapa situasi, Anda dapat menggunakan operasi impor untuk mengimpor konten yang lebih besar dari batas resource.

Batas resource berikut berlaku dan dapat berubah sewaktu-waktu.

Pengandaian Batas ukuran permintaan
DICOM
  • Transaksi toko: Tidak terbatas. Semua metode lainnya 10 MB.
  • Menyimpan transaksi atau mengambil transaksi: Waktu tunggu habis jika operasi melebihi 30 menit.
  • Metode penelusuran transaksi memiliki offset maksimum 1.000.000 dan batas maksimum 5.000 untuk studi/deret dan 50.000 untuk instance.
  • De-identifikasi: De-identifikasi tidak dapat memproses file DICOM yang lebih besar dari 1 GB jika melibatkan penyensoran piksel. Jika Data Pixel dikompresi, ukuran yang tidak dikompresi tidak boleh melebihi 2 GB. Ukuran yang tidak dikompresi dapat dihitung menggunakan tag DICOM sebagai berikut: NumberOfFrames * Rows * Columns * SamplesPerPixel * BitsAllocated / 8.
  • File DICOM yang di-ingest memiliki batas 4 GB per tag. Batas ini tidak berlaku untuk nilai dengan panjang yang tidak ditentukan.
  • Saat melakukan transcoding data DICOM, ukuran file maksimum adalah 1 GB dan ukuran frame maksimum adalah 150 MB.
  • Saat menerapkan parameter kueri viewport pada resource yang dirender, ukuran frame maksimum adalah 50 MB, dan dimensi maksimum (lebar atau tinggi) adalah 10.000 piksel.
  • dicomStores.import: Ukuran file maksimum adalah 100 GB.
FHIR
  • fhir.executeBundle: 50 MB. Anda mungkin mengalami batasan berdasarkan jumlah entri dalam paket. Untuk mengetahui informasi selengkapnya, lihat Batasan ukuran executeBundle FHIR.
  • fhir.Binary-create: 1 GB
  • fhir.Binary-update: 1 GB
  • Semua metode lainnya: 10 MB. Batas ini berlaku untuk representasi internal resource, bukan ukuran payload JSON yang Anda kirim. Resource yang memenuhi batas ini mungkin memiliki payload JSON yang lebih besar dari 10 MB.
HL7v2 Ukuran kolom data berenkode base64: 10 MB

Jika Anda mencoba memproses konten yang lebih besar dari batas resource terkait, akan terjadi error.

Batas ukuran FHIR executeBundle

Anda dapat menggunakan metode fhir.executeBundle untuk melakukan beberapa operasi FHIR dalam satu permintaan API. Jumlah operasi bergantung pada jumlah entri dalam batch atau paket transaksi. Pendekatan ini lebih efisien daripada melakukan panggilan API individual untuk setiap operasi.

Waktu pemrosesan untuk permintaan fhir.executeBundle meningkat seiring dengan jumlah entri dalam paket. Faktor seperti pertentangan resource (misalnya, memperbarui resource yang sama sebagai bagian dari banyak paket transaksi secara paralel) juga dapat memengaruhi performa. Untuk mengetahui contoh kapan persaingan resource dapat terjadi dan cara mencegahnya menyebabkan error, lihat Praktik terbaik throughput data. Paket besar, terutama yang melebihi 1.000 entri, mungkin mengalami waktu tunggu dan gagal diselesaikan.

Untuk memastikan pemrosesan yang berhasil dan tepat waktu, pertimbangkan batas ini saat mengirim permintaan fhir.executeBundle:

  • Kumpulan transaksi: Kumpulan yang melebihi 4.500 entri akan langsung ditolak untuk mencegah waktu tunggu habis. Paket transaksi mengharuskan semua operasi berhasil.
  • Bundle batch: Tidak ada batas entri tertentu, tetapi bundle yang lebih besar meningkatkan risiko waktu tunggu habis. Waktu tunggu habis dapat menyebabkan keberhasilan sebagian, dengan hanya beberapa entri yang diproses.

Menggunakan operasi impor untuk konten yang melebihi batas resource

Operasi impor memungkinkan Anda memproses konten yang lebih besar daripada batas resource terkait. Ukuran konten dalam operasi impor hanya dibatasi oleh Google Cloud ukuran penyimpanan maksimum 5 TB untuk objek individual. Operasi impor tunduk pada kuota penyimpanan yang menentukan durasi operasi impor. Anda mungkin ingin menggunakan operasi impor, misalnya, jika Anda ingin menyimpan banyak instance DICOM di penyimpanan DICOM dan tidak ingin tunduk pada batas ukuran permintaan. Daripada mengupload instance menggunakan metode Store Transaction yang tersedia, Anda dapat mengupload instance ke bucket Cloud Storage, lalu mengimpornya ke penyimpanan DICOM.

Untuk mengetahui langkah-langkah mendetail cara mengimpor data DICOM menggunakan operasi impor, lihat Mengimpor dan mengekspor data DICOM.

Untuk mengetahui langkah-langkah mendetail dalam mengimpor resource FHIR menggunakan operasi impor, lihat Mengimpor dan Mengekspor Resource FHIR.

Untuk mengetahui langkah-langkah mendetail dalam mengimpor pesan HL7v2 menggunakan operasi impor, lihat Mengimpor pesan HL7v2 dari Cloud Storage.

Meminta perubahan kuota

Untuk meminta perubahan kuota, Anda harus memiliki izin serviceusage.quotas.update. Izin ini disertakan secara default untuk peran bawaan berikut: Pemilik, Editor, dan Administrator Kuota.

  1. Buka halaman Kuota.

    Buka Kuota

  2. Di halaman Kuota, pilih kuota yang ingin diubah. Jika Anda ingin menampilkan hanya kuota Cloud Healthcare API, pilih Layanan dari menu drop-down Filter tabel, lalu pilih Cloud Healthcare API.

  3. Centang kotak kuota yang ingin Anda edit.

  4. Klik tombol Edit Kuota di bagian atas halaman.

  5. Isi formulir, lalu klik Berikutnya.

  6. Masukkan batas yang Anda minta, lalu klik Berikutnya.

  7. Klik Submit request.

Permintaan untuk mengurangi kuota ditolak secara default. Jika Anda ingin mengurangi kuota, balas email dukungan dengan penjelasan tentang persyaratan Anda. Perwakilan dukungan akan menanggapi permintaan Anda.

Anda akan menerima respons dari tim Cloud Healthcare API dalam waktu 24 hingga 48 jam setelah permintaan dikirimkan.

Rencanakan untuk meminta resource tambahan setidaknya beberapa hari sebelumnya untuk memastikan ada cukup waktu untuk memenuhi permintaan Anda.

Permintaan kuota lokasi

Anda dapat meminta penambahan kuota untuk Cloud Healthcare API di region tertentu, atau di lokasi multi-region.

Untuk meminta penambahan kuota di satu region: Dalam permintaan penambahan kuota, tentukan regionnya.

Untuk meminta penambahan kuota di lokasi multi-region:

  • Untuk penambahan kuota di multi-region us, nyatakan dalam permintaan Anda bahwa kuota tersebut adalah untuk "region meta AS".
  • Untuk penambahan kuota di multi-region eu, nyatakan dalam permintaan Anda bahwa kuota tersebut adalah untuk "EU meta region".

Batas kuota

Bagian berikut menjelaskan kuota yang terkait dengan penyimpanan dan operasi data Cloud Healthcare API.

Kuota DICOM

Tabel berikut menjelaskan kuota Cloud Healthcare API yang terkait dengan penyimpanan DICOM dan operasi DICOM.

Nama metrik Nama tampilan Deskripsi
dicomweb_ops Jumlah operasi DICOMweb per menit per region Mencakup metode berikut:
  • Semua metode projects.locations.datasets.dicomStores.studies di v1beta1 dan v1
  • Semua metode projects.locations.datasets.dicomStores.studies.series di v1beta1 dan v1
  • Semua metode projects.locations.datasets.dicomStores.studies.series.instances di v1beta1 dan v1
  • Semua metode projects.locations.datasets.dicomStores.studies.series.instances.frames di v1beta1 dan v1
dicom_structured_storage_bytes Ingress penyimpanan DICOM terstruktur dalam byte per menit per region Byte terstruktur, dalam bentuk tag DICOM dan metadata terkait, dikirim ke Cloud Healthcare API saat memproses operasi dicomweb_ops.
dicom_store_ops Jumlah operasi penyimpanan DICOM per menit per region Operasi pada penyimpanan DICOM, bukan data DICOM. Mencakup metode berikut:
dicom_store_lro_ops Jumlah operasi yang berjalan lama di penyimpanan DICOM per menit per region Operasi pada penyimpanan DICOM, bukan data DICOM, yang menampilkan operasi yang berjalan lama. Mencakup metode berikut:
dicom_structured_storage_operations_bytes Ingress penyimpanan DICOM terstruktur untuk operasi yang berjalan lama dalam byte per menit per region Byte terstruktur, dalam bentuk tag DICOM dan metadata terkait, dikirim ke Cloud Healthcare API saat memproses operasi dicom_store_lro_ops.

Kuota FHIR

Tabel berikut menjelaskan kuota Cloud Healthcare API yang terkait dengan penyimpanan FHIR dan operasi FHIR.

Nama metrik Nama tampilan Deskripsi
fhir_read_ops Jumlah operasi baca FHIR per menit per region Diukur dalam unit, dengan satu unit adalah satu permintaan baca pada resource FHIR individual.

Mencakup metode berikut:

v1beta1: v1:
fhir_write_ops Jumlah operasi tulis FHIR per menit per region Diukur dalam unit, dengan satu unit adalah satu permintaan pembuatan, pembaruan, atau penghapusan pada resource FHIR individual.

Mencakup metode berikut:

v1beta1: v1:
fhir_search_ops Jumlah operasi penelusuran FHIR per menit per region Diukur dalam unit, dengan satu unit adalah permintaan penelusuran pada jenis resource FHIR yang penelusurannya tidak memerlukan penyelesaian referensi, kecuali jika _include digunakan. Misalnya, penelusuran Observation?subject:Patient.identifier=system|value menggunakan dua unit kuota fhir_search_ops karena memerlukan dua penelusuran, satu di resource Observation dan satu di resource Patient, menggunakan subject sebagai referensi.

Mencakup metode berikut:

v1beta1: v1:
fhir_storage_egress_bytes FHIR storage egress dalam byte per menit per region Diukur dalam unit, dengan satu unit adalah satu byte yang dibaca Cloud Healthcare API dari penyimpanan saat memproses operasi fhir_read_ops, fhir_write_ops, dan fhir_search_ops.
fhir_storage_bytes FHIR storage ingress dalam byte per menit per region Byte yang dikirim ke Cloud Healthcare API saat memproses operasi fhir_write_ops.
fhir_store_ops Jumlah operasi penyimpanan FHIR per menit per region Operasi pada penyimpanan FHIR, bukan data FHIR.

Mencakup metode berikut:
fhir_store_lro_ops Jumlah operasi yang berjalan lama di penyimpanan FHIR per menit per region Operasi pada penyimpanan FHIR, bukan data FHIR, yang menampilkan operasi yang berjalan lama.

Mencakup metode berikut:
fhir_storage_operations_bytes FHIR storage ingress untuk operasi yang berjalan lama dalam byte per menit per region Byte yang dikirim ke Cloud Healthcare API saat memproses operasi fhir_store_lro_ops.

Satu permintaan dapat menggunakan beberapa unit kuota. Misalnya, permintaan penelusuran GET yang menggunakan Observation?subject:Patient.identifier=system|value sebagai parameter penelusuran menggunakan dua unit kuota fhir_search_ops. Dua operasi penelusuran dilakukan, satu pada resource Observation dan satu pada resource Patient, menggunakan subject sebagai referensi.

Jika permintaan penghapusan bersyarat menggunakan Observation?status=canceled sebagai kriteria penelusuran menelusuri dan menghapus enam resource Pengamatan, unit kuota berikut akan digunakan:

  • Satu unit kuota fhir_search_ops, karena permintaan penelusuran GET hanya dilakukan pada satu jenis resource FHIR, yaitu resource Observation. Permintaan ini menampilkan semua resource Pengamatan yang cocok dengan kriteria penelusuran.
  • Enam unit kuota fhir_write_ops, karena ada total enam operasi DELETE pada resource Pengamatan yang dihapus.

Menjalankan penggunaan kuota paket

Untuk mengirim permintaan execute bundle, terlepas dari kuota yang digunakan permintaan,Google Cloud project Anda harus memiliki setidaknya satu unit yang tersedia untuk setiap kuota berikut:

  • fhir_read_ops
  • fhir_write_ops
  • fhir_search_ops

Jika kuota ini tidak tersedia, permintaan paket eksekusi akan gagal.

Misalnya, jika Anda mengirim permintaan fhir.executeBundle dengan paket transaksi yang berisi 100 operasi POST, yang masing-masing membuat resource FHIR, Cloud Healthcare API terlebih dahulu memverifikasi bahwa setidaknya satu unit kuota tersedia untuk fhir_read_ops, fhir_write_ops, dan fhir_search_ops. Jika verifikasi berhasil, Cloud Healthcare API akan menjalankan bundle dan membuat resource FHIR, yang menggunakan total 100 unit kuota fhir_write_ops.

Pertimbangkan paket transaksi berikut, yang menggunakan referensi bersyarat untuk membuat resource Pengamatan jika reference ada:

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

Saat Anda menjalankan paket, Cloud Healthcare API terlebih dahulu memverifikasi bahwa setidaknya satu unit kuota tersedia untuk fhir_read_ops, fhir_write_ops, dan fhir_search_ops. Jika verifikasi berhasil, Cloud Healthcare API akan menjalankan paket. Unit kuota berikut digunakan:

  • Satu fhir_write_ops untuk membuat resource Pengamatan baru.
  • Satu fhir_search_ops, karena satu operasi penelusuran dilakukan pada referensi Patient?identifier=a1b2c3d4e5.

Praktik terbaik

Untuk mengetahui praktik terbaik dalam mengelola kuota Cloud Healthcare API, lihat Praktik terbaik pengelolaan kuota.