1. Pengantar
Terakhir diperbarui: 16-05-2020
Codelab ini menunjukkan pola penyerapan data untuk menyerap data layanan kesehatan berformat FHIR R4 (Resource Reguler) ke BigQuery menggunakan Cloud Healthcare FHIR API. Data tes layanan kesehatan yang realistis telah dibuat dan tersedia di bucket Google Cloud Storage (gs://hcls_testing_data_fhir_10_patients/) untuk Anda.
Dalam codelab ini, Anda akan mempelajari:
- Cara mengimpor resource FHIR R4 dari GCS ke Cloud Healthcare FHIR Store.
- Cara mengekspor data FHIR dari FHIR Store ke Set Data di BigQuery.
Apa yang Anda perlukan untuk menjalankan demo ini?
- Anda memerlukan akses ke Project GCP.
- Anda harus diberi peran Pemilik untuk Project GCP.
- Resource FHIR R4 dalam format NDJSON (content-structure=RESOURCE)
Jika Anda tidak memiliki Project GCP, ikuti langkah-langkah berikut untuk membuat Project GCP baru.
Resource FHIR R4 dalam format NDJSON telah dimuat sebelumnya ke dalam bucket GCS di lokasi berikut:
- gs://hcls_testing_data_fhir_10_patients/fhir_r4_ndjson/ - Referensi Reguler
Semua resource di atas memiliki format file new line delimiter JSON (NDJSON) tetapi struktur kontennya berbeda:
- Regular Resources dalam format ndjson - setiap baris dalam file berisi resource FHIR inti dalam format JSON (seperti Patient, Observation, dll.). Setiap file ndjson berisi resource FHIR dari jenis resource yang sama. Misalnya Patient.ndjson akan berisi satu atau beberapa resource FHIR dari resourceType = ‘ Patient' dan Observation.ndjson akan berisi satu atau beberapa resource FHIR dari resourceType = ‘ Observation'.
Jika membutuhkan set data baru, Anda selalu dapat membuatnya menggunakan SyntheaTM. Kemudian, upload ke GCS, bukan menggunakan bucket yang disediakan di codelab.
2. Penyiapan Project
Ikuti langkah-langkah berikut untuk mengaktifkan Healthcare API dan memberikan izin yang diperlukan:
Melakukan inisialisasi variabel shell untuk lingkungan Anda
Untuk menemukan PROJECT_NUMBER dan PROJECT_ID, lihat Identifying projects.
<!-- CODELAB: Initialize shell variables --> export PROJECT_ID=<PROJECT_ID> export PROJECT_NUMBER=<PROJECT_NUMBER> export SRC_BUCKET_NAME=hcls_testing_data_fhir_10_patients export BUCKET_NAME=<BUCKET_NAME> export DATASET_ID=<DATASET_ID> export FHIR_STORE=<FHIR_STORE> export BQ_DATASET=<BQ_DATASET>
Mengaktifkan Healthcare API
Langkah-langkah berikut akan mengaktifkan Healthcare API di Project GCP Anda. Tindakan ini akan menambahkan akun layanan Healthcare API ke project.
- Buka Library API GCP Console.
- Dari daftar project, pilih project Anda.
- Di Library API, pilih API yang ingin Anda aktifkan. Jika Anda memerlukan bantuan untuk menemukan API, gunakan kolom penelusuran dan filter.
- Di halaman API, klik ENABLE.
Mendapatkan akses ke set data sintetis
- Dari alamat email yang Anda gunakan untuk login ke Konsol Cloud, kirim email ke hcls-solutions-external+subscribe@google.com untuk meminta izin bergabung.
- Anda akan menerima email berisi petunjuk tentang cara mengonfirmasi tindakan tersebut.
- Gunakan opsi untuk membalas email agar bergabung dengan grup.
- JANGAN klik tombol . Itu tidak berfungsi.
- Setelah menerima email konfirmasi, Anda dapat melanjutkan ke langkah berikutnya di codelab.
Membuat bucket Google Cloud Storage di Project GCP
gsutil mb gs://$BUCKET_NAME
Menyalin data sintetis ke Project GCP Anda
gsutil -m cp gs://$SRC_BUCKET_NAME/fhir_r4_ndjson/**.ndjson \ gs://$BUCKET_NAME/fhir_r4_ndjson/
Memberikan Izin
Sebelum mengimpor resource FHIR dari Cloud Storage dan mengekspor ke BigQuery, Anda harus memberikan izin tambahan ke akun layanan Agen Layanan Cloud Healthcare . Untuk mengetahui informasi selengkapnya, lihat izin FHIR store Cloud Storage dan FHIR store BigQuery.
Memberikan Izin Admin Penyimpanan
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:service-$PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/storage.objectViewer
Memberikan Izin Admin BigQuery
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:service-$PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/bigquery.admin
3. Penyiapan Lingkungan
Ikuti langkah-langkah berikut untuk menyerap data dari file NDJSON ke set data layanan kesehatan di BigQuery menggunakan Cloud Healthcare FHIR API:
Membuat Set Data Healthcare dan FHIR Store
Membuat set data Healthcare menggunakan Cloud Healthcare API
gcloud beta healthcare datasets create $DATASET_ID --location=us-central1
Membuat FHIR Store dalam set data menggunakan Cloud Healthcare API
gcloud beta healthcare fhir-stores create $FHIR_STORE \ --dataset=$DATASET_ID --location=us-central1 --version=r4
4. Mengimpor data ke FHIR Store
Impor data uji dari Google Cloud Storage ke FHIR Store.
Kita akan menggunakan file yang dimuat sebelumnya dari Bucket GCS. File ini berisi resource reguler FHIR R4 dalam format NDJSON. Sebagai respons, Anda akan mendapatkan OPERATION_NUMBER, yang dapat digunakan pada langkah validasi.
Mengimpor Resource Reguler dari Bucket GCS di Project GCP Anda
gcloud beta healthcare fhir-stores import gcs $FHIR_STORE \ --dataset=$DATASET_ID --async \ --gcs-uri=gs://$BUCKET_NAME/fhir_r4_ndjson/**.ndjson \ --location=us-central1 --content-structure=RESOURCE
Validasi
Operasi validasi berhasil diselesaikan. Operasi ini memerlukan waktu beberapa menit hingga selesai, jadi Anda mungkin perlu mengulangi perintah ini beberapa kali dengan penundaan.
gcloud beta healthcare operations describe OPERATION_NUMBER \ --dataset=$DATASET_ID --location=us-central1
5. Mengekspor data dari FHIR Store ke BigQuery
Membuat Set Data BigQuery
bq mk --location=us --dataset $PROJECT_ID:$BQ_DATASET
Mengekspor data layanan kesehatan dari FHIR Store ke Set Data BigQuery
gcloud beta healthcare fhir-stores export bq $FHIR_STORE \ --dataset=$DATASET_ID --location=us-central1 --async \ --bq-dataset=bq://$PROJECT_ID.$BQ_DATASET \ --schema-type=analytics
Sebagai respons, Anda akan mendapatkan OPERATION_NUMBER, yang dapat digunakan pada langkah validasi.
Validasi
Memvalidasi operasi yang berhasil diselesaikan
gcloud beta healthcare operations describe OPERATION_NUMBER \ --dataset=$DATASET_ID --location=us-central1
Validasi apakah Set Data BigQuery memiliki 16 tabel
bq ls $PROJECT_ID:$BQ_DATASET
6. Pembersihan
Agar tidak menimbulkan biaya pada akun Google Cloud Platform Anda untuk resource yang digunakan dalam tutorial ini, Anda dapat membersihkan resource yang dibuat di GCP sehingga tidak menghabiskan kuota, dan Anda tidak akan ditagih di masa mendatang. Bagian berikut menjelaskan cara menghapus atau menonaktifkan resource tersebut.
Menghapus project
Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.
Untuk menghapus project:
- Di GCP Console, buka halaman Project. BUKA HALAMAN PROJECT
- Dalam daftar project, pilih project yang ingin dihapus, lalu klik Hapus.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Jika perlu menyimpan project ini, Anda dapat menghapus set data layanan kesehatan Cloud dan set data BigQuery menggunakan petunjuk berikut.
Menghapus set data Cloud Healthcare API
Ikuti langkah-langkah untuk menghapus set data Healthcare API menggunakan GCP Console dan gcloud CLI.
Perintah Quick CLI:
gcloud beta healthcare datasets delete $DATASET_ID --location=us-central1
Menghapus set data BigQuery
Ikuti langkah-langkah untuk menghapus set data BigQuery menggunakan antarmuka yang berbeda.
Perintah Quick CLI:
bq rm -r -f $PROJECT_ID:$DATASET_ID
7. Selamat
Selamat, Anda telah berhasil menyelesaikan codelab untuk menyerap data layanan kesehatan di BigQuery menggunakan Cloud Healthcare API.
Anda telah mengimpor data sintetis yang mematuhi FHIR R4 dari Google Cloud Storage ke Cloud Healthcare FHIR API.
Anda telah mengekspor data dari FHIR API Cloud Healthcare ke BigQuery.
Anda sekarang telah mengetahui langkah-langkah utama yang diperlukan untuk memulai perjalanan Analisis Data Layanan Kesehatan dengan BigQuery di Google Cloud Platform.