- Migraciones LIS 01-08: schema completo del nuevo LIS (secciones, protocolos, ítems de resultado, perfiles, tarifas, empresas, histórico transaccional) - ETL Firebird→MySQL: script CLI con conversión WIN1252→UTF-8, batches de 500, resolución de FKs y deduplicación de pacientes - turnero_muestras: tracking pendiente/recibida/rechazada por tipo de tubo - lugar.php: widget de recepción de muestras (solo tipo=muestras) - update_muestra_estado.php: API para marcar estado de muestra - create_solicitud.php: auto-crea muestras al guardar solicitud - get_consentimientos.php: incluye muestras[] en el response - 6 vistas SQL: v_muestras_hoy, v_recepcion_completa, v_examen_precio, etc. - numero_orden en encabezado del formulario firmado (D-/F- color diferenciado) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
51 lines
2.6 KiB
SQL
51 lines
2.6 KiB
SQL
-- =============================================================
|
|
-- 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);
|