Open Banking, qué es y como puede beneficiar a Cuba

El tema de los bancos viene desde nuestra prehistoria. Desde que alguien aprendió a guardar las piedras al resto de sus cercanos ya estaba actuando como banco.

En nuestro país contamos con instituciones bancarias como: BANDEC, BANMET, BPA, etc…las más conocidas por nuestra población.

Hubo un tiempo es que estas instituciones no se comunicaban bien entre si, de ahí que fuera complicado hacer una transferencia de una cuenta en una de estas instituciones a una cuenta en otra institución, ya sea por el monto a transferir, la lentitud o por X cantidad de otras razones.

Continuar leyendo “Open Banking, qué es y como puede beneficiar a Cuba”

Gobierno electrónico en Cuba

En nuestro país la frase de moda en estos días relacionada con las tecnologías es  “gobierno electrónico.”

Ya Cubadebate tiene un artículo bien caliente de hoy al respecto que fue tomado de este otro sitio.

Lo fundamental que se puede sacar del escrito son las etapas por las que pasará el gobierno electrónico en nuestro pais:

  1. Presencia de los organismos y gobierno con información útil para la población en el sitio del gobierno.
  2. Interacción de la Administración Pública, el gobierno y el pueblo.
  3. Transacción donde se usen los pagos electrónicos en los trámites y servicios.
  4. Transformación, que incluye la participación del pueblo en la construcción de las políticas públicas y en la gestión de la administración y el gobierno.

Está claro que recién comenzamos con la primera, y en un máximo de 4 provincias con sitios web, de seguro hechos en PHP, con contenido estático dando información que bien puede considerarse de un copy/paste de algún panfleto con listados de trámites y pasos a dar en cada trámite.

Continuar leyendo “Gobierno electrónico en Cuba”

Un sistema de salud cubano conectado. Arquitectura de Referencia

Lograr un sistema de salud cubano, donde todos los componentes de software estén conectados correctamente debe ser un objetivo trazado en cualquier plan de informatización que exista hoy a nivel de país.

Si no se ha definido aún una arquitectura de referencia en este sentido ni se tiene como objetivo tener un gran sistema integrado, poco se podrá avanzar en la informatización del sector salud, tan importante a todos los niveles.

Internacionalmente existen varias arquitecturas de referencia que soportan un objetivo como el que se menciona anteriormente. Usaré una que se adapta muy bien a una de las principales tecnologías que domino, que es gratis y bajo licencia Apache v2.

Lograr definir una arquitectura de referencia e implantarla no es un proceso sencillo. De ahí que se parta de varios elementos que al combinarlos tributen a lograr una interconexión global con todos los requerimientos no funcionales requeridos.

Lo primero es tener un BUS de integración que garantice dicha interconexión entre los actuales y futuros sistemas de información a todos los niveles.

Para lograr este BUS de integración y que funcione correctamente es necesario definir y estandarizar un modelo cánonico de datos a nivel de todo el sector de la salud para tener en lenguaje común que permita el diálogo entre los sistemas.

Lo siguiente es tener un BUS de datos, capaz de extraer la información necesaria de cualquier base de datos o ficheros donde se tenga. En nuestro país es muy común manejar las bases de datos en hojas de cálculo de Excel, así que esta solución debe ser capaz de capturar dicha información.

Además dicha información debe ser expuesta a través de diferentes estándares y ser consumida desde el BUS de integración principalmente.

Lo siguiente sería garantizar la completa seguridad de la solución arquitectónica, a través de la implementación de múltiples mecanismos de autenticación y autorización  a diferentes niveles, usando diferentes estándares y protocolos de seguridad.

Con este nuevo componente se garantizaría el poder distribuir la información de manera segura y que solo pudiera tener acceso a ella quien esté correctamente autorizado.

Lo siguiente sería una solución para la comunicación asincrónica. Para todos es sabido que nuestras redes tienden a saturarse y a veces a mostrar intermitencias en la conexión. Así que es necesario garantizar que aun en un ambiente desconectado no se pierdan los eventos y mensajes enviados y que tan pronto se restablezca la comunicación todo volverá a sincronizarse.

Por eso el uso de colas de mensajería es de vital importancia para gantizar la integridad de todos los datos. Además se incluye un tema de manejo de eventos complejos y su procesamiento, pues en este tipo de sistemas de salud es necesario ser capaz de reaccionar ante eventos simples y eventos complejos, además de ser capaces de aplicar algortimos de máquina de aprendizaje a partir de todo el flujo de eventos generados.

Con el volumen de información de eventos que se puede recopilar tanto de forma síncrona como asincrónica, se pueden elaborar diversos dashboard con gráficas de todo tipo así como ser capaces de enviar notificaciones y alertas a los interesados.

Si logramos que todas estas piezas de software se integren correctamente entre si tendríamos algo como lo siguiente:

