-- ============================================================ -- Migration: 20260302_lab_06_autorizaciones -- Módulo Administrativo: Log de cambios de estado de órdenes -- Cada cambio de estado genera un registro aquí (trazabilidad) -- ============================================================ CREATE TABLE IF NOT EXISTS `lab_autorizaciones` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `orden_id` INT(11) NOT NULL COMMENT 'FK a lab_ordenes_medicas.id', `accion` ENUM( 'creada', 'en_revision', 'autorizada', 'rechazada', 'en_domicilio', 'completada', 'editada' ) NOT NULL, `estado_anterior` VARCHAR(50) DEFAULT NULL, `estado_nuevo` VARCHAR(50) DEFAULT NULL, `realizada_por` INT(11) DEFAULT NULL COMMENT 'FK a admin_users.id', `comentario` TEXT DEFAULT NULL, `created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `idx_aut_orden` (`orden_id`), KEY `idx_aut_admin` (`realizada_por`), KEY `idx_aut_accion` (`accion`), KEY `idx_aut_fecha` (`created_at`), CONSTRAINT `fk_aut_orden` FOREIGN KEY (`orden_id`) REFERENCES `lab_ordenes_medicas` (`id`) ON DELETE CASCADE, CONSTRAINT `fk_aut_admin` FOREIGN KEY (`realizada_por`) REFERENCES `admin_users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Historial de cambios de estado de órdenes médicas';