Skip to content

SPS: base y transversales ​

Módulos del backend backend-seleccion-postulantes que usan todos los demás: usuarios y accesos, archivos, configuración del SGC, catálogos, aprobaciones, notificaciones y soporte.

catalogos ​

Catálogos geográficos de Bolivia. Los departamentos no están en base de datos: son constantes en seleccion_backend/constants/shared.py.

2 modelos.

Diagrama de catalogos

  • Provincia: Provincia de un departamento.
  • Municipio: Municipio de una provincia.
    Se relaciona con: Provincia.

iam_core ​

Usuarios locales del sistema y sus accesos. UsuarioBase es el espejo de la identidad del IDP (se enlaza por idp_sub, no por llave foránea, porque son bases distintas) y se sincroniza en cada inicio de sesión. Cada portal tiene su propio registro de acceso.

7 modelos.

Diagrama de iam_core

  • UsuarioBase: Usuario del sistema, copia local de la identidad del IDP (nombre, documento, contacto y si cada dato está verificado).
  • AccesoAdministrativo: Rol en el portal administrativo (sysadmin, director, UFOR, etc.) y su cargo.
    Se relaciona con: UsuarioBase.
  • AccesoComisiones: Rol en el portal de comisiones (miembro, psicólogo, coordinador informático).
    Se relaciona con: UsuarioBase.
  • AccesoPostulante: Acceso al portal de postulantes.
    Se relaciona con: UsuarioBase.
  • PrivilegioUsuario: Privilegio puntual que no da acceso a un portal (por ejemplo, reporte histórico).
    Se relaciona con: UsuarioBase.
  • PKCEAuthorizationRequest: Solicitud de autorización PKCE en curso hacia el IDP (state, nonce, code_verifier).
  • SesionLocal: Sesión local de un usuario (hash de la cookie) con los tokens del IDP cifrados.
    Se relaciona con: UsuarioBase.

document_engine ​

Todos los archivos del sistema: documentos subidos por usuarios y documentos generados (PDF de resoluciones, planillas, actas). Casi todos los demás módulos apuntan a DocumentoUsuario.

3 modelos.

Diagrama de document_engine

  • DocumentoUsuario: Archivo de un usuario o generado por el sistema, con su miniatura y código de verificación.
    Se relaciona con: UsuarioBase (iam_core).
  • DocumentoUsuarioSegment: Segmento de un archivo subido por partes.
    Se relaciona con: DocumentoUsuario.
  • TokenDocumentoActivo: Token de acceso vigente a un documento privado, para poder rotarlo.
    Se relaciona con: DocumentoUsuario.

sgc ​

Configuración del Sistema de Gestión de Calidad (ISO 9001): versiones del SGC, procedimientos, registros con su plantilla de documento, estructura del CV, parámetros de evaluación, plazos, comisiones habilitadas y reprogramaciones. Las convocatorias toman una versión vigente.

13 modelos.

Diagrama de sgc

  • SGC: Versión del Sistema de Gestión de Calidad.
    Se relaciona con: UsuarioBase (iam_core).
  • ProcedimientoSGC: Procedimiento del SGC (recepción de postulaciones, elaboración de convocatoria, etc.).
    Se relaciona con: SGC.
  • RegistroSGC: Registro (formulario o documento oficial) de un procedimiento, con su código y versión.
    Se relaciona con: UsuarioBase (iam_core), ProcedimientoSGC.
  • ApartadoCV: Apartado del currículum vitae definido en el SGC.
    Se relaciona con: UsuarioBase (iam_core), RegistroSGC.
  • TipoAcreditacionCurricular: Tipo de acreditación que se puede cargar en un apartado del CV.
    Se relaciona con: UsuarioBase (iam_core), ApartadoCV.
  • CampoAcreditacionCurricular: Campo que pide un tipo de acreditación.
    Se relaciona con: UsuarioBase (iam_core), TipoAcreditacionCurricular.
  • PlantillaRegistroSGC: Plantilla (JSON del editor) con la que se genera el documento de un registro.
    Se relaciona con: UsuarioBase (iam_core), RegistroSGC.
  • VariablePlantillaSGC: Variable o bloque disponible en la plantilla.
    Se relaciona con: PlantillaRegistroSGC.
  • VersionProcedimientoSGC: Versión de un procedimiento con su vigencia; la convocatoria y cada fase usan una.
    Se relaciona con: UsuarioBase (iam_core), ProcedimientoSGC.
  • ConfigParametrosEvaluacion: Puntaje asignado y mínimo de superación por criterio de evaluación.
    Se relaciona con: VersionProcedimientoSGC.
  • ParametrizacionPlazosProcedimiento: Plazos del procedimiento y umbrales de alerta (semaforización).
    Se relaciona con: VersionProcedimientoSGC.
  • ComisionHabilitada: Tipo de comisión habilitada en el procedimiento, su quórum y si acepta excusas.
    Se relaciona con: VersionProcedimientoSGC.
  • ConfigReprogramacion: Si se aceptan reprogramaciones en entrevista o evaluación psicológica.
    Se relaciona con: VersionProcedimientoSGC.

