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

۱. مقدمه

۱f۴۷۶۴c۴ca۴c۵۰d۹.png

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

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

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

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

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

  • شما نیاز به دسترسی به یک پروژه GCP دارید.
  • شما باید نقش مالک (Owner) را در پروژه 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 (مانند Patient ، Observation و غیره) است. هر فایل ndjson شامل منابع FHIR از همان نوع منبع است. برای مثال Patient.ndjson شامل یک یا چند منبع FHIR با resourceType = ' Patient ' و Observation.ndjson شامل یک یا چند منبع FHIR با resourceType = ' Observation ' خواهد بود.

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

۲. راه‌اندازی پروژه

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

فعال کردن API مراقبت‌های بهداشتی

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

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

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

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

یک سطل ذخیره‌سازی ابری گوگل در پروژه 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 store Cloud Storage و FHIR store 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

۳. تنظیمات محیطی

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

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

ایجاد مجموعه داده‌های مراقبت‌های بهداشتی با استفاده از APIهای ابری مراقبت‌های بهداشتی

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

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

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

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

داده‌های آزمایشی را از فضای ذخیره‌سازی ابری گوگل به فروشگاه FHIR وارد کنید.

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

منابع معمولی را از GCS Bucket در پروژه 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

۵. انتقال داده‌ها از فروشگاه 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

۶. تمیز کردن

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

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

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

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

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

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

مجموعه داده‌های API خدمات درمانی ابری را حذف کنید

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

دستور سریع CLI:

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

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

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

دستور سریع CLI:

bq rm -r -f $PROJECT_ID:$DATASET_ID

۷. تبریک

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

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

شما داده‌ها را از APIهای Cloud Healthcare FHIR به BigQuery منتقل کردید.

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