MODELO DE DINÁMICA DE SISTEMAS PARA LA CARACTERIZACIÓN FUNCIONAL DE PERSONAS CON DISCAPACIDAD INTEGRANDO EL MARCO BIOPSICOSOCIAL DE LA CIF Y TÉCNICAS DE INTELIGENCIA ARTIFICIAL
Sistema de clasificación computacional de discapacidad basado en la Clasificación Internacional del Funcionamiento, de la Discapacidad y de la Salud (CIF) de la Organización Mundial de la Salud (OMS).
Predecir la categoría de discapacidad y el nivel de apoyo mediante un modelo de dinámica de sistemas integrado para la caracterización funcional de personas con discapacidad, basado en los calificadores del marco biopsicosocial de la Clasificación Internacional del Funcionamiento, de la Discapacidad y de la Salud (CIF).
El objetivo general se pretende alcanzar cuando se desarrollen los siguientes objetivos específicos:
-
Construir y caracterizar un conjunto de datos representativo de perfiles funcionales de personas con discapacidad, estructurado a partir de los calificadores estandarizados de los cuatro componentes de la CIF (funciones corporales, estructuras corporales, actividades y participación, y factores ambientales), que sirva como base para el entrenamiento y evaluación de los modelos predictivos.
-
Comprender las relaciones dinámicas entre los componentes del marco biopsicosocial de la CIF mediante técnicas de dinámica de sistemas, identificando las interacciones entre funciones corporales, limitaciones en la actividad, restricciones en la participación y factores ambientales que determinan el perfil funcional y la categoría de discapacidad de un individuo.
-
Valorar comparativamente múltiples algoritmos de aprendizaje automático para la clasificación de categorías de discapacidad y niveles de apoyo requerido.
-
Identificar y cuantificar las variables del marco CIF con mayor poder predictivo en la determinación de la categoría de discapacidad y el nivel de apoyo, contribuyendo a la determinación de los factores biopsicosociales en la clasificación funcional.
- Descripción del Problema
- Marco Teórico: La CIF
- Dataset
- Problemas de Clasificación
- Metodología
- Resultados
- Instalación y Uso
- Estructura del Proyecto
- Referencias
La evaluación de la discapacidad es un proceso complejo que requiere considerar múltiples dimensiones del funcionamiento humano. Tradicionalmente, esta evaluación se realiza de manera manual por equipos multidisciplinarios, lo que puede ser:
- Subjetivo: Dependiente del criterio del evaluador
- Inconsistente: Variabilidad entre evaluadores
- Costoso: Requiere tiempo y recursos especializados
- Limitado: Difícil de escalar a grandes poblaciones
Desarrollar un sistema de clasificación computacional que permita:
- Predecir la categoría de discapacidad de una persona basándose en sus calificadores CIF
- Determinar el nivel de apoyo requerido según el perfil funcional
- Proporcionar una herramienta objetiva de apoyo a la decisión clínica
| Área | Aplicación |
|---|---|
| Clínica | Apoyo al diagnóstico y planificación de intervenciones |
| Administrativa | Asignación de recursos y servicios de rehabilitación |
| Investigación | Análisis de patrones en poblaciones con discapacidad |
| Políticas públicas | Planificación de servicios y detección de necesidades |
La Clasificación Internacional del Funcionamiento, de la Discapacidad y de la Salud (CIF) es el marco conceptual de la OMS para describir y medir la salud y la discapacidad.
┌─────────────────────────────────────────────────────────────────────────┐
│ CLASIFICACIÓN CIF │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────┐ ┌─────────────────────────────────┐ │
│ │ FUNCIONES CORPORALES │ │ ESTRUCTURAS CORPORALES │ │
│ │ (b1-b8) │ │ (s1-s8) │ │
│ ├─────────────────────────┤ ├─────────────────────────────────┤ │
│ │ b1: Mentales │ │ s1: Sistema nervioso │ │
│ │ b2: Sensoriales/dolor │ │ s2: Ojo, oído y relacionadas │ │
│ │ b3: Voz y habla │ │ s3: Voz y habla │ │
│ │ b4: Cardiovascular │ │ s4: Cardiovascular/respiratorio │ │
│ │ b5: Digestivo/endocrino │ │ s5: Digestivo/endocrino │ │
│ │ b6: Genitourinarias │ │ s6: Genitourinario │ │
│ │ b7: Neuromusculares │ │ s7: Movimiento │ │
│ │ b8: Piel │ │ s8: Piel │ │
│ └─────────────────────────┘ └─────────────────────────────────┘ │
│ │
│ ┌─────────────────────────┐ ┌─────────────────────────────────┐ │
│ │ ACTIVIDADES/PARTICIPACIÓN│ │ FACTORES AMBIENTALES │ │
│ │ (d1-d9) │ │ (e1-e5) │ │
│ ├─────────────────────────┤ ├─────────────────────────────────┤ │
│ │ d1: Aprendizaje │ │ e1: Productos y tecnología │ │
│ │ d2: Tareas generales │ │ e2: Entorno natural │ │
│ │ d3: Comunicación │ │ e3: Apoyo y relaciones │ │
│ │ d4: Movilidad │ │ e4: Actitudes │ │
│ │ d5: Autocuidado │ │ e5: Servicios y políticas │ │
│ │ d6: Vida doméstica │ │ │ │
│ │ d7: Relaciones │ │ │ │
│ │ d8: Áreas principales │ │ │ │
│ │ d9: Vida comunitaria │ │ │ │
│ └─────────────────────────┘ └─────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
| Calificador | Descripción | Porcentaje de Afectación |
|---|---|---|
| 0 | Sin problema | 0-4% |
| 1 | Problema leve | 5-24% |
| 2 | Problema moderado | 25-49% |
| 3 | Problema grave | 50-95% |
| 4 | Problema completo | 96-100% |
| Valor | Significado |
|---|---|
| -4 a -1 | Barrera (completa a leve) |
| 0 | Ni barrera ni facilitador |
| +1 a +4 | Facilitador (leve a completo) |
Dataset simulado de 100 personas con discapacidad generado siguiendo la estructura de la CIF.
| Característica | Valor |
|---|---|
| Total de registros | 100 |
| Total de columnas | 71 |
| Features numéricas | 32 |
id: Identificador úniconombre_completo: Nombre simuladoedad: Edad (5-85 años)sexo: Masculino/Femeninotipo_discapacidad: 22 tipos diferentesetiologia: Origen de la discapacidadfecha_evaluacion: Fecha de evaluación
b1_funciones_mentales
b2_funciones_sensoriales_dolor
b3_funciones_voz_habla
b4_funciones_cardiovascular_respiratorio
b5_funciones_digestivo_metabolico_endocrino
b6_funciones_genitourinarias_reproductivas
b7_funciones_neuromusculoesqueleticas_movimiento
b8_funciones_piel
s1_estructura_sistema_nervioso
s2_ojo_oido_estructuras_relacionadas
s3_estructuras_voz_habla
s4_estructura_cardiovascular_respiratorio
s5_estructuras_digestivo_metabolico_endocrino
s6_estructuras_genitourinario_reproductivo
s7_estructuras_movimiento
s8_piel_estructuras_relacionadas
d1_aprendizaje_aplicacion_conocimiento
d2_tareas_demandas_generales
d3_comunicacion
d4_movilidad
d5_autocuidado
d6_vida_domestica
d7_interacciones_relaciones_interpersonales
d8_areas_principales_vida
d9_vida_comunitaria_social_civica
e1_productos_tecnologia
e2_entorno_natural_cambios_humanos
e3_apoyo_relaciones
e4_actitudes
e5_servicios_sistemas_politicas
indice_severidad_funcional: Promedio de calificadores de funciones corporalesindice_limitacion_actividades: Promedio de calificadores de actividadesindice_global_discapacidad: Promedio generalnivel_apoyo_requerido: Mínimo, Intermitente, Limitado, Extenso
Objetivo: Predecir la categoría general de discapacidad basándose en los calificadores CIF.
┌─────────────────────────────────────┐
│ CATEGORÍAS DE DISCAPACIDAD │
├─────────────────────────────────────┤
│ • Física (24%) │
│ • Visual (19%) │
│ • Auditiva (12%) │
│ • Psicosocial (12%) │
│ • Intelectual (10%) │
│ • TEA (8%) │
│ • Enfermedad Rara (7%) │
│ • Neurodegenerativa (5%) │
│ • Múltiple (3%) │
└─────────────────────────────────────┘
Tipo de problema: Clasificación multiclase (9 clases)
Desafíos:
- Clases desbalanceadas
- Superposición de características entre categorías
- Patrones complejos de interacción entre funciones
Objetivo: Predecir el nivel de apoyo necesario para la persona.
┌────────────────┬─────────────────────────────────────────────────────┐
│ Nivel │ Descripción │
├────────────────┼─────────────────────────────────────────────────────┤
│ Mínimo │ Apoyo ocasional, independencia casi total │
│ Intermitente │ Apoyo en situaciones específicas │
│ Limitado │ Apoyo regular en áreas específicas │
│ Extenso │ Apoyo continuo en múltiples áreas │
└────────────────┴─────────────────────────────────────────────────────┘
Tipo de problema: Clasificación multiclase ordinal (4 clases)
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ CARGAR │───▶│ PREPARAR │───▶│ ESCALAR │───▶│ ENTRENAR │
│ DATOS │ │ FEATURES │ │ DATOS │ │ MODELOS │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ GUARDAR │◀───│ GENERAR │◀───│ EVALUAR │◀──────────┘
│ MODELOS │ │ REPORTES │ │ MÉTRICAS │
└─────────────┘ └─────────────┘ └─────────────┘
| Grupo | Cantidad | Escala |
|---|---|---|
| Funciones corporales | 8 | 0-4 |
| Estructuras corporales | 8 | 0-4 |
| Actividades y participación | 9 | 0-4 |
| Factores ambientales | 5 | -4 a +4 |
| Edad | 1 | Numérica |
| Sexo | 1 | Binaria |
| Modelo | Descripción |
|---|---|
| Logistic Regression | Modelo lineal multiclase |
| Random Forest | Ensemble de árboles de decisión |
| Gradient Boosting | Boosting con árboles |
| SVM (RBF) | Máquinas de vectores de soporte |
| K-Nearest Neighbors | Clasificación por vecinos cercanos |
| Decision Tree | Árbol de decisión simple |
| Neural Network (MLP) | Perceptrón multicapa |
- Accuracy: Proporción de predicciones correctas
- F1-Score (weighted): Media armónica de precisión y recall
- Precision: Verdaderos positivos / Predichos positivos
- Recall: Verdaderos positivos / Total positivos reales
- Cross-Validation (5-fold): Validación cruzada estratificada
| Modelo | Accuracy | F1-Score | CV F1 (5-fold) |
|---|---|---|---|
| K-Nearest Neighbors | 0.700 | 0.647 | 0.447 ± 0.061 |
| Random Forest | 0.650 | 0.572 | 0.470 ± 0.041 |
| Neural Network (MLP) | 0.650 | 0.566 | 0.421 ± 0.008 |
| Logistic Regression | 0.550 | 0.474 | 0.505 ± 0.009 |
| SVM (RBF) | 0.550 | 0.440 | 0.362 ± 0.003 |
| Gradient Boosting | 0.500 | 0.491 | 0.262 ± 0.024 |
| Decision Tree | 0.350 | 0.321 | 0.350 ± 0.000 |
Mejor modelo: K-Nearest Neighbors (F1: 0.647)
| Modelo | Accuracy | F1-Score | CV F1 |
|---|---|---|---|
| Todos los modelos | 0.900 | 0.853 | 0.889 |
Nota: El alto rendimiento se debe al desbalance extremo de clases (92% Intermitente).
Python >= 3.8
pandas >= 1.3.0
numpy >= 1.21.0
scikit-learn >= 1.0.0
matplotlib >= 3.4.0# Clonar repositorio
git clone https://github.com/usuario/ICF_COMPUTATIONAL_CLASSIFIER.git
cd ICF_COMPUTATIONAL_CLASSIFIER
# Instalar dependencias
pip install pandas numpy scikit-learn matplotlibpython generate_cif_dataset.pypython clasificador_discapacidad_cif.pyimport pickle
import pandas as pd
# Cargar modelo
with open('modelo_categoria_k-nearest_neighbors.pkl', 'rb') as f:
modelo_data = pickle.load(f)
modelo = modelo_data['modelo']
scaler = modelo_data['scaler']
label_encoder = modelo_data['label_encoder']
# Preparar nuevos datos
nuevos_datos = pd.DataFrame({...}) # 32 features
nuevos_datos_scaled = scaler.transform(nuevos_datos)
# Predecir
prediccion = modelo.predict(nuevos_datos_scaled)
categoria = label_encoder.inverse_transform(prediccion)
print(f"Categoría predicha: {categoria}")ICF_COMPUTATIONAL_CLASSIFIER/
│
├── README.md # Este archivo
├── generate_cif_dataset.py # Generador de dataset simulado
├── clasificador_discapacidad_cif.py # Pipeline de clasificación
│
├── dataset_cif_discapacidad_100.csv # Dataset generado
├── reporte_clasificador_cif.json # Reporte de resultados
│
├── modelo_categoria_*.pkl # Modelo entrenado (categoría)
├── modelo_apoyo_*.pkl # Modelo entrenado (apoyo)
│
├── visualizacion_cif_dataset.png # Visualización del dataset
├── visualizacion_cif_dataset_2.png # Análisis por categorías
├── visualizacion_cif_dataset_3.png # Análisis avanzado
└── resultados_clasificador_cif.png # Resultados del clasificador
- Dataset pequeño: 100 muestras limitan la generalización
- Datos simulados: No capturan toda la complejidad real
- Clases desbalanceadas: Especialmente en nivel de apoyo
- Features simplificadas: Solo calificadores numéricos
- Aumentar tamaño del dataset (>1000 muestras)
- Incorporar datos clínicos reales
- Implementar técnicas de balanceo (SMOTE, undersampling)
- Explorar deep learning para patrones complejos
- Desarrollar API REST para integración
- Crear interfaz web interactiva
- Validación con expertos clínicos
-
OMS (2001). Clasificación Internacional del Funcionamiento, de la Discapacidad y de la Salud (CIF). Organización Mundial de la Salud.
-
Stucki, G., et al. (2002). Value and application of the ICF in rehabilitation medicine. Disability and Rehabilitation.
-
Cieza, A., et al. (2004). ICF Core Sets for chronic conditions. Journal of Rehabilitation Medicine.
-
Scikit-learn Documentation. https://scikit-learn.org/stable/
Este proyecto está bajo la Licencia MIT.
Para preguntas o contribuciones, por favor abrir un issue en el repositorio.
