BigQuery'ye FHIR (Hızlı Sağlık Hizmetleri Birlikte Çalışabilirlik Kaynakları) aktarma

1. Giriş

1f4764c4ca4c50d9.png

Son güncelleme: 2020-05-16

Bu codelab'de, Cloud Healthcare FHIR API'lerini kullanarak FHIR R4 biçimli sağlık verilerini (Normal Kaynaklar) BigQuery'ye almak için kullanılan bir veri alımı modeli gösterilmektedir. Gerçekçi sağlık hizmeti test verileri oluşturuldu ve sizin için Google Cloud Storage paketinde (gs://hcls_testing_data_fhir_10_patients/) kullanıma sunuldu.

Bu kod laboratuvarında öğrenecekleriniz:

  • FHIR R4 kaynaklarını GCS'den Cloud Healthcare FHIR deposuna aktarma
  • FHIR verilerini FHIR deposundan BigQuery'deki bir veri kümesine aktarma

Bu demoyu çalıştırmak için neye ihtiyacınız var?

  • Bir GCP projesine erişiminiz olmalıdır.
  • GCP projesinde Sahip rolü atanmış olmalıdır.
  • NDJSON biçimindeki FHIR R4 kaynakları (content-structure=RESOURCE)

GCP projeniz yoksa yeni bir GCP projesi oluşturmak için bu adımları uygulayın.

NDJSON biçimindeki FHIR R4 kaynakları, aşağıdaki konumlarda GCS paketine önceden yüklenmiştir:

  • gs://hcls_testing_data_fhir_10_patients/fhir_r4_ndjson/ - Normal Kaynaklar

Yukarıdaki tüm kaynaklar yeni satır sınırlayıcı JSON (NDJSON) dosya biçimine sahiptir ancak içerik yapıları farklıdır:

  • ndjson biçimindeki Normal Kaynaklar: Dosyadaki her satır, JSON biçiminde bir temel FHIR kaynağı (ör. Hasta, Gözlem vb.) içerir. Her ndjson dosyası, aynı kaynak türündeki FHIR kaynaklarını içerir. Örneğin, Patient.ndjson dosyasında resourceType = "Patient" olan bir veya daha fazla FHIR kaynağı, Observation.ndjson dosyasında ise resourceType = "Observation" olan bir veya daha fazla FHIR kaynağı bulunur.

Yeni bir veri kümesine ihtiyacınız varsa SyntheaTM'i kullanarak istediğiniz zaman oluşturabilirsiniz. Ardından, codelab'de sağlanan paketi kullanmak yerine GCS'ye yükleyin.

2. Proje Ayarları

Healthcare API'yi etkinleştirmek ve gerekli izinleri vermek için şu adımları uygulayın:

Ortamınız için kabuk değişkenlerini başlatma

PROJECT_NUMBER ve PROJECT_ID değerlerini bulmak için Projeleri tanımlama başlıklı makaleyi inceleyin.

<!-- 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>

Healthcare API'yi etkinleştirme

Aşağıdaki adımları uygulayarak GCP projenizde Healthcare API'lerini etkinleştirebilirsiniz. Bu işlem, projeye Healthcare API hizmet hesabını ekler.

  1. GCP Console API Kitaplığı'na gidin.
  2. Proje listesinden projenizi seçin.
  3. API kitaplığında etkinleştirmek istediğiniz API'yi seçin. API'yi bulma konusunda yardıma ihtiyacınız olursa arama alanını ve filtreleri kullanın.
  4. API sayfasında ETKİNLEŞTİR'i tıklayın.

Sentetik veri kümesine erişme

  1. Cloud Console'da oturum açmak için kullandığınız e-posta adresinden hcls-solutions-external+subscribe@google.com adresine katılma isteği içeren bir e-posta gönderin.
  2. İşlemi nasıl onaylayacağınızla ilgili talimatları içeren bir e-posta alırsınız.
  3. Gruba katılmak için e-postayı yanıtlama seçeneğini kullanın.
  4. 525a0fa752e0acae.pngdüğmesini TIKLAMAYIN. İşe yaramıyor.
  5. Onay e-postasını aldıktan sonra codelab'deki sonraki adıma geçebilirsiniz.

GCP projenizde Google Cloud Storage paketi oluşturma

gsutil mb gs://$BUCKET_NAME

Sentetik verileri GCP projenize kopyalama

gsutil -m cp gs://$SRC_BUCKET_NAME/fhir_r4_ndjson/**.ndjson \
gs://$BUCKET_NAME/fhir_r4_ndjson/

İzin verme

Cloud Storage'dan FHIR kaynaklarını içe aktarmadan ve BigQuery'ye aktarmadan önce Cloud Healthcare Hizmet Aracısı hizmet hesabına ek izinler vermeniz gerekir. Daha fazla bilgi için FHIR store Cloud Storage ve FHIR store BigQuery izinleri başlıklı makaleleri inceleyin.

