En un laboratorio farmacéutico, la aprobación de un documento no es un trámite interno: es parte del expediente que hay que poder mostrar. Un correo que dice «ok» no alcanza.
Una autoridad certificante propia
El punto de partida fue montar la infraestructura de certificados dentro de la organización, sobre EJBCA. Eso significa que los certificados los emite Eriochem y no un tercero, y que no hay costo por firma ni por usuario: firmar un documento más no cambia lo que se paga.
La contrapartida es que había que construir todo lo que una autoridad certificante necesita para ser usable por gente que no es de sistemas. Eso es lo que se desarrolló.
El usuario pide su certificado
Una pantalla dentro del repositorio donde cada persona solicita el suyo y ve en qué estado está la solicitud. Una vez aprobada, desde ahí mismo descarga su certificado y el de la entidad registrante.
Sin esa pantalla, emitir certificados queda del lado de sistemas y cada alta es un pedido por correo.
El administrador los gestiona
Una consola con todas las solicitudes y todos los certificados: aprobar, rechazar y revocar, con el historial de quién hizo qué.
La revocación es la parte que se subestima. Cuando alguien deja la organización, su certificado se revoca y deja de poder firmar — pero lo que firmó antes sigue siendo válido y verificable, que es exactamente como tiene que funcionar.
La firma, donde está el documento
Sobre la vista del documento se agregó el botón de firmar. Abre un cuadro que muestra el certificado del usuario y le deja elegir dónde va la firma dentro del PDF.
El resultado se descarga y se abre en Acrobat Reader, que muestra la firma como válida y sus datos. No hace falta nuestro software para verificarla.
Y dentro del circuito de aprobación
Es donde más rinde. En la vista de tareas de Alfresco Content Application, con los documentos listados por tipo y por sitio, aprobar una tarea firma el documento en el mismo paso.
La aprobación deja de ser un registro en una base de datos y pasa a ser un documento firmado que se sostiene solo.
Lo que hubo que construir
Nada de esto viene de fábrica. La integración entre Alfresco y EJBCA se desarrolló en Python, consumiendo la API de los dos lados, y toda la interfaz —la solicitud, la consola, el cuadro de firma y la vista de tareas— se construyó sobre ACA en Angular, por los puntos de extensión de la plataforma y sin bifurcar el producto.
