1. Giriş

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.
- GCP Console API Kitaplığı'na gidin.
- Proje listesinden projenizi seçin.
- 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.
- API sayfasında ETKİNLEŞTİR'i tıklayın.
Sentetik veri kümesine erişme
- 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.
- İşlemi nasıl onaylayacağınızla ilgili talimatları içeren bir e-posta alırsınız.
- Gruba katılmak için e-postayı yanıtlama seçeneğini kullanın.
-
düğmesini TIKLAMAYIN. İşe yaramıyor. - 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:
- GCP Console'da Projeler sayfasına gidin. PROJELER SAYFASINA GİTME
- Proje listesinde, silmek istediğiniz projeyi seçin ve Sil'i tıklayın.
- İ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.