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>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
86ed70db34
commit
5fedd233f4
@@ -0,0 +1,28 @@
|
||||
-- =============================================================
|
||||
-- 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';
|
||||
Reference in New Issue
Block a user