HL7v2-Nachrichten nach Cloud Storage exportieren

Auf dieser Seite wird beschrieben, wie HL7v2-Nachrichten aus einem HL7v2-Speicher nach Cloud Storage exportiert werden. Sie können HL7v2-Nachrichten für die Downstream-Verarbeitung im Bulk-Verfahren nach Cloud Storage exportieren.

Hinweise

Informationen zu den Rollen, die Sie dem Dienstkonto Cloud Healthcare Service Agent zuweisen müssen, finden Sie unter HL7v2-Nachrichten aus Cloud Storage exportieren.

HL7v2-Nachrichten nach Cloud Storage exportieren

Die Cloud Healthcare API exportiert jede HL7v2-Nachricht als Zeile in eine NDJSON-Datei .ndjson. Die HL7v2-Nachrichten sind chronologisch nach ihrem sendTime-Wert sortiert.

Exportieren Sie in einen Cloud Storage-Bucket oder -Ordner und nicht in ein Objekt, da die Cloud Healthcare API unter Umständen mehrere NDJSON-Dateien erstellt, wenn viele HL7v2-Nachrichten vorhanden sind.

Beim Export in einen nicht vorhandenen Cloud Storage-Ordner wird der Ordner erstellt.

Console

So exportieren Sie HL7v2-Nachrichten nach Cloud Storage:

  1. Rufen Sie in der Google Cloud Console die Seite Datasets auf.

    Zu „Datasets“

  2. Klicken Sie auf das Dataset mit dem HL7v2-Speicher, aus dem Sie HL7v2-Nachrichten exportieren.

  3. Wählen Sie in der Liste der Datenspeicher aus der Liste Aktionen für den HL7v2-Speicher Exportieren aus.

    Die Seite HL7v2-Nachrichten exportieren wird angezeigt.

  4. Wählen Sie in der Liste Projekt ein Cloud Storage-Projekt aus.

  5. Wählen Sie in der Liste Standort einen Cloud Storage-Bucket aus.

  6. Klicken Sie auf Exportieren, um HL7v2-Instanzen an den definierten Speicherort in Cloud Storage zu exportieren.

  7. 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.
    Falls Fehler auftreten, klicken Sie auf Aktionen und dann auf Details in Cloud Logging ansehen.

HL7v2-Nachrichten mithilfe von Filtern nach Cloud Storage exportieren

Standardmäßig umfasst der Export von HL7v2-Nachrichten nach Cloud Storage alle HL7v2-Nachrichten in einem HL7v2-Speicher und alle Felder in jedem Message-Objekt.

Sie können die exportierten HL7v2-Nachrichten so filtern:

Teilmenge von HL7v2-Nachrichten mithilfe eines Filters exportieren

Sie können die folgenden Felder in Ihren Filterkriterien verwenden:

Sie können die folgenden Filterparameter als Filterkriterium im Feld filter angeben. Informationen zur Filtersyntax und zum Erstellen von Abfragen finden Sie unter Abfragestrings.

  • message_type: aus dem Feld MSH.9.1. Beispiel: NOT message_type = "ADT".
  • send_date: das YYYY-MM-DD-Datum, an dem die Nachricht aus dem MSH.7-Segment gesendet wurde, angegeben in der Zeitzone des Datasets. Beispiel: send_date < "2017-01-02"
  • send_time: Zeitstempel für den Versand der Nachricht. Dieser Parameter stammt aus dem MSH.7-Segment der Nachricht. Für diesen Parameter wird für Vergleiche das RFC 3339-Zeitformat verwendet. Beispiel: send_time < "2017-01-02T00:00:00-05:00"
  • create_time ist der Zeitstempel, zu dem die Nachricht in der Cloud Healthcare API erstellt wurde, unter Verwendung des RFC 3339-Zeitformats für Vergleiche. Beispiel: create_time < "2017-01-02T00:00:00-05:00"
  • send_facility: das Pflegezentrum, von dem die Nachricht stammt, aus dem MSH.4-Segment. Beispiel: send_facility = "ABC".

Die folgenden Beispiele zeigen, wie Sie einen Filter angeben, um nur HL7v2-Nachrichten vom Typ ADT zu exportieren.

