Cómo funciona el enrutamiento médico: contamos el ejemplo de la aplicación DOC +

Cada teléfono inteligente tiene sensores GPS, sensores y conexión a Internet; han reducido drásticamente el umbral tecnológico para resolver problemas logísticos. Ahora nos enfrentamos a sistemas de enrutamiento complejos casi todos los días, incluso si nosotros mismos no lo notamos. Con su ayuda, evitamos los embotellamientos, pedimos un taxi y obtenemos la entrega de alimentos. Cada uno de estos casos de usuarios tiene sus propias peculiaridades: las rutas deben reconstruirse a medida que se actualizan los datos, los conductores deben encontrar pasajeros, la comida debe permanecer caliente.

También nos enfrentamos a la tarea de enrutamiento DOC +: teníamos que garantizar la efectividad de nuestros médicos visitantes. Así es como lo resolvimos.


"Si se enferma, no tiene que ir a la clínica: el médico DOC + vendrá a su casa"

En inicio: llamamos al doctor


No solo "traemos" personas con médicos de acuerdo con el principio de Uber. Somos una compañía médica de pleno derecho con un equipo de médicos y recursos humanos limitados. Cuando recibimos una llamada, primero determinamos cómo ayudar al cliente: en algunos casos, nuestros especialistas pueden proporcionar consultas de forma remota, en otras situaciones (si el incidente es demasiado grave) explicamos que nuestro servicio no es un reemplazo completo ambulancia o atención de emergencia. Si algo parece amenazar su vida, le diremos a quién debe contactar.

En todos los demás casos, la aplicación se considera válida y confirmada por el despachador. Los usuarios de la aplicación pueden llamar a cualquier médico disponible con la especialización necesaria, o al médico que ama, si trabaja ese día y tiene la oportunidad de comunicarse con el paciente en un momento conveniente para él. Cuando una llamada de emergencia, el médico llega en las próximas dos horas. En una llamada regular, el médico llegará en las próximas cuatro horas desde el momento de la llamada o, si el paciente selecciona el tiempo de examen por adelantado, en el intervalo de tiempo elegido por el cliente (en este caso, el intervalo puede reducirse a dos horas; el sistema lo ayudará a elegir un período de tiempo específico teniendo en cuenta la carga de médicos )

Camino al paciente


El tiempo, tanto para el médico como para el paciente, es un recurso valioso que es importante usar con prudencia. Por lo tanto, para minimizar los gastos de viaje y los intervalos entre citas, se está construyendo una ruta completa de sus movimientos y trabajo para cada turno de un médico. La ruta comienza y termina con un especialista en casa y cambia automáticamente a medida que se reciben los pedidos. Al mismo tiempo, tratamos de calcular la ruta para que los movimientos sean lo más convenientes posible, sin movimientos bruscos entre puntos distantes en el mapa. Hablando en términos generales, se envía un médico al otro extremo de Moscú solo si alguien ordenó específicamente sus servicios (lo que explica la naturaleza premium de esta opción), o si ha recibido una llamada urgente que nadie más puede aceptar.

Los médicos se mueven por la ciudad de la manera que les resulte conveniente, lo que determinan al comienzo del turno. Los conductores pueden usar su propio automóvil, automóvil compartido o automóvil corporativo, el resto: transporte público o taxi.

El cálculo del tiempo de espera para un médico se realiza mediante nuestro sistema de autodespacho MIRA . Todas las aplicaciones en el sistema se muestran en el mapa de la ciudad y se marcan con diferentes marcadores. Los estados pueden ser los siguientes:

  • se nombra al médico;
  • aceptó la solicitud;
  • en el camino
  • lleva la recepción;
  • Terminado la recepción.

El médico cambia estos estados de forma independiente en su aplicación, y MIRA los monitorea y los toma en cuenta al reconstruir las rutas de otros especialistas.

Tecnológicamente, el sistema MIRA (Algoritmo de enrutamiento levemente intelectual) resuelve el " problema del vendedor ambulante ", en el que debe elegir la secuencia óptima de visitar ciudades y luego regresar a la ciudad original, pero con algunas diferencias.

En particular, tenemos más de un vendedor, pero muchos médicos (cada uno tiene su propio turno, puntos de inicio y finalización), y todos los desafíos al comienzo del día son desconocidos: la situación está cambiando dinámicamente (están surgiendo nuevos médicos, entran solicitudes o cambian).

