۱. مقدمه

آخرین بهروزرسانی: 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 مراقبتهای بهداشتی را به پروژه اضافه میکند.
- به کتابخانه API کنسول GCP بروید.
- از لیست پروژهها، پروژه خود را انتخاب کنید.
- در کتابخانه API، API مورد نظر برای فعالسازی را انتخاب کنید. اگر برای یافتن API به کمک نیاز دارید، از فیلد جستجو و فیلترها استفاده کنید.
- در صفحه API، روی فعال کردن (ENABLE) کلیک کنید.
دسترسی به مجموعه دادههای مصنوعی
- از آدرس ایمیلی که برای ورود به Cloud Console استفاده میکنید، یک ایمیل به hcls-solutions-external+subscribe@google.com ارسال کنید و درخواست عضویت دهید.
- شما یک ایمیل با دستورالعملهایی در مورد نحوه تأیید اقدام دریافت خواهید کرد.
- برای عضویت در گروه، از گزینه پاسخ به ایمیل استفاده کنید.
- کلیک نکنید
دکمه. کار نمیکند. - پس از دریافت ایمیل تأیید، میتوانید به مرحله بعدی در 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 ایجاد کردهاید، پاک کنید تا سهمیه شما را اشغال نکنند و در آینده برای آنها هزینهای از شما دریافت نشود. بخشهای بعدی نحوه حذف یا غیرفعال کردن این منابع را شرح میدهند.
پروژه را حذف کنید
سادهترین راه برای حذف هزینهها، حذف پروژهای است که برای آموزش ایجاد کردهاید.
برای حذف پروژه:
- در کنسول GCP، به صفحه پروژهها بروید. به صفحه پروژهها بروید
- در لیست پروژهها، پروژهای را که میخواهید حذف کنید انتخاب کنید و روی «حذف» کلیک کنید.
- در کادر محاورهای، شناسه پروژه را تایپ کنید و سپس برای حذف پروژه، روی خاموش کردن کلیک کنید.
اگر نیاز به حفظ پروژه دارید، میتوانید مجموعه دادههای 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 را میدانید.