- 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>
27 lines
1.2 KiB
SQL
27 lines
1.2 KiB
SQL
-- =============================================================
|
|
-- LIS 03 — Perfiles de examen (paquetes)
|
|
-- Crea: lab_perfiles, lab_perfil_examenes
|
|
-- Depende de: exam_tipos (migración 003)
|
|
-- =============================================================
|
|
|
|
CREATE TABLE IF NOT EXISTS lab_perfiles (
|
|
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
nombre VARCHAR(150) NOT NULL,
|
|
activo TINYINT(1) NOT NULL DEFAULT 1,
|
|
PRIMARY KEY (id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
COMMENT='Paquetes de exámenes — replica PERFIL Firebird';
|
|
|
|
-- -----------------------------------------------------------
|
|
|
|
CREATE TABLE IF NOT EXISTS lab_perfil_examenes (
|
|
perfil_id INT UNSIGNED NOT NULL,
|
|
exam_tipo_id INT UNSIGNED NOT NULL,
|
|
PRIMARY KEY (perfil_id, exam_tipo_id),
|
|
CONSTRAINT fk_pe_perfil FOREIGN KEY (perfil_id)
|
|
REFERENCES lab_perfiles (id) ON DELETE CASCADE,
|
|
CONSTRAINT fk_pe_exam FOREIGN KEY (exam_tipo_id)
|
|
REFERENCES exam_tipos (id) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
COMMENT='Exámenes por perfil — replica PERFIL_EXA Firebird';
|