aprobacion_documentos ​

Lado local de la aprobación de documentos: qué documento se envió al IDP para aprobar, de qué objeto del sistema proviene (relación genérica) y el resultado.

3 modelos.

Diagrama de aprobacion_documentos

  • DocumentoOficial: Documento enviado al IDP para aprobación y sus hashes.
    Se relaciona con: DocumentoUsuario (document_engine).
  • AprobacionDocumentos: Solicitud de aprobación ligada a cualquier objeto del sistema (relación genérica).
    Se relaciona con: ContentType (contenttypes), UsuarioBase (iam_core).
  • AprobacionSolicitadaDocumentoOficial: Resultado por documento: aprobado, fecha y metadatos de la firma.
    Se relaciona con: AprobacionDocumentos, DocumentoOficial, DocumentoUsuario (document_engine).

notificaciones ​

Lado local de las notificaciones: qué se pidió notificar al IDP, a quién, con qué adjuntos y el estado de cada envío.

4 modelos.

Diagrama de notificaciones

  • SolicitudNotificacion: Notificación pedida al IDP desde cualquier objeto del sistema.
    Se relaciona con: ContentType (contenttypes), UsuarioBase (iam_core).
  • DocumentoAdjuntoSolicitadoNotificacion: Documento adjunto a la notificación.
    Se relaciona con: DocumentoOficial (aprobacion_documentos), SolicitudNotificacion.
  • DestinatarioSolicitadoNotificacion: Usuario destinatario.
    Se relaciona con: UsuarioBase (iam_core), SolicitudNotificacion.
  • EnvioSolicitadoNotificacion: Estado de cada envío por canal.
    Se relaciona con: DestinatarioSolicitadoNotificacion.

custodio_integration ​

Versiones del programa Custodio (cifrado del banco de preguntas) publicadas para descarga.

1 modelo.

Diagrama de custodio_integration

  • VersionCustodio: Versión de Custodio para Linux y Windows con sus hashes.
    Se relaciona con: UsuarioBase (iam_core).

interoperabilidad ​

Servicios externos consultados por el sistema (por ejemplo, fuentes de datos de acefalías).

1 modelo.

Diagrama de interoperabilidad

  • ServicioInteroperableExterno: Servicio externo, su endpoint y credencial de acceso.

consultas ​

Preguntas frecuentes por categoría y casos de ayuda de los usuarios, con su historial de actualizaciones.

5 modelos.

Diagrama de consultas

  • CategoriaPreguntaFrecuente: Categoría de preguntas frecuentes.
  • PreguntaFrecuente: Pregunta frecuente y su respuesta.
    Se relaciona con: CategoriaPreguntaFrecuente.
  • ImagenCasoAyuda: Imagen adjunta a un caso de ayuda.
    Se relaciona con: UsuarioBase (iam_core).
  • CasoAyuda: Caso de ayuda abierto por un usuario y su estado.
    Se relaciona con: CategoriaPreguntaFrecuente, ImagenCasoAyuda, UsuarioBase (iam_core).
  • ActualizacionCasoAyuda: Movimiento del caso (mensaje, cambio de estado).
    Se relaciona con: CasoAyuda, ImagenCasoAyuda, UsuarioBase (iam_core).