-- =============================================================
-- LIS 04 — Ampliar exam_tipos y lab_pacientes con campos legacy
-- Depende de: lab_tipos_muestra (LIS 01), lab_protocolos (LIS 02)
-- =============================================================

-- -----------------------------------------------------------
-- exam_tipos: agregar campos del EXAMEN Firebird
-- -----------------------------------------------------------
ALTER TABLE exam_tipos
    ADD COLUMN IF NOT EXISTS codigo_legacy  VARCHAR(20)  DEFAULT NULL
        COMMENT 'Código original Firebird (CODIGO). Usado para ETL y mapeos.',
    ADD COLUMN IF NOT EXISTS cups           VARCHAR(20)  DEFAULT NULL
        COMMENT 'Código CUPS colombiano',
    ADD COLUMN IF NOT EXISTS cod_protocolo  VARCHAR(20)  DEFAULT NULL
        COMMENT 'FK lab_protocolos.codigo',
    ADD COLUMN IF NOT EXISTS tipo_muestra   VARCHAR(20)  DEFAULT NULL
        COMMENT 'FK lab_tipos_muestra.codigo',
    ADD COLUMN IF NOT EXISTS nivel          TINYINT      DEFAULT NULL
        COMMENT 'Nivel de complejidad (1/2/3)',
    ADD COLUMN IF NOT EXISTS abreviatura    VARCHAR(30)  DEFAULT NULL,
    ADD COLUMN IF NOT EXISTS seremite       TINYINT(1)   NOT NULL DEFAULT 0
        COMMENT '1 = se remite a laboratorio externo',
    ADD COLUMN IF NOT EXISTS serecibe       VARCHAR(50)  DEFAULT NULL
        COMMENT 'Nombre del laboratorio donde se recibe si seremite=1';

-- Índice único para buscar por código legacy durante el ETL
ALTER TABLE exam_tipos
    ADD UNIQUE KEY IF NOT EXISTS uq_codigo_legacy (codigo_legacy);

-- FK suave (no FK real para facilitar carga masiva del ETL)
ALTER TABLE exam_tipos
    ADD KEY IF NOT EXISTS idx_cod_protocolo (cod_protocolo),
    ADD KEY IF NOT EXISTS idx_tipo_muestra  (tipo_muestra);

-- -----------------------------------------------------------
-- lab_pacientes: agregar campos del PACIENTE Firebird
-- -----------------------------------------------------------
ALTER TABLE lab_pacientes
    ADD COLUMN IF NOT EXISTS codigo_legacy  VARCHAR(20)  DEFAULT NULL
        COMMENT 'CODPAC Firebird',
    ADD COLUMN IF NOT EXISTS codetnia       VARCHAR(10)  DEFAULT NULL
        COMMENT 'Código de etnia (RIPS/SISPRO)',
    ADD COLUMN IF NOT EXISTS tipores        VARCHAR(10)  DEFAULT NULL
        COMMENT 'Tipo de residencia (RIPS/SISPRO)',
    ADD COLUMN IF NOT EXISTS ocupacion      VARCHAR(100) DEFAULT NULL,
    ADD COLUMN IF NOT EXISTS es_historico   TINYINT(1)   NOT NULL DEFAULT 0
        COMMENT '1 = migrado solo de Firebird, sin cuenta en nuevo sistema';

ALTER TABLE lab_pacientes
    ADD KEY IF NOT EXISTS idx_codigo_legacy (codigo_legacy);