También en nuestro caso, se introducen restricciones adicionales, por ejemplo, el médico debe llegar a la solicitud en un período de tiempo determinado, además de que debe tener en cuenta los deseos de los pacientes y los propios médicos.

La tarea más cercana a la nuestra, que se encuentra en la literatura científica, se llama el "Problema de enrutamiento dinámico de una flota de vehículos teniendo en cuenta los intervalos de tiempo" ( PDF ). Su esencia es minimizar los costos totales de transporte al calcular las rutas de automóviles con parámetros que cambian constantemente: ventanas de tiempo, longitud de la pista, número de automóviles y número de espacios de estacionamiento en los puntos de destino.

Nuestro sistema MIRA también tiene la tarea de minimizar el costo de hacer todas las llamadas en un entorno en constante cambio. Al resolverlo, el sistema tiene en cuenta el costo de todas las transferencias de médicos (incluidos los viajes a casa), los salarios de los médicos, el costo de llegar tarde a las llamadas y el tiempo de inactividad de un médico sin llamar, el tiempo de espera del cliente. Al mismo tiempo, MIRA tiene que manejar situaciones imprevistas (por ejemplo, el paciente tiene un asunto urgente durante la llamada); en este caso, el operador ingresa nuevos datos y el sistema vuelve a contar todo por sí mismo.

Al calcular la ruta del médico, se selecciona la dirección particular del médico como punto de inicio y finalización. Los puntos restantes son las direcciones de los pacientes . Durante el día, el sistema calcula y actualiza regularmente cada ruta. Para evaluar el tiempo durante el cual el médico puede llegar al paciente, se tienen en cuenta los siguientes factores:

  • Algunos pacientes requieren más atención que otros. Y a veces los propios médicos experimentan situaciones de fuerza mayor. Esto puede causar retrasos que se consideran primero.
  • Se agrega el tiempo que el médico pasa preparándose para la partida. Como los factores externos no afectan el desempeño de esta tarea, esta vez es la misma para todos los empleados.
  • El tiempo de espera para un taxi o transporte público es el mismo indicador promedio identificado experimentalmente, que crece a medida que te alejas de la carretera de circunvalación de Moscú.
  • Usando los datos de OpenStreetMap y OSM Routing Machine, se calcula el tiempo que tomaría la ruta deseada sin atascos.
  • El modelo de Machine Learning, capacitado en datos históricos, corrige este número dependiendo de la ubicación del médico, la situación prevista del tráfico, la época del año y la hora del día. El modelo utiliza la historia de los viajes de nuestros médicos en un taxi.
  • Finalmente, se agrega un tiempo fijo a esto, que el médico puede dedicar a encontrar el departamento del paciente.

La estimación del tiempo de "llegada" se optimiza mediante el algoritmo metaheurístico una vez por minuto, teniendo en cuenta nuevos datos, nuevas llamadas y cancelaciones.

Utilizamos metaheurística, ya que nuestra tarea es NP-complete, y la búsqueda de una solución exacta en un tiempo razonable aún no es un problema resuelto. Los algoritmos metaheurísticos le permiten buscar (pero no exhaustivamente) y encontrar, quizás, no las mejores soluciones, sino "buenas".

Como algoritmo, elegimos TabuSearch por su buena velocidad. Al buscar la ruta óptima, TabuSearch tiene en cuenta los antecedentes de la búsqueda y no considera aquellas rutas que alguna vez había visto y considerado subóptimas.

Para no molestar a los clientes, predecimos la hora de llegada del médico con un margen. Si, por un motivo imprevisto, no cumplimos con estos plazos, se lo notificaremos al cliente por adelantado (y si la llamada figuraba como urgente, entonces no cobramos un recargo por urgencia en una situación en la que no tenemos tiempo de llegar dentro de las dos horas desde el momento de la llamada).


Ilustración de nuestro blog " Just Ask "

Mientras el doctor viaja ...


