-- =============================================================
-- 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';
