Proyecto de Plataforma para la e-Salud en Código Abierto (PESCA)


Rosa Valenzuela Juan
   Desarrollo de Negocio. Difusión y Relaciones externas. Instituto Tecnológico de Informática (ITI), Universidad Politécnica de Valencia. España

Pedro García Fortea
   Doctor en Medicina y Cirugía, Médico Especialista en Medicina Legal y Forense. Máster en Diseño y Estadística en   Ciencias de la Salud. Máster en Alta Dirección Sanitaria. Médico Inspector de la Adm.SS, Jefe de la Dependencia del Área de Sanidad en Málaga. España

Julio Lorca Gómez
   Director de revistaesalud.com

Resumen

Se presenta el proyecto de Plataforma para la e-Salud en Código Abierto (PESCA), que plantea la consecución de una plataforma tecnológica compuesta por un conjunto de módulos interoperables con capacidad para dar respuesta, de forma independiente o agregada, tanto a pequeños problemas organizacionales o de atención a la salud, como a la gestión integral de cualquier entorno o entidad asistencial, educativa o de investigación en Salud, incluida la realización de operaciones de Telesalud entre centros heterogéneos y distantes.


1. Introducción

Se ha destacado el papel de los sistemas de código abierto para contribuir a la innovación en los países en desarrollo, así como al éxito de los programas de prevención de enfermedades, la promoción de la salud y la atención sanitaria en el mundo en desarrollo. Desde la Fundación para la eSalud (FESALUD), consideramos que la búsqueda y evaluación de buenas prácticas de aplicaciones de código abierto de utilidad para la e-Salud, y su futura interoperabilidad mediante una plataforma de normalización común, facilitará soluciones a problemas concretos de Salud y Educación en hábitos de vida saludables, al tiempo que brinda oportunidades y sinergias para el acceso a la sociedad del conocimiento, desde las sociedades más deprimidas, contribuyendo complementariamente al progreso socioeconómico de las poblaciones en desarrollo, mediante el fomento de empresas locales de implantación y soporte.

Por parte de FESALUD, mediante el proyecto de Plataforma para la e-Salud en Código Abierto (PESCA), se plantea la consecución de una plataforma tecnológica compuesta por un conjunto de módulos interoperables con capacidad para dar respuesta, de forma independiente o agregada, tanto a pequeños problemas organizacionales o de atención a la salud, como a la gestión integral de cualquier entorno o entidad asistencial, educativa o de investigación en Salud, incluida la realización de operaciones de Telesalud entre centros heterogéneos y distantes. El proyecto PESCA comprende varias fases, comenzando con la realización de un inventario y evaluación de buenas prácticas en aplicaciones de código abierto que resulten de utilidad para América Latina y Caribe, así como la constitución de la comunidad internacional de apoyo a la plataforma definitiva. Las aplicaciones seleccionadas iniciarán un proceso de depuración y normalización, concluyendo con el desarrollo de la documentación definitiva para programadores y de los manuales de usuario, siguiendo los mejores criterios de métrica al uso.

Para su ejecución, FESALUD prevé alcanzar acuerdos con entidades públicas y privadas de actuación en el ámbito internacional, además de elaborar propuestas de financiación. En este sentido, concurrimos como socios colaboradores en un consorcio hispanoamericano (presentado por la Entidad argentina Facultad de Ciencias Biomédicas de la Universidad Austral) al Llamado a Propuestas 2006-2007 del Instituto para la Conectividad en las Américas para iniciativas de TICs para el desarrollo en América Latina y el Caribe. En el mismo momento en que terminábamos la redacción de este artículo, el investigador principal, Dr. Di lucca, recibía la siguiente comunicación que queremos compartir con todos vosotros:


En el presente artículo se presentan las líneas generales que componen el proyecto presentado, y que ha culminado con su aprobación definitiva. Llamamos desde aquí a todas las personas e instituciones interesadas a sumarse a esta iniciativa.


1. Objetivos

