Anda dapat menggunakan Pub/Sub untuk menerima notifikasi saat peristiwa klinis terjadi di penyimpanan data Cloud Healthcare API. Notifikasi ini memberi tahu Anda jika:
- Instance DICOM disimpan di penyimpanan DICOM menggunakan metode
dicomStores.dicomWeb.studies.storeInstances
atau diimpor dari Cloud Storage. - Resource FHIR dibuat, diperbarui, atau dihapus di penyimpanan FHIR. Namun, notifikasi tidak akan dikirim saat resource FHIR diimpor dari Cloud Storage.
- Pesan HL7v2 diserap atau dibuat di penyimpanan HL7v2 untuk pertama kalinya. Pesan duplikat tidak akan memicu notifikasi.
Saat salah satu peristiwa ini terjadi, Cloud Healthcare API memublikasikan pesan ke resource Pub/Sub bernama yang disebut topic. Pesan kemudian dapat diterima oleh aplikasi yang berlangganan topik tersebut.
Untuk DICOM dan HL7v2, pesan ini tidak berisi informasi pribadi apa pun. Notifikasi tersebut hanya mencakup hal berikut:
- Project tempat pesan dibuat
- ID pesan
- Dalam pesan HL7v2, jenis pesan HL7v2
Pesan Pub/Sub FHIR dapat berisi informasi pribadi. Untuk mengetahui informasi selengkapnya, lihat Notifikasi FHIR yang berisi data resource FHIR.
Untuk ringkasan tentang penggunaan notifikasi Pub/Sub dengan Cloud Healthcare API, lihat Notifikasi Pub/Sub.
Sebelum memulai
Tinjau kuota Pub/Sub
Sebelum mengonfigurasi notifikasi Pub/Sub, pahami kuota dan batas Pub/Sub. Untuk mengetahui informasi tentang cara melihat kuota, meminta lebih banyak kuota, dan apa yang terjadi jika Anda kehabisan kuota, lihat Bekerja dengan kuota.
Mengaktifkan Pub/Sub API
Untuk mengaktifkan Pub/Sub API, klik tombol berikut:
Mengonfigurasi izin Pub/Sub
Untuk mengizinkan pesan dipublikasikan dari Cloud Healthcare API
ke Pub/Sub, Anda harus menambahkan peran pubsub.publisher
ke
akun layanan Cloud Healthcare Service Agent project Anda.
Lihat izin Pub/Sub toko DICOM, FHIR, dan HL7v2 untuk mengetahui langkah-langkah menambahkan peran yang diperlukan.
Membuat topik Pub/Sub
Untuk setiap penyimpanan data yang ingin Anda terima notifikasinya, Anda harus mengonfigurasi topik Pub/Sub. Setiap penyimpanan data dapat memiliki topik Pub/Sub sendiri, atau beberapa penyimpanan data dapat berbagi topik yang sama. Anda dapat membuat topik menggunakan Google Cloud Console atau Google Cloud CLI.
Saat membuat topik, atau merujuk ke topik dalam konfigurasi penyimpanan data, Anda harus menggunakan URI yang memenuhi syarat dalam format berikut:
projects/PROJECT_ID/topics/TOPIC_NAME
dengan PROJECT_ID sebagai project ID Google Cloud Anda dan TOPIC_NAME adalah nama topiknya.
Untuk membuat topik, selesaikan langkah-langkah berikut:
Konsol
Buka halaman Topics Pub/Sub di Konsol Google Cloud.
Klik Buat Topik.
Masukkan nama topik dengan URI:
projects/PROJECT_ID/topics/TOPIC_NAME
dengan PROJECT_ID sebagai ID project Google Cloud Anda.
Klik Create.
gcloud
Untuk membuat topik, jalankan
perintah
gcloud pubsub topics create
:
gcloud pubsub topics create projects/PROJECT_ID/topics/TOPIC_NAME
Jika permintaan berhasil, perintah akan menampilkan output berikut:
Created topic [projects/PROJECT_ID/topics/TOPIC_NAME].
Membuat langganan Pub/Sub
Untuk menerima pesan yang dipublikasikan ke suatu topik, Anda perlu membuat langganan Pub/Sub. Setiap topik Pub/Sub harus memiliki setidaknya satu langganan Pub/Sub.
Langganan menghubungkan topik ke aplikasi pelanggan yang menerima dan memproses pesan yang dipublikasikan ke topik.
Langganan dapat dikonfigurasi untuk menggunakan model push atau model pull.
Langganan dapat dikonfigurasi untuk memfilter pesan berdasarkan atributnya; lihat petunjuk tentang memfilter pesan dari langganan.
Untuk membuat langganan, selesaikan langkah-langkah berikut:
Konsol
Buka halaman Topics Pub/Sub di Konsol Google Cloud.
Klik topik project Anda.
Klik Buat Langganan.
Masukkan nama langganan:
projects/PROJECT_ID/subscriptions/SUBSCRIPTION_NAME
Biarkan Jenis Pengiriman ditetapkan ke Pull.
Klik Create.
gcloud
Untuk membuat topik, jalankan
perintah
gcloud pubsub subscriptions create
:
gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME
Jika permintaan berhasil, perintah akan menampilkan output berikut:
Created subscription [projects/PROJECT_ID/subscriptions/TOPIC_NAME].
Melihat notifikasi instance DICOM yang tersimpan
Untuk mengetahui informasi tentang cara menggunakan notifikasi Pub/Sub dengan data DICOM, lihat Notifikasi Pub/Sub DICOM.
Lihat notifikasi HL7v2
Resource Hl7V2Store
berisi array notificationConfigs
tempat Anda dapat menentukan topik Pub/Sub dan kriteria pemfilteran.
Saat pesan HL7v2 diserap atau dibuat di penyimpanan HL7v2, Cloud Healthcare API akan memublikasikan pesan ke topik Pub/Sub yang memiliki filter yang cocok dengan pesan HL7v2.
Untuk melihat notifikasi pesan HL7v2 yang diserap, selesaikan langkah-langkah berikut:
- Buat atau edit penyimpanan HL7v2 dan konfigurasi dengan topik Pub/Sub.
- Tambahkan peran
pubsub.publisher
yang diperlukan ke akun layanan project Anda. - Serap pesan HL7v2 ke penyimpanan HL7v2. Tindakan ini akan memicu Cloud Healthcare API untuk memublikasikan pesan ke topik Pub/Sub yang dikonfigurasi.
Untuk melihat pesan yang dipublikasikan ke topik Pub/Sub, jalankan perintah
gcloud pubsub subscriptions pull
:gcloud pubsub subscriptions pull --auto-ack projects/PROJECT_ID/subscriptions/PUBSUB_SUBSCRIPTION
Perintah ini menampilkan output berikut tentang pesan HL7v2 yang diserap:
┌--------------------------------------------------------------------------------------------------------------------|-----------------|---------------┐ | DATA | MESSAGE_ID | ATTRIBUTES | ├--------------------------------------------------------------------------------------------------------------------|-----------------|---------------| | projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/HL7V2_MESSAGE_ID | 123456789012345 | msgType=TYPE | └--------------------------------------------------------------------------------------------------------------------|-----------------|---------------┘
Kebijakan penyimpanan pesan Cloud Healthcare API dan Pub/Sub
Untuk memastikan bahwa data Cloud Healthcare API Anda dan data terkait dalam pesan Pub/Sub berada di region yang sama, Anda harus menetapkan kebijakan penyimpanan pesan Pub/Sub.
Anda harus secara eksplisit menetapkan kebijakan penyimpanan pesan pada topik Pub/Sub yang dikonfigurasi di penyimpanan data untuk memastikan bahwa data tetap berada di region yang sama. Misalnya, jika set data Cloud Healthcare API dan penyimpanan FHIR Anda berada di
us-central1
, kebijakan penyimpanan pesan hanya boleh mengizinkan region us-central1
.
Untuk mengonfigurasi kebijakan penyimpanan pesan, lihat Mengonfigurasi kebijakan penyimpanan pesan.
Memecahkan masalah pesan Pub/Sub yang terlewat
Jika notifikasi tidak dapat dipublikasikan ke Pub/Sub, error akan dicatat ke Cloud Logging. Untuk mengetahui informasi selengkapnya, baca artikel Melihat log error di Cloud Logging.
Jika tingkat pembuatan error melebihi batas, error yang melebihi batas tidak akan dikirimkan ke Cloud Logging.
Langkah selanjutnya
Pelajari cara mengonfigurasi topik Pub/Sub di: