En esta página, se describe cómo exportar mensajes HL7v2 de un almacén de HL7v2 a Cloud Storage. Puedes exportar mensajes de 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 de HL7v2 como una línea en un archivo .ndjson
de NDJSON. Los mensajes HL7v2 se ordenan cronológicamente según su valor sendTime
.
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, esta se creará.
Console
Para exportar mensajes HL7v2 a Cloud Storage, completa los siguientes pasos:
En la consola de Google Cloud, ve a la página Conjuntos de datos.
Haz clic en el conjunto de datos que contiene el almacén de HL7v2 del que exportas los mensajes de HL7v2.
En la lista de almacenes de datos, selecciona Exportar en la lista Acciones para el almacén de HL7v2.
Aparecerá la página Exportar mensajes HL7v2.
En la lista Proyecto, selecciona un proyecto de Cloud Storage.
En la lista Ubicación, selecciona un bucket de Cloud Storage.
Haz clic en Exportar para exportar las instancias de HL7v2 a la ubicación definida en Cloud Storage.
- 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.
Cómo exportar mensajes HL7v2 a Cloud Storage con filtros
De forma predeterminada, exportar mensajes HL7v2 a Cloud Storage incluye todos los mensajes de HL7v2 en un almacén de HL7v2 y todos los campos de cada objeto Message
.
Puedes filtrar los mensajes HL7v2 exportados de la siguiente manera:
- Usa filtros para exportar un subconjunto de mensajes de HL7v2 que coincidan con un criterio de filtro. Para obtener más información, consulta Cómo exportar un subconjunto de mensajes HL7v2 con un filtro.
- Usa el objeto
MessageView
para seleccionar los campos de cadaMessage
que deseas exportar. Para obtener más información, consulta Cómo exportar mensajes HL7v2 por campoMessage
.
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 aprender la sintaxis del filtro y crear consultas, consulta Strings de consulta.
message_type
: del campo MSH.9.1 Por ejemplo,NOT message_type = "ADT"
send_date
: La fechaYYYY-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 del 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
: El centro de atención del que proviene 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 los mensajes de HL7v2 de tipo ADT
.
REST
Usa el método
hl7V2Stores.export
para exportar los mensajes HL7v2:Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: Es el ID de tu Google Cloud proyecto.LOCATION
: La ubicación del conjunto de datosDATASET_ID
: El conjunto de datos superior del almacén de HL7v2HL7V2_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 ContentOPERATION_ID
. Necesitarás este valor en el paso siguiente.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_ID
: Es el ID de tu Google Cloud proyecto.DATASET_ID
: El ID del conjunto de datosLOCATION
: La ubicación del conjunto de datosOPERATION_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 ContentExplorador de API
Abre la 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.
"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 enumeración MessageView
para determinar qué campos del recurso Message
se incluyen en cada mensaje HL7v2 exportado.
En los siguientes ejemplos, se muestra cómo usar el valor BASIC
en MessageView
para incluir solo el campo name
en los mensajes HL7v2 exportados.
REST
Usa el método
hl7V2Stores.export
para exportar los mensajes HL7v2:Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: Es el ID de tu Google Cloud proyecto.LOCATION
: La ubicación del conjunto de datosDATASET_ID
: El conjunto de datos superior del almacén de HL7v2HL7V2_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 ContentOPERATION_ID
. Necesitarás este valor en el paso siguiente.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_ID
: Es el ID de tu Google Cloud proyecto.DATASET_ID
: El ID del conjunto de datosLOCATION
: La ubicación del conjunto de datosOPERATION_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 ContentExplorador de API
Abre la 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.
"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.