up
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
-- ============================================================
|
||||
-- Migration: 20260302_lab_08_roles_enfermeros
|
||||
-- Módulo Laboratorio: Rol enfermero + servicios extra
|
||||
-- ============================================================
|
||||
|
||||
-- 1. Agregar columnas role y enfermera_id a admin_users
|
||||
ALTER TABLE `admin_users`
|
||||
ADD COLUMN IF NOT EXISTS `role` ENUM('admin','enfermero') NOT NULL DEFAULT 'admin'
|
||||
COMMENT 'Rol del usuario: admin = acceso total, enfermero = solo portal propio',
|
||||
ADD COLUMN IF NOT EXISTS `enfermera_id` INT(11) NULL DEFAULT NULL
|
||||
COMMENT 'Vincula el usuario con su registro en lab_enfermeras';
|
||||
|
||||
-- Índice para lookups rápidos por rol
|
||||
ALTER TABLE `admin_users`
|
||||
ADD INDEX IF NOT EXISTS `idx_role` (`role`),
|
||||
ADD INDEX IF NOT EXISTS `idx_enf_id` (`enfermera_id`);
|
||||
|
||||
-- 2. Tabla de servicios extra (sin orden médica)
|
||||
-- El enfermero puede agregar servicios adicionales durante la visita
|
||||
CREATE TABLE IF NOT EXISTS `lab_servicios_extra` (
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`domicilio_id` INT(11) NOT NULL,
|
||||
`descripcion` VARCHAR(255) NOT NULL COMMENT 'Ej: Inyección, Cura, Nebulización',
|
||||
`tipo` ENUM(
|
||||
'inyeccion',
|
||||
'cura',
|
||||
'nebulizacion',
|
||||
'toma_muestra',
|
||||
'tension_arterial',
|
||||
'glucometria',
|
||||
'otro'
|
||||
) NOT NULL DEFAULT 'otro',
|
||||
`notas` TEXT DEFAULT NULL,
|
||||
`requiere_pago` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
`valor` DECIMAL(10,2) DEFAULT NULL,
|
||||
`realizado_por` INT(11) DEFAULT NULL COMMENT 'ID de lab_enfermeras',
|
||||
`created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_se_domicilio` (`domicilio_id`),
|
||||
KEY `idx_se_enfermera` (`realizado_por`),
|
||||
CONSTRAINT `fk_se_domicilio` FOREIGN KEY (`domicilio_id`)
|
||||
REFERENCES `lab_domicilios` (`id`) ON DELETE CASCADE,
|
||||
CONSTRAINT `fk_se_enfermera` FOREIGN KEY (`realizado_por`)
|
||||
REFERENCES `lab_enfermeras` (`id`) ON DELETE SET NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
||||
COMMENT='Servicios adicionales agregados por enfermeros durante visitas';
|
||||
Reference in New Issue
Block a user