-- =============================================
-- Tabla: solicitudes_cei
-- Solicitudes de Evaluación de Proyectos de Investigación
-- Comité de Ética en Investigación - IPS
-- =============================================

CREATE TABLE IF NOT EXISTS `solicitudes_cei` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `numero_solicitud` VARCHAR(20) NOT NULL UNIQUE,

    -- Datos del proyecto
    `titulo_proyecto` VARCHAR(500) NOT NULL,
    `objetivo_proyecto` TEXT NOT NULL,

    -- Datos del investigador
    `investigador_nombre` VARCHAR(200) NOT NULL,
    `investigador_email` VARCHAR(150) NOT NULL,
    `investigador_telefono` VARCHAR(50) NULL,
    `especialidad` VARCHAR(200) NOT NULL,
    `institucion` VARCHAR(255) NOT NULL,
    `centro_departamento` VARCHAR(100) NOT NULL,

    -- Programa académico
    `programa_academico` ENUM('grado', 'postgrado_especializacion', 'maestria', 'doctorado', 'investigacion', 'otros') NOT NULL,
    `programa_academico_otro` VARCHAR(200) NULL,

    -- Tutor
    `tiene_tutor` TINYINT(1) DEFAULT 0,
    `tutor_nombre` VARCHAR(200) NULL,
    `tutor_email` VARCHAR(150) NULL,

    -- Financiación
    `tiene_financiacion` TINYINT(1) DEFAULT 0,
    `financiacion_detalle` TEXT NULL,

    -- Otros investigadores
    `tiene_otros_investigadores` TINYINT(1) DEFAULT 0,
    `otros_investigadores` TEXT NULL COMMENT 'JSON con lista de investigadores',

    -- Tipo de proyecto
    `tipo_proyecto` ENUM('tfc', 'multicentrico', 'institucional', 'otro') DEFAULT 'institucional',

    -- Requisitos TFC (JSON array)
    `requisitos_tfc` TEXT NULL,

    -- Requisitos Multicéntricos (JSON array)
    `requisitos_multicentricos` TEXT NULL,

    -- Archivos adjuntos (JSON con rutas)
    `archivos_adjuntos` TEXT NULL,

    -- Estado de la solicitud
    `estado` ENUM('pendiente', 'en_revision', 'observaciones', 'aprobado', 'rechazado') DEFAULT 'pendiente',
    `observaciones` TEXT NULL,
    `fecha_revision` DATETIME NULL,
    `revisado_por` INT(11) NULL,

    -- Metadatos
    `ip_solicitante` VARCHAR(45) NULL,
    `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

    PRIMARY KEY (`id`),
    INDEX `idx_estado` (`estado`),
    INDEX `idx_fecha` (`created_at`),
    INDEX `idx_investigador` (`investigador_email`),
    FOREIGN KEY (`revisado_por`) REFERENCES `usuarios`(`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Insertar configuración para numeración
INSERT INTO `configuracion` (`clave`, `valor`, `tipo`, `descripcion`) VALUES
('cei_ultimo_numero', '0', 'number', 'Último número de solicitud CEI generado')
ON DUPLICATE KEY UPDATE `clave` = `clave`;
