Files
whatsapp/migrations/20260302_lab_04_domicilios.sql
2026-03-10 18:42:51 -05:00

54 lines
2.8 KiB
SQL

-- ============================================================
-- Migration: 20260302_lab_04_domicilios
-- Módulo Administrativo: Servicios a domicilio
-- ============================================================
CREATE TABLE IF NOT EXISTS `lab_domicilios` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`orden_id` INT(11) DEFAULT NULL COMMENT 'FK a lab_ordenes_medicas.id',
`paciente_id` INT(11) NOT NULL COMMENT 'FK a lab_pacientes.id',
-- Datos del domicilio
`direccion` TEXT NOT NULL,
`ciudad` VARCHAR(100) DEFAULT NULL,
`barrio` VARCHAR(100) DEFAULT NULL,
`indicaciones_dir` TEXT DEFAULT NULL COMMENT 'Referencia de la dirección',
`fecha_programada` DATE NOT NULL,
`hora_programada` TIME DEFAULT NULL,
`tipo_servicio` VARCHAR(100) DEFAULT NULL COMMENT 'Tipo de toma de muestra',
-- Estado del domicilio
`estado` ENUM(
'programado',
'confirmado',
'en_camino',
'en_domicilio',
'completado',
'cancelado',
'reprogramado'
) NOT NULL DEFAULT 'programado',
`motivo_cancelacion` TEXT DEFAULT NULL,
`fecha_reprogramada` DATE DEFAULT NULL,
-- Resultados
`hora_llegada` TIME DEFAULT NULL,
`hora_salida` TIME DEFAULT NULL,
`observaciones` TEXT DEFAULT NULL,
`muestras_tomadas` TEXT DEFAULT NULL COMMENT 'Lista de muestras obtenidas',
-- Gestión
`creado_por` INT(11) DEFAULT NULL COMMENT 'FK a admin_users.id',
`notas_admin` TEXT DEFAULT NULL,
`created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_dom_orden` (`orden_id`),
KEY `idx_dom_paciente` (`paciente_id`),
KEY `idx_dom_fecha` (`fecha_programada`),
KEY `idx_dom_estado` (`estado`),
KEY `idx_dom_creado` (`creado_por`),
CONSTRAINT `fk_dom_orden` FOREIGN KEY (`orden_id`)
REFERENCES `lab_ordenes_medicas` (`id`) ON DELETE SET NULL,
CONSTRAINT `fk_dom_paciente` FOREIGN KEY (`paciente_id`)
REFERENCES `lab_pacientes` (`id`) ON DELETE RESTRICT,
CONSTRAINT `fk_dom_creado` FOREIGN KEY (`creado_por`)
REFERENCES `admin_users` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
COMMENT='Servicios a domicilio programados';