- 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>
29 lines
1.5 KiB
SQL
29 lines
1.5 KiB
SQL
-- =============================================================
|
|
-- LIS 07 — Tracking de muestras por turnero (solicitud)
|
|
-- Crea: turnero_muestras
|
|
-- Depende de: turnero_solicitudes (003), lab_tipos_muestra (LIS 01)
|
|
-- =============================================================
|
|
|
|
CREATE TABLE IF NOT EXISTS turnero_muestras (
|
|
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
solicitud_id INT UNSIGNED NOT NULL
|
|
COMMENT 'FK turnero_solicitudes.id',
|
|
tipo_muestra VARCHAR(20) NOT NULL
|
|
COMMENT 'FK lab_tipos_muestra.codigo (ej: SANGRE_VENOSA, ORINA)',
|
|
estado ENUM('pendiente','recibida','rechazada')
|
|
NOT NULL DEFAULT 'pendiente',
|
|
motivo_rechazo VARCHAR(200) DEFAULT NULL
|
|
COMMENT 'Razón de rechazo (hemólisis, coagulado, volumen insuficiente…)',
|
|
recibida_por INT DEFAULT NULL
|
|
COMMENT 'FK admin_users.id — quién marcó recibida',
|
|
recibida_at DATETIME DEFAULT NULL,
|
|
creado_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (id),
|
|
UNIQUE KEY uq_solicitud_tipo (solicitud_id, tipo_muestra),
|
|
KEY idx_estado (estado),
|
|
KEY idx_solicitud (solicitud_id),
|
|
CONSTRAINT fk_tm_solicitud FOREIGN KEY (solicitud_id)
|
|
REFERENCES turnero_solicitudes (id) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
COMMENT='Estado de muestras físicas por turno — solo lugar toma de muestras';
|