Los despachadores son responsables de comunicarse con el cliente antes de que llegue el médico. Son los enlaces de conexión entre el médico y el paciente. La mitad de los empleados del centro de contacto tienen educación médica, mientras que el resto estudió disciplinas sociales. Su trabajo se rige por estrictos estándares internos y ningún algoritmo puede reemplazarlos. Esto es lo que hacen mientras el médico lo visita:

  • Trabajando con un médico consultor, los despachadores realizan una evaluación inicial de la gravedad de la condición del cliente. Al mismo tiempo, no solo entrevistan al cliente, sino que también intentan brindarle apoyo psicológico, si es necesario.
  • Mientras el médico está en camino, toman preguntas de naturaleza médica y las remiten al personal del departamento médico. Pueden preguntarle al médico jefe adjunto o al médico que ahora está libre de la llamada.
  • Si el cliente necesita contactar al médico que lo atenderá, los despachadores, monitoreando la carga de trabajo del médico, organizan una llamada de regreso.
  • Si el sistema está muy cargado y no hay suficientes especialistas, como, por ejemplo, durante las epidemias, los despachadores invitan a médicos no programados a turnos extracurriculares.

Pero, quizás lo más importante, son responsables de "resolver" las situaciones más problemáticas que pueden surgir durante la planificación de los horarios médicos.

Situaciones de emergencia


Si todo transcurre sin problemas, el médico llega a tiempo, completa un registro médico, examina al paciente y cambia a un nuevo cliente. Pero para garantizar audazmente a las personas un servicio tan optimizado, necesita tener sistemas que lo brinden.

En los primeros días del servicio, los despachadores simplemente observaban a los médicos en el mapa. Era posible ver quién estaba dónde y qué estaba haciendo: tenía un cliente, estaba de viaje o simplemente no hacía nada. La carga actual no permite esto, por lo que la resolución de la mayoría de las situaciones problemáticas está automatizada.

Gracias a los esfuerzos del equipo de despachadores y el equipo de análisis de datos, más del 90% de las citas se realizan utilizando un sistema automatizado. En los casos restantes (el cliente solicitó urgentemente cambiar el tiempo de reserva, fuerza mayor a los médicos, fuertes atascos no planificados), la cita la realiza el propio operador.

Un ejemplo de una situación de emergencia es el siguiente escenario:

El médico tiene un turno de 8 a 20. Se programó una llamada de la mañana para él con la reserva de 8 a 10. A las 8 de la mañana, el médico no abrió el turno. El sistema entiende esto y a las 8:05 crea un ticket correspondiente. Los operadores deben contactar al médico y decidir si cambiar un poco el turno o eliminarlo del médico. Si no se ha hecho nada antes de las 8:15 y el médico aún no se ha reemplazado, al construir rutas, MIRA deja de contar con él (hasta que el médico reemplace el turno o el operador realice ajustes manualmente).

Las situaciones que afectan los plazos de la aplicación también se detectan automáticamente y se convierten en tickets estándar. Los operadores permiten estos tickets manualmente. Por ejemplo, si un médico se retrasa en una cita, sus otros pacientes se enterarán de esto incluso antes de que sea dado de alta. Si el médico hace algo mal: llega tarde a un turno, "obsequios" o no supervisa el contenido del botiquín de primeros auxilios y la disponibilidad de formularios, el despachador recibe de inmediato un formulario de informe correspondiente.

En particular, tenemos una orden que estandariza la composición de la instalación, el equipo en el botiquín de primeros auxilios del médico y el número de formularios de examen, al comienzo de cada turno, y el médico debe seguirlo. Para reponer el estilo, el médico debe llamar al consultorio una vez por semana. Todo esto está controlado por un sistema ERP basado en 1C.

Si, por alguna razón, un empleado cambia de puesto sin el equipo necesario, el operador lo eliminará de la línea y lo enviará a la oficina. Aunque no hemos tenido un solo caso cuando el médico anunció el fin de los consumibles justo en frente de la puerta del cliente.



A primera vista, los matices como el contenido del botiquín de primeros auxilios no afectan la "construcción de la ruta del punto A al punto B". Sin embargo, están directamente relacionados con los movimientos de los médicos y, por lo tanto, con su ruta. Por lo tanto, para nosotros, el enrutamiento es un conjunto bastante complejo de tareas logísticas.

El trabajo de nuestro servicio es provisto tanto por tecnologías (aplicaciones, sistemas de inteligencia artificial y aprendizaje automático) como por especialistas que pueden hablar y escuchar: solo cuando todos estos elementos funcionan juntos, el servicio está en su mejor momento.



Tenemos una revista temática " Just Ask ", donde discutimos las preguntas más populares sobre la medicina moderna:

Source: https://habr.com/ru/post/es433032/


All Articles