Auf dieser Seite erfahren Sie, wie Sie die Cloud Healthcare API mit curl
und Windows PowerShell verwenden, um die folgenden Aufgaben auszuführen:
- Erstellen Sie ein Cloud Healthcare API-Dataset.
- DICOM-, FHIR- oder HL7v2-Speicher im Dataset erstellen
- Speichern und untersuchen Sie bestimmte medizinische Daten im DICOM-, FHIR- oder HL7v2-Speicher.
Hinweis
-
Melden Sie sich bei Ihrem Google-Konto an.
Wenn Sie noch kein Konto haben, melden Sie sich hier für ein neues Konto an.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.
- Aktivieren Sie die Cloud Healthcare API.
- Installieren und initialisieren Sie das Cloud SDK.
- Testen Sie Ihre Authentifizierungsumgebung mit dem
gcloud
-Befehlszeilentool. Prüfen Sie, ob der folgende Befehl einen Textstring ohne Fehler ausgibt:gcloud auth application-default print-access-token
Tipp: Benötigen Sie eine Eingabeaufforderung? Dazu steht die Google Cloud Shell zur Verfügung. Die Google Cloud Shell ist eine Befehlszeilenumgebung, in der das Google Cloud SDK bereits enthalten ist, sodass Sie es nicht installieren müssen. Das Google Cloud SDK ist außerdem auf den virtuellen Maschinen von Google Compute Engine vorinstalliert.
Dataset erstellen
Datasets sind die grundlegenden Container, die Gesundheitsdaten in Google Cloud speichern.
curl
Zum Erstellen eines Datasets senden Sie eine POST
-Anfrage und geben einen Namen und einen Standort für das Dataset an.
Das folgende Beispiel zeigt eine POST
-Anfrage mit curl
.
Verwenden Sie beim Festlegen der Variable LOCATION us-central1
, us-west2
, us-east4
, europe-west2
, europe-west4
, europe-west6
, northamerica-northeast1
. ,
southamerica-east1
, asia-east2
, asia-northeast1
,
asia-southeast1
, australia-southeast1
oder us
.
curl -X POST \ --data "" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?datasetId=DATASET_ID"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück: Die Antwort enthält eine Kennung für einen lang andauernden Vorgang. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen sehr lange dauern kann.
{ "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: Wenn die Antwort "done": true
enthält, ist der Vorgang abgeschlossen.
{ "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.dataset.DatasetService.CreateDataset", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/viewer/CLOUD_LOGGING_URL" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.dataset.Dataset", "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID" } }
PowerShell
Zum Erstellen eines Datasets senden Sie eine POST
-Anfrage und geben einen Namen und einen Standort für das Dataset an.
Das folgende Beispiel zeigt eine POST
-Anfrage mit Windows PowerShell.
Verwenden Sie beim Festlegen der Variable LOCATION us-central1
, us-west2
, us-east4
, europe-west2
, europe-west4
, europe-west6
, northamerica-northeast1
. ,
southamerica-east1
, asia-east2
, asia-northeast1
,
asia-southeast1
, australia-southeast1
oder us
.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?datasetId=DATASET_ID" | Select-Object -Expand Content
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück: Die Antwort enthält eine Kennung für einen lang andauernden Vorgang. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen sehr lange dauern kann.
{ "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: Wenn die Antwort "done": true
enthält, ist der Vorgang abgeschlossen.
{ "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.dataset.DatasetService.CreateDataset", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/viewer/CLOUD_LOGGING_URL" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.dataset.Dataset", "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID" } }
DICOM-, FHIR- und HL7v2-Daten speichern und aufrufen
Wählen Sie für diesen Schnellstart einen der folgenden Abschnitte aus:
- DICOM-Instanzen speichern und aufrufen
- FHIR-Ressourcen speichern und aufrufen
- HL7v2-Nachrichten speichern und ansehen
DICOM-Instanzen speichern und aufrufen
In diesem Abschnitt erfahren Sie, wie Sie die folgenden Aufgaben ausführen:
- DICOM-Speicher erstellen
- DICOM-Instanz im DICOM-Speicher speichern
- Metadaten der DICOM-Instanz aufrufen
Die Cloud Healthcare API implementiert den DICOMweb-Standard zum Speichern und Aufrufen medizinischer Bildgebungsdaten.
DICOM-Speicher sind in Datasets vorhanden und DICOM-Instanzen enthalten. Sie erstellen einen DICOM-Speicher mit der Methode
projects.locations.datasets.dicomStores.create
.curl
Stellen Sie zum Erstellen eines DICOM-Speichers eine
POST
-Anfrage und geben Sie die folgenden Informationen an:- Name und Speicherort des übergeordneten Datasets
- Ein Name für den DICOM-Speicher. Die DICOM-Speicher-ID muss im übergeordneten Dataset eindeutig sein. Es kann sich um einen beliebigen Unicode-String mit 1 bis 256 Zeichen handeln, der aus Zahlen, Buchstaben, Unterstrichen, Bindestrichen und Punkten besteht.
Das folgende Beispiel zeigt eine
POST
-Anfrage mitcurl
.curl -X POST \ --data "" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores?dicomStoreId=DICOM_STORE_ID"
Wenn die Anfrage erfolgreich ist, gibt der Server die folgende Antwort im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" }
PowerShell
Stellen Sie zum Erstellen eines DICOM-Speichers eine
POST
-Anfrage und geben Sie die folgenden Informationen an:- Name und Speicherort des übergeordneten Datasets
- Ein Name für den DICOM-Speicher. Die DICOM-Speicher-ID muss im übergeordneten Dataset eindeutig sein. Es kann sich um einen beliebigen Unicode-String mit 1 bis 256 Zeichen handeln, der aus Zahlen, Buchstaben, Unterstrichen, Bindestrichen und Punkten besteht.
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" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores?dicomStoreId=DICOM_STORE_ID" | Select-Object -Expand Content
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" }
Laden Sie die Beispiel-DICOM-Instanzdatei auf Ihren Computer herunter. Die Datei enthält die Röntgenaufnahmen des Patienten.
Führen Sie den folgenden Befehl aus, um die DICOM-Instanz im von Ihnen erstellten DICOM-Speicher zu speichern:
curl
Erstellen Sie zum Speichern der DICOM-Instanz eine
POST
-Anfrage und geben Sie die folgenden Informationen an:- Name und Speicherort des übergeordneten Datasets
- Der Name des DICOM-Speichers
- Dateiname und Speicherort der DICOM-Instanzdatei auf Ihrem Computer
Das folgende Beispiel zeigt eine
POST
-Anfrage mitcurl
.curl -X POST \ -H "Content-Type: application/dicom" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data-binary @dicom_00000001_000.dcm \ https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies
Wenn die Anfrage erfolgreich ist, gibt der Server die folgende Antwort im XML-Format zurück:
<NativeDicomModel> <DicomAttribute tag="00081190" vr="UR" keyword="RetrieveURL"> <Value number="1">https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.111396399361969898205364400549799252857604</Value> </DicomAttribute> <DicomAttribute tag="00081199" vr="SQ" keyword="ReferencedSOPSequence"> <Item number="1"> <DicomAttribute tag="00081150" vr="UI" keyword="ReferencedSOPClassUID"> <Value number="1">1.2.840.10008.5.1.4.1.1.7</Value> </DicomAttribute> <DicomAttribute tag="00081155" vr="UI" keyword="ReferencedSOPInstanceUID"> <Value number="1">1.3.6.1.4.1.11129.5.5.153751009835107614666834563294684339746480</Value> </DicomAttribute> <DicomAttribute tag="00081190" vr="UR" keyword="RetrieveURL"> <Value number="1">https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.111396399361969898205364400549799252857604/series/1.3.6.1.4.1.11129.5.5.195628213694300498946760767481291263511724/instances/1.3.6.1.4.1.11129.5.5.153751009835107614666834563294684339746480</Value> </DicomAttribute> </Item> </DicomAttribute> </NativeDicomModel>
PowerShell
Erstellen Sie zum Speichern der DICOM-Instanz eine
POST
-Anfrage und geben Sie die folgenden Informationen an:- Name und Speicherort des übergeordneten Datasets
- Der Name des DICOM-Speichers
- Dateiname und Speicherort der DICOM-Instanzdatei auf Ihrem Computer
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/dicom" ` -InFile dicom_00000001_000.dcm ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies" | Select-Object -Expand Content
Wenn die Anfrage erfolgreich ist, gibt der Server die folgende Antwort im XML-Format zurück:
<NativeDicomModel> <DicomAttribute tag="00081190" vr="UR" keyword="RetrieveURL"> <Value number="1">https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.111396399361969898205364400549799252857604</Value> </DicomAttribute> <DicomAttribute tag="00081199" vr="SQ" keyword="ReferencedSOPSequence"> <Item number="1"> <DicomAttribute tag="00081150" vr="UI" keyword="ReferencedSOPClassUID"> <Value number="1">1.2.840.10008.5.1.4.1.1.7</Value> </DicomAttribute> <DicomAttribute tag="00081155" vr="UI" keyword="ReferencedSOPInstanceUID"> <Value number="1">1.3.6.1.4.1.11129.5.5.153751009835107614666834563294684339746480</Value> </DicomAttribute> <DicomAttribute tag="00081190" vr="UR" keyword="RetrieveURL"> <Value number="1">https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.111396399361969898205364400549799252857604/series/1.3.6.1.4.1.11129.5.5.195628213694300498946760767481291263511724/instances/1.3.6.1.4.1.11129.5.5.153751009835107614666834563294684339746480</Value> </DicomAttribute> </Item> </DicomAttribute> </NativeDicomModel>
Suchen Sie im DICOM-Speicher nach Instanzen, um sich die Metadaten für die von Ihnen gespeicherte Instanz anzeigen zu lassen:
curl
Stellen Sie eine
GET
-Anfrage und geben Sie die folgenden Informationen an, um die Metadaten für die gespeicherte DICOM-Instanz anzusehen:- Name und Speicherort des übergeordneten Datasets
- Der Name des DICOM-Speichers
Das folgende Beispiel zeigt eine
GET
-Anfrage mitcurl
, um im DICOM-Speicher nach Instanzen zu suchen: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/dicomStores/DICOM_STORE_ID/dicomWeb/instances"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
[ { "00080016": { "vr": "UI", "Value": [ "1.2.840.10008.5.1.4.1.1.7" ] }, "00080018": { "vr": "UI", "Value": [ "1.3.6.1.4.1.11129.5.5.153751009835107614666834563294684339746480" ] }, "00080060": { "vr": "CS", "Value": [ "DX" ] }, "00100020": { "vr": "LO", "Value": [ "1" ] }, "00100040": { "vr": "CS", "Value": [ "M" ] }, "0020000D": { "vr": "UI", "Value": [ "1.3.6.1.4.1.11129.5.5.111396399361969898205364400549799252857604" ] }, "0020000E": { "vr": "UI", "Value": [ "1.3.6.1.4.1.11129.5.5.195628213694300498946760767481291263511724" ] }, "00280010": { "vr": "US", "Value": [ 1024 ] }, "00280011": { "vr": "US", "Value": [ 1024 ] }, "00280100": { "vr": "US", "Value": [ 8 ] } } ]
PowerShell
Stellen Sie eine
GET
-Anfrage und geben Sie die folgenden Informationen an, um die Metadaten für die gespeicherte DICOM-Instanz anzusehen:- Name und Speicherort des übergeordneten Datasets
- Der Name des DICOM-Speichers
Das folgende Beispiel zeigt eine
GET
-Anfrage mit Windows PowerShell, um im DICOM-Speicher nach Instanzen zu suchen:$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/instances"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
[ { "00080016": { "vr": "UI", "Value": [ "1.2.840.10008.5.1.4.1.1.7" ] }, "00080018": { "vr": "UI", "Value": [ "1.3.6.1.4.1.11129.5.5.153751009835107614666834563294684339746480" ] }, "00080060": { "vr": "CS", "Value": [ "DX" ] }, "00100020": { "vr": "LO", "Value": [ "1" ] }, "00100040": { "vr": "CS", "Value": [ "M" ] }, "0020000D": { "vr": "UI", "Value": [ "1.3.6.1.4.1.11129.5.5.111396399361969898205364400549799252857604" ] }, "0020000E": { "vr": "UI", "Value": [ "1.3.6.1.4.1.11129.5.5.195628213694300498946760767481291263511724" ] }, "00280010": { "vr": "US", "Value": [ 1024 ] }, "00280011": { "vr": "US", "Value": [ 1024 ] }, "00280100": { "vr": "US", "Value": [ 8 ] } } ]
Nachdem Sie eine DICOM-Instanz in der Cloud Healthcare API gespeichert und angesehen haben, finden Sie unter Weitere Informationen Informationen zu den nächsten Schritten.
FHIR-Ressourcen speichern und aufrufen
In diesem Abschnitt erfahren Sie, wie Sie die folgenden Aufgaben ausführen:
- FHIR-Speicher erstellen
- FHIR-Ressource im FHIR-Speicher speichern
- Daten der FHIR-Ressource aufrufen
Die Cloud Healthcare API implementiert den FHIR-Spezifikation Standard zum Speichern und Aufrufen von FHIR-Daten.
FHIR-Speicher befinden sich in Datasets und enthalten FHIR-Ressourcen. Sie können einen FHIR-Speicher mit der Methode
projects.locations.datasets.fhirStores.create
erstellen:curl
Stellen Sie zum Erstellen eines FHIR-Speichers eine
POST
-Anfrage und geben Sie die folgenden Informationen an:- Name und Speicherort des übergeordneten Datasets
- Einen Namen für den FHIR-Speicher. Die FHIR-Speicher-ID muss im übergeordneten Dataset nur einmal vorkommen. Es kann sich um einen beliebigen Unicode-String mit 1 bis 256 Zeichen handeln, der aus Zahlen, Buchstaben, Unterstrichen, Bindestrichen und Punkten besteht.
- Die FHIR-Version des FHIR-Speichers:
DSTU2
,STU3
oderR4
Das folgende Beispiel zeigt eine
POST
-Anfrage mitcurl
.curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'version': '{DSTU2|STU3|R4}' }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores?fhirStoreId=FHIR_STORE_ID"
Wenn die Anfrage erfolgreich ist, gibt der Server die folgende Antwort im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "version": "FHIR_STORE_VERSION" }
PowerShell
Stellen Sie zum Erstellen eines FHIR-Speichers eine
POST
-Anfrage und geben Sie die folgenden Informationen an:- Name und Speicherort des übergeordneten Datasets
- Einen Namen für den FHIR-Speicher. Die FHIR-Speicher-ID muss im übergeordneten Dataset nur einmal vorkommen. Es kann sich um einen beliebigen Unicode-String mit 1 bis 256 Zeichen handeln, der aus Zahlen, Buchstaben, Unterstrichen, Bindestrichen und Punkten besteht.
- Die FHIR-Version des FHIR-Speichers:
DSTU2
,STU3
oderR4
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 "{ 'version': '{DSTU2|STU3|R4}' }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores?fhirStoreId=FHIR_STORE_ID" | 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/fhirStores/FHIR_STORE_ID", "version": "FHIR_STORE_VERSION" }
Speichern Sie die Beispieldatei "JSON FHIR". Die Datei enthält grundlegende Daten für eine Patientenressource.
Führen Sie den folgenden Befehl aus, um die Patientenressource im von Ihnen erstellten FHIR-Speicher zu speichern:
curl
Zum Erstellen der Patientenressource aus der Beispieldatei senden Sie eine
POST
-Anfrage und geben die folgenden Informationen an:- Name und Speicherort des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Den Dateinamen und den Speicherort der FHIR-Ressourcendatei auf Ihrem Computer
Das folgende Beispiel zeigt, wie Sie eine
POST
-Anfrage mitcurl
senden, um die Patientenressource zu erstellen:curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data @Patient.json \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient"
Wenn die Anfrage erfolgreich ist, gibt der Server die folgende Antwort zurück:
{ "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "LAST_UPDATED", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" }
PowerShell
Zum Erstellen der Patientenressource aus der Beispieldatei senden Sie eine
POST
-Anfrage und geben die folgenden Informationen an:- Name und Speicherort des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Den Dateinamen und den Speicherort der FHIR-Ressourcendatei auf Ihrem Computer
Das folgende Beispiel zeigt, wie Sie eine
POST
-Anfrage mit Windows PowerShell senden, um die Patientenressource zu erstellen:$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/dicom" ` -InFile Patient.json ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient" | Select-Object -Expand Content
Wenn die Anfrage erfolgreich ist, gibt der Server die folgende Antwort zurück:
{ "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "LAST_UPDATED", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" }
Suchen Sie die Ressource in Ihrem FHIR-Speicher, um Informationen zum Patienten anzuzeigen:
curl
Um nach der Patientenressource zu suchen und die Details aufzurufen, stellen Sie eine
GET
-Anfrage und geben Sie die folgenden Informationen an:- Name und Speicherort des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Ein Abfragestring, der die Informationen enthält, nach denen Sie suchen. In diesem Beispiel suchen Sie nach dem Nachnamen des Patienten.
Das folgende Beispiel zeigt eine
GET
-Anfrage mitcurl
zur Suche nach allen Patienten mit dem Nachnamen "Smith".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/fhirStores/FHIR_STORE_ID/fhir/Patient?family:exact=Smith"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort als FHIR
Bundle
im JSON-Format zurück.Bundle.type
istsearchset
und die Suchergebnisse sind Einträge im ArrayBundle.entry
. In diesem Beispiel gibt die Anfrage eine einzelne Patientenressource mit den Daten in dieser Ressource zurück:{ "entry": [ { "fullUrl": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID", "resource": { "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "LAST_UPDATED", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" }, "search": { "mode": "match" } } ], "link": [ { "url": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/?family%3Aexact=Smith" } ], "resourceType": "Bundle", "total": 1, "type": "searchset" }
PowerShell
Um nach der Patientenressource zu suchen und deren Details anzuzeigen, stellen Sie eine
GET
-Anforderung und geben Sie die folgenden Informationen an:- Name und Speicherort des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Ein Abfragestring, der die Informationen enthält, nach denen Sie suchen. In diesem Beispiel suchen Sie nach dem Nachnamen des Patienten.
Das folgende Beispiel zeigt eine
GET
-Anfrage mit Windows PowerShell zur Suche nach allen Patienten mit dem Nachnamen "Smith".$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE?family:exact=Smith" | ConvertTo-Json
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort als FHIR
Bundle
im JSON-Format zurück.Bundle.type
istsearchset
und die Suchergebnisse sind Einträge im ArrayBundle.entry
. In diesem Beispiel gibt die Anfrage eine einzelne Patientenressource mit den Daten in dieser Ressource zurück:{ "entry": [ { "fullUrl": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID", "resource": { "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "LAST_UPDATED", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" }, "search": { "mode": "match" } } ], "link": [ { "url": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/?family%3Aexact=Smith" } ], "resourceType": "Bundle", "total": 1, "type": "searchset" }
Nachdem Sie eine FHIR-Ressource in der Cloud Healthcare API gespeichert und angesehen haben, finden Sie unter Weitere Informationen weitere Informationen.
HL7v2-Nachrichten speichern und ansehen
In diesem Abschnitt erfahren Sie, wie Sie die folgenden Aufgaben ausführen:
- HL7v2-Speicher erstellen
- HL7v2-Nachricht im HL7v2-Speicher speichern
- Daten der HL7v2-Nachricht aufrufen.
Die HL7v2-Implementierung in der Cloud Healthcare API entspricht dem HL7v2-Standard.
HL7v2-Speicher sind in Datensätzen vorhanden und enthalten HL7v2-Nachrichten. Sie erstellen einen HL7v2-Speicher mit der Methode
projects.locations.datasets.hl7V2Stores.create
.curl
Senden Sie zum Erstellen eines HL7v2-Speichers eine
POST
-Anfrage und geben Sie die folgenden Informationen an:- Name und Speicherort des übergeordneten Datasets
- Ein Name für den HL7v2-Speicher Die HL7v2-Speicher-ID muss im übergeordneten Dataset eindeutig sein. Es kann sich um einen beliebigen Unicode-String mit 1 bis 256 Zeichen handeln, der aus Zahlen, Buchstaben, Unterstrichen, Bindestrichen und Punkten besteht.
Das folgende Beispiel zeigt eine
POST
-Anfrage mitcurl
.curl -X POST \ --data "" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID"
Wenn die Anfrage erfolgreich ist, gibt der Server die folgende Antwort im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID" }
PowerShell
Senden Sie zum Erstellen eines HL7v2-Speichers eine
POST
-Anfrage und geben Sie die folgenden Informationen an:- Name und Speicherort des übergeordneten Datasets
- Ein Name für den HL7v2-Speicher Die HL7v2-Speicher-ID muss im übergeordneten Dataset eindeutig sein. Es kann sich um einen beliebigen Unicode-String mit 1 bis 256 Zeichen handeln, der aus Zahlen, Buchstaben, Unterstrichen, Bindestrichen und Punkten besteht.
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" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID" | Select-Object -Expand Content
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID" }
Laden Sie die Beispieldatei HL7v2-Nachrichten auf Ihren Computer herunter. Die Nachricht enthält die folgenden grundlegenden Informationen, wobei sie im Feld
data
der Beispieldatei Base64-codiert sind:MSH|^~\&|A|SEND_FACILITY|A|A|20180101000000||TYPE^A|20180101000000|T|0.0|||AA||00|ASCII EVN|A00|20180101040000 PID||14^111^^^^MRN|11111111^^^^MRN~1111111111^^^^ORGNMBR
Es gibt zwei Methoden zum Speichern einer HL7v2-Nachricht: Erstellung und Aufnahme. Weitere Informationen finden Sie unter HL7v2-Nachrichten erstellen und aufnehmen. In diesem Beispiel speichern Sie die HL7v2-Nachricht mit der Methode "create", da die Aufnahmemethode in der Regel eine HL7v2-Nachricht verbraucht, die von einem Pflegezentrum stammt.
Führen Sie den folgenden Befehl aus, um die HL7v2-Nachricht im von Ihnen erstellten HL7v2-Speicher zu speichern:
curl
Um die HL7v2-Nachricht zu speichern, stellen Sie eine
POST
-Anfrage und geben Sie die folgenden Informationen an:- Name und Speicherort des übergeordneten Datasets
- Der Name des HL7v2-Speichers
- Der Name und der Speicherort der HL7v2-Nachrichtendatei auf Ihrem Computer
Das folgende Beispiel zeigt eine
POST
-Anfrage mitcurl
.curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data-binary @hl7v2-sample.json \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages"
Wenn die Anfrage erfolgreich ist, gibt der Server die folgende Antwort im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID", "data": "TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZfEF8QXwyMDE4MDEwMTAwMDAwMHx8VFlQRV5BfDIwMTgwMTAxMDAwMDAwfFR8MC4wfHx8QUF8fDAwfEFTQ0lJDUVWTnxBMDB8MjAxODAxMDEwNDAwMDANUElEfHwxNAExMTFeXl5eTVJOfDExMTExMTExXl5eXk1STn4xMTExMTExMTExXl5eXk9SR05NQlI=", "sendFacility": "SEND_FACILITY", "sendTime": "2018-01-01T00:00:00Z", "messageType": "TYPE", "createTime": "CREATE_TIME", "patientIds": [ { "value": "14\u0001111", "type": "MRN" }, { "value": "11111111", "type": "MRN" }, { "value": "1111111111", "type": "ORGNMBR" } ] }
PowerShell
Um die HL7v2-Nachricht zu speichern, stellen Sie eine
POST
-Anfrage und geben Sie die folgenden Informationen an:- Name und Speicherort des übergeordneten Datasets
- Der Name des HL7v2-Speichers
- Der Name und der Speicherort der HL7v2-Nachrichtendatei auf Ihrem Computer
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" ` -InFile hl7v2-sample.json ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages" | Select-Object -Expand Content
Wenn die Anfrage erfolgreich ist, gibt der Server die folgende Antwort im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID", "data": "TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZfEF8QXwyMDE4MDEwMTAwMDAwMHx8VFlQRV5BfDIwMTgwMTAxMDAwMDAwfFR8MC4wfHx8QUF8fDAwfEFTQ0lJDUVWTnxBMDB8MjAxODAxMDEwNDAwMDANUElEfHwxNAExMTFeXl5eTVJOfDExMTExMTExXl5eXk1STn4xMTExMTExMTExXl5eXk9SR05NQlI=", "sendFacility": "SEND_FACILITY", "sendTime": "2018-01-01T00:00:00Z", "messageType": "TYPE", "createTime": "CREATE_TIME", "patientIds": [ { "value": "14\u0001111", "type": "MRN" }, { "value": "11111111", "type": "MRN" }, { "value": "1111111111", "type": "ORGNMBR" } ] }
Führen Sie den Befehl MESSAGE_ID aus der Antwort, die Sie beim Erstellen der Nachricht erhalten haben, aus, um die Details der Nachricht aufzurufen:
curl
Um den Inhalt der HL7v2-Nachricht abzurufen, stellen Sie eine
GET
-Anfrage und geben Sie die folgenden Informationen an:- Name und Speicherort des übergeordneten Datasets
- Der Name des HL7v2-Speichers
- Die Nachrichten-ID
Das folgende Beispiel zeigt eine
GET
-Anfrage mitcurl
.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/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID", "data": "TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZfEF8QXwyMDE4MDEwMTAwMDAwMHx8VFlQRV5BfDIwMTgwMTAxMDAwMDAwfFR8MC4wfHx8QUF8fDAwfEFTQ0lJDUVWTnxBMDB8MjAxODAxMDEwNDAwMDANUElEfHwxNAExMTFeXl5eTVJOfDExMTExMTExXl5eXk1STn4xMTExMTExMTExXl5eXk9SR05NQlI=", "sendFacility": "SEND_FACILITY", "sendTime": "2018-01-01T00:00:00Z", "messageType": "TYPE", "createTime": "CREATE_TIME", "patientIds": [ { "value": "14\u0001111", "type": "MRN" }, { "value": "11111111", "type": "MRN" }, { "value": "1111111111", "type": "ORGNMBR" } ], "parsedData": { "segments": [ { "segmentId": "MSH", "fields": { "5": "A", "8.1": "TYPE", "6": "20180101000000", "8.2": "A", "3": "SEND_FACILITY", "4": "A", "11": "0.0", "10": "T", "1": "^~\\&", "17": "ASCII", "2": "A", "0": "MSH", "14": "AA", "9": "20180101000000", "16": "00" } }, { "segmentId": "EVN", "fields": { "2": "20180101040000", "0": "EVN", "1": "A00" } }, { "segmentId": "PID", "fields": { "3[0].5": "MRN", "3[1].1": "1111111111", "3[1].5": "ORGNMBR", "0": "PID", "2.1": "14\u0001111", "2.5": "MRN", "3[0].1": "11111111" } } ] } }
PowerShell
Um den Inhalt der HL7v2-Nachricht abzurufen, stellen Sie eine
GET
-Anfrage und geben Sie die folgenden Informationen an:- Name und Speicherort des übergeordneten Datasets
- Der Name des HL7v2-Speichers
- Die Nachrichten-ID
Das folgende Beispiel zeigt eine
GET
-Anfrage mit Windows PowerShell.$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/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID" | 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/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID", "data": "TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZfEF8QXwyMDE4MDEwMTAwMDAwMHx8VFlQRV5BfDIwMTgwMTAxMDAwMDAwfFR8MC4wfHx8QUF8fDAwfEFTQ0lJDUVWTnxBMDB8MjAxODAxMDEwNDAwMDANUElEfHwxNAExMTFeXl5eTVJOfDExMTExMTExXl5eXk1STn4xMTExMTExMTExXl5eXk9SR05NQlI=", "sendFacility": "SEND_FACILITY", "sendTime": "2018-01-01T00:00:00Z", "messageType": "TYPE", "createTime": "CREATE_TIME", "patientIds": [ { "value": "14\u0001111", "type": "MRN" }, { "value": "11111111", "type": "MRN" }, { "value": "1111111111", "type": "ORGNMBR" } ], "parsedData": { "segments": [ { "segmentId": "MSH", "fields": { "5": "A", "8.1": "TYPE", "6": "20180101000000", "8.2": "A", "3": "SEND_FACILITY", "4": "A", "11": "0.0", "10": "T", "1": "^~\\&", "17": "ASCII", "2": "A", "0": "MSH", "14": "AA", "9": "20180101000000", "16": "00" } }, { "segmentId": "EVN", "fields": { "2": "20180101040000", "0": "EVN", "1": "A00" } }, { "segmentId": "PID", "fields": { "3[0].5": "MRN", "3[1].1": "1111111111", "3[1].5": "ORGNMBR", "0": "PID", "2.1": "14\u0001111", "2.5": "MRN", "3[0].1": "11111111" } } ] } }
Nachdem Sie eine HL7v2-Nachricht in der Cloud Healthcare API gespeichert und angesehen haben, finden Sie weitere Informationen zu den nächsten Schritten unter Weitere Informationen.
Bereinigen
Um zu vermeiden, dass Ihrem Google Cloud-Konto die in dieser Kurzanleitung verwendeten Ressourcen in Rechnung gestellt werden, können Sie die in Google Cloud erstellten Ressourcen bereinigen. Wenn Sie ein neues Projekt für diese Anleitung erstellt haben, führen Sie die Schritte unter Projekt löschen aus. Andernfalls führen Sie die Schritte unter Dataset löschen aus.
Projekt löschen
- Wechseln Sie in der Cloud Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.
Dataset löschen
Wenn Sie das in dieser Kurzanleitung erstellte Dataset nicht mehr benötigen, können Sie es löschen. Durch das Löschen eines Datasets werden das Dataset und alle darin enthaltenen FHIR-, HL7v2- oder DICOM-Speicher endgültig gelöscht.
curl
Um ein Dataset zu löschen, stellen Sie eine DELETE
-Anforderung mit Name und Speicherort. Das folgende Beispiel zeigt eine DELETE
-Anfrage mit curl
:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{}
PowerShell
Zum Löschen eines Datasets senden Sie eine DELETE
-Anfrage, die den Namen und den Standort des Datasets enthält. Das folgende Beispiel zeigt eine DELETE
-Anfrage mit Windows PowerShell:
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Delete ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID" | Select-Object -Expand Content
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{}
Wie ist es gelaufen?
Nächste Schritte
In den folgenden Abschnitten finden Sie allgemeine Informationen zur Cloud Healthcare-API und zum Ausführen von Aufgaben mit der Cloud Console und dem Befehlszeilentool gcloud
:
- Überblick über die Konzepte der Cloud Healthcare API
- Cloud Healthcare API mit Cloud Console verwenden
- Cloud Healthcare API mit dem
gcloud
-Tool verwenden
DICOM
Im DICOM-Leitfaden finden Sie unter anderem folgende Themen:
- DICOM-Speicher verwalten und anpassen
- PACs mit der Cloud Healthcare API verbinden
- DICOMweb-Standard verwenden
- DICOM-Daten mit Cloud Storage importieren und exportieren
Informationen dazu, wie die Cloud Healthcare-API den DICOMweb-Standard implementiert, finden Sie in der DICOM-Konformitätserklärung.
FHIR
Fahren Sie mit dem FHIR-Leitfaden folgendermaßen fort:
- FHIR-Speicher verwalten und anpassen
- FHIR-Ressourcen erstellen und verwalten
- FHIR-Daten mit Cloud Storage importieren und exportieren
Informationen dazu, wie die Cloud Healthcare API den FHIR-Standard implementiert, finden Sie in der FHIR-Konformitätserklärung.
HL7v2
Rufen Sie die HL7v2-Anleitung auf, um unter anderem folgende Themen zu überprüfen:
- HL7v2-Speicher verwalten und anpassen
- HL7v2-Nachrichten erstellen und verwalten
- Übertragen von HL7v2-Nachrichten über TCP/IP-Verbindungen
- Importieren und Exportieren von HL7v2-Nachrichten mithilfe von Cloud Storage