-- ============================================================
-- TABLA: atencion_formatos
-- Descripción: Almacena múltiples formatos MSP por atención
-- Fecha: 2026-01-13
-- ============================================================

CREATE TABLE IF NOT EXISTS `atencion_formatos` (
  `id_atencion_formato` INT(11) NOT NULL AUTO_INCREMENT,
  `idatencion` INT(11) NOT NULL,
  `tipo_formato` VARCHAR(50) NOT NULL COMMENT 'MSP_001, MSP_002, MSP_008, etc.',
  `datos_json` LONGTEXT DEFAULT NULL COMMENT 'Datos del formulario en formato JSON',
  `fecha_creacion` DATETIME DEFAULT CURRENT_TIMESTAMP,
  `fecha_modificacion` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `orden` INT(11) DEFAULT 0 COMMENT 'Orden de visualización',
  `estado` ENUM('borrador', 'completado') DEFAULT 'borrador',
  `usuario_creacion` INT(11) DEFAULT NULL,
  PRIMARY KEY (`id_atencion_formato`),
  KEY `idx_idatencion` (`idatencion`),
  KEY `idx_tipo_formato` (`tipo_formato`),
  KEY `idx_estado` (`estado`),
  CONSTRAINT `fk_atencion_formatos_atencion` 
    FOREIGN KEY (`idatencion`) 
    REFERENCES `atencion` (`idatencion`) 
    ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
COMMENT='Almacena múltiples formatos MSP completados por atención';

-- Índice compuesto para búsquedas frecuentes
CREATE INDEX idx_atencion_estado ON atencion_formatos(idatencion, estado);
