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