Auf dieser Seite wird erläutert, wie Sie FHIR-Ressourcen mit den Methoden projects.locations.datasets.fhirStores.import
und projects.locations.datasets.fhirStores.export
in Cloud Storage exportieren und daraus importieren.
Je nach Format Ihrer FHIR-Daten können Sie zum Laden von Daten in einen FHIR-Speicher die Methode projects.locations.datasets.fhirStores.import
oder die Methode projects.locations.datasets.fhirStores.fhir.executeBundle
verwenden. Eine Anleitung zur Auswahl einer Methode finden Sie unter FHIR-Import.
Cloud Storage-Berechtigungen festlegen
Bevor Sie FHIR-Ressourcen in Cloud Storage importieren bzw. daraus exportieren können, 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.
Simulierte Patienteninformationen generieren
Synthea™ ist ein Simulator zum Generieren von Patientenpopulationsdaten. Wenn Sie Synthea™ nicht zum Generieren von Patientenpopulationsdaten verwenden, fahren Sie mit FHIR-Ressourcen importieren oder FHIR-Ressourcen exportieren fort.
Sie können nur Daten in der Version importieren, für die Ihr FHIR-Speicher konfiguriert ist.
Führen Sie die folgenden Schritte aus, um Synthea™ herunterzuladen und zu installieren:
Klonen Sie das Repository des Synthea™-Tools von GitHub:
git clone https://github.com/synthetichealth/synthea.git
Führen Sie die Installationsschritte aus.
Fahren Sie mit einem der folgenden Abschnitte fort, um Daten für eine bestimmte FHIR-Version zu generieren:
Simulierte Patienteninformationen für R4 generieren
Standardmäßig wird für generierte Synthea™ -Daten die FHIR R4-JSON-Darstellung für Ressourcen verwendet. Führen Sie die folgenden Schritte aus, um Synthea™ FHIR R4 Daten zu generieren und in einen FHIR-Speicher der Cloud Healthcare API zu importieren:
Befolgen Sie die Anleitung zum Generieren synthetischer Kundendaten. Die generierten Daten werden für FHIR R4 an
synthea/output/fhir_r4
ausgegeben.Kopieren Sie die generierten Daten in einen Cloud Storage-Bucket, um sie in einen FHIR-Speicher der Cloud Healthcare API zu importieren. Wenn Sie beispielsweise die Daten in ein Verzeichnis mit dem Namen
synthea-data
in einem vorhandenen Cloud Storage-Bucket kopieren möchten, führen Sie den folgendengcloud storage cp
-Befehl aus dem Verzeichnissynthea
aus:gcloud storage cp output/fhir_r4/* gs://BUCKET/synthea-data
Folgen Sie der Anleitung zum Importieren von FHIR-Ressourcen.
Simulierte Patienteninformationen für DSTU2 oder STU3 generieren
Führen Sie die folgenden Schritte aus, um Synthea™ FHIR DSTU2 oder STU3 Daten zu generieren und in einen FHIR-Speicher der Cloud Healthcare API zu importieren:
Öffnen Sie im Verzeichnis
synthea
die Dateisrc/main/resources/synthea.properties
mit einem Texteditor und nehmen Sie die folgenden Änderungen vor, je nachdem, ob Sie DSTU2- oder STU3-Daten generieren.So generieren Sie FHIR STU3-Daten:
- Alle Werte für
*.fhir.export
und*.fhir_dstu2.export
auffalse
festlegen - Setzen Sie alle
*.fhir_stu3.export
-Werte auf "true"
So generieren Sie FHIR-DSTU2-Daten:
- Alle Werte für
*.fhir.export
und*.fhir_stu3.export
auffalse
festlegen - Setzen Sie alle
*.fhir_dstu2.export
-Werte auf "true"
So generieren Sie beispielsweise FHIR STU3-Daten:
exporter.fhir.export = false exporter.fhir_stu3.export = true exporter.fhir_dstu2.export = false exporter.hospital.fhir.export = false exporter.hospital.fhir_stu3.export = true exporter.hospital.fhir_dstu2.export = false exporter.practitioner.fhir.export = false exporter.practitioner.fhir_stu3.export = true exporter.practitioner.fhir_dstu2.export = false
- Alle Werte für
Befolgen Sie die Anleitung zum Generieren synthetischer Kundendaten. Die generierten Daten werden für FHIR STU3 in das
synthea/output/fhir_stu3
oder für FHIR DSTU2 in das Verzeichnissynthea/output/fhir_dstu2
ausgegeben.Kopieren Sie die generierten Daten in einen Cloud Storage-Bucket, um sie in einen FHIR-Speicher der Cloud Healthcare API zu importieren. Wenn Sie beispielsweise die Daten in ein Verzeichnis mit dem Namen
synthea-data
in einem vorhandenen Cloud Storage-Bucket kopieren möchten, führen Sie den folgendengcloud storage cp
-Befehl aus dem Verzeichnissynthea
aus:gcloud storage cp output/fhir_stu3/* gs://BUCKET/synthea-data
Folgen Sie der Anleitung zum Importieren von FHIR-Ressourcen.
FHIR-Ressourcen importieren
Legen Sie beim Konfigurieren des Textes der Importanfrage für ContentStructure
einen der folgenden Werte fest:
CONTENT_STRUCTURE_UNSPECIFIED
BUNDLE
: Die Quelldatei enthält eine oder mehrere Zeilen mit durch Zeilenumbruch getrennten JSON-Dateien (Ndjson). Jede Zeile ist ein Set, das eine oder mehrere Ressourcen enthält. Wenn SieContentStructure
nicht angeben, wird standardmäßigBUNDLE
verwendet.RESOURCE
: Die Quelldatei enthält eine oder mehrere Zeilen mit durch Zeilenumbruch getrennten JSON-Dateien (Ndjson). Jede Zeile ist eine einzelne Ressource.BUNDLE_PRETTY
: Die gesamte Quelldatei ist ein JSON-Bundle. Der JSON-Code kann mehrere Zeilen umfassen.RESOURCE_PRETTY
: Die gesamte Quelldatei ist eine JSON-Ressource. Der JSON-Code kann mehrere Zeilen umfassen.
Angenommen, Sie importieren eine Datei namens resources.ndjson
mit folgendem Inhalt:
{"class":{"code":"IMP","display":"inpatient encounter","system":"http://hl7.org/fhir/v3/ActCode"},"id":"6090e773-3e91-40a7-8fce-1e22f6774c29","reason":[{"text":"The patient had an abnormal heart rate. She was concerned about this."}],"resourceType":"Encounter","status":"finished","subject":{"reference":"Patient/2938bb9e-1f16-429e-8d44-9508ab0e4151"}}
{"class":{"code":"IMP","display":"inpatient encounter","system":"http://hl7.org/fhir/v3/ActCode"},"id":"7101f884-4f02-51b8-9gdf-2f33g7885d30","reason":[{"text":"The patient was experiencing recurrent fevers."}],"resourceType":"Encounter","status":"finished","subject":{"reference":"Patient/3049cc0f-2g27-530f-9e55-0619bc1f5262"}}
{"birthDate":"1970-01-01","gender":"female","id":"2938bb9e-1f16-429e-8d44-9508ab0e4151","name":[{"family":"Smith","given":["Darcy"],"use":"official"}],"resourceType":"Patient"}
Die Datei enthält zwei Ressourcen für Begegnung und eine für Patienten. Da sich jede Ressource in einer separaten Zeile befindet, legen Sie ContentStructure
auf RESOURCE
fest.
Ihre Daten werden möglicherweise falsch oder gar nicht importiert, wenn ContentStructure
nicht mit dem Format Ihrer Daten übereinstimmt. Die obige Beispieldatei wird beispielsweise nur dann korrekt importiert, wenn ContentStructure
in der Importanfrage auf RESOURCE
gesetzt ist.
In den folgenden Beispielen wird gezeigt, wie FHIR-Ressourcen aus einem Cloud Storage-Bucket importiert werden.
Console
Führen Sie die folgenden Schritte aus, um FHIR-Ressourcen aus einem Cloud Storage-Bucket zu importieren:
- Rufen Sie in der Google Cloud Console die Seite Datasets auf.
Zu den Datasets - Klicken Sie auf das Dataset mit dem FHIR-Speicher, in den Sie FHIR-Ressourcen importieren.
- Wählen Sie aus der Liste der Datenspeicher Importieren aus der Liste Aktionen für den FHIR-Speicher aus.
Die Seite In FHIR-Speicher importieren wird angezeigt. - Wählen Sie in der Liste Projekt ein Cloud Storage-Projekt aus.
- Wählen Sie in der Liste Standort einen Cloud Storage-Bucket aus.
- Wählen Sie in den FHIR-Importeinstellungen die entsprechende Inhaltsstruktur aus.
- Klicken Sie auf Importieren, um FHIR-Ressourcen zu importieren.
- Klicken Sie auf den Tab Vorgänge, um den Status des Vorgangs zu verfolgen. Wenn der Vorgang abgeschlossen ist, werden folgende Hinweise angezeigt:
- Im Abschnitt Status: Lang andauernder Vorgang befindet sich unter der Überschrift OK ein grünes Häkchen.
- Der Abschnitt Übersicht hat ein grünes Häkchen und einen OK-Indikator in der Zeile, in der sich auch die Vorgangs-ID befindet.
gcloud
Verwenden Sie den Befehl gcloud healthcare fhir-stores import gcs
, um FHIR-Ressourcen in einen FHIR-Speicher zu importieren. Geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Der Speicherort des Objekts in einem Cloud Storage-Bucket. Der Speicherort der Dateien im Bucket ist beliebig und muss nicht genau dem im folgenden Beispiel angegebenen Format entsprechen. Wenn Sie den Speicherort der FHIR-Ressourcen in Cloud Storage angeben, können Sie Platzhalter verwenden, um mehrere Dateien aus einem oder mehreren Verzeichnissen zu importieren.
Die folgenden Platzhalter werden unterstützt:
- Verwenden Sie
*
, um null oder mehr Nicht-Trennzeichen abzugleichen. Beispiel:gs://BUCKET/DIRECTORY/Example*.ndjson
stimmt mit "Example.ndjson" und "Example22.ndjson" in DIRECTORY überein. - Verwenden Sie
**
, um 0 oder mehr Zeichen (einschließlich Trennzeichen) abzugleichen. Muss am Ende eines Pfads und ohne andere Platzhalter im Pfad verwendet werden. Kann auch mit einer Dateinamenerweiterung wie .ndjson verwendet werden, die alle Dateien mit der Dateinamenerweiterung im angegebenen Verzeichnis und in seinen Unterverzeichnissen importiert. Beispiel:gs://BUCKET/DIRECTORY/**.ndjson
importiert alle Dateien mit der Endung .ndjson in DIRECTORY und seinen Unterverzeichnissen. - Verwenden Sie
?
als Platzhalter für genau 1 Zeichen. Beispiel:gs://BUCKET/DIRECTORY/Example?.ndjson
stimmt mit "Example1.ndjson" überein, aber nicht mit "Example.ndjson" oder "Example01.ndjson".
- Verwenden Sie
Das folgende Beispiel zeigt den Befehl gcloud healthcare fhir-stores import gcs
.
gcloud healthcare fhir-stores import gcs FHIR_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ --gcs-uri=gs://BUCKET/DIRECTORY/FHIR_RESOURCE_NAME.ndjson
Verwenden Sie das Flag --content-structure
, um die Struktur der FHIR-Quelldateien anzugeben.
In der Befehlszeile wird die Vorgangs-ID und nach Abschluss des Vorgangs done
angezeigt:
Request issued for: [FHIR_STORE_ID] Waiting for operation [OPERATION_ID] to complete...done. name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
Führen Sie den Befehl gcloud healthcare operations describe
aus und geben Sie OPERATION_ID aus der Antwort an, um weitere Details des Vorgangs anzuzeigen:
gcloud healthcare operations describe OPERATION_ID \ --dataset=DATASET_ID
Die Antwort enthält done: true
.
done: true metadata: '@type': type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata apiMethodName: google.cloud.healthcare.v1.fhir.FhirService.ImportResources createTime: 'CREATE_TIME' endTime: 'END_TIME' logsUrl: https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL, counter: success: 'SUCCESS_COUNT' name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID response: '@type': type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse fhirStore: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
API
Verwenden Sie die Methode projects.locations.datasets.fhirStores.import
, um FHIR-Ressourcen in einen FHIR-Speicher zu importieren.
- Der Speicherort der Dateien im Bucket ist beliebig und muss nicht genau dem in den folgenden Beispielen angegebenen Format entsprechen.
- Wenn Sie den Speicherort der FHIR-Ressourcen in Cloud Storage angeben, können Sie Platzhalter verwenden, um mehrere Dateien aus einem oder mehreren Verzeichnissen zu importieren.
Die folgenden Platzhalter werden unterstützt:
- Verwenden Sie
*
, um null oder mehr Nicht-Trennzeichen abzugleichen. Beispiel:gs://BUCKET/DIRECTORY/Example*.ndjson
stimmt mit "Example.ndjson" und "Example22.ndjson" in DIRECTORY überein. - Verwenden Sie
**
, um 0 oder mehr Zeichen (einschließlich Trennzeichen) abzugleichen. Muss am Ende eines Pfads und ohne andere Platzhalter im Pfad verwendet werden. Kann auch mit einer Dateinamenerweiterung wie .ndjson verwendet werden, die alle Dateien mit der Dateinamenerweiterung im angegebenen Verzeichnis und in seinen Unterverzeichnissen importiert. Beispiel:gs://BUCKET/DIRECTORY/**.ndjson
importiert alle Dateien mit der Endung .ndjson in DIRECTORY und seinen Unterverzeichnissen. - Verwenden Sie
?
als Platzhalter für genau 1 Zeichen. Beispiel:gs://BUCKET/DIRECTORY/Example?.ndjson
stimmt mit "Example1.ndjson" überein, aber nicht mit "Example.ndjson" oder "Example01.ndjson".
- Verwenden Sie
curl
Wenn Sie FHIR-Ressourcen in einen FHIR-Speicher importieren möchten, senden Sie eine POST
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Der Speicherort des Objekts in einem Cloud Storage-Bucket.
- Ein Zugriffstoken
Das folgende Beispiel zeigt, wie Sie eine einzelne Datei mithilfe einer POST
-Anfrage mit curl
importieren.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'contentStructure': 'CONTENT_STRUCTURE', 'gcsSource': { 'uri': 'gs://BUCKET/DIRECTORY/FHIR_RESOURCE_FILE' } }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:import"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
Die Antwort enthält einen Vorgangsnamen. Mit der Methode Operation get
können Sie den Status des Vorgangs verfolgen:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort mit dem Status des Vorgangs im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.ImportResources", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse", } }
PowerShell
Wenn Sie FHIR-Ressourcen in einen FHIR-Speicher importieren möchten, senden Sie eine POST
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Der Speicherort des Objekts in einem Cloud Storage-Bucket.
- Ein Zugriffstoken
Das folgende Beispiel zeigt eine POST
-Anfrage mit Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'contentStructure': 'CONTENT_STRUCTURE', 'gcsSource': { 'uri': 'gs://BUCKET/DIRECTORY/FHIR_RESOURCE_FILE' } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:import" | Select-Object -Expand Content
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
Die Antwort enthält einen Vorgangsnamen. Mit der Methode Operation get
können Sie den Status des Vorgangs verfolgen:
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort mit dem Status des Vorgangs im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.ImportResources", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse", } }
Go
Java
Node.js
Python
FHIR-Ressourcen exportieren
In den folgenden Beispielen wird gezeigt, wie FHIR-Ressourcen in einen Cloud Storage-Bucket exportiert werden. Wenn Sie FHIR-Ressourcen aus einem FHIR-Speicher exportieren, werden alle Ressourcen in diesem Speicher exportiert.
Wenn Sie FHIR-Ressourcen nach einem Zeitplan exportieren, sollten Sie Ihre Daten inkrementell exportieren. Eine Anleitung finden Sie unter Inkrementelle Exporte.
Während des Exports erstellt die Cloud Healthcare API eine Datei für jeden Ressourcentyp aus dem FHIR-Speicher. Der Dateiname besteht aus der Vorgangs-ID und dem Ressourcentyp, getrennt durch einen Unterstrich. Jede Datei besteht aus durch Zeilenumbrüche getrennte JSON, wobei jede Zeile eine FHIR-Ressource ist, die dem Ressourcentyp im Dateinamen entspricht. Wenn Sie beispielsweise mehrere Patientendatensätze exportieren, wird die Ausgabedatei ähnlich wie 1264567891234567_Patient
aufgerufen und enthält eine Zeile für jede Patientenressource aus dem FHIR-Speicher.
Console
Führen Sie die folgenden Schritte aus, um FHIR-Ressourcen in Cloud Storage zu exportieren:
- Rufen Sie in der Google Cloud Console die Seite Datasets auf.
Zu den Datasets - Klicken Sie auf das Dataset, das den FHIR-Speicher enthält, aus dem Sie FHIR-Ressourcen exportieren.
- Wählen Sie in der Liste der Datenspeicher aus der Liste Aktionen für den FHIR-Speicher Exportieren aus.
Die Seite FHIR-Ressourcen exportieren wird angezeigt. - Wählen Sie Google Cloud Storage-Bucket aus.
- Wählen Sie in der Liste Projekt ein Cloud Storage-Projekt aus.
- Wählen Sie in der Liste Standort einen Cloud Storage-Bucket aus.
- Klicken Sie auf Exportieren, um FHIR-Ressourcen zum definierten Speicherort in Cloud Storage zu exportieren.
- Klicken Sie auf den Tab Vorgänge, um den Status des Vorgangs zu verfolgen. Wenn der Vorgang abgeschlossen ist, werden folgende Hinweise angezeigt:
- Im Abschnitt Status: Lang andauernder Vorgang befindet sich unter der Überschrift OK ein grünes Häkchen.
- Der Abschnitt Übersicht hat ein grünes Häkchen und einen OK-Indikator in der Zeile, in der sich auch die Vorgangs-ID befindet.
gcloud
Verwenden Sie den Befehl gcloud healthcare fhir-stores export gcs
, um FHIR-Ressourcen in einen Cloud Storage-Bucket zu exportieren. Geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Der Name des übergeordneten Projekts
- Der Cloud Storage-Ziel-Bucket oder das Cloud Storage-Ziel-Verzeichnis. Schreiben Sie in einen Cloud Storage-Bucket oder ein Cloud Storage-Verzeichnis und nicht in ein Objekt, da die Cloud Healthcare API ein Objekt für jeden Ressourcentyp erstellt. Jedes Objekt besteht aus durch Zeilenumbruch getrennten JSON-Dateien, wobei jede Zeile eine FHIR-Ressource ist. Wenn Sie ein nicht vorhandenes Verzeichnis angeben, wird es erstellt.
- Ein optionales Flag,
--resource-type
, das nur bestimmte Ressourcentypen exportiert, definiert als eine durch Kommas getrennte Liste mit einem oder mehreren FHIR-Ressourcentypen - Ein optionales Flag,
--since
, das nur Ressourcen exportiert, die nach einer bestimmten Zeit aktualisiert wurden (definiert alsYYYY-MM-DDThh:mm:ss.sss+zz:zz
).
Das folgende Beispiel zeigt den Befehl gcloud healthcare fhir-stores export gcs
.
gcloud healthcare fhir-stores export gcs FHIR_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ --project=PROJECT_ID --gcs-uri=gs://BUCKET/DIRECTORY
In der Befehlszeile wird die Vorgangs-ID angezeigt:
Waiting for operation [OPERATION_ID] to complete...done. name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
Führen Sie den Befehl gcloud healthcare operations describe
aus und geben Sie OPERATION_ID aus der Antwort an, um den Status des Vorgangs anzuzeigen:
gcloud healthcare operations describe OPERATION_ID \ --dataset=DATASET_ID
Nach Abschluss des Befehls enthält die Antwort done
.
metadata: '@type': type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata apiMethodName: google.cloud.healthcare.v1.fhir.FhirService.ExportFhirData createTime: "CREATE_TIME" endTime: "END_TIME" name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID response: '@type': type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ExportResourcesResponse fhirStore: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID resourceCount: 'RESOURCE_COUNT'
API
Verwenden Sie zum Exportieren von FHIR-Ressourcen die Methode projects.locations.datasets.fhirStores.export
.
- Schreiben Sie in einen Cloud Storage-Bucket oder ein Cloud Storage-Verzeichnis und nicht in ein Objekt, da die Cloud Healthcare API für jeden Ressourcentyp eine durch Zeilenumbruch getrennte JSON-Datei erstellt. In jeder JSON-Datei ist jede Zeile eine FHIR-Ressource.
- Wenn der Befehl ein nicht vorhandenes Verzeichnis angibt, wird das Verzeichnis erstellt.
curl
Wenn Sie FHIR-Ressourcen exportieren möchten, senden Sie eine POST
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Der Cloud Storage-Ziel-Bucket
- Ein Zugriffstoken
- Ein optionales Feld,
_type
, das nur bestimmte Ressourcentypen exportiert, definiert als eine durch Kommas getrennte Liste von einem oder mehreren FHIR-Ressourcentypen - Ein optionales Feld,
_since
, das nur Ressourcen exportiert, die nach einer bestimmten Zeit aktualisiert wurden (definiert alsYYYY-MM-DDThh:mm:ss.sss+zz:zz
).
Das folgende Beispiel zeigt eine POST
-Anfrage mit curl
.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'gcsDestination': { 'uriPrefix': 'gs://BUCKET/DIRECTORY' }, }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
Die Antwort enthält einen Vorgangsnamen. Sie können den Status des Vorgangs mit der Methode Operation get
verfolgen:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort mit dem Status des Vorgangs im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.ExportResources", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ExportResourcesResponse", } }
PowerShell
Wenn Sie FHIR-Ressourcen exportieren möchten, senden Sie eine POST
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Der Cloud Storage-Ziel-Bucket oder das Cloud Storage-Ziel-Verzeichnis. Schreiben Sie in einen Cloud Storage-Bucket oder ein Cloud Storage-Verzeichnis und nicht in ein Objekt, da die Cloud Healthcare API ein Objekt für jeden Ressourcentyp erstellt. Jedes Objekt besteht aus durch Zeilenumbruch getrennten JSON-Dateien, wobei jede Zeile eine FHIR-Ressource ist.
- Ein Zugriffstoken
- Ein optionales Feld,
_type
, das nur bestimmte Ressourcentypen exportiert, definiert als eine durch Kommas getrennte Liste von einem oder mehreren FHIR-Ressourcentypen - Ein optionales Feld,
_since
, das nur Ressourcen exportiert, die nach einer bestimmten Zeit aktualisiert wurden (definiert alsYYYY-MM-DDThh:mm:ss.sss+zz:zz
).
Das folgende Beispiel zeigt eine POST
-Anfrage mit Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'gcsDestination': { 'uriPrefix': 'gs://BUCKET/DIRECTORY' }, }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export" | Select-Object -Expand Content
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
Die Antwort enthält einen Vorgangsnamen. Mit der Methode Operation get
können Sie den Status des Vorgangs verfolgen:
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort mit dem Status des Vorgangs im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.ExportResources", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ExportResourcesResponse", } }
Go
Java
Node.js
Python
Inkrementelle Exporte
Sie können einen Zeitstempel angeben, um nur FHIR-Ressourcen zu exportieren, die Ihrem FHIR-Speicher seit einem vorherigen erfolgreichen Export hinzugefügt wurden. Dadurch wird die Leistung verbessert und die Kosten für den erneuten Export des gesamten FHIR-Stores vermieden. Außerdem sind Ihre exportierten Daten immer auf dem neuesten Stand.
Geben Sie beim Aufrufen von fhirStores.export
den Zeitstempel im Feld _since
an.
Fehlerbehebung bei FHIR-Import- und Exportanfragen
Wenn während einer FHIR-Import- oder Exportanfrage Fehler auftreten, werden die Fehler in Cloud Logging protokolliert. Weitere Informationen finden Sie unter Fehlerlogs in Cloud Logging ansehen.
Wenn der gesamte Vorgang einen Fehler zurückgibt, finden Sie weitere Informationen unter Fehlerbehebung bei Vorgängen mit langer Ausführungszeit.
Nächste Schritte
- Wenn Sie FHIR-Daten erfolgreich importiert haben und die Daten in BigQuery analysieren möchten, fahren Sie mit FHIR-Daten nach BigQuery exportieren fort.