-- ============================================================= -- LIS 02 — Protocolos e ítems de resultado (catálogos) -- Crea: lab_protocolos, lab_items_resultado -- Depende de: lab_secciones (LIS 01) -- ============================================================= CREATE TABLE IF NOT EXISTS lab_protocolos ( codigo VARCHAR(20) NOT NULL, nombre VARCHAR(150) NOT NULL, cod_seccion VARCHAR(10) DEFAULT NULL, id_planilla VARCHAR(30) DEFAULT NULL COMMENT 'Identificador de plantilla de impresión', only_show_items TINYINT(1) NOT NULL DEFAULT 0, PRIMARY KEY (codigo), KEY idx_seccion (cod_seccion), CONSTRAINT fk_proto_seccion FOREIGN KEY (cod_seccion) REFERENCES lab_secciones (codigo) ON DELETE SET NULL ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Plantillas de resultado — replica PROTOCOLO Firebird'; -- ----------------------------------------------------------- CREATE TABLE IF NOT EXISTS lab_items_resultado ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, cod_protocolo VARCHAR(20) NOT NULL, nombre VARCHAR(150) NOT NULL, tipo_sexo ENUM('M','F') DEFAULT NULL COMMENT 'NULL = aplica a ambos sexos', tipo ENUM('N','T') DEFAULT NULL COMMENT 'N=numérico T=texto', medida VARCHAR(30) DEFAULT NULL, abreviatura VARCHAR(30) DEFAULT NULL, vmin_ref DECIMAL(12,4) DEFAULT NULL, vmax_ref DECIMAL(12,4) DEFAULT NULL, orden SMALLINT NOT NULL DEFAULT 0, formula VARCHAR(500) DEFAULT NULL COMMENT 'Fórmula de cálculo automático', cups_detalle VARCHAR(20) DEFAULT NULL, PRIMARY KEY (id), KEY idx_protocolo (cod_protocolo), KEY idx_orden (cod_protocolo, orden), CONSTRAINT fk_item_proto FOREIGN KEY (cod_protocolo) REFERENCES lab_protocolos (codigo) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Analitos por protocolo — replica ITEM Firebird';