Files
whatsapp/migrations/20260704_lis_02_protocolos.sql
T
Lizandro GuarnizoandClaude Sonnet 4.6 5fedd233f4 feat(lis): migración completa Firebird→MySQL + tracking de muestras en turnero
- 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>
2026-07-04 21:44:22 -05:00

44 lines
2.1 KiB
SQL

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