SENAITE, el LIMS de Código Abierto para entornos profesionales. La evolución de Bika LIMS

Riding Bytes y Naralabs han unido esfuerzos para impulsar el software de gestión para laboratorios (LIMS/LIS) de código abierto a otro nivel. Hoy anunciamos la primera versión oficial de SENAITE

Hace 3 meses, Riding Bytes y Naralabs decidieron unir esfuerzos con el objetivo de impulsar el software de gestión de laboratorio (LIMS, del inglés Laboratory Information Management System) hacia otro nivel. Hoy, tras 3 meses de duro trabajo, Riding Bytes y Naralabs estamos orgullosos de anunciar la primera versión oficial de SENAITE. Este anuncio coincide con el inicio de un nuevo año, y queremos que ésta primera versión también sea el punto de partida de una nueva etapa para los LIMS de código abierto.

Por qué SENAITE?

SENAITE es un precioso cristal trigonal, con un color que vira entre el verde aceite y el negro verdoso, y con una dureza próxima a la del diamante. Si bien su descripción formal requiere de una notación compleja, tiene una estructura con formas claras y rectas. Por su naturaleza y estructura, este mineral refleja la complejidad interna del LIMS, a la vez que provee de una interfaz de usuario (UI) moderna, intuitiva y amigable, consiguiendo una experiencia de usuario (UX) única.

Qué es SENAITE?

SENAITE es un software de gestión de laboratorios para entornos empresariales. Está especialmente diseñado para un máximo rendimiento y estabilidad. Incluye una JSON API integrada, con una interfaz de usuario amigable. Se trata de un software derivado de Bika LIMS, construido sobre el framework Plone CMS y con Python como lenguaje de programación. Además de aspectos funcionales y de interfaz gráfica, se diferencia de su predecesor Bika LIMS por importantes mejoras en relación a su arquitectura. En este sentido, hemos hecho un gran esfuerzo para alejarnos de la estructura monolítica de Bika LIMS, que dificulta las tareas de mantenimiento y supone una barrera para nuevas contribuciones al proyecto.

En lugar de una estructura monolítica, hemos desarrollado SENAITE como un sistema que se nutre de extensiones (add-ons) independientes. Este aspecto, combinado con la implantación de mecanismos de revisión exhaustivos para garantizar la máxima calidad del código, hacen que su mantenimiento sea más sencillo y que la curva de aprendizaje necesaria para nuevas contribuciones sea menor. Estos aspectos permiten además una rápida adaptación de SENAITE a nuevos requisitos funcionales y técnicos emergentes por parte del laboratorio. En línea con este objetivo, SENAITE se desarrolla siguiendo los enfoques de Integración Continua (CI, del inglés Continuous Integration) y Entrega Continua (CD, del inglés Continuous Delivery).

Por qué un LIMS de Código Abierto?

Un LIMS de Código Abierto conlleva muchas ventajas competitivas respecto de un LIMS de código cerrado. Entre muchas otras ventajas, un LIMS de código abierto permite que, como proveedores de servicios profesionales, podamos orientar todos nuestros esfuerzos a la implementación de un LIMS adaptado a las necesidades reales y específicas de cada laboratorio, además de una reducción en costes de licencias. Otra ventaja es que los clientes se benefician de las mejoras y desarrollos efectuados para otros laboratorios, realizados por cualquier entidad o profesional adscrito al proyecto a través de la comunidad internacional de SENAITE, la SENAITE Open Source Community.

La principal característica del software de código abierto es el acceso no restringido al código fuente del programa. Así pues, los clientes pueden modificar la aplicación para que se adapte mejor a sus necesidades y sin depender de proveedores de servicios. Si el cliente decide contratar servicios profesionales, es libre de confiar el mantenimiento o desarrollo a cualquier proveedor, sin ataduras de ningún tipo.

El continuo desarrollo por parte de la comunidad, la esponsorización de nuevas funcionalidades por parte de clientes, y el debate generado por los usuarios en los diversos canales de comunicación que ofrece el proyecto, garantizan un producto de calidad y en constante evolución, que incorpora nuevas funcionalidades y mejoras de forma continuada. El laboratorio y la comunidad se benefician de estas aportaciones sin ningún coste adicional y el usuario tiene además la posibilidad de sugerir propuestas y nuevas funcionalidades a una comunidad internacional que crece día tras día.

