Exportación de los datos de FHIR
Mediante la operación masiva $export
en el servicio FHIR®, puede exportar datos como se describe en la especificación HL7 FHIR Bulk Data Access.
Antes de intentar usar $export
, asegúrese de que el servicio FHIR esté configurado para conectarse con una cuenta de Azure Data Lake Storage Gen2. Para configurar las opciones de exportación y crear una cuenta de Data Lake Storage Gen2, consulte Configuración de las opciones de exportación.
Llamada al punto de $export
conexión
Después de configurar el servicio FHIR para conectarse a una cuenta de Data Lake Storage Gen2, puede llamar al $export
punto de conexión y el servicio FHIR exportará datos a un contenedor de Azure Blob Storage dentro de la cuenta de almacenamiento. La solicitud de ejemplo siguiente exporta todos los recursos a un contenedor, que se especifica por nombre ({{containerName}}
). Nota: Debe crear el contenedor en la cuenta de Data Lake Storage Gen2 antes de especificarlo {{containerName}}
en la solicitud.
GET {{fhirurl}}/$export?_container={{containerName}}
Si no especifica un nombre de contenedor en la solicitud (por ejemplo, llamando a GET {{fhirurl}}/$export
), se creará un nuevo contenedor con un nombre generado automáticamente para los datos exportados.
Para obtener información general sobre la especificación de api de FHIR $export
, consulte la documentación del flujo de solicitud de exportación de FHIR de HL7.
El servicio FHIR admite $export
en los siguientes niveles:
- Sistema:
GET {{fhirurl}}/$export
- Paciente:
GET {{fhirurl}}/Patient/$export
- Grupo de pacientes*:
GET {{fhirurl}}/Group/[ID]/$export
*El servicio FHIR exporta todos los recursos a los que se hace referencia, pero no exporta las características del propio recurso de grupo.
Los datos se exportan en varios archivos. Cada archivo contiene recursos de solo un tipo. El número de recursos de un archivo individual es . El número máximo de recursos se basa en el rendimiento del sistema. Actualmente está establecido en 5000, pero puede cambiar.
El resultado es que puede obtener varios archivos para un tipo de recurso. Los nombres de archivo siguen el formato <resourceName>-<number>-<number>.ndjson
. No se garantiza que el orden de los archivos se corresponda con ninguna ordenación de los recursos de la base de datos.
Nota:
Patient/$export
y Group/[ID]/$export
pueden exportar recursos duplicados si un recurso está en varios grupos o en un compartimiento de más de un recurso.
Además de comprobar la presencia de archivos exportados en la cuenta de almacenamiento, puede comprobar $export
el estado de la operación a través de la dirección URL en el Content-Location
encabezado que se devuelve en la respuesta del servicio FHIR. Para obtener más información, consulte la documentación de solicitud de estado de datos masiva de HL7.
Exportación de los datos de FHIR a Data Lake Storage Gen2
Actualmente, el servicio FHIR admite $export
cuentas de Data Lake Storage Gen2, con las siguientes limitaciones:
- Data Lake Storage Gen2 proporciona espacios de nombres jerárquicos, pero no hay ninguna manera de dirigir
$export
las operaciones a un subdirectorio específico dentro de un contenedor. El servicio FHIR solo puede especificar el contenedor de destino para la exportación, donde se crea una nueva carpeta para cada$export
operación. - Una vez completada una
$export
operación y todos los datos se han escrito dentro de una carpeta, el servicio FHIR no exporta nada a esa carpeta de nuevo. Las exportaciones posteriores al mismo contenedor estarán dentro de una carpeta recién creada.
Para exportar datos a una cuenta de almacenamiento detrás de un firewall, consulte Configuración de las opciones de exportación.
Configuración y parámetros
encabezados
Se deben establecer dos parámetros de encabezado necesarios para $export
los trabajos. Los valores se establecen según la especificación de $export HL7 actual.
- Aceptar:
application/fhir+json
- Preferir:
respond-async
Parámetros de consulta
El servicio FHIR admite los siguientes parámetros de consulta para filtrar los datos exportados. Todos estos parámetros son opcionales.
Parámetro de consulta | ¿Se define mediante la especificación de FHIR? | Descripción |
---|---|---|
_outputFormat |
Sí | Actualmente admite tres valores para alinearse con la especificación de FHIR: application/fhir+ndjson , application/ndjson o simplemente ndjson . Todos los trabajos de exportación devuelven .ndjson archivos y el valor pasado no tiene ningún efecto en el comportamiento del código. |
_since |
Sí | Permite exportar solo los recursos que se han modificado desde el momento especificado. |
_type |
Sí | Permite especificar qué tipos de recursos se van a incluir. Por ejemplo, _type=Patient devolvería solo los recursos de los pacientes. |
_typeFilter |
Sí | Para solicitar el filtrado más preciso, puede usar _typeFilter junto con el _type parámetro . El valor del _typeFilter parámetro es una lista separada por comas de consultas FHIR que limitan aún más los resultados. |
_container |
No | Especifica el nombre del contenedor en la cuenta de almacenamiento configurada donde se deben exportar los datos. Si se especifica un contenedor, los datos se exportan a una carpeta de ese contenedor. Si no se especifica el contenedor, los datos se exportan a un nuevo contenedor con un nombre generado automáticamente. |
_till |
No | Permite exportar recursos que se han modificado hasta el momento especificado. Este parámetro solo es aplicable con la exportación de nivel de sistema. En este caso, si las versiones históricas no se han deshabilitado o purgado, la exportación garantiza una vista de instantánea verdadera. |
includeAssociatedData |
No | Permite exportar el historial y los recursos eliminados temporalmente. Este filtro no funciona con el parámetro de consulta "_typeFilter". Incluya el valor como "_history" para exportar recursos con versiones no recientes o del historial. Incluya el valor como "_deleted" para exportar recursos eliminados temporalmente. |
Nota:
Solo se permiten registrar cuentas de almacenamiento en la misma suscripción que el servicio FHIR que el destino de $export
las operaciones.
Solución de problemas
La siguiente información puede ayudarle a resolver problemas con la exportación de datos de FHIR.
Trabajos bloqueados en estado incorrecto
En algunas situaciones, existe la posibilidad de que un trabajo se bloquee en un estado incorrecto mientras el servicio FHIR está intentando exportar datos. Esto puede ocurrir especialmente si los permisos de la cuenta de Data Lake Storage Gen2 no se han configurado correctamente.
Una manera de comprobar el estado de la $export
operación es ir al explorador de almacenamiento de la cuenta de almacenamiento y ver si hay archivos .ndjson
presentes en el contenedor de exportación. Si los archivos no están presentes y no se están ejecutando otros $export
trabajos, es posible que el trabajo actual esté bloqueado en un estado incorrecto. En este caso, puede cancelar el $export
trabajo enviando una solicitud DELETE a la dirección URL proporcionada en el encabezado Content-Location para cancelar la solicitud.
Nota:
En el servicio FHIR, la hora predeterminada para que una $export
operación esté inactiva en un estado incorrecto es de 10 minutos antes de que el servicio detenga la operación y se mueva a un nuevo trabajo.
Pasos siguientes
En este artículo, ha aprendido a exportar recursos de FHIR mediante la $export
operación . Para obtener información sobre cómo configurar y usar otras opciones para exportar, consulte:
Nota:
FHIR® es una marca registrada de HL7 y se usa con su permiso.