El SENA (Sistema de Evaluación de Niños y Adolescentes) es un cuestionario de 188 ítems en escala Likert de 5 puntos que mide problemas emocionales y conductuales en estudiantes de secundaria y bachillerato. PsicoScan ML implementa las 31 escalas del autoinforme de secundaria.
Escala de respuesta Likert
Cada ítem del cuestionario se responde con una de las siguientes opciones:
| Valor | Etiqueta |
|---|
| 1 | Nunca o casi nunca |
| 2 | Pocas veces |
| 3 | Algunas veces |
| 4 | Muchas veces |
| 5 | Siempre o casi siempre |
Puntuaciones T
Todas las escalas clínicas se expresan en puntuación T (media = 50, desviación estándar = 10), lo que permite comparar diferentes escalas en una misma métrica independientemente del número de ítems.
Tabla de interpretación
| Rango T | Nivel | Interpretación clínica |
|---|
| < 33 | Muy bajo | Puntuación muy por debajo de la media normativa |
| 33 – 39 | Bajo | Por debajo de la media, sin relevancia clínica |
| 40 – 59 | Normal | Rango típico de la población de referencia |
| 60 – 69 | Elevado | +1 DE sobre la media; seguimiento recomendado |
| ≥ 70 | Muy elevado / clínico | +2 DE sobre la media; intervención indicada |
El rango normal es 33 – 59. A partir de T = 60 la escala se considera elevada; a partir de T = 70, muy elevada con relevancia clínica.
Las puntuaciones T se calculan aplicando los baremos normativos del manual oficial de TEA Ediciones. PsicoScan ML trabaja con las sumas brutas de ítems para el vector de features del modelo y con las puntuaciones T precalculadas para las reglas heurísticas y la visualización.
Escalas de control
Las tres escalas de control se evalúan antes que cualquier escala clínica porque detectan patrones de respuesta que invalidan o condicionan la interpretación del resto del perfil.
| Código | Nombre | Cálculo | Umbral de alerta |
|---|
INC | Inconsistencia | Σ |resp_a − resp_b| en 10 pares semánticamente similares | INC ≥ 1.2 → AMARILLO |
NEG | Impresión negativa | Suma de 13 ítems de contenido extremo-patológico raramente endosado | NEG ≥ 5 con GLO_T ≥ 70 → ROJO |
POS | Impresión positiva | Suma de 16 ítems de ajuste excepcionalmente positivo | POS ≥ 8 → AMARILLO |
Ítems de NEG: 45, 79, 90, 95, 105, 116, 119, 122, 126, 146, 157, 166, 167
Ítems de POS: 1, 2, 7, 15, 29, 33, 54, 81, 93, 107, 143, 172, 179, 186, 187, 188
Índices globales
Seis índices que resumen áreas amplias del funcionamiento psicológico. Son puntuaciones T compuestas por varias escalas.
| Código | Nombre completo | Descripción |
|---|
GLO | Índice global | Indicador general de la severidad del perfil |
EMO | Problemas emocionales | Agrupa las escalas de internalización |
CON | Problemas conductuales | Agrupa las escalas de externalización |
EJE | Problemas de ejecución | Atención, hiperactividad y funciones ejecutivas |
CTX | Problemas contextuales | Entorno familiar, escolar y comunitario |
REC | Recursos personales | Fortalezas del estudiante (escala inversa) |
En las reglas heurísticas de PsicoScan, GLO_T y EMO_T son los índices clave para activar el nivel ROJO: GLO_T >= 60 o EMO_T >= 65 son umbrales de alerta.
Problemas interiorizados
Escalas que miden síntomas dirigidos hacia el interior del estudiante (emociones, cuerpo, cognición).
| Código | Nombre | N.º ítems | Ítems constitutivos |
|---|
DEP | Depresión | 16 | 4, 11, 14, 27, 38, 50, 58, 75, 82, 84, 85, 111, 137, 141, 153, 162 |
ANS | Ansiedad | 14 | 5, 10, 30, 34, 35, 43, 77, 83, 98, 112, 129, 132, 169, 170 |
ASC | Ansiedad social | 7 | 6, 30, 52, 64, 98, 110, 133 |
SOM | Somatización | 10 | 4, 11, 18, 48, 58, 63, 79, 121, 144, 165 |
PST | Estrés postraumático | 8 | 21, 26, 42, 71, 86, 97, 128, 140 |
OBS | Obsesivo-compulsivo | 7 | 44, 66, 101, 108, 151, 178, 184 |
DEP_T >= 70 es umbral de alerta en las reglas heurísticas; DEP_T >= 80 junto con GLO_T >= 65 activa el nivel ROJO_URGENTE.
Problemas exteriorizados
Escalas que miden conductas disruptivas o dirigidas hacia el entorno.
| Código | Nombre | N.º ítems | Ítems constitutivos |
|---|
ATE | Inatención | 10 | 8, 12, 31, 39, 65, 91, 117, 150, 155, 183 |
HIP | Hiperactividad | 10 | 3, 13, 28, 47, 67, 100, 131, 154, 161, 185 |
IRA | Ira / irritabilidad | 12 | 9, 23, 34, 51, 56, 69, 89, 114, 135, 148, 171, 176 |
AGR | Agresión | 11 | 9, 23, 49, 59, 78, 89, 103, 113, 120, 139, 168 |
DES | Conducta desafiante | 8 | 62, 68, 87, 102, 127, 138, 158, 174 |
ANT | Conducta antisocial | 10 | 25, 41, 49, 70, 78, 109, 160, 168, 173, 180 |
Otros problemas
| Código | Nombre | N.º ítems | Ítems constitutivos |
|---|
SUS | Consumo de sustancias | 6 | 55, 74, 94, 106, 142, 159 |
ESQ | Esquizotipia | 9 | 79, 90, 119, 122, 128, 149, 164, 167, 175 |
ALI | Problemas alimentarios | 8 | 16, 20, 53, 61, 88, 130, 152, 177 |
ESQ es uno de los predictores más importantes en el modelo Random Forest, asociado principalmente a ROJO_URGENTE.
Problemas contextuales
| Código | Nombre | N.º ítems | Ítems constitutivos |
|---|
FAM | Problemas familiares | 7 | 19, 40, 80, 99, 125, 134, 181 |
ESC | Problemas escolares | 7 | 36, 57, 72, 73, 123, 138, 174 |
COM | Problemas comunitarios | 5 | 24, 54, 107, 143, 172 |
Vulnerabilidades
| Código | Nombre | Descripción |
|---|
REG | Regulación emocional | Dificultades para gestionar y modular las emociones |
BUS | Búsqueda de sensaciones | Tendencia a conductas de riesgo por novedad o estimulación |
Recursos personales
Estas tres escalas miden fortalezas. Puntuaciones bajas (T < 40) tienen implicaciones clínicas porque indican ausencia de factores protectores.
| Código | Nombre | N.º ítems | Ítems constitutivos |
|---|
AUT | Autoestima | 9 | 1, 7, 15, 29, 81, 93, 179, 186, 187 |
SOC | Integración social | 9 | 7, 33, 54, 81, 93, 107, 143, 172, 188 |
CNC | Conciencia de cambio | 4 | 32, 46, 68, 156 |
AUT, SOC y CNC se agrupan bajo el índice global REC (Recursos personales). Se considera el índice de forma inversa: valores bajos de REC_T se asocian con mayor vulnerabilidad clínica.
Implementación en el código
El mapeo completo de ítems por escala se define en tres lugares del proyecto que deben mantenerse sincronizados:
# ml-api/services/clasificador.py (y scripts/entrenar_sena.py)
_ESCALAS: dict[str, list[int]] = {
"dep": [4, 11, 14, 27, 38, 50, 58, 75, 82, 84, 85, 111, 137, 141, 153, 162],
"ans": [5, 10, 30, 34, 35, 43, 77, 83, 98, 112, 129, 132, 169, 170],
# ... 19 escalas más
}
// lib/sena/scoring.ts
export const ESCALAS: Record<string, { label: string; items: number[] }> = {
dep: { label: "Depresión", items: [4, 11, 14, 27, 38, 50, 58, 75, 82, 84, 85, 111, 137, 141, 153, 162] },
// ...
}