-- ============================================================ -- Migration: 20260302_lab_01_pacientes -- Módulo Administrativo: Pacientes del laboratorio -- Extiende la tabla users (contactos WhatsApp existentes) -- ============================================================ CREATE TABLE IF NOT EXISTS `lab_pacientes` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `user_id` INT(11) DEFAULT NULL COMMENT 'FK a users.id (teléfono WhatsApp)', `numero_documento` VARCHAR(30) DEFAULT NULL COMMENT 'Cédula / NIT / Pasaporte', `tipo_documento` ENUM('CC','CE','TI','PA','NIT','RC','MS') DEFAULT 'CC', `nombre_completo` VARCHAR(150) NOT NULL, `telefono` VARCHAR(20) DEFAULT NULL, `email` VARCHAR(100) DEFAULT NULL, `fecha_nacimiento` DATE DEFAULT NULL, `genero` ENUM('M','F','O') DEFAULT NULL, `direccion` TEXT DEFAULT NULL, `ciudad` VARCHAR(100) DEFAULT NULL, `barrio` VARCHAR(100) DEFAULT NULL, `eps` VARCHAR(100) DEFAULT NULL COMMENT 'Entidad promotora de salud', `notas_admin` TEXT DEFAULT NULL COMMENT 'Notas internas del administrador', `is_active` TINYINT(1) NOT NULL DEFAULT 1, `created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `uq_numero_documento` (`numero_documento`), KEY `idx_user_id` (`user_id`), KEY `idx_nombre` (`nombre_completo`), KEY `idx_telefono` (`telefono`), KEY `idx_documento` (`numero_documento`), CONSTRAINT `fk_lab_pac_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Pacientes del laboratorio (módulo administrativo)';