Llegados a este punto sería un error garrafal y muy malo tecnológicamente aspirar a:

  1. Implementar todo esto desde 0. Algo que nos encanta a los cubanos por temas de soberanía tecnológica y demás palabritas interesantes, pero que conducen a un desgaste enorme, pérdidas económicas y años y años de desarrollo sin saber si finalmente se logrará el objetivo final.
  2. Comprar soluciones por separado, sin saber si se podrán interconectar entre sí o sin evaluar correctamente el grado de adaptación de las mismas.
  3. Usar un lenguaje de programación con pocas capacidades para implementar soluciones de integración e interoperabilidad. No hay que ir muy lejos para entender que me estoy refiriendo a PHP. Un lenguaje que ha causado destrozos al desarrollo de software a nivel de país y hacia lo interno de las universidades. No porque sea malo, que no lo es, si no por haber sido usado para cosas que no se tenía que haber usado.

La propuesta tecnológica que hago partiendo de la experiencia práctica en este tipo de soluciones y los años de trabajo en diversas soluciones para otros sectores usando tecnologías propietarias y open source, consta de los siguientes elementos:

  1. Libre de costo para el país.
  2. Open Source completamente distribuida bajo licencia Apache v2 y con acceso a los fuentes en todo momento, disponibles en github.
  3. Preparada para docker y otros ambientes de contenedores.
  4. Tener una comunidad activa, que responde rápido y que ante cualquier bug es capaz de brindar un fix rapidamente.
  5. Tener personal con conocimientos suficientes como para realizar una inducción y adiestramiento de un equipo de trabajo de analistas, diseñadores, desarrolladores, probadores y arquitectos.
  6. Evolucionar constantemente adoptando las mejores prácticas de la industria, compliendo con los estándares y protocolos de comunicación.
  7. Y lo fundamental, que ya tenga implementada la mayor cantidad de funcionalidades vistas anteriormente y que se pueda conectar con cualquier otra solución.

En la siguiente imagen se muestra como la suite de WSO2, ampliamente abordada en este otro blog  también de mi autoría, se ajusta a los requerimientos y necesidades para implementar un sistema de salud cubano conectado.

 

 

 

Cuando las cosas no funcionan.

Era noviembre del 2017, hace unos 4 meses atrás cuando inicié el trámite para hacerme miembro de la “Unión de Informáticos de Cuba”…Entré al portal y de ahí me fui a la sección de https://portal.uniondeinformaticos.cu/inscripcion para entrar mis datos.

En aquella fecha todo bien, puse todos los datos que me pidieron, le di enviar, me indicó que se había enviado la información y ya. No hubo un correo notificándome que se estaba procesando mi trámite ni un número para darle seguimiento al trámite. Solo silencio.

Llegó diciembre, entro a facebook, voy a la página de la UIC y me contacto con alguien para saber cual era el estado de mi solicitud. Sorpresa: Me dicen que la base de datos se perdió y que volviera realizar la solicitud.

Continuar leyendo “Cuando las cosas no funcionan.”

Buscando eliminar colas para recoger resultados médicos.

Ayer estuve en una cola esperando por los resultados de unos análisis médicos unas 2h, y no hacia otra cosa que pensar “¿Cuánto tiempo perdido por a penas unos KB de información, cuánto gasto en papel, en RRHH, en trabajo útil de todos los que estabamos en aquella cola que eramos más de 30, lo que serían 30×2=60h/h, unos 7d de trabajo de una persona y cuánto no puede hacer una persona en 7d de trabajo?”

La solución a este tema es tan fácil que se me hace difícil pensar en una razón de por qué aun no ha sido implementada, veamos lo que tenemos:

  1. Existe un sistema en el hospital que contiene todos nuestros análisis almacenados en una BD.
  2. Cada análisis es identificado por un código que tenemos nosotros en un comprobante que se nos integra.
  3. El sistema debe permitir buscar por nuestro número de identificación todos los análisis que nos hallan realizado.
  4. El sistema genera un reporte de cada resultado en un formato entendible tanto para pacientes como personal de la salud.

Qué se puede hacer:

Continuar leyendo “Buscando eliminar colas para recoger resultados médicos.”

¿Cómo despegar el desarrollo de software en Cuba? I

Hace poco me hacían esta pregunta y la verdad que me asombró, pues a mi entender nuestro país tiene una base sólida de ingenieros desarrolladores de software.

Cuando pregunté a que venía semejante pregunta me respondieron con los siguientes elementos:

  1. Hay muy poca visibilidad en el mercado internacional de las empresas cubanas.
  2. Los desarrollos no están a la altura de los estándares actuales, en cuanto a tecnologías que se están empleando, arquitecturas, hardware, etc…
  3. Muchos desarrolladores se van a otros países o al sector particular, por lo general los desarrolladores más prometedores, debido a temas económicos pero también para poder avanzar en cuanto a su superación técnica.

Me dieron más argumentos pero me dejó pensando un rato y aun lo estoy haciendo…Aquí van algunos elementos a tener en consideración.

Continuar leyendo “¿Cómo despegar el desarrollo de software en Cuba? I”