El proyecto presentado consistirá en la evaluación y validación, según criterios de relevancia definidos, de las herramientas de código abierto pre-existentes y la configuración del Repositorio de Buenas Prácticas de código abierto para la eSalud, que soporte la creación de la Plataforma para la eSalud en Código Abierto definitiva. Igualmente, se implementarán aquellas otras herramientas que hagan viable el trabajo comprometido, en especial, las que faciliten el trabajo cooperativo de los investigadores, y los análisis, evaluación y catalogación del código de partida. Se definen, por tanto, como objetivos específicos:

  1. Configurar la infraestructura que favorezca el trabajo en modo colaborativo para el análisis y evaluación del software libre preexistente, proporcionando los recursos humanos y tecnológicos que se consideren necesarios para favorecer la colaboración, para lo cual se creará y mantendrá la cara del proyecto (el portal web y el repositorio PESCA), además de canales de comunicación adicionales, como sistemas para la comunicación interactiva (irc, jabber, etc), sistemas alternativos a las listas (como foros web, a través del portal www.revistaesalud.com), y sistemas de reporte de incidencias (issue tracker) o de gestión de errores (bug tracker) que nos permitan hacer un seguimiento de la solución a un problema de usuario o del código de un modo más eficiente que buscando en los archivos de una lista de correo.
    Además, se prevé proporcionar herramientas para la mejora y mantenimiento de la documentación de usuario y/o desarrollador en modo colaborativo, empleando de forma especial herramientas Web 2.0 (como wikis) y proporcionando acceso a un sistema de control de versiones en el que se trabaje con formatos de documento abiertos y se permita la integración de parches de terceros (cualquier formato que se pueda manipular como texto plano sería adecuado).
    Por último, se creará un área para desarrolladores en el portal del proyecto, en el que se describan las infraestructuras disponibles y los métodos de acceso a ellas, tanto si son de acceso público como si son únicamente para personas con niveles de acceso más elevado (por ejemplo, aquellos desarrolladores externos que se involucren activamente en el proceso de desarrollo)
  2. Analizar los desarrollos de código abierto para e-Salud existentes y su posible integración dentro del proyecto PESCA, en caso de ser validados como relevantes, en función de la metodología que se seleccione al efecto. Ello resultará del análisis de la arquitectura y metodología de desarrollo del correspondiente software, definiendo un procedimiento para la creación de adaptadores de código al núcleo, y valorando las necesidades para las futuras adaptaciones de los módulos pre-existentes a las funcionalidades finalmente requeridas
  3. Internacionalización de PESCA, proporcionando herramientas para traducir y mantener traducciones del código validado y sus evoluciones hacia los nuevos desarrollos que se vayan produciendo, inicialmente como mínimo para 3 idiomas (español, portugués e inglés), sin descartar que en el futuro se añadan más traducciones
  4. Garantizar la gestión de todos los paquetes de trabajo que forman parte de esta primera fase de PESCA con el grado de calidad y eficiencia previsto, para lo cual será necesario establecer unas metodologías específicas de planificación, seguimiento y control de las actividades y gestión de los recursos humanos y materiales. Para lograr dicho objetivo genérico, se han de completar una serie de objetivos específicos, de entre los que cabe destacar:
    • Preparar los distintos acuerdos de colaboración entre los equipos de trabajo involucrados en el proyecto
    • Establecer y desarrollar un Master Project Plan. Definir las planificaciones que afectan a los diferentes paquetes de trabajo estableciendo para cada paquete: tareas a realizar, inputs de los que dependen, outputs que deben generar, plazos de ejecución, etc.
    • Velar por el cumplimiento de plazos en los entregables de los proyectosGestionar convenientemente los riesgos con respecto a hitos críticos o interdependencias
    • Coordinar las tareas técnicas con los equipos de trabajo
    • Gestionar el presupuesto consumido por cada paquete de trabajo
    • Facilitar la comunicación fluida entre los distintos equipos de trabajo
    • Asistir a los jefes de proyecto de cada equipo de trabajo a realizar sus tareas de gestión
    • Asegurarse de que todos los entregables están revisados antes de ser liberados
    • Asegurarse de que la documentación de soporte es adecuada
    • Establecer Acuerdos para el Control de la Calidad entre los distintos equipos de trabajo
  5. Evaluar la factibilidad de implementación futura a gran escala de PESCA mediante supuestos de implementación local y regional de la misma. Deberá ser estudiada la viabilidad práctica de diferentes supuestos de implantación de la plataforma de forma total o mediante diferentes supuestos de implantación modular (sólo el HIS de un hospital, sólo el sistema de citación de pacientes, sólo el sistema de telesalud para dermatología mediante una versión menor de RIS-DACS…) Serán así determinadas geografías meta en diferentes países de ALC donde se plantearán supuestos teóricos de costes, plazos y otros criterios de implantación. Mediante la concreción de este tipo de escenarios, se identificarán los criterios DAFO (Debilidades, Amenazas, Fortalezas y Oportunidades) de la futura plataforma para posibles implantaciones a gran escala


