De dónde viene la data.
Todas las fuentes son públicas, consultables gratuitamente, y sus datos se publican bajo licencias abiertas. No compramos ni accedemos a ningún dataset privado.
Cómo procesamos la data.
Toda la ingestión ocurre en módulos de Python que descargan directamente de las APIs y archivos oficiales de cada fuente. Cada corrida registra en la base de datos: qué fuente, qué timestamp, cuántas filas leídas, cuántas insertadas, cuántas omitidas, y el resultado final.
Los datos calculados (por ejemplo, porcentajes derivados de conteos) se computan de forma explícita con numerador y denominador almacenados — no inventamos inferencias. Cualquier persona puede replicar los cálculos directamente desde las variables Census crudas.
Usamos UPSERT idempotente — correr el mismo pipeline dos veces produce el mismo resultado. Si una API falla parcialmente, la corrida se marca como fallida y se revierten los cambios.
Cuándo un número es demasiado pequeño.
Algunos barrios de Puerto Rico tienen muestras muy pequeñas en las encuestas federales — poblaciones de menos de 100 personas son comunes. Cuando calculas un porcentaje sobre una muestra de esos tamaños, el resultado tiene un margen de error enorme.
Por eso aplicamos dos reglas:
- Supresión nativa. Cuando Census marca un valor como suprimido (códigos sentinela negativos), lo almacenamos como
NULLcon la banderais_suppressed = truey no lo mostramos en el mapa. - Umbral de confiabilidad. En la vista de barrios, los que tienen población menor a 1,000 residentes se renderizan atenuados (35% de opacidad). Sus valores siguen disponibles vía API, pero visualmente se señalan como "alta variabilidad" para no engañar al ojo con porcentajes extremos basados en 7 o 30 personas.
Lo que SaludPR todavía no puede hacer.
CDC PLACES excluye a Puerto Rico. El estándar federal para tasas de enfermedades crónicas (diabetes, hipertensión, obesidad) a nivel sub-estatal no incluye a los territorios. Esto significa que SaludPR todavía no tiene tasas directas de enfermedades crónicas a nivel municipio. Estamos evaluando alternativas: usar BRFSS a nivel territorio, integrar data de PR DoH, o colaborar con agencias federales.
Márgenes de error ACS. Los datos de ACS/PRCS vienen con intervalos de confianza que actualmente no mostramos. Para indicadores municipales son pequeños; para barrios, pueden ser significativos. Versión futura incluirá estos intervalos en los tooltips.
No todos los barrios tienen población registrada. Algunos barrios muy rurales aparecen sin valor en la columna population_latest, lo que dificulta aplicar el umbral de confiabilidad automáticamente. Esos se asumen "reliable" por default, lo cual puede ser incorrecto. Investigación en progreso.
Cómo auditar cualquier número.
Cualquier persona — periodista, investigadora, auditor — puede verificar independientemente cualquier número mostrado en SaludPR siguiendo estos pasos:
- Identifica el indicador (ej.
pct_below_poverty), el municipio o barrio, y el año. - Consulta nuestra API pública:
GET /api/metrics/pct_below_poverty?year=2023 - La respuesta incluye el valor, el numerador, el denominador y el ID de la fuente.
- Cruza ese dato contra la fuente original (ej. data.census.gov) usando los códigos de variable ACS documentados en el repositorio.
Si encuentras una discrepancia, reportala como bug en GitHub Issues. Tomamos los reportes en serio.