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:
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 HL7v2 del que estás exportar mensajes HL7v2.
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.
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.
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:
- Usa filtros para exportar un subconjunto de mensajes de HL7v2 que coincidan con un criterio de filtro. Para obtener más información, consulta Exporta un subconjunto de mensajes de HL7v2 con un filtro.
- Usa la
MessageView
. objeto para seleccionar los campos de cada elementoMessage
para exportar. Para obtener más información, consulta Exporta mensajes de 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 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 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 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
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_ID
El ID de tu proyecto de Google Cloud.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
El ID de tu proyecto de Google Cloud.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 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.
"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
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_ID
El ID de tu proyecto de Google Cloud.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
El ID de tu proyecto de Google Cloud.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 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.
"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.