Kurzanleitung: curl oder PowerShell verwenden

Auf dieser Seite wird erläutert, wie Sie die Cloud Healthcare API mit curl oder Windows PowerShell verwenden, um die folgenden Aufgaben auszuführen:

  1. Cloud Healthcare API-Dataset erstellen
  2. Erstellen Sie einen der folgenden Datenspeicher im Dataset:
    • DICOM-Speicher (Digital Imaging and Communications in Medicine)
    • FHIR-Speicher (Fast Healthcare Interoperability Resources)
    • Health Level Seven International Version 2-Speicher (HL7v2)
  3. Bestimmte Arten von medizinischen Daten im DICOM-, FHIR- oder HL7v2-Speicher speichern und prüfen

Wenn Sie nur mit einem Datenspeichertyp arbeiten möchten, können Sie mit diesem Abschnitt der Kurzanleitung direkt fortfahren, nachdem Sie die Schritte in Vorbereitung und Ein Dataset erstellen ausgeführt haben.

Vorbereitung

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Aktivieren Sie die Cloud Healthcare API.

    Aktivieren Sie die API

  5. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  6. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  7. Aktivieren Sie die Cloud Healthcare API.

    Aktivieren Sie die API

  8. Installieren und initialisieren Sie das Cloud SDK.
  9. Testen Sie die 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. Cloud Shell ist eine Befehlszeilenumgebung, in der das Cloud SDK bereits enthalten ist und daher nicht installiert werden muss. (Das Cloud SDK ist außerdem auf virtuellen Compute Engine-Maschinen vorinstalliert.)

Dataset erstellen

Datasets enthalten Datenspeicher und Datenspeicher enthalten medizinische Daten. Um die Cloud Healthcare API verwenden zu können, müssen Sie mindestens ein Dataset erstellen.

Erstellen Sie ein Dataset mit der Methode datasets.create:

curl

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/us-central1/datasets?datasetId=my-dataset"

Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

Die Antwort lautet: 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/us-central1/datasets/my-dataset/operations/OPERATION_ID",
}

In dieser Ausgabe gilt:

  • PROJECT_ID, us-central1, my-dataset sind die Werte, die Sie im Methodenaufruf angegeben haben
  • OPERATION_ID ist eine Kennung für den lang andauernden Vorgang, von der Cloud Healthcare API bereitgestellt

Mit der Methode operations.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/us-central1/datasets/my-dataset/operations/OPERATION_ID"

Dabei gilt:

  • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
  • OPERATION_ID ist die ID, die vom lang andauernden Vorgang zurückgegeben wurde

Die Ausgabe sieht folgendermaßen aus: Wenn die Antwort "done": true enthält, ist der Vorgang abgeschlossen. Ist dies nicht der Fall, wird der Vorgang noch ausgeführt. Warten Sie einige Sekunden und rufen Sie dann die Methode operations.get noch einmal auf.

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/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/us-central1/datasets/my-dataset"
  }
}

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/us-central1/datasets?datasetId=my-dataset" | Select-Object -Expand Content

Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

Die Antwort lautet: 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/us-central1/datasets/my-dataset/operations/OPERATION_ID",
}

In dieser Ausgabe gilt:

  • PROJECT_ID, us-central1, my-dataset sind die Werte, die Sie im Methodenaufruf angegeben haben
  • OPERATION_ID ist eine Kennung für den lang andauernden Vorgang, von der Cloud Healthcare API bereitgestellt

Mit der Methode operations.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/us-central1/datasets/my-dataset/operations/OPERATION_ID" | Select-Object -Expand Content

Dabei gilt:

  • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
  • OPERATION_ID ist die ID, die vom lang andauernden Vorgang zurückgegeben wurde

Die Ausgabe sieht folgendermaßen aus: Wenn die Antwort "done": true enthält, ist der Vorgang abgeschlossen. Ist dies nicht der Fall, wird der Vorgang noch ausgeführt. Warten Sie einige Sekunden und rufen Sie dann die Methode operations.get noch einmal auf.

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/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/us-central1/datasets/my-dataset"
  }
}

