Eficiencia en Salud: Impactamos con tecnología el 40% de los costos operativos.

En una industria con constantes desafíos de costos como la salud, la eficiencia es el único camino para una mayor competitividad. Colaboramos con una empresa impactando un 40% su eficiencia.

Eficiencia en Salud: Impactamos con tecnología el 40% de los costos operativos.
Un médico masculino trabaja en su computador en el trabajo.

Contexto

El sistema de salud chileno está sometido a un alto nivel de exigencia, atendiendo a millones de pacientes al mes con un déficit de profesionales y recursos. Esto ha implicado, al igual que la evolución en otras industrias, una mayor exigencia en eficiencia y eficacia. El impacto marginal en optimización de procesos puede significar reducción de tiempo en profesionales escasos, aumentando la cantidad de prestaciones, generando ingresos adicionales relevantes para las empresas.

En Nursoft hemos trabajado con múltiples actores de la industria de la salud, entendiendo en profundidad los dolores y espacios de impacto en los desafíos del negocio de nuestros clientes.

Desde el año 2018 colaboramos con una empresa que trabaja con más de 400 mil pacientes anuales. El proyecto, que impacta transversalmente al cliente, es de un gran tamaño tecnológico y es utilizado intensamente por más de 200 usuarios, 24 horas al día, los 7 días de la semana. Se atienden pacientes ambulatorios, hospitalizados y urgentes.

Sus procesos de gestión son sumamente exigentes por la demanda del mercado y su cartera de clientes. El atraso en algunos pocos minutos puede ser la diferencia entre una multa o no, o, en el peor de los casos, la vida o la muerte de un paciente urgente.

Producto de los múltiples desafíos del cliente, la plataforma está construida mediante una arquitectura de microservicios, con diferentes tecnologías y alta cantidad de funcionalidades. La alta disponibilidad, los tiempos de respuesta y la eficiencia pasan a ser requerimientos críticos dado el uso intensivo de los usuarios de la solución.


Nota técnica

En el diseño de un sistema de microservicios un desafío constante es cómo equilibrar un sistema con alta cohesión y bajo acoplamiento. Esto, en la práctica, permite que, manteniendo microservicios de alta coherencia interna, se minimice la cantidad de consultas que tienen dependencia con otro microservicio.

En particular esto es crítico cuando existen consultas de usuarios que en un sistema monolítico se implementarían con un join de tablas, ya que se pierde esa capacidad al tener bases de datos separadas haciendo mucho más costosas estas consultas.  Este es un problema común en sistemas de microservicios, que por la naturaleza de cada negocio, no siempre se puede evitar.


El problema de nuestro cliente: Cómo aumentar la eficiencia de sus colaboradores para mejorar sus costos.

El objetivo del proyecto es poder impactar de forma positiva la eficiencia  - sin dejar de lado la seguridad - de los procesos de gestión de los exámenes médicos; así mejorar su competitividad en costos versus su competencia.

Dado este objetivo, desglosamos las diferentes acciones y funcionalidades que utilizan los usuarios para detectar (1) las más utilizadas y (2) las que se pueden optimizar con el fin de impactar la productividad.

Con este análisis se detectó que la búsqueda de procedimientos (prestaciones médicas) es una funcionalidad que se ocupa hasta 1.000 veces al día por usuario, y dado el alto volumen de datos y la arquitectura, contaba con un déficit de velocidad subsanable rápidamente generando valor en el corto plazo. Una consulta podría demorarse hasta 12 segundos.

En sus inicios, esta funcionalidad se demoraba una fracción de segundos dado que era utilizada por menos usuarios y la base de pacientes y procedimientos era más pequeña. Al aumentar el uso, la cantidad de datos y habilitar funcionalidades que fomentaban la búsqueda de procedimientos por datos de pacientes, los tiempos de respuesta rápidamente aumentaron.

Problema Técnico: Data Disgregada, Búsqueda Unificada

Con el diagnóstico y el contexto del negocio claros, nos enfocamos en buscar una solución técnica en miras a generar un impacto positivo en los resultados para nuestro cliente.

El desafío fue cómo lograr unificar la búsqueda de más de 2.000.000 pacientes almacenados que cuenta con información disgregada en 2 microservicios: pacientes y procedimientos.

Cuando se filtraba por datos del paciente, se tenía que buscar todos los posibles pacientes que calzaran con la búsqueda e introducir ese resultado en la consulta del servicio de procedimientos.

A modo de ejemplo, si un usuario busca por «19» (para buscar todos los usuarios con Identificador Nacional 19 millones), en una tomografía computada de cerebro y con diagnóstico de accidente cerebrovascular, el microservicio de pacientes encontraba sobre 15 mil pacientes con Identificador Nacional 19.***.***-* y estos se enviaban al servicio de procedimientos para aplicar los otros dos filtros correspondientes a este servicio. En vez de procesar 25 procedimientos con sus 25 (o menos) pacientes, procesamos 15 mil pacientes y 25 procedimientos.

Solución

El equipo de consultores de Nursoft evaluó diferentes alternativas al desafío técnico con el fin de solucionar el problema de negocio:

  • Fusionar el servicio de pacientes y procedimientos, lo cual se descartó por que eran los dos servicios de mayor envergadura. La base de código hubiese resultado muy extensa, de alta complejidad y baja cohesión.
  • Replicar la información del paciente en el servicio de procedimientos, lo cual descartamos por mantenibilidad y escalabilidad. Entendiendo el volumen de datos y transacciones, era muy propenso a que las bases de datos quedarán desincronizadas e incoherentes.
  • Agregar un campo de texto que contiene todos los valores más frecuentes que se pueden utilizar para buscar como texto en los procedimientos, tanto los campos del paciente (nombre, identificador nacional, correo electrónico) como del procedimiento en sí (número de ficha).

Esta última opción permite que el usuario al buscar «23» encuentre todos los procedimientos cuyo RUT, correo electrónico y número de ficha contiene «23», de forma expedita.

Para esto, se creó un servicio que de forma asíncrona mediante eventos, al recibir una actualización de datos de un paciente, actualizaba ese campo en todos los procedimientos de dicho paciente.

Además, a todos los campos que la plataforma permite filtrar, se le agregaron índices (más de 30 índices nuevos). En particular, este campo de texto para la búsqueda se le agregó un índice para búsqueda de similaridad mediante trigramas.

Resultados e Impacto

  • La labor más realizada por la empresa en la plataforma era buscar, llegando a más 30.000 búsquedas por hora. Esto significaba que un grupo de operadores podía pasar hasta un 40% de su tiempo esperando que la plataforma encuentre los pacientes según sus criterios de búsqueda. Como resultado del proyecto, se mejoró logrando que sea menos de un 0.6% del tiempo, generando que los resultados de búsqueda sean casi instantáneos.
  • En promedio se disminuyó a 0.125 segundos cada resultado de búsqueda, que en un comienzo eran cercanos a los 10 segundos.
  • Los operadores ocupaban hasta dos horas diarias en total esperando que la búsqueda terminara de cargar. Actualmente las búsquedas dan resultados prácticamente instantáneos.
  • En total se logró impactar la eficiencia de la operación del cliente aumentando su eficiencia en hasta un 40% diaria, aumentando así su capacidad productiva y reduciendo sus costos operacionales. Esto, producto no solo de disminuir los tiempos de respuesta, si no al mayor uso de la funcionalidad de búsqueda producto de su optimización.

Diseñado y publicado en 2024 por Nursoft ®.
Todos los derechos reservados.