-- Tabla para almacenar certificados digitales de médicos
CREATE TABLE IF NOT EXISTS `certificados_medicos` (
  `idcertificado` int(11) NOT NULL AUTO_INCREMENT,
  `idempleado` int(11) NOT NULL,
  `nombre_certificado` varchar(255) NOT NULL,
  `ruta_certificado` varchar(255) NOT NULL COMMENT 'Ruta al archivo .p12 encriptado',
  `fecha_emision` date DEFAULT NULL,
  `fecha_vencimiento` date NOT NULL,
  `estado` enum('activo','vencido','revocado') DEFAULT 'activo',
  `fecha_registro` datetime DEFAULT CURRENT_TIMESTAMP,
  `ultimo_uso` datetime DEFAULT NULL,
  PRIMARY KEY (`idcertificado`),
  KEY `fk_certificado_empleado` (`idempleado`),
  FOREIGN KEY (`idempleado`) REFERENCES `persona`(`idpersona`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- Modificar tabla receta para tracking de firmas
ALTER TABLE `receta` 
ADD COLUMN IF NOT EXISTS `firmado` tinyint(1) DEFAULT 0 COMMENT '0=No firmado, 1=Firmado',
ADD COLUMN IF NOT EXISTS `fecha_firma` datetime DEFAULT NULL COMMENT 'Fecha y hora de firma',
ADD COLUMN IF NOT EXISTS `ruta_pdf_firmado` varchar(255) DEFAULT NULL COMMENT 'Ruta al PDF firmado',
ADD COLUMN IF NOT EXISTS `idempleado_firma` int(11) DEFAULT NULL COMMENT 'Médico que firmó';

-- Índices
CREATE INDEX IF NOT EXISTS idx_receta_firmado ON `receta`(`firmado`);
CREATE INDEX IF NOT EXISTS idx_receta_fecha_firma ON `receta`(`fecha_firma`);
CREATE INDEX IF NOT EXISTS idx_certificado_empleado ON `certificados_medicos`(`idempleado`);
CREATE INDEX IF NOT EXISTS idx_certificado_estado ON `certificados_medicos`(`estado`);