Wählen Sie einen der folgenden Abschnitte aus, um diese Kurzanleitung abzuschließen:

DICOM-Instanz speichern und ansehen

In diesem Abschnitt wird beschrieben, wie Sie die folgenden Aufgaben ausführen:

  1. DICOM-Speicher erstellen
  2. DICOM-Instanz im DICOM-Speicher speichern
  3. Metadaten der DICOM-Instanz aufrufen

Die Cloud Healthcare API implementiert den DICOMweb-Standard zum Speichern und Abrufen von medizinischen Bilddaten.

DICOM-Speicher erstellen

DICOM-Speicher sind in Datasets vorhanden und enthalten DICOM-Instanzen. Erstellen Sie einen DICOM-Speicher mit der Methode dicomStores.create:

curl

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/us-central1/datasets/my-dataset/dicomStores?dicomStoreId=my-dicom-store"

Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

Die Ausgabe sieht so aus:

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store"
}

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/us-central1/datasets/my-dataset/dicomStores?dicomStoreId=my-dicom-store" | Select-Object -Expand Content

Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

Die Ausgabe sieht so aus:

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store"
}

DICOM-Instanz speichern

  1. Laden Sie die Beispiel-DICOM-Instanzdatei auf Ihren Rechner herunter. Die Datei enthält eine de-identifizierte Röntgenaufnahme eines Patienten.

    curl

    curl -O https://cloud.google.com/healthcare-api/docs/resources/dicom_00000001_000.dcm
    

    PowerShell

    Invoke-WebRequest -Uri "https://cloud.google.com/healthcare-api/docs/resources/dicom_00000001_000.dcm" -OutFile $pwd/dicom_00000001_000.dcm
    
  2. Speichern Sie die DICOM-Instanz mit der Methode dicomStores.storeInstances. In dieser Kurzanleitung wird davon ausgegangen, dass Sie den Befehl in demselben Verzeichnis ausführen, in das Sie die DICOM-Instanz heruntergeladen haben.

    curl

    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/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/studies
    

    Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

    Die Ausgabe sieht im XML-Format so aus:

    <NativeDicomModel>
      <DicomAttribute tag="00081190" vr="UR" keyword="RetrieveURL">
        <Value number="1">https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/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/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/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

    $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/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/studies" | Select-Object -Expand Content
    

    Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

    Die Ausgabe sieht im XML-Format so aus:

    <NativeDicomModel>
      <DicomAttribute tag="00081190" vr="UR" keyword="RetrieveURL">
        <Value number="1">https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/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/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/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>
    

Metadaten der DICOM-Instanz ansehen

Sehen Sie sich die Metadaten für die Instanz mit der Methode dicomStores.searchForInstances an:

curl

curl -X GET \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/instances"

Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

Die Ausgabe sieht so aus:

[
  {
    "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

$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/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/instances"

Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

Die Ausgabe sieht so aus:

[
  {
    "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 nun eine DICOM-Instanz in der Cloud Healthcare API gespeichert und angezeigt haben, können Sie mit dem Bereinigen fortfahren, um zu vermeiden, dass Ihrem Google Cloud-Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden.

Weitere Informationen zum Arbeiten mit DICOM-Daten finden Sie unter Nächste Schritte.

FHIR-Ressourcen speichern und ansehen

In diesem Abschnitt wird beschrieben, wie Sie die folgenden Aufgaben ausführen:

  1. Erstellen Sie einen FHIR-Speicher.
  2. Speichern Sie eine FHIR-Ressource im FHIR-Speicher.
  3. Sehen Sie sich die Daten zur FHIR-Ressource an.

Die Cloud Healthcare API implementiert den Standard von FHIR-Spezifikation zum Speichern und Zugreifen auf FHIR-Daten.

FHIR-Speicher erstellen

FHIR-Speicher sind in Datasets vorhanden und enthalten FHIR-Ressourcen. Erstellen Sie mit der Methode fhirStores.create einen FHIR-Speicher:

curl

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data "{
      'version': 'R4'
    }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores?fhirStoreId=my-fhir-store"

Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

Die Ausgabe sieht so aus:

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store",
  "version": "R4"
}

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': 'R4'
  }" `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores?fhirStoreId=my-fhir-store" | Select-Object -Expand Content

Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

Die Ausgabe sieht so aus:

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store",
  "version": "R4"
}

