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óduloBase URLDescripció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": { ... }
}
CampoTipoDescripción
MensajestringMensaje corto del resultado
MensajeTstringDescripción detallada
EsCorrectobooleantrue si la operación fue exitosa
LlavestringIdentificador del recurso afectado
Datosobject/arrayPayload de datos del resultado

Configuración de entornos

EntornoSettingsBase de datos
DesarrolloSIUD.settings.devSQLite (local)
StagingSIUD.settings.stagingMSSQL (OMV)
ProducciónSIUD.settings.prodMSSQL 2019+
CI/CDSIUD.settings.cicdMSSQL

Variables de entorno (.env)

VariableDescripción
DEBUGModo debug de Django
DJANGO_SETTINGS_MODULEMódulo de settings a usar
DATABASE_URLCadena de conexión MSSQL o SQLite
SECRET_KEYClave secreta de Django
AZURE_APP_IDID de aplicación Azure (para Graph/Email)
AWS_ACCESS_KEY_IDCredenciales S3 para archivos
AWS_SECRET_ACCESS_KEYSecreto S3
AWS_STORAGE_BUCKET_NAMENombre del bucket S3
SITE_DOMAINDominio del sitio (ej: localhost:8000)
BPM_RECONCILE_TOKENToken para webhook de reconciliación BPM