- 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>
44 lines
2.1 KiB
SQL
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';
|