הטמעת FHIR (משאבים ליכולת פעולה הדדית מהירה של שירותי בריאות) ב-BigQuery

1. מבוא

1f4764c4ca4c50d9.png

עדכון אחרון: 16 במאי 2020

ה-Codelab הזה מדגים דפוס הטמעת נתונים כדי להטמיע ב-BigQuery נתוני בריאות בפורמט FHIR R4 (משאבים רגילים) באמצעות Cloud Healthcare FHIR APIs. נתונים מציאותיים של בדיקות רפואיות נוצרו בשבילך והפכו אותם לזמינים בקטגוריה של Google Cloud Storage (gs://hcls_testing_data_fhir_10_patients/).

בשיעור ה-Lab הזה של הקוד, תלמדו:

  • איך לייבא משאבי FHIR R4 מ-GCS אל Cloud Healthcare FHIR Store.
  • איך לייצא נתוני FHIR מחנות FHIR למערך נתונים ב-BigQuery.

מה צריך כדי להריץ את ההדגמה הזו?

  • צריכה להיות לך גישה לפרויקט GCP.
  • צריך להיות לך תפקיד 'בעלים' בפרויקט GCP.
  • משאבי FHIR R4 בפורמט NDJSON (content-structure=resources)

אם אין לך פרויקט GCP, עליך לפעול לפי השלבים האלה כדי ליצור פרויקט GCP חדש.

משאבי FHIR R4 בפורמט NDJSON נטענו מראש לקטגוריית GCS במיקומים הבאים:

  • gs://hcls_testing_data_fhir_10_patients/fhir_r4_ndjson/ – משאבים רגילים

לכל המשאבים שלמעלה יש פורמט קובץ JSON חדש עם מפריד שורה (NDJSON), אבל מבנה התוכן שונה:

  • משאבים רגילים בפורמט ndjson – כל שורה בקובץ מכילה משאב ליבה של FHIR בפורמט JSON (כמו Patient, תצפית וכו'). כל קובץ ndjson מכיל משאבי FHIR מאותו סוג משאב. לדוגמה, Patient.ndjson מכיל לפחות משאב FHIR אחד של resourceType = ' Patient' ו-תצפית.ndjson תכיל משאב אחד או יותר של FHIR מסוג resourceType = ‘תצפית'.

אם אתם צריכים מערך נתונים חדש, תמיד אפשר ליצור אותו באמצעות 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

ביצוע השלבים הבאים יפעיל את ממשקי Healthcare API בפרויקט שלך ב-GCP. המערכת תוסיף לפרויקט חשבון שירות של Healthcare API.

  1. עוברים אל GCP Console API Library.
  2. בוחרים את הפרויקט מרשימת הפרויקטים.
  3. בספריית ה-API, בוחרים את ה-API שרוצים להפעיל. אם אתם צריכים עזרה במציאת ה-API, אפשר להשתמש בשדה החיפוש ובמסננים.
  4. בדף ה-API, לוחצים על הפעלה.

קבלת גישה למערך הנתונים הסינתטי

  1. מכתובת האימייל שמשמשת להתחברות אל Cloud Console, שולחים אימייל לכתובת hcls-solutions-external+subscribe@google.com עם בקשת הצטרפות.
  2. תקבלו אימייל עם הוראות לאישור הפעולה.
  3. משתמשים באפשרות של שליחת תשובה לאימייל והצטרפות לקבוצה.
  4. אין ללחוץ על הלחצן 525a0fa752e0acae.png. זה לא עובד.
  5. אחרי שתקבלו את הודעת האישור באימייל, תוכלו להמשיך לשלב הבא ב-Codelab.

יצירת קטגוריה של 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 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 באמצעות Cloud Healthcare FHIR API:

יצירת מערך נתונים של שירותי בריאות וחנות FHIR

יצירת מערך נתונים של שירותי בריאות באמצעות 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

ייבוא של נתוני בדיקה מ-Google Cloud Storage לחנות FHIR.

נשתמש בקבצים שנטענו מראש מקטגוריית GCS. הקבצים האלה מכילים משאבים רגילים של 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 כולל את כל 16 הטבלאות

bq ls $PROJECT_ID:$BQ_DATASET

6. הסרת המשאבים

כדי להימנע מצבירת חיובים בחשבון Google Cloud Platform על המשאבים שבהם השתמשתם במדריך הזה, אתם יכולים למחוק את המשאבים שיצרתם ב-GCP כדי שהם לא ינצלו את המכסה שלכם ולא תחויבו עליהם בעתיד. בסעיפים הבאים מוסבר איך למחוק או להשבית את המשאבים האלו.

מחיקת הפרויקט

הדרך הקלה ביותר לבטל את החיוב היא למחוק את הפרויקט שיצרתם בשביל המדריך הזה.

כדי למחוק את הפרויקט:

  1. נכנסים לדף Projects במסוף GCP. לדף 'פרויקטים'
  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על מחיקה.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.

אם אתם צריכים לשמור את הפרויקט, תוכלו למחוק את מערך הנתונים של שירותי הבריאות בענן ואת מערך הנתונים ב-BigQuery באמצעות ההוראות הבאות.

מחיקת מערך הנתונים של Cloud Healthcare API

פועלים לפי השלבים למחיקת מערך הנתונים של Healthcare API באמצעות מסוף GCP וגם באמצעות ה-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. מזל טוב

כל הכבוד! השלמת בהצלחה את שיעור ה-Lab של הקוד כדי להטמיע נתונים של שירותי בריאות ב-BigQuery באמצעות Cloud Healthcare APIs.

ייבאת נתונים סינתטיים שתואמים ל-FHIR R4 מ-Google Cloud Storage אל ממשקי ה-API של Cloud Healthcare FHIR.

ייצאתם נתונים מממשקי ה-API של Cloud Healthcare FHIR ל-BigQuery.

עכשיו אתם יודעים מהם השלבים העיקריים שצריך לבצע כדי להתחיל את השימוש בניתוח נתוני בריאות עם BigQuery ב-Google Cloud Platform.