1. Введение
Последнее обновление: 16 мая 2020 г.
В этой лаборатории кода демонстрируется шаблон приема данных для приема медицинских данных в формате FHIR R4 (обычные ресурсы) в BigQuery с использованием API FHIR Cloud Healthcare. Реалистичные данные медицинских тестов были сгенерированы и доступны для вас в сегменте Google Cloud Storage ( gs://hcls_testing_data_fhir_10_phases/) .
В этой лабораторной работе по кодированию вы узнаете:
- Как импортировать ресурсы FHIR R4 из GCS в Cloud Healthcare FHIR Store.
- Как экспортировать данные FHIR из магазина FHIR в набор данных в BigQuery.
Что вам нужно для запуска этой демонстрации?
- Вам нужен доступ к проекту GCP.
- Вам должна быть назначена роль владельца проекта GCP.
- Ресурсы FHIR R4 в формате NDJSON (content-structure=RESOURCE)
Если у вас нет проекта GCP, выполните следующие действия , чтобы создать новый проект GCP.
Ресурсы FHIR R4 в формате NDJSON предварительно загружены в корзину GCS в следующих местах:
- gs://hcls_testing_data_fhir_10_phases/fhir_r4_ndjson/ — Регулярные ресурсы
Все приведенные выше ресурсы имеют новый формат файла разделителя строк JSON (NDJSON), но другую структуру содержимого:
- Обычные ресурсы в формате ndjson — каждая строка файла содержит основной ресурс FHIR в формате JSON (например, Patient , Observation и т. д.). Каждый файл ndjson содержит ресурсы FHIR одного и того же типа. Например, Patient.ndjson будет содержать один или несколько ресурсов FHIR с типом ресурса = « Пациент », а Observation.ndjson будет содержать один или несколько ресурсов FHIR с типом ресурса = « Наблюдение ».
Если вам понадобится новый набор данных, вы всегда можете сгенерировать его с помощью 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>
Включить API здравоохранения
Следующие шаги позволят включить API здравоохранения в вашем проекте GCP. В проект будет добавлена учетная запись службы Healthcare API.
- Перейдите в библиотеку API консоли GCP .
- В списке проектов выберите свой проект.
- В библиотеке API выберите API, который вы хотите включить. Если вам нужна помощь в поиске API, воспользуйтесь полем поиска и фильтрами.
- На странице API нажмите ВКЛЮЧИТЬ .
Получите доступ к синтетическому набору данных
- С адреса электронной почты, который вы используете для входа в Cloud Console, отправьте электронное письмо на адрес hcls-solutions-external+subscribe@google.com с просьбой присоединиться.
- Вы получите электронное письмо с инструкциями о том, как подтвердить действие.
- Используйте возможность ответить на электронное письмо, чтобы присоединиться к группе.
- НЕ нажимайте кнопку кнопка. Это не работает.
- Как только вы получите электронное письмо с подтверждением, вы сможете перейти к следующему шагу в кодовой лаборатории.
Создайте сегмент 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» и «Разрешения хранилища 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. Настройка среды
Выполните следующие действия, чтобы импортировать данные из файлов NDJSON в набор медицинских данных в BigQuery с помощью API FHIR Cloud Healthcare:
Создайте набор данных о здравоохранении и магазин FHIR.
Создайте набор данных о здравоохранении с помощью API Cloud Healthcare.
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.
Импортируйте тестовые данные из 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 в 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, чтобы они не занимали вашу квоту, и вам не будет выставляться за них счет в будущее. В следующих разделах описано, как удалить или отключить эти ресурсы.
Удалить проект
Самый простой способ избавиться от выставления счетов — удалить проект, созданный вами для этого руководства.
Чтобы удалить проект:
- В консоли GCP перейдите на страницу «Проекты» . ПЕРЕЙТИ НА СТРАНИЦУ ПРОЕКТОВ
- В списке проектов выберите проект, который хотите удалить, и нажмите «Удалить» .
- В диалоговом окне введите идентификатор проекта, а затем нажмите «Завершить работу» , чтобы удалить проект.
Если вам нужно сохранить проект, вы можете удалить набор данных Cloud Health и набор данных BigQuery, используя следующие инструкции.
Удаление набора данных API Cloud Healthcare.
Выполните действия , чтобы удалить набор данных 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
7. Поздравления
Поздравляем, вы успешно завершили лабораторную работу по кодированию для приема медицинских данных в BigQuery с помощью API Cloud Healthcare.
Вы импортировали синтетические данные, соответствующие FHIR R4, из Google Cloud Storage в API FHIR Cloud Healthcare.
Вы экспортировали данные из API FHIR Cloud Healthcare в BigQuery.
Теперь вы знаете ключевые шаги, необходимые для начала работы в области анализа данных здравоохранения с помощью BigQuery на Google Cloud Platform.