Auf dieser Seite wird beschrieben, wie Sie HL7v2-Nachrichten aus einem HL7v2-Speicher nach Cloud Storage exportieren. Sie können HL7v2-Nachrichten für die nachgelagerte Verarbeitung in großen Mengen nach Cloud Storage exportieren.
Hinweise
Unter HL7v2-Nachrichten aus Cloud Storage exportieren finden Sie die Rollen, die Sie dem Dienstkonto des Cloud Healthcare Service Agent zuweisen müssen.
HL7v2-Nachrichten nach Cloud Storage exportieren
Die Cloud Healthcare API exportiert jede HL7v2-Nachricht als Zeile in einer NDJSON-Datei .ndjson. Die HL7v2-Nachrichten werden 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 möglicherweise mehrere NDJSON-Dateien erstellt, wenn viele HL7v2-Nachrichten vorhanden sind.
Wenn Sie in einen Cloud Storage-Ordner exportieren, der nicht vorhanden ist, wird der Ordner erstellt.
Console
So exportieren Sie HL7v2-Nachrichten nach Cloud Storage:
Rufen Sie in der Google Cloud Console die Seite Datasets auf.
Klicken Sie auf das Dataset mit dem HL7v2-Speicher, aus dem Sie HL7v2-Nachrichten exportieren.
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.
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 HL7v2-Instanzen an den 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.
HL7v2-Nachrichten mit Filtern nach Cloud Storage exportieren
Standardmäßig werden beim Exportieren von HL7v2-Nachrichten nach Cloud Storage alle HL7v2-Nachrichten in einem HL7v2-Speicher und alle Felder in jedem Message-Objekt exportiert.
Sie können die exportierten HL7v2-Nachrichten so filtern:
- Mit Filtern können Sie eine Teilmenge von HL7v2-Nachrichten exportieren, die einem Filterkriterium entsprechen. Weitere Informationen finden Sie unter Teilmengen von HL7v2-Nachrichten mit einem Filter exportieren.
- Verwenden Sie das Objekt
MessageView, um die Felder in jedemMessageauszuwählen, die exportiert werden sollen. Weitere Informationen finden Sie unter HL7v2-Nachrichten nachMessage-Feld exportieren.
Teilmengen von HL7v2-Nachrichten mit einem Filter exportieren
Sie können die folgenden Felder in Ihren Filterkriterien verwenden:
Sie können die folgenden Filterparameter als Filterkriterien im Feld filter angeben. Informationen zur Filtersyntax und zum Erstellen von Abfragen finden Sie unter Suchanfragen.
message_typeaus dem Feld MSH.9.1. Beispiel:NOT message_type = "ADT".send_date: DasYYYY-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: Der Zeitstempel, der angibt, wann die Nachricht gesendet wurde. Dieser Parameter stammt aus dem Segment MSH.7 der Nachricht. Für diesen Parameter wird das Zeitformat RFC 3339 für Vergleiche verwendet. Beispiel:send_time < "2017-01-02T00:00:00-05:00"create_timeist 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_facilityist das Pflegezentrum, aus dem die Nachricht stammt, aus dem MSH.4-Segment. Beispiel:send_facility = "ABC".
In den folgenden Beispielen wird gezeigt, wie Sie einen Filter angeben, um nur HL7v2-Nachrichten vom Typ ADT zu exportieren.
REST
Verwenden Sie die Methode
hl7V2Stores.export, um die HL7v2-Nachrichten zu exportieren:Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID: die ID Ihres Google Cloud -ProjektsLOCATIONist der Standort des DatasetsDATASET_IDist das übergeordnete Dataset des HL7v2-SpeichersHL7V2_STORE_IDist die HL7v2-Speicher-IDCLOUD_STORAGE_LOCATION: Der Name eines Cloud Storage-Bucket oder -Ordners, in den exportierte HL7v2-Nachrichten geschrieben werden.
JSON-Text der Anfrage:
{ "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:
Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für einen Vorgang mit langer Ausführungszeit (Long-Running Operation, LRO). 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 voncurl
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\"" } EOFFü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 utf8Fü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 ContentOPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.Mit der Methode
projects.locations.datasets.operations.getkönnen Sie den Status des Vorgangs mit langer Ausführungszeit abrufen.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID: die ID Ihres Google Cloud -ProjektsDATASET_IDist die Dataset-IDLOCATION: der Standort des DatasetsOPERATION_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:
Die Ausgabe sieht so aus. Wenn die Antwortcurl
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 ContentAPIs Explorer
Öffnen Sie die Methodenreferenzseite. 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.
"done": trueenthält, ist der Vorgang mit langer Ausführungszeit abgeschlossen.
HL7v2-Nachrichten nach dem Feld Message exportieren
In der Cloud Healthcare API werden HL7v2-Nachrichten in Message-Ressourcen gespeichert. Mit dem Enum MessageView können Sie festlegen, welche Felder in der Message-Ressource in jeder exportierten HL7v2-Nachricht enthalten sind.
In den folgenden Beispielen wird gezeigt, wie Sie den Wert BASIC in MessageView verwenden, um nur das Feld name in die exportierten HL7v2-Nachrichten aufzunehmen.
REST
Verwenden Sie die Methode
hl7V2Stores.export, um die HL7v2-Nachrichten zu exportieren:Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID: die ID Ihres Google Cloud -ProjektsLOCATIONist der Standort des DatasetsDATASET_IDist das übergeordnete Dataset des HL7v2-SpeichersHL7V2_STORE_IDist die HL7v2-Speicher-IDCLOUD_STORAGE_LOCATION: Der Name eines Cloud Storage-Bucket oder -Ordners, in den exportierte HL7v2-Nachrichten geschrieben werden.
JSON-Text der Anfrage:
{ "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION", "messageView": "BASIC" } }Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für einen Vorgang mit langer Ausführungszeit (Long-Running Operation, LRO). 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 voncurl
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" } } EOFFü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 utf8Fü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 ContentOPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.Mit der Methode
projects.locations.datasets.operations.getkönnen Sie den Status des Vorgangs mit langer Ausführungszeit abrufen.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID: die ID Ihres Google Cloud -ProjektsDATASET_IDist die Dataset-IDLOCATION: der Standort des DatasetsOPERATION_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:
Die Ausgabe sieht so aus. Wenn die Antwortcurl
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 ContentAPIs Explorer
Öffnen Sie die Methodenreferenzseite. 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.
"done": trueenthält, ist der Vorgang mit langer Ausführungszeit abgeschlossen.
Fehlerbehebung bei HL7v2-Exportanfragen
Wenn beim Exportieren von HL7v2-Nachrichten Fehler auftreten, werden die Fehler 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, finden Sie entsprechende Informationen unter Fehlerbehebung bei Vorgängen mit langer Ausführungszeit.