2. Metodología

En cuanto al planteamiento metodológico, PESCA se concibe como el resultado final del diseño, desarrollo y ejecución de diferentes proyectos, a su vez compuestos de paquetes de trabajo coordinados siguiendo la propia filosofía de comunidad que dió origen al propio código abierto. Los subproyectos resultantes (grupos de paquetes de trabajo) pueden ser ejecutados por diferentes equipos, siendo necesario por lo tanto la gestión de cada equipo de forma descentralizada y la coordinación global de todos ellos, bajo el contexto común de PESCA. La metodología considerará entonces, otras experiencias previas open source (como el desarrollo del propio proyecto Debian), así como los criterios de ejecución mediante paquetes de trabajo normales en proyectos de base tecnológica.

A medida que se vayan seleccionando herramientas para cada servicio se preparará la instalación, configuración y mantenimiento de las mismas, inicialmente en entornos de prueba y después en servidores accesibles para evaluadores y desarrolladores externos. Estos equipos desarrollarán las correspondientes tareas relacionadas con el código fuente:

  • Revisión de los ficheros fuente para verificar que todos ellos indican cual es la licencia bajo la que se distribuyen
  • Reorganización del código para que el espacio de nombres de los paquetes esté ligado al proyecto (org.pesca) y no a las empresas que han ido realizando desarrollos relacionados con él, ya que en el futuro la estructura actual puede causar conflictos entre componentes de las empresas y el código del proyecto libre
  • Revisión o generación de documentación para desarrolladores, permitiendo que una persona con conocimientos básicos sobre administración de sistemas pueda realizar tareas rutinarias y mantener los servicios en funcionamiento sin problemas:
    - Manual de desarrollo
    - Guías sobre el interfaz de usuario
    - Documentación del API


3. Estructura