REST

  1. Verwenden Sie die Methode hl7V2Stores.export, um die HL7v2-Nachrichten zu exportieren:

    Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • LOCATION ist der Standort des Datasets
    • DATASET_ID ist das übergeordnete Dataset des HL7v2-Speichers
    • HL7V2_STORE_ID: die HL7v2-Speicher-ID
    • CLOUD_STORAGE_LOCATION: der Name eines Cloud Storage-Bucket oder -Ordners, in den exportierte HL7v2-Nachrichten geschrieben werden

    JSON-Text anfordern:

    {
      "gcsDestination": {
        "uriPrefix": "gs://CLOUD_STORAGE_LOCATION"
      },
      "filter": "message_type = \"ADT\""
    }
    

    Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

    curl

    Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

    cat > request.json << 'EOF'
    {
      "gcsDestination": {
        "uriPrefix": "gs://CLOUD_STORAGE_LOCATION"
      },
      "filter": "message_type = \"ADT\""
    }
    EOF

    Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:export"

    PowerShell

    Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

    @'
    {
      "gcsDestination": {
        "uriPrefix": "gs://CLOUD_STORAGE_LOCATION"
      },
      "filter": "message_type = \"ADT\""
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:export" | Select-Object -Expand Content
    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für einen Vorgang mit langer Ausführungszeit. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen zusätzliche Zeit in Anspruch nehmen kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.

  2. Mit der Methode projects.locations.datasets.operations.get können Sie den Status des Vorgangs mit langer Ausführungszeit abrufen.

    Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

    • PROJECT_ID: die ID Ihres Google Cloud-Projekts
    • DATASET_ID: die Dataset-ID
    • LOCATION: der Standort des Datasets
    • OPERATION_ID: die ID, die vom Vorgang mit langer Ausführungszeit zurückgegeben wurde

    Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

    curl

    Führen Sie folgenden Befehl aus:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Führen Sie folgenden Befehl aus:

    $cred = gcloud auth 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

    APIs Explorer

    Öffnen Sie die Referenzseite für Methoden. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe sieht so aus. Wenn die Antwort "done": true enthält, ist der Vorgang mit langer Ausführungszeit abgeschlossen.

HL7v2-Nachrichten nach Feld Message exportieren

In der Cloud Healthcare API werden HL7v2-Nachrichten in Message-Ressourcen gespeichert. Mit der Aufzählung MessageView können Sie festlegen, welche Felder in der Ressource Message in jeder exportierten HL7v2-Nachricht enthalten sind.

Die folgenden Beispiele zeigen, wie Sie mit dem Wert BASIC in MessageView nur das Feld name in die exportierten HL7v2-Nachrichten aufnehmen.

REST

  1. Verwenden Sie die Methode hl7V2Stores.export, um die HL7v2-Nachrichten zu exportieren:

    Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • LOCATION ist der Standort des Datasets
    • DATASET_ID ist das übergeordnete Dataset des HL7v2-Speichers
    • HL7V2_STORE_ID: die HL7v2-Speicher-ID
    • CLOUD_STORAGE_LOCATION: der Name eines Cloud Storage-Bucket oder -Ordners, in den exportierte HL7v2-Nachrichten geschrieben werden

    JSON-Text anfordern:

    {
      "gcsDestination": {
        "uriPrefix": "gs://CLOUD_STORAGE_LOCATION",
        "messageView": "BASIC"
      }
    }
    

    Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

    curl

    Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

    cat > request.json << 'EOF'
    {
      "gcsDestination": {
        "uriPrefix": "gs://CLOUD_STORAGE_LOCATION",
        "messageView": "BASIC"
      }
    }
    EOF

    Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:export"

    PowerShell

    Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

    @'
    {
      "gcsDestination": {
        "uriPrefix": "gs://CLOUD_STORAGE_LOCATION",
        "messageView": "BASIC"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:export" | Select-Object -Expand Content
    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für einen Vorgang mit langer Ausführungszeit. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen zusätzliche Zeit in Anspruch nehmen kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.

  2. Mit der Methode projects.locations.datasets.operations.get können Sie den Status des Vorgangs mit langer Ausführungszeit abrufen.

    Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

    • PROJECT_ID: die ID Ihres Google Cloud-Projekts
    • DATASET_ID: die Dataset-ID
    • LOCATION: der Standort des Datasets
    • OPERATION_ID: die ID, die vom Vorgang mit langer Ausführungszeit zurückgegeben wurde

    Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

    curl

    Führen Sie folgenden Befehl aus:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Führen Sie folgenden Befehl aus:

    $cred = gcloud auth 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

    APIs Explorer

    Öffnen Sie die Referenzseite für Methoden. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe sieht so aus. Wenn die Antwort "done": true enthält, ist der Vorgang mit langer Ausführungszeit abgeschlossen.

Fehlerbehebung bei HL7v2-Exportanfragen

Wenn beim Exportieren von HL7v2-Nachrichten Fehler auftreten, werden diese in Cloud Logging protokolliert. Weitere Informationen finden Sie unter Fehlerlogs in Cloud Logging ansehen.

Wenn ein Vorgang mit langer Ausführungszeit einen Fehler zurückgibt, lesen Sie Fehlerbehebung bei lang andauernden Vorgängen.