Importa messaggi HL7v2 da Cloud Storage

Questa pagina descrive come importare i messaggi HL7v2 da Cloud Storage in un archivio HL7v2. Importazione collettiva I messaggi HL7v2 sono più rapidi e semplici rispetto all'archiviazione individuale con l'API REST.

Prima di iniziare

Consulta Importare messaggi HL7v2 da Cloud Storage per conoscere i ruoli che devi concedere all'account di servizio Agente di servizio Cloud Healthcare.

Requisiti per il formato dei file di input

Per importare messaggi HL7v2, devi prima creare uno o più file JSON (.ndjson) delimitato da nuova riga in Cloud Storage contenente uno o più messaggi. Ogni riga del file è una singola risorsa Message che contiene un messaggio HL7v2 codificato in base64. Message la risorsa può anche includere etichette facoltative.

Ad esempio, il seguente file, denominato messages.ndjson, contiene due HL7v2 messaggi. Nel secondo messaggio è definita un'etichetta.

{"data" :"TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZXzF8QXxBfDIwMTgwMTAxMDAwMDAwfHxUWVBFXkF8MjAxODAxMDEwMDAwMDB8VHwwLjB8fHxBQXx8MDB8QVNDSUkNRVZOfEEwMHwyMDE4MDEwMTA0MDAwMA1QSUR8fDE0ATExMV5eXl5NUk58MTExMTExMTFeXl5eTVJOfjExMTExMTExMTFeXl5eT1JHTk1CUg=="}
{"data" :"TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZXzJ8QXxBfDIwMTgwMTAxMDAwMDAwfHxUWVBFXkF8MjAxODAxMDEwMDAwMDB8VHwwLjB8fHxBQXx8MDB8QVNDSUkNRVZOfEEwMHwyMDE4MDEwMTA0MDAwMA1QSUR8fDE0ATExMV5eXl5NUk58MTExMTExMTFeXl5eTVJOfjExMTExMTExMTFeXl5eT1JHTk1CUg==","labels":{"foo":"bar"}}

Importa i messaggi HL7v2

Console

Per importare messaggi HL7v2 da un bucket Cloud Storage, completa i seguenti passaggi:

  1. Nella console Google Cloud, vai alla pagina Set di dati.

    Vai a Set di dati

  2. Fai clic sul set di dati che contiene l'archivio HL7v2 a cui sei importando i messaggi HL7v2.

  3. Nell'elenco dei datastore, scegli Importa dall'elenco Azioni per l'archivio HL7v2.

    Viene visualizzata la pagina Importa nell'archivio HL7v2.

  4. Nell'elenco Progetto, seleziona un progetto Cloud Storage.

  5. Nell'elenco Località, seleziona un bucket Cloud Storage.

  6. Per impostare una posizione specifica per l'importazione dei file:

    1. Espandi Opzioni avanzate.
    2. Seleziona Override del percorso di Cloud Storage.
    3. Per impostare un'origine specifica per l'importazione dei file, definisci il percorso nella casella di testo Posizione. Puoi utilizzare i caratteri jolly per importare più file da una o più directory. Per ulteriori informazioni sulla denominazione degli oggetti, consulta le linee guida per la denominazione degli oggetti.

      Sono supportati i seguenti caratteri jolly:
      • Utilizza * per trovare una corrispondenza con 0 o più caratteri non separatori. Ad esempio: gs://BUCKET/DIRECTORY/Example*.ndjson corrisponde a Example.ndjson ed Example22.ndjson in DIRECTORY.
      • Utilizza ** per trovare una corrispondenza con 0 o più caratteri (inclusi i separatori). Deve essere utilizzato alla fine di un percorso e senza altri caratteri jolly nel percorso. Può essere utilizzato anche con un'estensione di nome file (ad esempio .ndjson), che importa tutti i file con l'estensione di nome file nella directory specificata e nelle relative sottodirectory. Ad esempio, gs://BUCKET/DIRECTORY/**.ndjson importa tutti i file con l'estensione del nome file .ndjson in DIRECTORY e nelle relative sottodirectory.
      • Utilizza ? per trovare la corrispondenza di un solo carattere. Ad esempio: gs://BUCKET/DIRECTORY/Example?.ndjson corrispondenze Example1.ndjson ma non corrispondente a Example.ndjson o Example01.ndjson.
  7. Fai clic su Importa per importare i messaggi HL7v2 dall'origine definita.

  8. Per monitorare lo stato dell'operazione, fai clic sulla scheda Operazioni. Dopo l'operazione vengono visualizzate le seguenti indicazioni:
    • La sezione Stato dell'operazione a lunga esecuzione ha un segno di spunta verde sotto la Intestazione OK.
    • Nella sezione Panoramica è presente un segno di spunta verde e un indicatore OK nella stessa riga dell'ID operazione.
    In caso di errori, fai clic su Azioni e poi su Visualizza dettagli in Cloud Logging,

