Exporta mensajes de HL7v2 a Cloud Storage

En esta página, se describe cómo exportar mensajes de HL7v2 desde un almacén de HL7v2 a Cloud Storage. Puedes exportar mensajes HL7v2 de forma masiva a Cloud Storage para su procesamiento posterior.

Antes de comenzar

Consulta Cómo exportar mensajes HL7v2 desde Cloud Storage para conocer los roles que debes otorgar a la cuenta de servicio del agente de servicio de Cloud Healthcare.

Exporta mensajes de HL7v2 a Cloud Storage

La API de Cloud Healthcare exporta cada mensaje HL7v2 como un en un archivo NDJSON .ndjson. Los mensajes de HL7v2 se ordenan en orden cronológico por su sendTime valor.

Exporta a un bucket o una carpeta de Cloud Storage, en lugar de a un objeto, ya que la API de Cloud Healthcare puede crear varios archivos NDJSON cuando hay muchos mensajes HL7v2.

Si exportas a una carpeta de Cloud Storage que no existe, la carpeta cuando se cree.

Console

Para exportar mensajes HL7v2 a Cloud Storage, completa los siguientes pasos pasos:

  1. En la consola de Google Cloud, ve a la página Conjuntos de datos.

    Ir a Conjuntos de datos

  2. Haz clic en el conjunto de datos que contiene el almacén HL7v2 del que estás exportar mensajes HL7v2.

  3. En la lista de almacenes de datos, selecciona Exportar en la pestaña Acciones. para el almacén de HL7v2.

    Aparecerá la página Export HL7v2 messages.

  4. En la lista Proyecto, selecciona un proyecto de Cloud Storage.

  5. En la lista Ubicación, selecciona un bucket de Cloud Storage.

  6. Haz clic en Exportar para exportar las instancias de HL7v2 a la ubicación definida en Cloud Storage.

  7. Para seguir el estado de la operación, haz clic en la pestaña Operaciones. Una vez que se completa la operación, aparecerán las siguientes indicaciones:
    • La sección Estado de la operación de larga duración tiene una marca de verificación verde debajo del encabezado Aceptar.
    • La sección Descripción general tiene una marca de verificación verde y un indicador Aceptar en la misma fila que el ID de la operación.
    Si encuentras algún error, haz clic en Acciones y, luego, en Ver detalles en Cloud Logging.

Exportar mensajes HL7v2 a Cloud Storage con filtros

De forma predeterminada, la exportación de mensajes HL7v2 a Cloud Storage incluye todos los mensajes en un almacén de HL7v2 y todos los campos de cada Message .

Puedes filtrar los mensajes de HL7v2 exportados de la siguiente manera:

Exporta un subconjunto de mensajes HL7v2 con un filtro

Puedes usar los siguientes campos en tus criterios de filtro:

Puedes especificar los siguientes parámetros de filtro como criterios de filtro en el campo filter. Para conocer el filtro la sintaxis y las consultas de construcción, consulta Cadenas de consulta.

  • message_type: del campo MSH.9.1 Por ejemplo, NOT message_type = "ADT"
  • send_date: La fecha YYYY-MM-DD en la que se envió el mensaje del segmento MSH.7, especificada en la zona horaria del conjunto de datos. Por ejemplo, send_date < "2017-01-02".
  • send_time: Es la marca de tiempo en la que se envió el mensaje. Este parámetro proviene de el segmento MSH.7 del mensaje. Este parámetro usa el Formato de hora RFC 3339 para las comparaciones. Por ejemplo, send_time < "2017-01-02T00:00:00-05:00".
  • create_time: la marca de tiempo en la que se creó el mensaje en la API de Cloud Healthcare con el formato de tiempo RFC 3339 para las comparaciones. Por ejemplo: create_time < "2017-01-02T00:00:00-05:00".
  • send_facility: Es el centro de atención médica del que provino el mensaje, del segmento MSH.4. Por ejemplo, send_facility = "ABC"

