Menyerap FHIR (Fast Healthcare Interoperability Resources) ke BigQuery

1. Pengantar

1f4764c4ca4c50d9.pngS

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.

  1. Buka Library API GCP Console.
  2. Dari daftar project, pilih project Anda.
  3. Di Library API, pilih API yang ingin Anda aktifkan. Jika Anda memerlukan bantuan untuk menemukan API, gunakan kolom penelusuran dan filter.
  4. Di halaman API, klik ENABLE.

Mendapatkan akses ke set data sintetis

  1. Dari alamat email yang Anda gunakan untuk login ke Konsol Cloud, kirim email ke hcls-solutions-external+subscribe@google.com untuk meminta izin bergabung.
  2. Anda akan menerima email berisi petunjuk tentang cara mengonfirmasi tindakan tersebut.
  3. Gunakan opsi untuk membalas email agar bergabung dengan grup.
  4. JANGAN klik tombol 525a0fa752e0acae.pngS. Itu tidak berfungsi.
  5. 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:

  1. Di GCP Console, buka halaman Project. BUKA HALAMAN PROJECT
  2. Dalam daftar project, pilih project yang ingin dihapus, lalu klik Hapus.
  3. 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.