ETL y API - Colegio de Químicos Farmacéuticos (CQFH)ETL and API - Honduran Pharmaceutical Chemists Association (CQFH)
Resumen
La información del Colegio de Químicos Farmacéuticos de Honduras (CQFH) vivía en archivos de Excel, lo que dificultaba consultarla, mantener su calidad y ponerla a disposición de un sistema. El objetivo fue consolidarla en una base de datos relacional y exponerla mediante una API. Proyecto realizado como consultor para Oncorp.
Mi rol
Backend Developer (consultor). Me encargué del pipeline de datos de punta a punta: desde la limpieza de los archivos de origen hasta el diseño de los objetos de base de datos y la API que los expone.
Qué construí
- Procesos ETL con SSIS y Python (pandas) para limpiar, transformar y cargar más de 100 mil registros desde Excel a SQL Server.
- Objetos de base de datos (procedimientos almacenados, vistas y funciones) para consolidar y consultar la información cargada.
- Una API REST con Laravel conectada a la base de datos para exponer la información al sistema.
Arquitectura y decisiones técnicas
- Dos herramientas complementarias de ETL: Python con pandas resuelve la limpieza y normalización de datos irregulares típicos de Excel, mientras que SSIS orquesta la carga hacia SQL Server de forma repetible.
- Lógica en la base de datos: la consolidación y las consultas se concentran en procedimientos almacenados, vistas y funciones, de modo que la API consume una interfaz estable en lugar de reglas dispersas.
- API como capa de acceso: el sistema no consulta las tablas directamente; lo hace a través de endpoints REST, lo que desacopla el modelo de datos de sus consumidores.
Resultados
- Más de 100 mil registros migrados desde hojas de cálculo a una base de datos centralizada.
- Información disponible para el sistema mediante una API REST, en lugar de archivos sueltos.
Stack
Laravel, SSIS, Python (pandas), SQL Server, API REST.
Overview
The data of the Honduran Pharmaceutical Chemists Association (CQFH) lived in Excel files, which made it hard to query, keep consistent and make available to a system. The goal was to consolidate it into a relational database and expose it through an API. Delivered as a consultant for Oncorp.
My role
Backend Developer (consultant). I owned the data pipeline end to end: from cleaning the source files to designing the database objects and the API that exposes them.
What I built
- ETL processes with SSIS and Python (pandas) to clean, transform and load more than 100k records from Excel into SQL Server.
- Database objects (stored procedures, views and functions) to consolidate and query the loaded data.
- A REST API built with Laravel connected to the database to expose the information to the system.
Architecture and technical decisions
- Two complementary ETL tools: Python with pandas handles the cleaning and normalization of the irregular data typical of Excel, while SSIS orchestrates a repeatable load into SQL Server.
- Logic in the database: consolidation and querying are concentrated in stored procedures, views and functions, so the API consumes a stable interface instead of scattered rules.
- API as the access layer: the system does not query tables directly; it goes through REST endpoints, which decouples the data model from its consumers.
Key achievements
- More than 100k records migrated from spreadsheets into a centralized database.
- Information available to the system through a REST API instead of loose files.
Stack
Laravel, SSIS, Python (pandas), SQL Server, REST API.
Tecnologías utilizadas:Technologies used:
- Laravel
- SSIS
- Python
- SQL Server
- API REST