FHIR (Fast Healthcare Interoperability Resources) in BigQuery aufnehmen

1. Einführung

1f4764c4ca4c50d9.png

Zuletzt aktualisiert:16.05.2020

In diesem Codelab wird ein Datenaufnahmemuster veranschaulicht, mit dem Gesundheitsdaten im FHIR R4-Format (reguläre Ressourcen) mithilfe von Cloud Healthcare FHIR APIs in BigQuery aufgenommen werden. Es wurden realistische Gesundheitstestdaten generiert und im Google Cloud Storage-Bucket (gs://hcls_testing_data_fhir_10_patients/) für Sie zur Verfügung gestellt.

In diesem Codelab lernen Sie:

  • Hier erfahren Sie, wie Sie FHIR R4-Ressourcen aus GCS in den Cloud Healthcare FHIR-Speicher importieren.
  • FHIR-Daten aus dem FHIR-Speicher in ein Dataset in BigQuery exportieren

Was brauchst du für diese Demo?

  • Sie benötigen Zugriff auf ein GCP-Projekt.
  • Ihnen muss für das GCP-Projekt die Rolle „Inhaber“ zugewiesen sein.
  • FHIR R4-Ressourcen im NDJSON-Format (content-structure=RESOURCE)

Wenn Sie noch kein GCP-Projekt haben, führen Sie diese Schritte aus, um ein neues Projekt zu erstellen.

FHIR R4-Ressourcen im NDJSON-Format wurden an den folgenden Speicherorten vorab in den GCS-Bucket geladen:

  • gs://hcls_testing_data_fhir_10_patients/fhir_r4_ndjson/ – Regelmäßige Ressourcen

Alle der oben aufgeführten Ressourcen haben das Dateiformat New Line Delimiter JSON (NDJSON), haben aber eine andere Inhaltsstruktur:

  • Reguläre Ressourcen im ndjson-Format – jede Zeile in der Datei enthält eine FHIR-Kernressource im JSON-Format (z. B. Patient, Beobachtung usw.). Jede ndjson-Datei enthält FHIR-Ressourcen desselben Ressourcentyps. Beispiel: Patient.ndjson enthält eine oder mehrere FHIR-Ressourcen vom resourceType = ‘ Patient' und Observation.ndjson enthält eine oder mehrere FHIR-Ressourcen vom resourceType = ‘ Observation'.

Wenn Sie ein neues Dataset benötigen, können Sie es jederzeit mit SyntheaTM generieren. Laden Sie sie dann in GCS hoch, anstatt den im Codelab bereitgestellten Bucket zu verwenden.

2. Projekt einrichten

Führen Sie die folgenden Schritte aus, um die Healthcare API zu aktivieren und die erforderlichen Berechtigungen zu gewähren:

Shell-Variablen für Ihre Umgebung initialisieren

Wie Sie die PROJECT_NUMBER und PROJECT_ID finden, erfahren Sie unter Projekte identifizieren.

<!-- 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 aktivieren

Mit den folgenden Schritten werden Healthcare APIs in Ihrem GCP-Projekt aktiviert. Damit wird dem Projekt das Dienstkonto der Healthcare API hinzugefügt.

  1. Rufen Sie die API-Bibliothek der GCP Console auf.
  2. Wählen Sie Ihr Projekt aus der Projektliste aus.
  3. Wählen Sie in der API-Bibliothek die API aus, die Sie aktivieren möchten. Wenn Sie Hilfe bei der Suche nach der API benötigen, verwenden Sie das Suchfeld und die Filter.
  4. Klicken Sie auf der API-Seite auf AKTIVIEREN.

Zugriff auf das synthetische Dataset erhalten

  1. Senden Sie von der E-Mail-Adresse, die Sie für die Anmeldung in der Cloud Console verwenden, eine E-Mail an hcls-solutions-external+subscribe@google.com und beantragen Sie die Teilnahme.
  2. Sie erhalten eine E-Mail mit einer Anleitung, wie Sie die Aktion bestätigen können.
  3. Sie können auf die E-Mail antworten, um der Gruppe beizutreten.
  4. Klicken Sie NICHT auf die Schaltfläche 525a0fa752e0acae.png. Es funktioniert nicht.
  5. Sobald du die Bestätigungs-E-Mail erhalten hast, kannst du mit dem nächsten Schritt im Codelab fortfahren.

Google Cloud Storage-Bucket im GCP-Projekt erstellen

gsutil mb gs://$BUCKET_NAME

Synthetische Daten in Ihr GCP-Projekt kopieren

gsutil -m cp gs://$SRC_BUCKET_NAME/fhir_r4_ndjson/**.ndjson \
gs://$BUCKET_NAME/fhir_r4_ndjson/

Berechtigungen erteilen

Bevor Sie FHIR-Ressourcen aus Cloud Storage importieren und nach BigQuery exportieren, müssen Sie dem Dienstkonto Cloud Healthcare Service Agent zusätzliche Berechtigungen erteilen. Weitere Informationen finden Sie unter Cloud Storage-Berechtigungen für FHIR-Speicher und BigQuery für den FHIR-Speicher.

Storage-Administratorberechtigung gewähren

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member=serviceAccount:service-$PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
  --role=roles/storage.objectViewer

BigQuery-Administratorberechtigungen gewähren

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member=serviceAccount:service-$PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
  --role=roles/bigquery.admin

3. Umgebung einrichten

Führen Sie die folgenden Schritte aus, um mithilfe der Cloud Healthcare FHIR APIs Daten aus NDJSON-Dateien in ein Healthcare-Dataset in BigQuery aufzunehmen:

Healthcare-Dataset und FHIR-Speicher erstellen

Healthcare-Dataset mit Cloud Healthcare APIs erstellen

gcloud beta healthcare datasets create $DATASET_ID --location=us-central1

FHIR-Speicher im Dataset mit Cloud Healthcare APIs erstellen

gcloud beta healthcare fhir-stores create $FHIR_STORE \
  --dataset=$DATASET_ID --location=us-central1 --version=r4

4. Daten in den FHIR-Speicher importieren

Importieren Sie Testdaten aus Google Cloud Storage in den FHIR-Speicher.

Wir verwenden vorab geladene Dateien aus dem GCS-Bucket. Diese Dateien enthalten reguläre FHIR R4-Ressourcen im NDJSON-Format. Als Antwort erhalten Sie OPERATION_NUMBER, die im Validierungsschritt verwendet werden kann.

Reguläre Ressourcen aus dem GCS-Bucket in Ihr GCP-Projekt importieren

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

Validieren

Der Validierungsvorgang wurde erfolgreich abgeschlossen. Es kann einige Minuten dauern, bis der Vorgang abgeschlossen ist. Daher müssen Sie diesen Befehl möglicherweise einige Male mit etwas Verzögerung wiederholen.

gcloud beta healthcare operations describe OPERATION_NUMBER \
  --dataset=$DATASET_ID --location=us-central1

5. Daten aus dem FHIR-Speicher nach BigQuery exportieren

BigQuery-Dataset erstellen

bq mk --location=us --dataset $PROJECT_ID:$BQ_DATASET

Gesundheitsdaten aus dem FHIR-Speicher in das BigQuery-Dataset exportieren

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

Als Antwort erhalten Sie OPERATION_NUMBER, die im Validierungsschritt verwendet werden kann.

Validieren

Validierungsvorgang erfolgreich abgeschlossen

gcloud beta healthcare operations describe OPERATION_NUMBER \
  --dataset=$DATASET_ID --location=us-central1

Prüfen, ob das BigQuery-Dataset alle 16 Tabellen enthält

bq ls $PROJECT_ID:$BQ_DATASET

6. Bereinigen

Um zu vermeiden, dass Ihrem Google Cloud Platform-Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden, können Sie die in der GCP erstellten Ressourcen bereinigen, damit sie Ihr Kontingent nicht verbrauchen und Ihnen in Zukunft nicht in Rechnung gestellt werden. In den folgenden Abschnitten wird erläutert, wie Sie diese Ressourcen löschen oder deaktivieren.

Projekt löschen

Am einfachsten vermeiden Sie weitere Kosten durch Löschen des für die Anleitung erstellten Projekts.

So löschen Sie das Projekt:

  1. Rufen Sie in der GCP Console die Seite Projekte auf. ZUR SEITE „PROJEKTE“
  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Beenden, um das Projekt zu löschen.

Wenn Sie das Projekt behalten müssen, können Sie das Cloud Healthcare-Dataset und das BigQuery-Dataset anhand der folgenden Anleitung löschen.

Cloud Healthcare API-Dataset löschen

Führen Sie die Schritte zum Löschen des Healthcare API-Datasets mithilfe der GCP Console und der gcloud CLI aus.

Quick CLI-Befehl:

gcloud beta healthcare datasets delete $DATASET_ID --location=us-central1

BigQuery-Dataset löschen

Führen Sie die Schritte aus, um ein BigQuery-Dataset über verschiedene Benutzeroberflächen zu löschen.

Quick CLI-Befehl:

bq rm -r -f $PROJECT_ID:$DATASET_ID

7. Glückwunsch

Herzlichen Glückwunsch! Sie haben das Codelab zum Aufnehmen von Gesundheitsdaten in BigQuery mit Cloud Healthcare APIs erfolgreich abgeschlossen.

Sie haben mit FHIR R4 konforme synthetische Daten aus Google Cloud Storage in die FHIR APIs von Cloud Healthcare importiert.

Sie haben Daten aus den Cloud Healthcare FHIR APIs nach BigQuery exportiert.

Sie kennen jetzt die wichtigsten Schritte, die erforderlich sind, um Ihre Healthcare Data Analytics-Reise mit BigQuery auf der Google Cloud Platform zu starten.