1. מבוא

תאריך העדכון האחרון: 2020-05-16
ב-Codelab הזה תלמדו על דפוס הטמעת נתונים להטמעת נתונים של שירותי בריאות בפורמט FHIR R4 (משאבים רגילים) ב-BigQuery באמצעות ממשקי ה-API של Cloud Healthcare FHIR. נתוני בדיקה ריאליסטיים של שירותי בריאות נוצרו והועמדו לרשותכם בקטגוריה של Cloud Storage (gs://hcls_testing_data_fhir_10_patients/).
בשיעור ה-Lab הזה תלמדו:
- איך מייבאים משאבי FHIR R4 מ-GCS אל Cloud Healthcare FHIR Store.
- איך מייצאים נתוני FHIR מ-FHIR Store למערך נתונים ב-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 (כמו Patient, Observation וכו'). כל קובץ ndjson מכיל משאבי FHIR מאותו סוג משאב. לדוגמה, הקובץ Patient.ndjson יכיל משאב FHIR אחד או יותר מסוג resourceType = ‘ Patient', והקובץ Observation.ndjson יכיל משאב FHIR אחד או יותר מסוג resourceType = ‘ Observation'.
אם אתם צריכים מערך נתונים חדש, תמיד תוכלו ליצור אותו באמצעות SyntheaTM. אחר כך מעלים אותו ל-GCS במקום להשתמש בדלי שמופיע ב-codelab.
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 יתווסף לפרויקט.
- עוברים אל GCP Console API Library.
- ברשימת הפרויקטים, בוחרים את הפרויקט הרצוי.
- ב-API Library, בוחרים את ה-API שרוצים להפעיל. אם אתם צריכים עזרה באיתור ה-API, אתם יכולים להשתמש בשדה החיפוש ובמסננים.
- בדף ה-API, לוחצים על הפעלה.
קבלת גישה למערך הנתונים הסינתטי
- מכתובת האימייל שבה אתם משתמשים כדי להיכנס למסוף Cloud, שולחים אימייל אל hcls-solutions-external+subscribe@google.com ומבקשים להצטרף.
- תקבלו אימייל עם הוראות לאישור הפעולה.
- משתמשים באפשרות להשיב לאימייל כדי להצטרף לקבוצה.
- אל תלחצו על הלחצן
. זה לא עובד. - אחרי שתקבלו את אישור ההרשמה באימייל, תוכלו להמשיך לשלב הבא ב-codelab.
יצירת קטגוריה של 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 חשבון השירות. מידע נוסף זמין במאמרים בנושא הרשאות ל-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
3. הגדרת הסביבה
כדי להטמיע נתונים מקובצי NDJSON במערך נתונים של נתוני בריאות ב-BigQuery באמצעות ממשקי ה-API של Cloud Healthcare FHIR, צריך לבצע את השלבים הבאים:
יצירת מערך נתונים רפואי ומאגר FHIR
יצירת מערך נתונים של Healthcare באמצעות Cloud Healthcare APIs
gcloud beta healthcare datasets create $DATASET_ID --location=us-central1
יצירת מאגר FHIR במערך נתונים באמצעות Cloud Healthcare APIs
gcloud beta healthcare fhir-stores create $FHIR_STORE \ --dataset=$DATASET_ID --location=us-central1 --version=r4
4. ייבוא נתונים אל FHIR Store
ייבוא נתוני בדיקה מ-Google Cloud Storage אל FHIR Store.
אנחנו נשתמש בקבצים שנטענו מראש מ-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 Store ל-BigQuery
יצירת מערך נתונים ב-BigQuery
bq mk --location=us --dataset $PROJECT_ID:$BQ_DATASET
ייצוא נתונים בתחום הבריאות מ-FHIR Store למערך נתונים ב-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
אימות של כל 16 הטבלאות במערך הנתונים של BigQuery
bq ls $PROJECT_ID:$BQ_DATASET
6. הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud Platform בגלל השימוש במשאבים שנעשה במסגרת מדריך זה, אפשר להסיר את המשאבים שיצרתם ב-GCP כדי שלא יתפסו מקום במכסת השימוש שלכם, ולא תחויבו עליהם בעתיד. בסעיפים הבאים מוסבר איך למחוק או להשבית את המשאבים האלו.
מחיקת הפרויקט
הדרך הקלה ביותר לבטל את החיוב היא למחוק את הפרויקט שיצרתם בשביל המדריך.
כדי למחוק את הפרויקט:
- במסוף GCP, נכנסים לדף Projects. כניסה לדף Projects
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על מחיקה.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
אם אתם צריכים לשמור את הפרויקט, אתם יכולים למחוק את מערך הנתונים של Cloud Healthcare ואת מערך הנתונים של BigQuery באמצעות ההוראות הבאות.
מחיקת מערך הנתונים של Cloud Healthcare API
פועלים לפי השלבים למחיקת מערך נתונים של Healthcare API באמצעות GCP Console וה-CLI של gcloud.
פקודת CLI מהירה:
gcloud beta healthcare datasets delete $DATASET_ID --location=us-central1
מחיקת מערך הנתונים ב-BigQuery
פועלים לפי השלבים למחיקת מערך נתונים ב-BigQuery באמצעות ממשקים שונים.
פקודת CLI מהירה:
bq rm -r -f $PROJECT_ID:$DATASET_ID
7. מזל טוב
סיימתם בהצלחה את סדנת הקוד להטמעת נתונים בתחום הבריאות ב-BigQuery באמצעות ממשקי Cloud Healthcare API.
ייבאתם נתונים סינתטיים שתואמים ל-FHIR R4 מ-Google Cloud Storage לממשקי ה-API של Cloud Healthcare FHIR.
ייצאתם נתונים מממשקי ה-API של Cloud Healthcare FHIR ל-BigQuery.
עכשיו אתם יודעים מהם השלבים העיקריים שצריך לבצע כדי להתחיל את התהליך של ניתוח נתונים בתחום הבריאות באמצעות BigQuery ב-Google Cloud Platform.