FHIR-Ressourcen speichern

  1. Laden Sie die JSON-FHIR-Ressourcendatei herunter. Die Datei enthält grundlegende Daten für eine Patientenressource.

    curl

    curl -O https://cloud.google.com/healthcare-api/docs/resources/Patient.json
    

    PowerShell

    Invoke-WebRequest -Uri "https://cloud.google.com/healthcare-api/docs/resources/Patient.json" -OutFile $pwd/Patient.json
    
  2. Speichern Sie die Patientenressource mit der Methode fhir.create. In dieser Kurzanleitung wird davon ausgegangen, dass Sie den Befehl aus demselben Verzeichnis ausführen, in das Sie die Patientenressource heruntergeladen haben.

    curl

    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/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient"
    

    Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

    Die Ausgabe sieht so aus:

    {
      "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

    $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/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient" | Select-Object -Expand Content
    

    Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

    Die Ausgabe sieht so aus:

    {
      "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"
    }
    

FHIR-Ressourceninhalte ansehen

Rufen Sie mit der Methode fhir.search Informationen zur Patientenressource auf. Die folgenden Beispiele zeigen, wie Sie nach allen Patientenressourcen mit dem Nachnamen "Smith" suchen.

curl

curl -X GET \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient?family:exact=Smith"

Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

Der Server gibt die Antwort als FHIR-Bundle im JSON-Format zurück. Bundle.type ist searchset und die Suchergebnisse sind Einträge im Array Bundle.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/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/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/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient/?family%3Aexact=Smith"
    }
  ],
  "resourceType": "Bundle",
  "total": 1,
  "type": "searchset"
}

PowerShell

$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/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/RESOURCE_TYPE?family:exact=Smith" | ConvertTo-Json

Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

Der Server gibt die Antwort als FHIR-Bundle im JSON-Format zurück. Bundle.type ist searchset und die Suchergebnisse sind Einträge im Array Bundle.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/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/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/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient/?family%3Aexact=Smith"
    }
  ],
  "resourceType": "Bundle",
  "total": 1,
  "type": "searchset"
}

Nachdem Sie nun eine FHIR-Ressource in der Cloud Healthcare API gespeichert und angezeigt haben, können Sie mit dem Bereinigen fortfahren, um zu vermeiden, dass Ihrem Google Cloud-Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden.

Weitere Informationen zum Arbeiten mit FHIR-Daten finden Sie unter Nächste Schritte.

HL7v2-Nachricht speichern und ansehen

In diesem Abschnitt wird beschrieben, wie Sie die folgenden Aufgaben ausführen:

  1. HL7v2-Speicher erstellen.
  2. HL7v2-Nachricht im HL7v2-Speicher speichern.
  3. Daten der HL7v2-Nachricht ansehen.

Die HL7v2-Implementierung in der Cloud Healthcare API entspricht dem HL7v2-Standard.

HL7v2-Speicher erstellen

HL7v2-Speicher sind in Datasets vorhanden und enthalten HL7v2-Nachrichten. Erstellen Sie mit der Methode hl7V2Stores.create einen HL7v2-Speicher:

curl

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/us-central1/datasets/my-dataset/hl7V2Stores?hl7V2StoreId=my-hl7v2-store"

Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

Die Ausgabe sieht so aus:

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store"
}

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/us-central1/datasets/my-dataset/hl7V2Stores?hl7V2StoreId=my-hl7v2-store" | Select-Object -Expand Content

Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

Die Ausgabe sieht so aus:

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store"
}