En cuanto a las tareas de gestión y coordinación, se prevé la organización mediante la estructura que se describe y representa en el siguiente gráfico:


  1. Gestor de Proyecto (GP): Responsable del equipo coordinador en todo el proyecto PESCA, disponiendo de una visión global o de conjunto PESCA, que se encarga de trasmitir a los líderes de cada uno de los paquetes de trabajo, a través del desarrollo de las siguientes actividades principales:
    • Resolver posibles conflictos de gestión
    • Gestionar los riesgos de gestión
    • Gestionar el presupuesto
    • Organizar las reuniones entre los diferentes paquetes de trabajo
    • Supervisar y monitorizar el progreso del proyecto con respecto con los hitos y entregables definidos
    • Reparar el acuerdo de colaboración de los distintos equipos de trabajo y facilitar la comunicación entre los distintos equipos de trabajo
  2. Coordinador Científico-Técnico (CCT): Es el responsable del Comité científico-técnico, responsable del desarrollo técnico del proyecto, y colaborando con el gestor del proyecto continuamente. Sus principales actividades son:
    • Detectar y resolver posibles conflictos técnicos dentro del proyecto global
    • Gestionar riesgos técnicos
    • Asegurar la calidad y el cumplimiento de plazos en las entregas técnicas del proyecto
    • Tomar decisiones en cuanto a contenidos técnicos
    • Asistir a los responsables técnicos de cada paquete de trabajo y facilitar la comunicación entre los distintos equipos de trabajo a nivel técnico
  3. Equipo de Gestión (EG): Compuesto por miembros de cada equipo de trabajo, colaborarán con el gestor de proyecto en la dirección estratégica del proyecto y en la supervisión del progreso, los resultados, la calidad y el coste
  4. Comité Científico-Técnico (CTCT): Formado por los Jefes de Paquete de Trabajo que junto con el Coordinador Científico-Técnico serán responsables de verificar que se cumplen los plazos de los entregables y se garanticen las especificaciones técnicas de los desarrollos. Además, el comité asistirá al coordinador en todos los aspectos técnicos del proyecto
  5. Gestor de Calidad (GC): Es el responsable del paquete de trabajo asociado a la calidad y se ocupa de asegurar la calidad de los resultados del proyecto. Será el encargado de definir procedimientos de trabajo a seguir por todos los equipos de desarrollo a la hora de emitir los entregables, y de asegurar que estos procedimientos son aplicados, con el fin de garantizar las pautas de calidad del proyecto
  6. Equipo de Calidad (EC): Un paquete de trabajo especial es el Equipo de Calidad en el que participarán miembros de los equipos de trabajo responsables de la calidad, el Gestor de Calidad y el Coordinador Científico-Técnico. Este equipo velará porque cada entregable cumpla con las pautas marcadas en los procedimientos de calidad
  7. Jefes de Paquete de Trabajo (JPT): Cada paquete de trabajo tendrá un responsable de garantizar la calidad y el cumplimiento de plazos
  8. Responsables de Tareas (RT): Responsable del trabajo de cada tarea
  9. Miembros de Tareas (MT): Trabajadores dentro de cada tarea: analistas, analistas-programadores, programadores, diseñadores gráficos, documentalistas, administradores de sistema, etc.

Ante la heterogeneidad de los paquetes de trabajo que conforman el proyecto PESCA, y los distintos niveles de gestión aplicables, es necesario establecer una metodología de comunicación que permita el flujo de información entre los mismos. En la jerarquía definida existen tres niveles principales (equipo gestión y comité científico-técnico y paquetes de trabajo) entre los que debe existir una comunicación fluida, para lo que se establecerán:

  • Interlocutores válidos para cada nivel: Los interlocutores o representantes de cada uno de los niveles son, para el Equipo de Gestión el Gestor de Proyecto, para el Comité Científico-Técnico el Coordinador Científico-Técnico, y para los Paquetes de Trabajo los Jefes de Paquetes de Trabajo
  • Reuniones periódicas: Se establecerán tres tipos de reuniones: reuniones de Gestión (orientadas a analizar el estado del proyecto y a resolver aspectos que quedan fuera del alcance del entorno técnico), reuniones Científico-Técnicas (de seguimiento exhaustivo del avance técnico del proyecto, y de coordinación técnica de los diferentes paquetes de trabajo), reuniones de Paquetes de Trabajo (relacionadas con el funcionamiento interno de cada uno de los paquetes de trabajo y/o con la interacción entre los diferentes paquetes de trabajo)
  • Medios de comunicación: El intercambio de información del día a día entre los distintos equipos de trabajo se podrá realizar de manera más fluída a través de teléfono, fax, correo postal y electrónico, audio y/o videoconferencia, web (dentro del portal www.revistaesalud.com y a través de ePresence), foros, listas, chat privados para el proyecto, repositorios de información (CVS, SVN o similares), SSH, FTP, etc.

Funcionalmente, las principales decisiones en cuanto a gestión y administración del proyecto corresponden al GP, apoyado por el equipo de gestión, mientras que las decisiones técnicas corresponden al CCT, apoyado por el comité científico-técnico. Aquellos problemas que no sean capaces de resolver el GP o el CCT, se presentarán al equipo de gestión y al comité científico-técnico respectivamente, donde se consensuará la solución al problema.


