SIUD — Sistema Único Prixmasol
SIUD — Prixmasol Unified System
SIUD (Sistema Único de Datos) es una plataforma administrativa municipal desarrollada para Cartagena, Colombia. Integra múltiples módulos de gestión pública: nómina, contratos, pagos, flujos de trabajo BPM, servicios ciudadanos y más, en un único monolito Django.
Stack: Django 5.0.7 · Python 3.13+ · MSSQL 2019+ · DRF · JWT (SimpleJWT) · Timezone: America/Bogota · Idioma: Español
Arquitectura general
El sistema está dividido en dos capas principales:
- Core/ — Módulos transversales: autenticación, usuarios, menús, workflow BPM, notificaciones, pagos, registro y utilitarios.
- Apps/ — Módulos funcionales de negocio: Nómina, Citas, Proveedores, Contratos, Mercados, Adulto Mayor, Mujer, Gestión Humana, Propiedad Horizontal, Servicios Públicos, Tránsito, TIC, Activos de Información, SIGPI, SIOT e Indicadores de Gestión.
Módulos disponibles
| Módulo | Base URL | Descripción |
| Autenticación | /login/, /api/token/ | Login web y JWT para APIs |
| Home / Navegación | /, /modulos/ | Dashboard, menús y ejecución de acciones |
| Global / Maestros | /global/ | Ciudades, dependencias, CIIU, LOV |
| API SIUD | /api-siud/ | Endpoints utilitarios (ciudades, documentos) |
| Nómina | /nomina/ | Nómina completa: calendarios, conceptos, liquidación, préstamos |
| Citas | /citas/ | Sistema de citas y turnos |
| Proveedores | /proveedor/ | Registro y gestión de proveedores |
| Contratos | /contratos/ | Contratos y actos administrativos |
| Mercados | /mercados/ | Sectores, locales y contratos de plazas |
| Adulto Mayor | /adultomayor/ | Registro, centros vida e historias clínicas |
| Workflow / BPM | /workflow/ | Procesos, tareas, formularios dinámicos |
| Registro | /registro/ | Inscripción y solicitudes ciudadanas |
| Notificaciones | /notificaciones/ | Email (Azure/Graph) y SMS |
| Pagos | /pagos/ | Pasarelas de pago, recibos, webhooks |
| Gestión Humana | /gestion_humana/ | Auxilios, actividades, convocatorias |
| Mujer | /mujer/ | Gestión de casos y seguimientos |
| Propiedad Horizontal | /propiedad_horizontal/ | Novedades y registro de propiedades |
| Servicios Públicos | /servicios_publicos/ | Facturas, contratos, ubicaciones |
| Tránsito | /transito/ | Pagos, solicitudes, SISEV, DATT |
| TIC | /TIC/ | Inventario de activos tecnológicos |
| Activos de Información | /activos_informacion/ | Gestión y aprobación de activos |
| SIGPI | /sigpi/ | Gestión de inmuebles |
| SIOT | /siot/ | Carga de datos e IoT |
| Indicadores | /indicadores_gestion/ | KPIs y revisión de indicadores |
| Prixmasol Utils | /prixmasol/ | LOV, errores, reasignaciones |
Formato de respuesta estándar
La mayoría de los endpoints de acción devuelven un objeto JSON con la siguiente estructura:
{
"Mensaje": "Consulta exitosa",
"MensajeT": "Descripción adicional",
"EsCorrecto": true,
"Llave": "nombre_llave",
"Datos": { ... }
}
| Campo | Tipo | Descripción |
Mensaje | string | Mensaje corto del resultado |
MensajeT | string | Descripción detallada |
EsCorrecto | boolean | true si la operación fue exitosa |
Llave | string | Identificador del recurso afectado |
Datos | object/array | Payload de datos del resultado |
Configuración de entornos
| Entorno | Settings | Base de datos |
| Desarrollo | SIUD.settings.dev | SQLite (local) |
| Staging | SIUD.settings.staging | MSSQL (OMV) |
| Producción | SIUD.settings.prod | MSSQL 2019+ |
| CI/CD | SIUD.settings.cicd | MSSQL |
Variables de entorno (.env)
| Variable | Descripción |
DEBUG | Modo debug de Django |
DJANGO_SETTINGS_MODULE | Módulo de settings a usar |
DATABASE_URL | Cadena de conexión MSSQL o SQLite |
SECRET_KEY | Clave secreta de Django |
AZURE_APP_ID | ID de aplicación Azure (para Graph/Email) |
AWS_ACCESS_KEY_ID | Credenciales S3 para archivos |
AWS_SECRET_ACCESS_KEY | Secreto S3 |
AWS_STORAGE_BUCKET_NAME | Nombre del bucket S3 |
SITE_DOMAIN | Dominio del sitio (ej: localhost:8000) |
BPM_RECONCILE_TOKEN | Token para webhook de reconciliación BPM |
SIUD (Sistema Único de Datos) is a municipal administrative platform built for Cartagena, Colombia. It integrates multiple public management modules — payroll, contracts, payments, BPM workflows, citizen services, and more — within a single Django monolith.
Stack: Django 5.0.7 · Python 3.13+ · MSSQL 2019+ · DRF · JWT (SimpleJWT) · Timezone: America/Bogota · Language: Spanish
General architecture
The system is divided into two main layers:
- Core/ — Cross-cutting modules: auth, users, menus, BPM workflow, notifications, payments, registration, and utilities.
- Apps/ — Business functional modules: Payroll, Appointments, Suppliers, Contracts, Markets, Elderly Care, Women's Services, HR, Horizontal Property, Public Utilities, Traffic, IT, Information Assets, SIGPI, SIOT, and Management Indicators.
Available modules
| Module | Base URL | Description |
| Authentication | /login/, /api/token/ | Web login and JWT for APIs |
| Home / Navigation | /, /modulos/ | Dashboard, menus, action execution |
| Global / Masters | /global/ | Cities, dependencies, CIIU, LOV |
| SIUD API | /api-siud/ | Utility endpoints (cities, documents) |
| Payroll (Nómina) | /nomina/ | Full payroll: calendars, concepts, settlement, loans |
| Appointments (Citas) | /citas/ | Appointment and queue system |
| Suppliers | /proveedor/ | Supplier registration and management |
| Contracts | /contratos/ | Contracts and administrative acts |
| Markets | /mercados/ | Market sectors, stalls, and leases |
| Elderly Care | /adultomayor/ | Registration, care centers, clinical records |
| Workflow / BPM | /workflow/ | Processes, tasks, dynamic forms |
| Registration | /registro/ | Citizen registration and requests |
| Notifications | /notificaciones/ | Email (Azure/Graph) and SMS |
| Payments | /pagos/ | Payment gateways, receipts, webhooks |
| HR (Gestión Humana) | /gestion_humana/ | Financial assistance, activities, announcements |
| Women's Services | /mujer/ | Case management and tracking |
| Horizontal Property | /propiedad_horizontal/ | Property changes and registration |
| Public Utilities | /servicios_publicos/ | Bills, contracts, locations |
| Traffic/Transit | /transito/ | Fees, permits, SISEV, DATT |
| IT Assets | /TIC/ | Technology asset inventory |
| Information Assets | /activos_informacion/ | Asset management and approval |
| SIGPI | /sigpi/ | Real estate management |
| SIOT | /siot/ | Data loading and IoT |
| Indicators | /indicadores_gestion/ | KPIs and indicator review |
| Prixmasol Utils | /prixmasol/ | LOV, errors, reassignments |
Standard response format
Most action endpoints return a JSON object with the following structure:
{
"Mensaje": "Consulta exitosa",
"MensajeT": "Additional description",
"EsCorrecto": true,
"Llave": "key_name",
"Datos": { ... }
}
| Field | Type | Description |
Mensaje | string | Short result message |
MensajeT | string | Detailed description |
EsCorrecto | boolean | true if the operation succeeded |
Llave | string | Identifier of the affected resource |
Datos | object/array | Result data payload |
Environment configuration
| Environment | Settings | Database |
| Development | SIUD.settings.dev | SQLite (local) |
| Staging | SIUD.settings.staging | MSSQL (OMV) |
| Production | SIUD.settings.prod | MSSQL 2019+ |
| CI/CD | SIUD.settings.cicd | MSSQL |
Environment variables (.env)
| Variable | Description |
DEBUG | Django debug mode |
DJANGO_SETTINGS_MODULE | Settings module to use |
DATABASE_URL | MSSQL or SQLite connection string |
SECRET_KEY | Django secret key |
AZURE_APP_ID | Azure app ID (Graph/Email) |
AWS_ACCESS_KEY_ID | S3 credentials for file storage |
AWS_SECRET_ACCESS_KEY | S3 secret |
AWS_STORAGE_BUCKET_NAME | S3 bucket name |
SITE_DOMAIN | Site domain (e.g. localhost:8000) |
BPM_RECONCILE_TOKEN | Token for BPM reconciliation webhook |