Como funciona SENAITE?

El corazón de SENAITE es SENAITE CORE, que contiene las funcionalidades básicas de un LIMS maduro y seguro.

La forma de interactuar con SENAITE CORE es mediante SENAITE LIMS. Su predecesor, Bika LIMS, depende fuertemente de JavaScript, y mucha de su lógica se basa en código propio basado en jQuery. Si bien éste enfoque es válido para proyectos pequeños y medianos, su mantenimiento en proyectos de gran envergadura no es una tarea fácil. SENAITE LIMS utiliza frameworks para JavaScript modernos, como ReactJS, BackboneJS o AngularJS con el objetivo de proveer de una interfaz gráfica robusta en acorde con los estándares de la industria. Por si no fuera poco, SENAITE LIMS sigue el enfoque "mobile first", para lo cual se beneficia de Twitter Bootstrap. Todo ello hace que la interacción con el LIMS mediante tablets y dispositivos móviles sea más fácil y intuitiva.

SENAITE también incorpora una potente RESTful JSON API que aprovecha plone.jsonapi.routes, siendo la principal interfaz de comunicación entre SENAITE, SENAITE CORE y cualquier otro framework web moderno. Ello permite la integración de aplicaciones independientes con SENAITE CORE, como Spotlight Search o Plone Commander.

En la página de SENAITE en GitHub se listan las aplicaciones y extensiones que actualmente conforman el proyecto SENAITE.

Cuáles son los planes futuros?

A parte de la mejora continua y entrega frecuente de nuevas versiones de SENAITE CORE y SENAITE LIMS, existen algunas extensiones adicionales planificadas, o que ya están en fase de desarrollo, que añadirán nuevas características a SENAITE.

Una de las extensiones que actualmente está en desarrollo es la extensión SENAITE SYNC, que permitirá la sincronización o importación de datos entre dos instancias distintas de SENAITE o entre una instancia de Bika LIMS y otra de SENAITE. También hay planes para el desarrollo de una extensión de Control de Calidad (QC) que permitirá el uso de Westgard rules, multi rules y gráficos Levey-Jennings en SENAITE. La implementación de una extensión para la implementación del protocolo de comunicaciones ASTM también está en la hoja de ruta.

Quién está detrás de SENAITE?

Actualmente, existen dos empresas que dan soporte y desarrollan SENAITE: Riding Bytes y Naralabs.

Riding Bytes es una empresa alemana que provee de servicios profesionales en aplicaciones de código abierto a empresas de cualquier tamaño. Está especializada en la integración de sistemas de código abierto con infraestructuras IT preexistentes y en la prestación de servicios como la consultoría en la gestión y desarrollo de software, con foco especial a laboratorios y sistemas de salud.

Naralabs es una empresa especializada en software de gestión de laboratorios (LIMS) y ofrece servicios profesionales de consultoría tecnológica y de ingeniería, tales como consultoría, implementación, formación, mantenimiento y soporte técnico. Naralabs se alinea con el modelo de negocio de Código Abierto Profesional (Professional Open Source, POSS), ofreciendo servicios de alto valor añadido asociados a proyectos de Código Abierto.

Adicionalmente, existe la comunidad del proyecto SENAITE, en pleno crecimiento, que contribuye, constantemente, con mejoras y nuevas funcionalidades.

SENAITE: Sobre las espaldas de gigantes

Es posible crear algo bueno, pero solo con determinación y esfuerzo es posible crear algo excelente. Este es precisamente el objetivo que queremos lograr con el Proyecto SENAITE, y estamos orgullosos de lo que todos hemos conseguido hasta hoy, trabajando juntos y combinando todo nuestro conocimiento y experiencia en este apasionante proyecto. Lo que comenzó pequeño es cada vez más grande, las ideas se están difundiendo y las visiones se vuelven realidad. Todo esto no es fruto de una sola persona, sino de todas las personas que han contribuido en el proyecto. Estamos caminando sobre sus hombros, los de los gigantes.

Quieres saber más?

Puedes visitar el repositorio de SENAITE en GitHub o la página web oficial. También puedes suscribirte a mailing list de usuarios o entrar al canal de chat público en Gitter.