modelo.pkl está cargado, utiliza un clasificador Random Forest entrenado sobre respuestas históricas. Si el modelo no está disponible, aplica el motor de reglas heurísticas basado en los criterios del SENA.
Cuerpo de la solicitud
Todos los campos de escala son obligatorios excepto
respuestas, edad y sexo. Cuando el modelo ML está activo, el campo respuestas es necesario para calcular los features internos; sin él, el sistema aplica las reglas heurísticas como fallback.Identificación
Identificador único del estudiante (CUID generado por Prisma).
Escalas de control
Inconsistencia. Puntuación directa de la escala INC. Si
inc >= 1.2, el caso se clasifica como INCONSISTENCIA.Impresión negativa. Puntuación directa de la escala NEG. Combinada con
glo_t >= 70 activa el tipo IMPRESION_NEGATIVA.Impresión positiva. Puntuación directa de la escala POS. Si
pos >= 8, el caso se clasifica como IMPRESION_POSITIVA.Índices globales (puntuación T)
Índice global general (GLO). Valor T — media 50, DE 10.
Índice de problemas emocionales (EMO).
Índice de problemas conductuales (CON).
Índice de problemas de ejecución (EJE).
Índice de problemas contextuales (CTX).
Índice de recursos personales (REC).
Problemas interiorizados (T)
Depresión (DEP).
Ansiedad (ANS).
Aislamiento social (ASC).
Quejas somáticas (SOM).
Sintomatología postraumática (PST).
Obsesión-compulsión (OBS).
Problemas exteriorizados (T)
Problemas de atención (ATE).
Hiperactividad-impulsividad (HIP).
Problemas de ira (IRA).
Agresión (AGR).
Conducta desafiante (DES).
Conducta antisocial (ANT).
Otros problemas (T)
Consumo de sustancias (SUS).
Esquizotipia (ESQ).
Problemas de alimentación (ALI).
Problemas contextuales (T)
Problemas familiares (FAM).
Problemas escolares (ESC).
Problemas con los compañeros (COM).
Vulnerabilidades (T)
Desregulación emocional (REG).
Búsqueda de sensaciones (BUS).
Recursos personales (T)
Autoestima (AUT).
Integración y competencia social (SOC).
Conciencia de los problemas (CNC).
Campos adicionales
Número de ítems críticos activos en el cuestionario. Si
items_criticos_count >= 15 (junto con glo_t >= 65 y dep_t >= 80), el semáforo se eleva a ROJO_URGENTE.Cadena de 188 dígitos (valores 1–5) correspondiente a las respuestas brutas del cuestionario SENA. Requerida cuando el modelo ML está activo; sin este campo, el sistema aplica las reglas heurísticas.
Edad del estudiante en años. Mejora la predicción del modelo ML. Valor por defecto interno:
15.Sexo del estudiante. Valores aceptados:
MASCULINO, FEMENINO, OTRO. Mejora la predicción del modelo ML.Respuesta
El mismo
estudiante_id recibido en la solicitud.Clasificación del tamizaje. Uno de los siguientes valores:
Nivel de riesgo visual de cuatro niveles:
Probabilidad de la clase predicha en el rango
[0, 1], redondeada a 3 decimales. Solo se incluye cuando el modelo ML Random Forest está activo; null en modo de reglas.Texto descriptivo sobre el resultado. Generado por las reglas heurísticas o por el post-procesamiento del modelo. Puede ser
null.Ejemplos
Respuesta — CON_RIESGO urgente
Respuesta — SIN_RIESGO
Respuesta — modelo ML activo (con confianza)
Errores
| Código HTTP | Descripción |
|---|---|
422 Unprocessable Entity | El cuerpo de la solicitud no cumple el esquema Pydantic (campo faltante o tipo incorrecto). |
500 Internal Server Error | Error interno durante la clasificación. El campo detail contiene el mensaje de la excepción. |
Lógica de clasificación
El servicio primero verifica si existe
ml-api/models/modelo.pkl. Si el archivo está presente, usa el Random Forest; de lo contrario aplica las reglas heurísticas. Con el modelo activo, si respuestas no se proporciona, también cae de vuelta a las reglas.Motor de reglas (fallback)
Las reglas se evalúan en este orden de prioridad:inc >= 1.2→INCONSISTENCIA/AMARILLOpos >= 8→IMPRESION_POSITIVA/AMARILLOneg >= 5yglo_t >= 70→IMPRESION_NEGATIVA/ROJO(glo_t >= 65ydep_t >= 80)oitems_criticos_count >= 15→CON_RIESGO/ROJO_URGENTEglo_t >= 60oemo_t >= 65odep_t >= 70oitems_criticos_count >= 10→CON_RIESGO/ROJO- Ninguna condición anterior →
SIN_RIESGO/VERDE
