Archivos de datos y APIs

Los diferentes usuarios tienen diferentes necesidades cuando se trata de acceder a los datos OCDS. También debe ser posible automatizar la descarga de todos los datos OCDS, de alguna forma.

Los datos sobre La Mejores Prácticas en la Web sugiere que "los datos deben estar disponibles en múltiples formatos de datos" con el fin de aumentar el número de usuarios diferentes, las herramientas y aplicaciones que pueden procesar estos datos.

La importancia de ciertos formatos sobre otros va a depender de la prioridad de los casos de uso para cada implementación OCDS, pero lo invitamos a considerar:

  • Descargas masivas - empaquetando múltiples entregas o registros en uno o más archivos para que los usuarios los descarguen e importen en las herramientas locales.

  • Descargas de entregas y registros individuales: proporcionando una URI en la que se puede obtener cada entrega o registro.

  • CSV y serializaciones en hojas de cálculo - proveer múltiples entregas o records compilados para descargar, permitiendo a los usuarios trabajar con los datos directamente en un software de hojas de cálculo u otras herramientas

  • Acceso a través de APIs - permite el acceso interactivo a sus datos.

Descargas masivas

El paquete de entregas y el paquete de registros pueden dar acceso masivo a las entregas y registros, respectivamente.

Sin embargo, los archivos muy grandes pueden ser difíciles de descargar y procesar. En la siguiente sección se ofrecen buenas prácticas sugeridas que ayudarán a los usuarios a acceder a estos datos. Estas prácticas no son requisitos del estándar, sino que se basan en experiencias para maximizar el número de usuarios capaces de trabajar con conjuntos de datos con hardware y software existentes.

Límites de tamaño de archivo

Cuando se generan paquetes para descarga masiva, se aplican los siguientes límites:

  • Los paquetes OCDS descomprimidos no deberían de exceder 1 GB cada uno;

  • Los paquetes OCDS comprimidos no deben exceder 10 mb cada uno;

  • Un paquete OCDS único debe contener un máximo de 250,000 adjudicaciones o contratos;

Cuando es probable que un archivo exceda estos límites, las entregas o registros deben de dividirse en múltiples documentos. Las descargas masivas que se generan dinámicamente no están obligados a aplicar estos límites, aunque los publicadores deben considerar guiar a los usuarios cuando una consulta puede generar un archivo muy grande.

Segmentación de archivos

Cuando los límites sugeridos comprenden la publicación de muchos archivos, los publicadores deben considerar la manera de dividir los datos en múltiples archivos.

Para entregas, los publicadores pueden:

  1. Segmentar por fecha de entrega- poniendo todas las entregas que salieron en un mismo día, mes o año en el mismo archivo;

  2. Segmentar por identificador de proceso de contrataciones- poniendo todas las entregas relacionadas a un conjunto de identificadores de proceso de contrataciones en el mismo paquete;

Para registros, los publicadores pueden segmentar por la primera fecha de entrega asociada con un proceso de contrataciones, o por identificador de proceso de contrataciones.

Seguir estos enfoques evitará los 'saltos' entre los archivos de entregas y registros cuando se actualicen los archivos masivos.

Compresión

Los paquetes OCDS pueden comprimirse para ahorrar en espacio de disco y en ancho de banda.

Si se comprimen paquetes, los publicadores deben de usar el formato ZIP.

Servir archivos

El servidor web que da acceso a archivos masivos debe de reportar correctamente el header HTTP Last-Modified](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.29) para que al consumir aplicaciones solo se necesite descargar los archivos actualizados.

Entregas y registros individuales

Cada entrega y registro se puede disponibilizar en una URI permanente. Esto se puede lograr:

(a) Archivando un paquete de entregas con una única entrega en un sistema de archivos accesible a través de la Web al momento de ser creada, y después fusionar regularmente estas entregas para compilar archivos de registro individuales en el mismo sistema de archivos. Una manera de hacer esto podría ser tener una carpeta para cada ocid y poner las entregas y registro relacionados con ese proceso en esa carpeta.

(B) Proporcionando acceso a las entregas y registros a través de una API.

Note que el segundo enfoque necesita un API para mantener un historial de revisión completo en cada proceso de contrataciones, para que se puedan dar entregas de cada etapa del proceso de contrataciones.

Los publicadores deben considerar cómo asegurar que las URIs se mantengan estables, incluso si ocurre un cambio de sistemas.

Serializaciones planas

La página serialización proporciona detalles sobre cómo generar 'flat' versiones de datos OCDS para su uso en un software de hoja de cálculo.

Los mismos principios que se discutieron anteriormente sobre archivos masivos deben aplicarse a descargas CSV o Excel de los datos.