HL7v2-Nachricht erstellen

  1. Laden Sie die Beispieldatei für eine HL7v2-Nachricht auf Ihren Computer herunter:

    curl

    curl -O https://cloud.google.com/healthcare-api/docs/resources/hl7v2-sample.json
    

    PowerShell

    Invoke-WebRequest -Uri "https://cloud.google.com/healthcare-api/docs/resources/hl7v2-sample.json" -OutFile $pwd/hl7v2-sample.json
    

    Die HL7v2-Nachricht enthält die folgenden grundlegenden Informationen, bei denen sie im Feld data der Beispieldatei base-64-codiert ist:

    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
    
  2. Speichern Sie die HL7v2-Nachricht mit der Methode messages.create. In dieser Kurzanleitung wird davon ausgegangen, dass Sie den Befehl in demselben Verzeichnis ausführen, in das Sie die HL7v2-Nachrichtendatei heruntergeladen haben.

    curl

    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/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages"
    

    Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

    Die Ausgabe sieht so aus:

    {
      "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/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"
        }
      ]
    }
    

    In dieser Ausgabe gilt:

    • PROJECT_ID, us-central1, my-dataset, my-hl7v2-store: Die Werte, die Sie im Methodenaufruf angegeben haben
    • MESSAGE_ID: Eine HL7v2-Nachricht, die von der Cloud Healthcare API bereitgestellt wird
    • CREATE_TIME: Ein Zeitstempel, der angibt, wann die Nachricht an die Cloud Healthcare API gesendet wurde

    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/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages" | Select-Object -Expand Content
    

    Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

    Die Ausgabe sieht so aus:

    {
      "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/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"
        }
      ]
    }
    

    In dieser Ausgabe gilt:

    • PROJECT_ID, us-central1, my-dataset, my-hl7v2-store: Die Werte, die Sie im Methodenaufruf angegeben haben
    • MESSAGE_ID: Eine HL7v2-Nachricht, die von der Cloud Healthcare API bereitgestellt wird
    • CREATE_TIME: Ein Zeitstempel, der angibt, wann die Nachricht an die Cloud Healthcare API gesendet wurde

Inhalt von HL7v2-Nachrichten ansehen

Notieren Sie sich den MESSAGE_ID aus der Antwort, die Sie beim Erstellen der HL7v2-Nachricht erhalten haben. Rufen Sie die Details der HL7v2-Nachricht mit der Methode messages.get auf.

curl

curl -X GET \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages/MESSAGE_ID"

Dabei gilt:

  • PROJECT_ID: Die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben
  • MESSAGE_ID: Die Nachrichten-ID

Die Ausgabe sieht so aus:

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/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

$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/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages/MESSAGE_ID" | Select-Object -Expand Content

Dabei gilt:

  • PROJECT_ID: Die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben
  • MESSAGE_ID: Die Nachrichten-ID

Die Ausgabe sieht so aus:

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/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 nun eine HL7v2-Nachricht in der Cloud Healthcare API gespeichert und angezeigt haben, können Sie mit dem Bereinigen fortfahren, um zu vermeiden, dass Ihrem Google Cloud-Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden.

Weitere Informationen zum Arbeiten mit HL7v2-Daten finden Sie unter Nächste Schritte.

Bereinigen

Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:

Wenn Sie ein neues Projekt für diese Kurzanleitung 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

  1. Wechseln Sie in der Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. 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

curl -X DELETE \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset"

Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

Die Ausgabe sieht so aus:

{}

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/us-central1/datasets/my-dataset" | Select-Object -Expand Content

Ersetzen Sie PROJECT_ID durch die ID des Google Cloud-Projekts, das Sie unter Vorbereitung erstellt oder ausgewählt haben.

Die Ausgabe sieht so aus:

{}

Wie ist es gelaufen?

Nächste Schritte

In den folgenden Abschnitten finden Sie allgemeine Informationen zur Cloud Healthcare API und erfahren, wie Sie Aufgaben mit der Cloud Console und dem gcloud-Befehlszeilentool ausführen:

DICOM

Fahren Sie mit dem DICOM-Leitfaden fort, um Themen wie die folgenden zu lesen:

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 fort, um Themen wie die folgenden zu lesen:

Informationen dazu, wie die Cloud Healthcare API den FHIR-Standard implementiert, finden Sie in der FHIR-Konformitätserklärung.

HL7v2

Fahren Sie mit dem HL7v2-Leitfaden fort, um Themen wie die folgenden zu lesen: