-- 008 (L15-L17): episodio quirúrgico, pedidos de kit, PROMs
CREATE TABLE IF NOT EXISTS episodios (
  id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  cirujano_id BIGINT UNSIGNED NOT NULL,
  user_id BIGINT UNSIGNED NOT NULL,
  articulacion ENUM('cadera','rodilla','hombro','columna','tobillo','codo','atm') NOT NULL,
  procedimiento_texto VARCHAR(200) NULL,
  fecha_prevista DATE NULL,
  fecha_intervencion DATE NULL,
  estado ENUM('planificado','realizado','cancelado') NOT NULL DEFAULT 'planificado',
  producto_id BIGINT UNSIGNED NULL,
  lote VARCHAR(80) NULL,
  udi VARCHAR(120) NULL,
  lado ENUM('izquierda','derecha','bilateral','na') DEFAULT 'na',
  notas VARCHAR(500) NULL,
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  KEY idx_ep_c (cirujano_id, estado), KEY idx_ep_u (user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS kit_pedidos (
  id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  episodio_id BIGINT UNSIGNED NOT NULL,
  fabricante_id BIGINT UNSIGNED NULL,
  detalle VARCHAR(500) NOT NULL,
  estado ENUM('solicitado','confirmado','enviado','entregado','devuelto','cancelado') NOT NULL DEFAULT 'solicitado',
  historial JSON NULL,
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  KEY idx_kit (episodio_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS prom_envios (
  id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  cuestionario_id BIGINT UNSIGNED NOT NULL,
  episodio_id BIGINT UNSIGNED NULL,
  user_id BIGINT UNSIGNED NOT NULL,
  momento VARCHAR(20) NOT NULL,          -- pre, s1, s2, s4, s6, s12, s26, s52
  programado_para DATE NOT NULL,
  respondido_at DATETIME NULL,
  respuestas JSON NULL,
  puntuacion DECIMAL(5,2) NULL,
  UNIQUE KEY uq_prom (user_id, episodio_id, momento),
  KEY idx_prom_prog (programado_para, respondido_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