API

Gli esempi riportati di seguito mostrano come importare i messaggi HL7v2 da Cloud Storage utilizzando il metodo projects.locations.datasets.hl7V2Stores.import.

Tieni presente quanto segue quando chiami l'operazione di importazione:

  • La posizione del file all'interno del bucket è arbitraria e non deve essere necessariamente siano conformi esattamente al formato specificato nei seguenti esempi.
  • Quando specifichi la posizione dei messaggi HL7v2 in Cloud Storage, puoi utilizzare caratteri jolly per importare più file da una o più directory. Sono supportati i seguenti caratteri jolly:
    • Utilizza * per trovare una corrispondenza con 0 o più caratteri non separatori. Ad esempio: gs://BUCKET/DIRECTORY/Example*.ndjson corrisponde a Example.ndjson ed Example22.ndjson in DIRECTORY.
    • Utilizza ** per trovare una corrispondenza con 0 o più caratteri (inclusi i separatori). Deve essere utilizzato alla fine di un percorso e senza altri caratteri jolly nel percorso. Può essere utilizzato anche con un'estensione di nome file (ad esempio .ndjson), che importa tutti i file con l'estensione di nome file nella directory specificata e nelle relative sottodirectory. Ad esempio, gs://BUCKET/DIRECTORY/**.ndjson importa tutti i file con l'estensione del nome file .ndjson in DIRECTORY e nelle relative sottodirectory.
    • Usa ? per trovare una corrispondenza con 1 carattere. Ad esempio: gs://BUCKET/DIRECTORY/Example?.ndjson corrispondenze Example1.ndjson ma non corrispondente a Example.ndjson o Example01.ndjson.

curl

Per importare messaggi HL7v2 in un archivio HL7v2, effettua una richiesta POST e specifica le seguenti informazioni:

  • Il nome del set di dati principale
  • Nome dell'archivio HL7v2
  • La posizione dell'oggetto in un bucket Cloud Storage
  • Un token di accesso

L'esempio seguente mostra come importare un singolo file utilizzando una richiesta POST utilizzando curl.

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data "{
      'gcsSource': {
        'uri': 'gs://BUCKET/DIRECTORY/HL7V2_MESSAGE_FILE'
      }
    }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:import"

Se la richiesta riesce, il server restituisce la risposta in formato JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
}

La risposta contiene il nome di un'operazione. Per monitorare lo stato dell'operazione, puoi utilizzare Metodo dell'operazione get:

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"

Se la richiesta riesce, il server restituisce una risposta con lo stato dell'operazione in formato JSON:

{
  "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.hl7v2.Hl7V2Service.ImportMessages",
    "createTime": "CREATE_TIME",
    "endTime": "END_TIME"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1.hl7v2.ImportMessagesResponse"
  }
}

PowerShell

Per importare messaggi HL7v2 in un archivio HL7v2, effettua una richiesta POST e specifica le seguenti informazioni:

  • Il nome del set di dati principale
  • Nome dell'archivio HL7v2
  • La posizione dell'oggetto in un bucket Cloud Storage
  • Un token di accesso

Il seguente esempio mostra come importare un singolo file utilizzando una richiesta POST con 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 "{
    'gcsSource': {
      'uri': 'gs://BUCKET/DIRECTORY/HL7V2_MESSAGE_FILE'
    }
  }" `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:import" | Select-Object -Expand Content

Se la richiesta riesce, il server restituisce la risposta in formato JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
}

La risposta contiene il nome di un'operazione. Per monitorare lo stato dell'operazione, puoi utilizzare Metodo dell'operazione get:

$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

Se la richiesta riesce, il server restituisce una risposta con lo stato dell'operazione in formato JSON:

{
  "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.hl7v2.Hl7V2Service.ImportMessages",
    "createTime": "CREATE_TIME",
    "endTime": "END_TIME"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1.hl7v2.ImportMessagesResponse"
  }
}

Risolvere i problemi relativi alle richieste di importazione HL7v2

Se si verificano errori durante l’importazione dei messaggi HL7v2, gli errori vengono registrati in Cloud Logging. Per ulteriori informazioni, consulta Visualizzazione dei log degli errori in Cloud Logging.

Se un'operazione a lunga esecuzione restituisce un errore, consulta la sezione Risoluzione dei problemi relativi alle operazioni a lunga esecuzione.