En los siguientes ejemplos, se muestra cómo especificar un filtro para exportar solo mensajes de HL7v2 del tipo ADT.

REST

  1. Usa la hl7V2Stores.export. para exportar los mensajes HL7v2:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_IDEl ID de tu proyecto de Google Cloud.
    • LOCATION: La ubicación del conjunto de datos
    • DATASET_ID: El conjunto de datos superior del almacén de HL7v2
    • HL7V2_STORE_ID es el ID del almacén de HL7v2.
    • CLOUD_STORAGE_LOCATION: Es el nombre de un bucket o una carpeta de Cloud Storage en el que se escriben los mensajes HL7v2 exportados.

    Cuerpo JSON de la solicitud:

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

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

    Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:

    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

    Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

    Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:

    $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
    Este es el resultado. La respuesta contiene un identificador para un operación de larga duración (LRO). Las operaciones de larga duración se muestran cuando las llamadas de métodos pueden tardar más en completarse. Toma nota del valor de OPERATION_ID. Necesitarás este valor en el paso siguiente.

  2. Usa el método projects.locations.datasets.operations.get para obtener el estado de la operación de larga duración.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_IDEl ID de tu proyecto de Google Cloud.
    • DATASET_ID: El ID del conjunto de datos
    • LOCATION: La ubicación del conjunto de datos
    • OPERATION_ID: Es el ID que muestra la operación de larga duración.

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Ejecuta el siguiente comando:

    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

    Ejecuta el siguiente comando:

    $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

    Explorador de API

    Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.

    Este es el resultado. Cuando la respuesta contiene "done": true, significa que la operación de larga duración finalizó.

Exporta mensajes HL7v2 por campo Message

En la API de Cloud Healthcare, los mensajes de HL7v2 se almacenan en recursos Message. Puedes usar la MessageView enum para determinar qué campos del recurso Message se incluyen en cada mensaje HL7v2 exportado.

En los siguientes ejemplos, se muestra cómo usar la BASIC valor en MessageView para incluir solo el name en los mensajes HL7v2 exportados.

REST

  1. Usa la hl7V2Stores.export. para exportar los mensajes HL7v2:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_IDEl ID de tu proyecto de Google Cloud.
    • LOCATION: La ubicación del conjunto de datos
    • DATASET_ID: El conjunto de datos superior del almacén de HL7v2
    • HL7V2_STORE_ID es el ID del almacén de HL7v2.
    • CLOUD_STORAGE_LOCATION: Es el nombre de un bucket o una carpeta de Cloud Storage en el que se escriben los mensajes HL7v2 exportados.

    Cuerpo JSON de la solicitud:

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

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

    Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:

    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

    Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

    Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:

    $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
    Este es el resultado. La respuesta contiene un identificador para un operación de larga duración (LRO). Las operaciones de larga duración se muestran cuando las llamadas de métodos pueden tardar más en completarse. Toma nota del valor de OPERATION_ID. Necesitarás este valor en el paso siguiente.

  2. Usa el método projects.locations.datasets.operations.get para obtener el estado de la operación de larga duración.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_IDEl ID de tu proyecto de Google Cloud.
    • DATASET_ID: El ID del conjunto de datos
    • LOCATION: La ubicación del conjunto de datos
    • OPERATION_ID: Es el ID que muestra la operación de larga duración.

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Ejecuta el siguiente comando:

    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

    Ejecuta el siguiente comando:

    $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

    Explorador de API

    Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.

    Este es el resultado. Cuando la respuesta contiene "done": true, significa que la operación de larga duración finalizó.

Soluciona problemas de solicitudes de exportación de HL7v2

Si se producen errores durante la exportación de mensajes HL7v2, estos se registran en Cloud Logging. Para obtener más información, consulta Visualiza los registros de errores en Cloud Logging.

Si una operación de larga duración muestra un error, consulta Solución de problemas de operaciones de larga duración.