Salud IA Bot operates on pre-loaded local datasets stored in SQLite rather than making live queries to government APIs at request time. On first deployment, seed scripts (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/RubenDarioGuerreroNeira/Ecosistema-IA-Colombia/llms.txt
Use this file to discover all available pages before exploring further.
scripts/import-data.ts, scripts/seed-antioquia.ts, scripts/seed-vaccination.ts) parse each XML file with fast-xml-parser or xml2js and insert the structured rows into data/salud-ia-bot.db via TypeORM. At runtime, every service queries SQLite directly — no XML is parsed in hot paths. The sole exception is the air quality dataset, which may be refreshed via an external API call at runtime.
Air quality data is the only dataset that may be updated via an external API call at runtime. All other datasets require running seed scripts to refresh.
Dataset Inventory
The table below lists every XML file consumed by the application, the government system or programme that owns the data, the NestJS service that exposes it, and how often the upstream source publishes updated extracts.| File Name | Domain | Content | Service | Update Frequency |
|---|---|---|---|---|
Eventos_de_Interés_en_Salud_Pública_20260514.xml | SIVIGILA | Disease event microdatos | HealthDataService | As released by INS |
Salud_Mental.xml | Ministerio Salud | CIE-10 diagnoses and stats | MentalHealthService | Annual |
Salud_sexual_-_preguntas.xml | Internal | Sexual health Q&A pairs | SexualHealthService | Manual |
Prestadores_de_Salud_Departamento_de_Antioquia.xml | SISPRO | Antioquia providers | AntioquiaHealthService | Quarterly |
Centros_de_salud_Yopal._.xml | SISPRO | Yopal health centers | YopalHealthService | Quarterly |
SERVICIOS_OFERTADOS_RED_DE_SALUD_DEL_CENTRO_ESE_POR_SEDE_CALI.xml | SISPRO/Cali ESE | Cali services by sede | CaliHealthService | Quarterly |
servicios_salud_boyaca.xml | SISPRO | Boyacá providers | BoyacaHealthService | Quarterly |
Coberturas_administrativas_de_vacunación_por_departamento_20260528.xml | PAI | Dept vaccination coverage | VaccinationService | Annual |
Cobertura_de_Vacunación_PAI_en_el_Valle_del_Cauca.xml | PAI | Valle del Cauca vaccination | VaccinationService | Annual |
DATOS_DE_VACUNACIÓN_EN_NIÑOS_Y_NIÑAS.xml | PAI | Children vaccination data | VaccinationService | Annual |
Calidad_del_Aire_en_Colombia_(Promedio_Anual)_20260528.xml | IDEAM/External | Air quality indicators | AirQualityService | Annual |
XML Schema Example
All SIVIGILA event files follow this element structure. Each<Evento> block represents one disease-event record as reported by the national surveillance system:
scripts/import-data.ts) parses this structure and maps each field to a TypeORM entity before bulk-inserting into SQLite. Services then query the database using TypeORM repository methods — no XML parsing occurs at request time.
Seed and Migration Pipeline
The full data pipeline from raw XML to queryable SQLite proceeds in three stages:synchronize: false is set on the TypeORM data source to prevent the schema from being modified at runtime.
Data Refresh Workflow
To update any dataset to a newer government export:- Download the new XML extract from the upstream source.
- Replace the corresponding file in
data/(keep the same filename, or update the import path in the seed script). - Re-run the relevant seed script to repopulate SQLite.
- Redeploy the application so the new
data/salud-ia-bot.dbis served in production.
Data Sources and Governance
| Programme | Full Name | Website |
|---|---|---|
| SIVIGILA | Sistema Nacional de Vigilancia en Salud Pública | ins.gov.co |
| PAI | Programa Ampliado de Inmunizaciones | minsalud.gov.co |
| SISPRO | Sistema Integral de Información de la Protección Social | sispro.gov.co |
| IDEAM | Instituto de Hidrología, Meteorología y Estudios Ambientales | ideam.gov.co |