-- Tabla para manejar las derivaciones de estudios
CREATE TABLE `derivaciones` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `study_instance_uid` varchar(255) NOT NULL,
  `usuario_origen_id` int(10) NOT NULL,
  `usuario_destino_id` int(10) NOT NULL,
  `fecha_derivacion` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `activo` tinyint(1) NOT NULL DEFAULT 1,
  `comentario` text,
  `vista` tinyint(1) NOT NULL DEFAULT 0,
  `descargada` tinyint(1) NOT NULL DEFAULT 0,
  `fecha_vista` datetime NULL,
  `fecha_descarga` datetime NULL,
  PRIMARY KEY (`id`),
  FOREIGN KEY (`usuario_origen_id`) REFERENCES `usuarios`(`id`) ON DELETE CASCADE,
  FOREIGN KEY (`usuario_destino_id`) REFERENCES `usuarios`(`id`) ON DELETE CASCADE,
  UNIQUE KEY `unique_derivacion` (`study_instance_uid`, `usuario_origen_id`, `usuario_destino_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- Agregar campos de estado a tabla existente (si ya existe)
ALTER TABLE `derivaciones` ADD COLUMN `vista` tinyint(1) NOT NULL DEFAULT 0;
ALTER TABLE `derivaciones` ADD COLUMN `descargada` tinyint(1) NOT NULL DEFAULT 0;
ALTER TABLE `derivaciones` ADD COLUMN `fecha_vista` datetime NULL;
ALTER TABLE `derivaciones` ADD COLUMN `fecha_descarga` datetime NULL;