4. Internacionalización

Para lograr la internacionalización de PESCA se definen distintas tareas:

  • Revisión del código en los aspectos relativos a la internacionalización: métodos de entrada empleados (usando SWING o JTextComponent, o trabajando a más bajo nivel), revisión del uso de fechas y horas, operaciones con texto (búsquedas, comparaciones, etc.), sistemas de visualización de texto empleados, disposición de etiquetas y menús (pudiendo ajustar su tamaño y reordenarse para sistemas de escritura de derecha a izquierda), etc.
  • Revisión del sistema de documentación actual y adaptación o reemplazo por uno que permita la edición y traducción colaborativa. En esta tarea se integraría la documentación con algún sistema de e-learning, de modo que la documentación y los materiales de formación se desarrollen y traduzcan en paralelo
  • Generación de manuales en distintos formatos empleando el sistema de documentación elegido. El sistema deberá permitirnos generar al menos una versión en HTML para la visualización desde un navegador, y otra en un formato de impresión como Postscript o PDF
  • Revisión de las cadenas originales y generación de una guía de estilo para el texto original (que debería ser el inglés) y las traducciones propias (castellano), tanto para el texto incluido en las aplicaciones como para la documentación. Se selecciona el inglés para la versión original de todos los textos (por la facilidad para encontrar traductores de inglés a cualquier otro idioma en el mundo del software libre) y para las cadenas que vayan a formar parte de la documentación de desarrollo (JavaDoc) y los comentarios internos del código (esto amplía enormemente la posibilidad de trabajar en el código de las personas que no sean de habla hispana). Igualmente, se prevé la revisión del código para ver cuánto trabajo costaría traducir los comentarios del código que actualmente están en castellano
  • Diseño y puesta en marcha de la infraestructura necesaria para coordinar distintos equipos de traducción y mantener las traducciones del software y la documentación. Esta infraestructura incluirá:
    1. Sistemas de comunicación entre los equipos de traducción y localización:
      1.1. Listas de correo: una lista en inglés (PESCA-l10n) común a todos los equipos y listas para los equipos de traducción de distintos idiomas (p.ej. PESCA-l10n-es para el castellano). Se configurarán para que reciban por correo notificaciones de cambios en sus traducciones, informes periódicos con el estado de las traducciones, etc.
      1.2. Foros web: funcionarían como pasarela de las listas, de manera que lo que se publique en los foros se envíe a las listas y lo que llegue a las listas se publique en los foros, con lo que en realidad lo que tendríamos sería dos frontends distintos para la misma información
      1.3. Canales de IRC: se emplearían para discusiones en vivo entre personas interesadas en el proyecto, siendo posible su localización al tener un canal #PESCA-l10n
      1.4. Sistemas de mensajería instantánea: como alternativa o complemento del IRC, que se pueda relacionar con otros servidores de IM y que permita crear salas de discusión similares a los canales de IRC
    2. Sistema de informes de estado de las traducciones como l10n-stats.
    3. Sistema de traducción a través de la web (desde el navegador) como pootle.
    4. Sistema de exportación/importación de traducciones, de modo que sea posible obtener las últimas versiones de las cadenas a traducir y las traducciones existentes en el formato adecuado, actualizarlas localmente y volver a enviarlas al servidor a través de la web y/o empleando el sistema de control de versiones. Se prevé emplear como formato de traducción para el código y la documentación XLIFF, pues soporta la traducción y conversión de documentos en múltiples formatos y existen múltiples herramientas de conversión y edición con licencia libre, como:
      4.1. Open Language Tools: herramienta de Sun escrita en Java, incluye un editor de ficheros XLIFF y conversores entre distintos formatos y XLIFF
      4.2. Transolution: editor de ficheros XLIFF desarrollada en Python
      4.3.Translate Toolkit: conjunto de scripts para convertir entre múltiples formatos de traducción

  • 5. Conclusiones

    Como resultado de esta primera fase del proyecto PESCA, esperamos constituir una comunidad internacional de evaluación y validación de experiencias previas y el desarrollo de la herramientas necesarias para avanzar. Los estudios de campo necesarios para el cumplimiento de nuestros objetivos, combinados con la experiencia y conocimientos del consorcio formado, darán lugar a informes valiosos y realistas sobre la situación del software de código abierto para la eSalud en el mundo. A la hora de realizar la distribución de tareas serán asignadas entendiendo la necesidad de responsabilización sobre cada una de las fases. El resto de participantes en el proyecto actuarán en todas las tareas como colaboradores necesarios.

    La estructura de organización descrita prevé la evaluación del proyecto en cada nivel de responsabilidad. El comité científico-técnico se hará cargo del desarrollo del Master Project Plan, bajo el control del CCT y el consenso del equipo de gestión, liderado por el GP. Los planes de trabajo de cada paquete serán responsabilidad del JPT, que se encargará de hacer coincidir los objetivos con los del Master Project Plan. Dentro de los paquetes de trabajo, las tareas a realizar serán planificadas por los miembros de tarea, que son responsables de hacer coincidir sus objetivos con los del paquete de trabajo. El CCT reportará al GP la finalización de entregables o hitos, y los posibles problemas o riesgos que requieran de la intervención del equipo de gestión para su resolución. El GP debe informar del progreso del proyecto y de cualquier aspecto importante al equipo de gestión en forma de Informes de Progreso, a discutir en las reuniones periódicas. Los entregables correspondientes a cada paquete de trabajo servirán como medida de monitorización del progreso del proyecto. Los entregables que sean documentos a su vez harán de informes de resultados, en la medida de lo posible.

    Los Informes de Progreso servirán para indicar el avance del proyecto, y se confeccionarán en base al progreso de los diferentes paquetes. La evaluación de la calidad en el desarrollo y mantenimiento de software utilizará la metodología TPI®-MUSA como medio de ayuda para mejorar los procesos de testeo y de usabilidad que permite visualizar el nivel de «madurez» del proceso de pruebas. TPI®-MUSA se compone de un conjunto de Áreas Clave, cada una con diferentes Niveles de Madurez.

    En cuanto a la comunicación de los resultados que se pretenden obtener, se prevé su difusión dirigida al público en general, preparando un conjunto de material multimedia para guiar al usuario en el aprendizaje de las herramientas, y teniendo presencia en los principales foros de encuentro relacionados con eSalud. Las actuaciones previstas comprenden:

    • Herramientas seleccionadas empaquetadas como DVDLive, DVD demo, Imagen para máquina virtual para cualquier sistema operativo
    • Paquete de instalación de la herramientas para los pilotajes de la siguiente fase para cualquier distribución y sistema operativo
    • Publicación de 2 noticias en prensa genérica escrita y/o digital al mes
    • Introducción de artículos técnicos de PESCA en 5 revistas de prestigio internacional al año
    • Material multimedia disponible para realizar presentaciones y tutoriales a distancia y videoconferencias en tiempo real
    • Material publicitario y de merchandising disponible para su distribución
    • Organización de Jornadas con frecuencia anual
    • Asistencia a 6 eventos internacionales al año con un stand

    Igualmente, se prevé asegurar su difusión internacional comprendiendo:

    • La revisión del soporte de internacionalización del código actual servirá para escribir un informe del estado actual del proyecto a ese respecto y de una guía de buenas prácticas para que sea empleada en futuros desarrollos dentro de PESCA
    • La conversión de la documentación actual al formato elegido y puesta en marcha de la infraestructura necesaria para que se pueda editar de modo cooperativo y generar la documentación en múltiples formatos de modo automático
    • El diseño de una guía de estilo para el texto que se le va a mostrar al usuario, y para los comentarios y documentación del programador
    • El diseño y puesta en marcha de la infraestructura de soporte a la traducción


    Si desea ampliar información puede ponerse en contacto con:

    Rosa Valenzuela Juan
    Comité Gestor
    otri@iti.upv.es


    ¿Cómo citar este artículo?