En esta página se describe cómo exportar por lotes recursos FHIR a BigQuery con fines de exploración y análisis. La operación de exportación crea una tabla de BigQuery para cada tipo de recurso FHIR de tu almacén FHIR.
Para mejorar el rendimiento de las consultas y reducir los costes, puede exportar recursos FHIR a tablas con particiones. Para obtener instrucciones, consulta Exportar recursos FHIR a tablas con particiones.
Si exportas recursos FHIR de forma programada, te recomendamos que exportes tus datos de forma incremental. Para obtener instrucciones, consulta Exportaciones incrementales.
Configurar permisos de BigQuery
Antes de exportar recursos FHIR a BigQuery, debes conceder permisos adicionales a la cuenta de servicio del agente de servicio de Cloud Healthcare. Para obtener más información, consulta Permisos de BigQuery para almacenes FHIR.
Entender el comportamiento de las exportaciones
El comportamiento de la operación de exportación depende de lo siguiente:
- Indica si la tabla de destino existe.
- Si has definido el campo
force
. - Si especificas un enum en
WriteDisposition
. Si especificas un enum, no definas el campoforce
.
El comportamiento en cada caso es el siguiente:
- La tabla de destino existe y
force
tiene el valortrue
: la operación de exportación sobrescribe la tabla - La tabla de destino existe y
force
está definido comofalse
: se produce un error - La tabla de destino no existe: la operación de exportación crea una tabla, independientemente de si especificas el campo
force
La tabla de destino existe y has definido
WriteDisposition
comoWRITE_TRUNCATE
oWRITE_APPEND
: la operación de exportación se realiza correctamente en lugar de devolver un error.
Con esta operación se genera una tabla de BigQuery para cada tipo de recurso del almacén FHIR.
Exportar recursos FHIR por lotes
En los ejemplos siguientes se muestra cómo exportar recursos FHIR a una tabla de BigQuery.
Cuando especifique el destino de BigQuery, utilice el URI completo:
bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID
Consola
Para exportar recursos FHIR a BigQuery mediante laGoogle Cloud consola, sigue estos pasos:
En la Google Cloud consola, ve a la página Conjuntos de datos.
Haga clic en el conjunto de datos que contenga el almacén FHIR con los datos que quiere exportar.
En la misma fila que el almacén FHIR, abre la lista Acciones y selecciona Exportar.
En la página Exportar recursos FHIR que aparece, busca la sección Seleccionar un destino. Selecciona Tabla de BigQuery.
En la sección Disposición de escritura de la tabla de destino, seleccione una de las siguientes opciones para determinar el comportamiento de la operación de exportación:
- Exportar datos solo si las tablas de destino están vacías: equivale a seleccionar el enum
WRITE_EMPTY
enWriteDisposition
. - Añadir datos a las tablas de destino: equivale a seleccionar el enum
WRITE_APPEND
enWriteDisposition
. - Borrar todos los datos de las tablas de destino antes de escribir los recursos FHIR: equivale a seleccionar la enumeración
WRITE_TRUNCATE
enWriteDisposition
.
- Exportar datos solo si las tablas de destino están vacías: equivale a seleccionar el enum
En la sección Configuración de exportación de FHIR, haga clic en Examinar para seleccionar el proyecto y el conjunto de datos de BigQuery.
En el menú desplegable Tipo de esquema, seleccione el esquema de salida de la tabla de BigQuery. Están disponibles los siguientes esquemas:
- Analytics Un esquema basado en el documento SQL on FHIR. Como BigQuery solo permite 10.000 columnas por tabla, no se generan esquemas para los campos
Parameters.parameter.resource
,Bundle.entry.resource
yBundle.entry.response.outcome
. - Analytics V2. Un esquema similar al de Analytics, con compatibilidad adicional para lo siguiente:
- Extensiones con varios valores para el mismo
url
- Recursos FHIR contenidos
- Extensiones con varios valores para el mismo
- Analytics Un esquema basado en el documento SQL on FHIR. Como BigQuery solo permite 10.000 columnas por tabla, no se generan esquemas para los campos
Selecciona un nivel de profundidad en el control deslizante Profundidad de la estructura recursiva para definir la profundidad de todas las estructuras recursivas del esquema de salida. De forma predeterminada, el valor recursivo es 2.
Para obtener más información, consulta
recursiveStructureDepth
.Haz clic en Exportar para exportar recursos FHIR a BigQuery.
- Para hacer un seguimiento del estado de la operación, haga clic en la pestaña Operaciones. Una vez que se haya completado 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 en el encabezado OK.
- La sección Resumen tiene una marca de verificación verde y un indicador OK en la misma fila que el ID de operación.
gcloud
Para exportar recursos FHIR a BigQuery, ejecuta el comando
gcloud healthcare fhir-stores export bq
.
Exporta los recursos FHIR.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
- PROJECT_ID: el ID de tu Google Cloud proyecto
- LOCATION: la ubicación del conjunto de datos
- DATASET_ID: el conjunto de datos superior del almacén FHIR
- FHIR_STORE_ID: el ID del almacén FHIR
- BIGQUERY_DATASET_ID: el nombre del conjunto de datos de BigQuery al que va a exportar los recursos FHIR
- SCHEMA_TYPE: un valor para
SchemaType
. Usa uno de los siguientes valores:analytics
. Un esquema basado en el documento SQL on FHIR. Como BigQuery solo permite 10.000 columnas por tabla, no se generan esquemas para los camposParameters.parameter.resource
,Bundle.entry.resource
yBundle.entry.response.outcome
.analytics_v2
. Un esquema similar aanalytics
con compatibilidad adicional para lo siguiente:- Extensiones con campos repetidos
- Recursos FHIR contenidos
analytics-v2
usa más espacio en la tabla de destino queanalytics
.
- WRITE_DISPOSITION: un valor para
WriteDisposition
. Usa uno de los siguientes valores:write-empty
. Solo exporta datos si las tablas de BigQuery de destino están vacías.write-truncate
. Borra todos los datos de las tablas de BigQuery antes de escribir los recursos FHIR.write-append
. Añade datos a las tablas de BigQuery de destino.
- FHIR_RESOURCE_TYPE: campo opcional. Especifique uno o varios tipos de recursos FHIR separados por comas para exportar solo los recursos FHIR de esos tipos.
- SINCE_TIMESTAMP: campo opcional. Especifique un valor con el formato
YYYY-MM-DDThh:mm:ss.sss+zz:zz
para exportar solo los recursos FHIR actualizados después de una hora concreta. Especifica la hora hasta el segundo e incluye una zona horaria. Por ejemplo,2015-02-07T13:28:17.239+02:00
y2017-01-01T00:00:00Z
son horas válidas.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud healthcare fhir-stores export bq FHIR_STORE_ID \ --location=LOCATION \ --dataset=DATASET_ID \ --bq-dataset=bq://PROJECT_ID.BIGQUERY_DATASET_ID \ --schema-type=SCHEMA_TYPE \ --write-disposition=WRITE_DISPOSITION \ --resource-type=FHIR_RESOURCE_TYPE \ --since=SINCE_TIMESTAMP
Windows (PowerShell)
gcloud healthcare fhir-stores export bq FHIR_STORE_ID ` --location=LOCATION ` --dataset=DATASET_ID ` --bq-dataset=bq://PROJECT_ID.BIGQUERY_DATASET_ID ` --schema-type=SCHEMA_TYPE ` --write-disposition=WRITE_DISPOSITION ` --resource-type=FHIR_RESOURCE_TYPE ` --since=SINCE_TIMESTAMP
Windows (cmd.exe)
gcloud healthcare fhir-stores export bq FHIR_STORE_ID ^ --location=LOCATION ^ --dataset=DATASET_ID ^ --bq-dataset=bq://PROJECT_ID.BIGQUERY_DATASET_ID ^ --schema-type=SCHEMA_TYPE ^ --write-disposition=WRITE_DISPOSITION ^ --resource-type=FHIR_RESOURCE_TYPE ^ --since=SINCE_TIMESTAMP
name
cuando finaliza la exportación. Anota el valor deOPERATION_ID
. Necesitarás este valor en el siguiente paso.Respuesta
Request issued for: [FHIR_STORE_ID] Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID] to complete...⠏ name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
Para ver más detalles sobre la operación, ejecuta el siguiente comando:
gcloud healthcare operations describe
y proporciona el OPERATION_ID de la respuesta.Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
- PROJECT_ID: el ID de tu Google Cloud proyecto
- DATASET_ID: el ID del conjunto de datos
- LOCATION: la ubicación del conjunto de datos
- OPERATION_ID: el ID devuelto por la operación de larga duración
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud healthcare operations describe OPERATION_ID \ --project=PROJECT_ID \ --dataset=DATASET_ID \ --location=LOCATION
Windows (PowerShell)
gcloud healthcare operations describe OPERATION_ID ` --project=PROJECT_ID ` --dataset=DATASET_ID ` --location=LOCATION
Windows (cmd.exe)
gcloud healthcare operations describe OPERATION_ID ^ --project=PROJECT_ID ^ --dataset=DATASET_ID ^ --location=LOCATION
Deberías recibir una respuesta similar a la siguiente:
Respuesta
done: true // If there were any errors, an `error` field displays instead of a `response` field. // See Troubleshooting long-running operations for a list of response codes. error: ERROR code: ERROR_CODE message: DESCRIPTION metadata: '@type': 'type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata' apiMethodName: 'google.cloud.healthcare.v1.fhir.FhirStoreService.ExportResources_bq' counter: success: 'SUCCESS_COUNT' // If there were any failures, they display in the `failure` field. failure: 'FAILURE_COUNT' createTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ' endTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ' logsUrl: https://console.cloud.google.com/CLOUD_LOGGING_URL name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID // The `response` field only displays if there were no errors. response: '@type': 'type.googleapis.com/google.cloud.healthcare.v1.fhir.ExportResourcesResponse'
REST
Para exportar recursos FHIR a BigQuery, usa el método
projects.locations.datasets.fhirStores.export
.
Exporta los recursos FHIR:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID de tu Google Cloud proyecto
- LOCATION: la ubicación del conjunto de datos
- DATASET_ID: el conjunto de datos superior del almacén FHIR
- FHIR_STORE_ID: el ID del almacén FHIR
- BIGQUERY_DATASET_ID: el nombre del conjunto de datos de BigQuery al que va a exportar los recursos FHIR
- SCHEMA_TYPE: un valor para
SchemaType
. Usa uno de los siguientes valores:ANALYTICS
. Un esquema basado en el documento SQL on FHIR. Como BigQuery solo permite 10.000 columnas por tabla, no se generan esquemas para los camposParameters.parameter.resource
,Bundle.entry.resource
yBundle.entry.response.outcome
.ANALYTICS_V2
. Un esquema similar aANALYTICS
con compatibilidad adicional para lo siguiente:- Extensiones con varios valores para el mismo
url
- Recursos FHIR contenidos
.ANALYTICS_V2
usa más espacio en la tabla de destino queANALYTICS
- Extensiones con varios valores para el mismo
- WRITE_DISPOSITION: un valor para
WriteDisposition
. Usa uno de los siguientes valores:WRITE_EMPTY
. Solo exporta datos si las tablas de BigQuery de destino están vacías.WRITE_TRUNCATE
. Borra todos los datos de las tablas de BigQuery antes de escribir los recursos FHIR.WRITE_APPEND
. Añade datos a las tablas de BigQuery de destino.
- FHIR_RESOURCE_TYPE: campo opcional. Especifique uno o varios tipos de recursos FHIR separados por comas para exportar solo los recursos FHIR de esos tipos.
- SINCE_TIMESTAMP: campo opcional. Especifique un valor con el formato
YYYY-MM-DDThh:mm:ss.sss+zz:zz
para exportar solo los recursos FHIR actualizados después de una hora concreta. Especifica la hora hasta el segundo e incluye una zona horaria. Por ejemplo,2015-02-07T13:28:17.239+02:00
y2017-01-01T00:00:00Z
son horas válidas.
Cuerpo JSON de la solicitud:
{ "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", }, "writeDisposition": "WRITE_DISPOSITION" }, "_type": "FHIR_RESOURCE_TYPE", "_since": "SINCE_TIMESTAMP" }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el siguiente comando en el terminal para crear o sobrescribir este archivo en el directorio actual:cat > request.json << 'EOF' { "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", }, "writeDisposition": "WRITE_DISPOSITION" }, "_type": "FHIR_RESOURCE_TYPE", "_since": "SINCE_TIMESTAMP" } EOF
A continuación, ejecuta el siguiente comando para enviar tu solicitud 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/fhirStores/FHIR_STORE_ID:export"PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el siguiente comando en el terminal para crear o sobrescribir este archivo en el directorio actual:@' { "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", }, "writeDisposition": "WRITE_DISPOSITION" }, "_type": "FHIR_RESOURCE_TYPE", "_since": "SINCE_TIMESTAMP" } '@ | Out-File -FilePath request.json -Encoding utf8
A continuación, ejecuta el siguiente comando para enviar tu solicitud 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/fhirStores/FHIR_STORE_ID:export" | Select-Object -Expand ContentExplorador de APIs
Copia el cuerpo de la solicitud y abre la página de referencia del método. El panel Explorador de APIs se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Pega el cuerpo de la solicitud en esta herramienta, rellena los campos obligatorios y haz clic en Ejecutar.
OPERATION_ID
. Necesitarás este valor en el siguiente paso.Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID de tu Google Cloud proyecto
- DATASET_ID: el ID del conjunto de datos
- LOCATION: la ubicación del conjunto de datos
- OPERATION_ID: el ID devuelto por la operación de larga duración
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
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 comando siguiente:
$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 APIs
Abre la página de referencia del método. El panel Explorador de APIs se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Rellena los campos obligatorios y haz clic en Ejecutar.
"done": true
, la operación de larga duración ha finalizado.
Exportar recursos FHIR a tablas particionadas
Para exportar recursos FHIR a tablas particionadas de BigQuery, define la enumeración TimePartitioning
en el campo lastUpdatedPartitionConfig
de tu almacén FHIR.
Las tablas con particiones funcionan como las tablas con particiones por unidad de tiempo de BigQuery.
Las tablas particionadas tienen una columna adicional llamada lastUpdated
, que es un duplicado de la columna meta.lastUpdated
, que se genera a partir del campo meta.lastUpdated
de un recurso FHIR. BigQuery usa la lastUpdated
columna para crear particiones de tablas por hora, día, mes o año.
Consulta Seleccionar una partición diaria, por hora, mensual o anual para ver recomendaciones sobre cómo elegir la granularidad de una partición.
No puedes convertir tablas de BigQuery que ya tengas y que no estén particionadas en tablas particionadas. Si exportas los cambios del recurso Patient a una tabla Patients
sin particiones y, más adelante, creas un almacén FHIR con particiones de tabla que exporta datos al mismo conjunto de datos de BigQuery, la API Cloud Healthcare seguirá exportando datos a la tabla Patients
sin particiones. Para empezar a usar una tabla con particiones, elimina la tabla Patients
o usa otro conjunto de datos de BigQuery.
Si añade particiones a una configuración de almacén FHIR, podrá seguir exportando datos a tablas sin particiones. Sin embargo, la creación de particiones solo se aplicará a las tablas nuevas.
En los ejemplos siguientes se muestra cómo exportar recursos FHIR a tablas con particiones de BigQuery.
Consola
La consola de Google Cloud y la CLI de gcloud no admiten esta acción. En su lugar, usa curl
, PowerShell o el lenguaje que prefieras.
gcloud
La consola de Google Cloud y la CLI de gcloud no admiten esta acción. En su lugar, usa curl
, PowerShell o el lenguaje que prefieras.
REST
Para exportar recursos FHIR a tablas particionadas de BigQuery, usa el método
projects.locations.datasets.fhirStores.export
.
Exporta los recursos FHIR:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID de tu Google Cloud proyecto
- LOCATION: la ubicación del conjunto de datos
- DATASET_ID: el conjunto de datos superior del almacén FHIR
- FHIR_STORE_ID: el ID del almacén FHIR
- BIGQUERY_DATASET_ID: el nombre del conjunto de datos de BigQuery al que va a exportar los recursos FHIR
- SCHEMA_TYPE: un valor para
SchemaType
. Usa uno de los siguientes valores:ANALYTICS
. Un esquema basado en el documento SQL on FHIR. Como BigQuery solo permite 10.000 columnas por tabla, no se generan esquemas para los camposParameters.parameter.resource
,Bundle.entry.resource
yBundle.entry.response.outcome
.ANALYTICS_V2
. Un esquema similar aANALYTICS
con compatibilidad adicional para lo siguiente:- Extensiones con varios valores para el mismo
url
- Recursos FHIR contenidos
.ANALYTICS_V2
usa más espacio en la tabla de destino queANALYTICS
- Extensiones con varios valores para el mismo
- TIME_PARTITION_TYPE: la granularidad con la que se particionan los recursos FHIR exportados. Usa uno de los siguientes valores:
HOUR
: particiona los datos por horasDAY
: particiona los datos por díaMONTH
: particiona los datos por mesYEAR
: particiona los datos por año
- WRITE_DISPOSITION: un valor para
WriteDisposition
. Usa uno de los siguientes valores:WRITE_EMPTY
: solo exporta datos si la tabla de BigQuery está vacía.WRITE_TRUNCATE
: borra todos los datos de la tabla de BigQuery antes de escribir las instancias DICOM.WRITE_APPEND
: añade datos a la tabla de BigQuery.
Cuerpo JSON de la solicitud:
{ "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", "lastUpdatedPartitionConfig": { "type": "TIME_PARTITION_TYPE" } }, "writeDisposition": "WRITE_DISPOSITION" } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el siguiente comando en el terminal para crear o sobrescribir este archivo en el directorio actual:cat > request.json << 'EOF' { "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", "lastUpdatedPartitionConfig": { "type": "TIME_PARTITION_TYPE" } }, "writeDisposition": "WRITE_DISPOSITION" } } EOF
A continuación, ejecuta el siguiente comando para enviar tu solicitud 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/fhirStores/FHIR_STORE_ID:export"PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el siguiente comando en el terminal para crear o sobrescribir este archivo en el directorio actual:@' { "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", "lastUpdatedPartitionConfig": { "type": "TIME_PARTITION_TYPE" } }, "writeDisposition": "WRITE_DISPOSITION" } } '@ | Out-File -FilePath request.json -Encoding utf8
A continuación, ejecuta el siguiente comando para enviar tu solicitud 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/fhirStores/FHIR_STORE_ID:export" | Select-Object -Expand ContentExplorador de APIs
Copia el cuerpo de la solicitud y abre la página de referencia del método. El panel Explorador de APIs se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Pega el cuerpo de la solicitud en esta herramienta, rellena los campos obligatorios y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la 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 los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID de tu Google Cloud proyecto
- DATASET_ID: el ID del conjunto de datos
- LOCATION: la ubicación del conjunto de datos
- OPERATION_ID: el ID devuelto por la operación de larga duración
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
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 comando siguiente:
$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 APIs
Abre la página de referencia del método. El panel Explorador de APIs se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Rellena los campos obligatorios y haz clic en Ejecutar.
"done": true
, la operación de larga duración ha finalizado.
Consultar una tabla con particiones
Para reducir los costes de las consultas en tablas con particiones, usa la cláusula WHERE
para filtrar por unidades de tiempo.
Por ejemplo, supongamos que asignas el valor DAY
al enum PartitionType
.
Para consultar una tabla Patients
de recursos Patient que se actualizaron en una fecha específica, ejecuta la siguiente consulta:
SELECT * FROM `PROJECT_ID.BIGQUERY_DATASET.Patients` WHERE DATE(lastUpdated) = 'YYYY-MM-DD'
Exportaciones incrementales
Puedes especificar una marca de tiempo para exportar solo los recursos FHIR que se hayan añadido a tu almacén FHIR desde una exportación anterior que se haya completado correctamente. De esta forma, se mejora el rendimiento y se evitan los costes de volver a exportar todo el almacén FHIR, al tiempo que se asegura de que los datos exportados estén siempre actualizados.
Cuando llames a fhirStores.export
, especifica la marca de tiempo en el campo _since
.
Consultar y analizar datos FHIR en BigQuery
Después de exportar los recursos FHIR a BigQuery, consulta la solución Analizar datos FHIR en BigQuery para obtener información sobre cómo consultar y analizar los datos exportados. La solución usa el conjunto de datos público Synthea™ Generated Synthetic Data in FHIR, que contiene más de un millón de registros de pacientes sintéticos generados en los formatos Synthea™ y FHIR.
Solucionar problemas con las solicitudes de exportación de FHIR
Si se producen errores durante una solicitud de exportación de FHIR, se registran en Cloud Logging. Para obtener más información, consulta Ver registros de errores en Cloud Logging.
Si toda la operación devuelve un error, consulta Solucionar problemas de operaciones de larga duración.
No se puede convertir una columna de NULLABLE a REPEATED
Este error se debe a que la extensión se ha repetido. Para resolver este error, usa el tipo de esquema ANALYTICS_V2
. Si usas ANALYTICS_V2
, puede que haya un conflicto entre dos extensiones o entre una extensión y otro campo.
Los nombres de las columnas se generan a partir del texto que aparece después del último carácter /
en las URLs de extensión. Si una URL de extensión termina con un valor como /resource_field name
, puede producirse un conflicto. \
Para evitar que se vuelva a producir este error, no uses extensiones si sus nombres de campo son los mismos que los de los campos de recursos que estás rellenando.
Siguientes pasos
- Para obtener más información sobre la gestión y la seguridad de los datos en BigQuery, consulta el resumen de la seguridad y la gestión de los datos.