1. परिचय

पिछली बार अपडेट किए जाने की तारीख: 16-05-2020
इस कोडलैब में, Cloud Healthcare FHIR API का इस्तेमाल करके, FHIR R4 फ़ॉर्मैट में मौजूद स्वास्थ्य सेवा से जुड़े डेटा (रेगुलर रिसॉर्स) को BigQuery में इंपोर्ट करने का तरीका बताया गया है. आपके लिए, स्वास्थ्य सेवा से जुड़ा असली टेस्ट डेटा जनरेट किया गया है. इसे Google Cloud Storage बकेट (gs://hcls_testing_data_fhir_10_patients/) में उपलब्ध कराया गया है.
इस कोड लैब में आपको इनके बारे में जानकारी मिलेगी:
- GCS से FHIR R4 रिसॉर्स को Cloud Healthcare FHIR Store में इंपोर्ट करने का तरीका.
- FHIR Store से BigQuery में मौजूद डेटासेट में FHIR डेटा एक्सपोर्ट करने का तरीका.
इस डेमो को चलाने के लिए, आपको क्या-क्या चाहिए?
- आपके पास GCP प्रोजेक्ट का ऐक्सेस होना चाहिए.
- आपको GCP प्रोजेक्ट के लिए, मालिक की भूमिका असाइन की गई हो.
- NDJSON फ़ॉर्मैट में FHIR R4 संसाधन (content-structure=RESOURCE)
अगर आपके पास GCP प्रोजेक्ट नहीं है, तो नया GCP प्रोजेक्ट बनाने के लिए यह तरीका अपनाएं.
NDJSON फ़ॉर्मैट में FHIR R4 रिसॉर्स, GCS बकेट में पहले से लोड किए गए हैं. ये रिसॉर्स इन जगहों पर मौजूद हैं:
- gs://hcls_testing_data_fhir_10_patients/fhir_r4_ndjson/ - रेगुलर रिसॉर्स
ऊपर दिए गए सभी संसाधनों में न्यू लाइन डीलिमिटर JSON (NDJSON) फ़ाइल फ़ॉर्मैट है, लेकिन कॉन्टेंट का स्ट्रक्चर अलग-अलग है:
- ndjson फ़ॉर्मैट में रेगुलर रिसॉर्स - फ़ाइल की हर लाइन में, JSON फ़ॉर्मैट में मुख्य FHIR रिसॉर्स होता है. जैसे, Patient, Observation वगैरह. हर ndjson फ़ाइल में, एक ही तरह के संसाधन टाइप के FHIR संसाधन होते हैं. उदाहरण के लिए, Patient.ndjson में resourceType = ‘ Patient' के एक या उससे ज़्यादा FHIR संसाधन होंगे. वहीं, Observation.ndjson में resourceType = ‘ Observation' के एक या उससे ज़्यादा FHIR संसाधन होंगे.
अगर आपको नए डेटासेट की ज़रूरत है, तो SyntheaTM का इस्तेमाल करके इसे जनरेट किया जा सकता है. इसके बाद, इसे कोडलैब में दिए गए बकेट का इस्तेमाल करने के बजाय, 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 चालू करना
नीचे दिया गया तरीका अपनाकर, अपने GCP प्रोजेक्ट में Healthcare API चालू करें. इससे प्रोजेक्ट में Healthcare API का सेवा खाता जुड़ जाएगा.
- GCP Console API Library पर जाएं.
- प्रोजेक्ट की सूची में से, अपना प्रोजेक्ट चुनें.
- एपीआई लाइब्रेरी में जाकर, वह एपीआई चुनें जिसे चालू करना है. अगर आपको एपीआई ढूंढने में मदद चाहिए, तो खोज फ़ील्ड और फ़िल्टर का इस्तेमाल करें.
- एपीआई पेज पर, चालू करें पर क्लिक करें.
सिंथेटिक डेटासेट का ऐक्सेस पाना
- Cloud Console में लॉग इन करने के लिए इस्तेमाल किए जा रहे ईमेल पते से, hcls-solutions-external+subscribe@google.com पर शामिल होने का अनुरोध करने वाला ईमेल भेजें.
- आपको एक ईमेल मिलेगा, जिसमें कार्रवाई की पुष्टि करने के निर्देश होंगे.
- ग्रुप में शामिल होने के लिए, ईमेल का जवाब देने वाले विकल्प का इस्तेमाल करें.
बटन पर क्लिक न करें. यह काम नहीं करता.- पुष्टि करने वाला ईमेल मिलने के बाद, कोडलैब के अगले चरण पर जाएं.
अपने GCP प्रोजेक्ट में Google Cloud Storage बकेट बनाएं
gsutil mb gs://$BUCKET_NAME
सिंथेटिक डेटा को अपने GCP प्रोजेक्ट में कॉपी करना
gsutil -m cp gs://$SRC_BUCKET_NAME/fhir_r4_ndjson/**.ndjson \ gs://$BUCKET_NAME/fhir_r4_ndjson/
अनुमतियां देना
Cloud Storage से FHIR संसाधनों को इंपोर्ट करने और BigQuery में एक्सपोर्ट करने से पहले, आपको Cloud Healthcare Service Agent सेवा खाते को अतिरिक्त अनुमतियां देनी होंगी. ज़्यादा जानकारी के लिए, FHIR स्टोर Cloud Storage और 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. एनवायरमेंट सेटअप करना
Cloud Healthcare FHIR API का इस्तेमाल करके, NDJSON फ़ाइलों से BigQuery में मौजूद हेल्थकेयर डेटासेट में डेटा इंपोर्ट करने के लिए, यह तरीका अपनाएं:
हेल्थकेयर डेटासेट और FHIR स्टोर बनाना
Cloud Healthcare APIs का इस्तेमाल करके, हेल्थकेयर डेटासेट बनाना
gcloud beta healthcare datasets create $DATASET_ID --location=us-central1
Cloud Healthcare API का इस्तेमाल करके, डेटासेट में FHIR स्टोर बनाना
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 बकेट से पहले से लोड की गई फ़ाइलों का इस्तेमाल करेंगे. इन फ़ाइलों में, NDJSON फ़ॉर्मैट में FHIR R4 के सामान्य संसाधन होते हैं. जवाब के तौर पर, आपको OPERATION_NUMBER मिलेगा. इसका इस्तेमाल पुष्टि करने के चरण में किया जा सकता है.
अपने GCP प्रोजेक्ट में मौजूद GCS बकेट से सामान्य संसाधन इंपोर्ट करना
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 मिलेगा. इसका इस्तेमाल पुष्टि करने के चरण में किया जा सकता है.
पुष्टि करें
Validate operation finished successfully
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 पर बनाए गए संसाधनों को मिटा दें. इससे वे आपके कोटे का इस्तेमाल नहीं करेंगे और आपसे आने वाले समय में उनका शुल्क नहीं लिया जाएगा. इन संसाधनों को मिटाने या बंद करने का तरीका यहां बताया गया है.
प्रोजेक्ट मिटाना
बिलिंग को बंद करने का सबसे आसान तरीका यह है कि ट्यूटोरियल के लिए बनाया गया प्रोजेक्ट मिटा दें.
प्रोजेक्ट मिटाने के लिए:
- GCP Console में, प्रोजेक्ट पेज पर जाएं. प्रोजेक्ट पेज पर जाएं
- प्रोजेक्ट की सूची में, वह प्रोजेक्ट चुनें जिसे आपको मिटाना है. इसके बाद, मिटाएं पर क्लिक करें.
- डायलॉग बॉक्स में, प्रोजेक्ट आईडी टाइप करें. इसके बाद, प्रोजेक्ट मिटाने के लिए बंद करें पर क्लिक करें.
अगर आपको प्रोजेक्ट को बनाए रखना है, तो यहां दिए गए निर्देशों का पालन करके Cloud Healthcare डेटासेट और BigQuery डेटासेट मिटाया जा सकता है.
Cloud Healthcare API डेटासेट मिटाना
GCP Console और gcloud CLI, दोनों का इस्तेमाल करके Healthcare API डेटासेट मिटाने के लिए, यह तरीका अपनाएं.
सीएलआई का क्विक कमांड:
gcloud beta healthcare datasets delete $DATASET_ID --location=us-central1
BigQuery डेटासेट मिटाना
अलग-अलग इंटरफ़ेस का इस्तेमाल करके, BigQuery डेटासेट मिटाने के लिए, यह तरीका अपनाएं.
सीएलआई का क्विक कमांड:
bq rm -r -f $PROJECT_ID:$DATASET_ID
7. बधाई हो
बधाई हो! आपने Cloud Healthcare API का इस्तेमाल करके, BigQuery में स्वास्थ्य सेवा से जुड़ा डेटा इंपोर्ट करने के लिए, कोड लैब को पूरा कर लिया है.
आपने Google Cloud Storage से, FHIR R4 के मुताबिक बनाए गए सिंथेटिक डेटा को Cloud Healthcare FHIR API में इंपोर्ट किया हो.
आपने Cloud Healthcare FHIR API से BigQuery में डेटा एक्सपोर्ट किया हो.
अब आपको Google Cloud Platform पर BigQuery के साथ, हेल्थकेयर डेटा के विश्लेषण की यात्रा शुरू करने के लिए ज़रूरी मुख्य चरणों के बारे में पता चल गया है.