Depolama alanı yöneticisi izni verme

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member=serviceAccount:service-$PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
  --role=roles/storage.objectViewer

BigQuery yönetici izinleri verme

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member=serviceAccount:service-$PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
  --role=roles/bigquery.admin

3. Ortam Kurulumu

Cloud Healthcare FHIR API'lerini kullanarak NDJSON dosyalarındaki verileri BigQuery'deki sağlık hizmeti veri kümesine almak için aşağıdaki adımları uygulayın:

Sağlık Hizmetleri Veri Kümesi ve FHIR Deposu oluşturma

Cloud Healthcare API'lerini kullanarak Healthcare veri kümesi oluşturma

gcloud beta healthcare datasets create $DATASET_ID --location=us-central1

Cloud Healthcare API'lerini kullanarak veri kümesinde FHIR deposu oluşturma

gcloud beta healthcare fhir-stores create $FHIR_STORE \
  --dataset=$DATASET_ID --location=us-central1 --version=r4

4. FHIR deposuna veri aktarma

Google Cloud Storage'dan FHIR Store'a test verilerini içe aktarın.

GCS paketindeki önceden yüklenmiş dosyaları kullanırız. Bu dosyalar, NDJSON biçiminde FHIR R4 normal kaynaklarını içerir. Yanıt olarak, doğrulama adımında kullanılabilecek OPERATION_NUMBER değerini alırsınız.

GCP projenizdeki GCS paketinden normal kaynakları içe aktarma

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

Doğrula

Doğrulama işlemi başarıyla tamamlandı. İşlemin tamamlanması birkaç dakika sürebilir. Bu nedenle, bu komutu biraz gecikmeyle birkaç kez tekrarlamanız gerekebilir.

gcloud beta healthcare operations describe OPERATION_NUMBER \
  --dataset=$DATASET_ID --location=us-central1

5. Verileri FHIR deposundan BigQuery'ye aktarma

BigQuery veri kümesi oluşturma

bq mk --location=us --dataset $PROJECT_ID:$BQ_DATASET

Sağlık hizmeti verilerini FHIR Store'dan BigQuery veri kümesine aktarma

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

Yanıt olarak, doğrulama adımında kullanılabilecek OPERATION_NUMBER değerini alırsınız.

Doğrula

Doğrulama işlemi başarıyla tamamlandı

gcloud beta healthcare operations describe OPERATION_NUMBER \
  --dataset=$DATASET_ID --location=us-central1

BigQuery veri kümesinde 16 tablonun tamamının olup olmadığını doğrulama

bq ls $PROJECT_ID:$BQ_DATASET

6. Temizleme

Bu eğiticide kullanılan kaynaklar için Google Cloud Platform hesabınızın ücretlendirilmesini önlemek amacıyla GCP'de oluşturduğunuz kaynakları temizleyebilirsiniz. Böylece bu kaynaklar kotanızı kullanmaz ve gelecekte bu kaynaklar için faturalandırılmazsınız. Aşağıdaki bölümlerde bu kaynakların nasıl silineceği veya devre dışı bırakılacağı açıklanmaktadır.

Projeyi silme

Faturalandırılmanın önüne geçmenin en kolay yolu, eğitim için oluşturduğunuz projeyi silmektir.

Projeyi silmek için:

  1. GCP Console'da Projeler sayfasına gidin. PROJELER SAYFASINA GİTME
  2. Proje listesinde, silmek istediğiniz projeyi seçin ve Sil'i tıklayın.
  3. İletişim kutusunda proje kimliğini yazın ve projeyi silmek için Kapat'ı tıklayın.

Projeyi tutmanız gerekiyorsa aşağıdaki talimatları uygulayarak Cloud Healthcare veri kümesini ve BigQuery veri kümesini silebilirsiniz.

Cloud Healthcare API veri kümesini silme

Hem GCP Console hem de gcloud CLI kullanarak Healthcare API veri kümesini silmek için adımları uygulayın.

Hızlı CLI komutu:

gcloud beta healthcare datasets delete $DATASET_ID --location=us-central1

BigQuery veri kümesini silme

Farklı arayüzleri kullanarak BigQuery veri kümesini silmek için adımları uygulayın.

Hızlı CLI komutu:

bq rm -r -f $PROJECT_ID:$DATASET_ID

7. Tebrikler

Tebrikler, Cloud Healthcare API'lerini kullanarak BigQuery'ye sağlık hizmetleri verilerini alma ile ilgili codelab'i başarıyla tamamladınız.

Google Cloud Storage'dan Cloud Healthcare FHIR API'lerine FHIR R4 uyumlu sentetik veriler aktarmış olmanız gerekir.

Cloud Healthcare FHIR API'lerinden BigQuery'ye veri aktarmış olmanız gerekir.

Artık Google Cloud Platform'da BigQuery ile sağlık hizmetleri veri analizi yolculuğunuza başlamak için gereken temel adımları biliyorsunuz.