FHIR (منابع قابلیت همکاری سریع بهداشت و درمان) را در BigQuery وارد کنید

1. مقدمه

1f4764c4ca4c50d9.png

آخرین به روز رسانی: 2020-05-16

این آزمایشگاه کد یک الگوی دریافت داده را برای جذب داده‌های مراقبت بهداشتی با فرمت FHIR R4 (منابع منظم) در BigQuery با استفاده از Cloud Healthcare FHIR API‌ها نشان می‌دهد. داده‌های واقعی آزمون مراقبت‌های بهداشتی در سطل فضای ذخیره‌سازی Google Cloud ( gs://hcls_testing_data_fhir_10_patients/) برای شما ایجاد و در دسترس قرار گرفته است.

در این آزمایشگاه کد یاد خواهید گرفت:

  • نحوه وارد کردن منابع FHIR R4 از GCS به فروشگاه Cloud Healthcare FHIR.
  • چگونه داده های FHIR را از فروشگاه FHIR به یک مجموعه داده در BigQuery صادر کنیم.

برای اجرای این دمو به چه چیزی نیاز دارید؟

  • شما نیاز به دسترسی به یک پروژه GCP دارید.
  • باید یک نقش مالک به پروژه GCP اختصاص دهید.
  • منابع FHIR R4 در قالب NDJSON (content-structure=RESOURCE)

اگر پروژه GCP ندارید، این مراحل را برای ایجاد یک پروژه GCP جدید دنبال کنید.

منابع FHIR R4 در قالب NDJSON از قبل در سطل GCS در مکان های زیر بارگذاری شده است:

  • gs://hcls_testing_data_fhir_10_patients/fhir_r4_ndjson/ - منابع منظم

همه منابع فوق دارای فرمت فایل جداکننده خط جدید JSON (NDJSON) هستند اما ساختار محتوای متفاوتی دارند:

  • منابع معمولی در قالب ndjson - هر خط در فایل حاوی یک منبع اصلی FHIR در قالب JSON است (مانند بیمار ، مشاهده و غیره). هر فایل ndjson حاوی منابع FHIR از همان نوع منبع است. برای مثال Patient.ndjson شامل یک یا چند منبع FHIR از resourceType = ' بیمار ' و Observation.ndjson یک یا چند منبع FHIR از resourceType = ' مشاهده ' خواهد بود.

اگر به یک مجموعه داده جدید نیاز دارید، همیشه می توانید آن را با استفاده از SyntheaTM ایجاد کنید. سپس، به جای استفاده از سطل ارائه شده در codelab، آن را در GCS آپلود کنید.

2. راه اندازی پروژه

برای فعال کردن Healthcare API و دادن مجوزهای لازم، این مراحل را دنبال کنید:

متغیرهای پوسته را برای محیط خود راه اندازی کنید

برای یافتن PROJECT_NUMBER و PROJECT_ID ، به شناسایی پروژه ها مراجعه کنید.

<!-- 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 را فعال کنید

مراحل زیر، API های Healthcare را در پروژه GCP شما فعال می کند. حساب سرویس Healthcare API را به پروژه اضافه می کند.

  1. به کتابخانه GCP Console API بروید.
  2. از لیست پروژه ها، پروژه خود را انتخاب کنید.
  3. در کتابخانه API، API مورد نظر برای فعال کردن را انتخاب کنید. اگر برای یافتن API به کمک نیاز دارید، از قسمت جستجو و فیلترها استفاده کنید.
  4. در صفحه API، روی ENABLE کلیک کنید.

به مجموعه داده مصنوعی دسترسی پیدا کنید

  1. از آدرس ایمیلی که برای ورود به کنسول Cloud استفاده می‌کنید، یک ایمیل به hcls-solutions-external+subscribe@google.com ارسال کنید تا بپیوندید.
  2. شما یک ایمیل حاوی دستورالعمل هایی در مورد نحوه تایید عمل دریافت خواهید کرد.
  3. برای عضویت در گروه از گزینه پاسخ به ایمیل استفاده کنید.
  4. روی آن کلیک نکنید 525a0fa752e0acae.png دکمه این کار نمی کند.
  5. پس از دریافت ایمیل تأیید، می‌توانید به مرحله بعدی در لبه کد بروید.

یک سطل Google Cloud Storage در پروژه GCP خود ایجاد کنید

gsutil mb gs://$BUCKET_NAME

داده های مصنوعی را در پروژه GCP خود کپی کنید

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

اعطای مجوزها

قبل از وارد کردن منابع FHIR از Cloud Storage و صادرات به BigQuery، باید مجوزهای اضافی را به حساب سرویس Cloud Healthcare Service Agent بدهید. برای اطلاعات بیشتر، به مجوزهای ذخیره‌سازی ابری FHIR و مجوزهای فروشگاه FHIR BigQuery مراجعه کنید.

اجازه مدیریت فضای ذخیره سازی را اعطا کنید

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

مجوزهای مدیریت 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. تنظیم محیط

برای وارد کردن داده‌ها از فایل‌های NDJSON به مجموعه داده‌های مراقبت بهداشتی در BigQuery با استفاده از Cloud Healthcare FHIR API، این مراحل را دنبال کنید:

مجموعه داده مراقبت بهداشتی و فروشگاه FHIR را ایجاد کنید

مجموعه داده Healthcare را با استفاده از Cloud Healthcare API ایجاد کنید

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

با استفاده از API های Cloud Healthcare ، فروشگاه FHIR را در مجموعه داده ایجاد کنید

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

4. داده ها را به فروشگاه FHIR وارد کنید

داده‌های آزمایشی را از Google Cloud Storage به فروشگاه FHIR وارد کنید.

ما از فایل های از پیش بارگذاری شده از GCS Bucket استفاده خواهیم کرد. این فایل ها حاوی منابع معمولی FHIR R4 با فرمت NDJSON هستند. به عنوان پاسخ، OPERATION_NUMBER را دریافت خواهید کرد که می تواند در مرحله اعتبارسنجی استفاده شود.

منابع منظم را از سطل GCS در پروژه GCP خود وارد کنید

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

اعتبار سنجی

عملیات اعتبارسنجی با موفقیت به پایان رسید. ممکن است چند دقیقه طول بکشد تا کار تمام شود، بنابراین ممکن است لازم باشد این دستور را چند بار با کمی تاخیر تکرار کنید.

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

5. داده ها را از فروشگاه FHIR به BigQuery صادر کنید

یک مجموعه داده BigQuery ایجاد کنید

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

داده های مراقبت های بهداشتی را از فروشگاه FHIR به مجموعه داده 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

به عنوان پاسخ، OPERATION_NUMBER را دریافت خواهید کرد که می تواند در مرحله اعتبار سنجی استفاده شود.

اعتبار سنجی

عملیات اعتبارسنجی با موفقیت به پایان رسید

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

اگر BigQuery Dataset همه 16 جدول را دارد، اعتبارسنجی کنید

bq ls $PROJECT_ID:$BQ_DATASET

6. پاکسازی کنید

برای جلوگیری از تحمیل هزینه به حساب Google Cloud Platform برای منابع استفاده شده در این آموزش، می‌توانید منابعی را که در GCP ایجاد کرده‌اید پاکسازی کنید تا سهمیه شما را نگیرند و برای آنها صورت‌حساب دریافت نخواهید کرد. آینده بخش‌های زیر نحوه حذف یا خاموش کردن این منابع را توضیح می‌دهند.

پروژه را حذف کنید

ساده ترین راه برای حذف صورتحساب، حذف پروژه ای است که برای آموزش ایجاد کرده اید.

برای حذف پروژه:

  1. در کنسول GCP، به صفحه پروژه ها بروید. به صفحه پروژه ها بروید
  2. در لیست پروژه، پروژه ای را که می خواهید حذف کنید انتخاب کنید و روی Delete کلیک کنید.
  3. در محاوره، شناسه پروژه را تایپ کنید و سپس روی Shut down کلیک کنید تا پروژه حذف شود.

اگر نیاز به حفظ پروژه دارید، می‌توانید مجموعه داده مراقبت‌های بهداشتی Cloud و مجموعه داده BigQuery را با استفاده از دستورالعمل‌های زیر حذف کنید.

مجموعه داده های Cloud Healthcare API را حذف کنید

مراحل حذف مجموعه داده Healthcare API را با استفاده از GCP Console و gcloud CLI دنبال کنید.

دستور Quick CLI:

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

مجموعه داده BigQuery را حذف کنید

مراحل حذف مجموعه داده BigQuery را با استفاده از رابط های مختلف دنبال کنید.

دستور Quick CLI:

bq rm -r -f $PROJECT_ID:$DATASET_ID

7. تبریک می گویم

تبریک می‌گوییم، شما آزمایشگاه کد را برای دریافت داده‌های مراقبت‌های بهداشتی در BigQuery با استفاده از Cloud Healthcare API با موفقیت تکمیل کردید.

داده‌های مصنوعی سازگار با FHIR R4 را از Google Cloud Storage به APIهای Cloud Healthcare FHIR وارد کردید.

داده‌ها را از Cloud Healthcare FHIR API به BigQuery صادر کردید.

اکنون مراحل کلیدی مورد نیاز برای شروع سفر تجزیه و تحلیل داده‌های بهداشت و درمان خود را با BigQuery در Google Cloud Platform می‌دانید.