Cómo creamos Medical Voice Assistant

Cuando concebimos Medical Voice Assistant , todavía no había una pandemia. Y cuando se estrenó, nos dimos cuenta de que el lanzamiento fue muy oportuno (sin falsa modestia). Sin embargo, en la realidad actual, esto es relevante para todos los servicios que simplifican la vida de los médicos y mejoran la calidad de la atención al paciente.



En este artículo te contamos en detalle nuestro nuevo producto. El plan es este:



  • por qué necesita un asistente médico de voz;
  • principales casos de uso;
  • de qué componentes consta la solución;
  • cómo se procesan y asignan las tareas.




Cómo funciona el DIH



Por qué necesita un asistente médico de voz (IHP)



El DIH tiene dos objetivos principales.



  • . , : , ( ) , , .
  • . , , . / , .




Aquí veremos escenarios básicos para usar un asistente de voz que son adecuados para casi cualquier hospital. Por supuesto, puede haber muchas más opciones; todo depende de las necesidades de una clínica en particular.



Llamada al médico / enfermera . Indicado para casos en los que el paciente necesita la ayuda del personal médico. Tan pronto como el paciente pronuncia una palabra clave, por ejemplo, "analgésico", "doloroso", "necesita una inyección", el sistema asigna la tarea al grupo de especialistas necesario y fija el plazo para la decisión.



Ejecución automática de consultas... El paciente solicita información de ayuda que ya está en la base de conocimientos, por ejemplo, el horario de la cafetería. El DIH busca el artículo relevante por palabras clave y se lo comunica al paciente. El paciente está contento y las enfermeras también: pueden realizar tareas más importantes.



Comunicación bidireccional . Se utiliza cuando el paciente necesita una consulta con un especialista, por ejemplo, si necesita pedirle a su médico detalles sobre la dosis y el horario para tomar un nuevo medicamento.



Componentes del DIH



El asistente médico de voz puede resolver una variedad de tareas, desde las más simples hasta las más complejas. Sin embargo, su versatilidad se combina con la facilidad de implementación. A nivel de componentes, se trata de una solución de software y hardware bastante minimalista; nuestro objetivo fue deliberadamente.



El DIH incluye 4 módulos básicos.



  1. Terminal de paciente. Consta de un micrófono para recibir sonido, parlantes para reproducir mensajes del sistema (y médicos) y una microcomputadora que procesa la información del paciente e interactúa con otros componentes.
  2. Sistema de reconocimiento y síntesis de voz. El sistema puede usarse en la nube o instalarse localmente.
  3. Sistema de contabilidad y tramitación de solicitudes. La aplicación web en la que trabaja el personal médico. Implementado sobre la base de la plataforma ESM para la automatización de procesos comerciales SimpleOne .
  4. Terminales para médicos y enfermeras. Tabletas o PC que están conectadas al sistema de contabilidad y procesamiento a través de Wi-Fi o LAN.


Procesamiento de solicitudes de voz



El terminal en la sala actúa como un centro de comunicación entre el paciente, el Sistema de Síntesis y Reconocimiento de Voz (SRS) y el Sistema de Procesamiento de Solicitudes y Contabilidad (CPS).



En general, el proceso de procesamiento de solicitudes se ve así:



  • el terminal está constantemente esperando una palabra clave;
  • si se pronuncia una palabra clave, el terminal graba un audio breve (4-5 s);
  • el audio se envía al CPC;
  • el terminal envía una respuesta del CPC al sistema de control;
  • el terminal anuncia la información al paciente dependiendo de la lógica CPS preestablecida (plantilla).




La captura de pantalla muestra un ejemplo de procesamiento de una solicitud con una grabación de rayos X.



Para una interacción más cómoda, además de las respuestas estándar "Su solicitud ha sido aceptada, espere ayuda", el DIH reproduce señales especiales, por ejemplo, sobre el comienzo y final de la grabación del mensaje del paciente.



Asignar tareas basadas en plantillas



En el sistema, puede configurar plantillas de consulta únicas, a cada una de las cuales se le pueden asignar condiciones de activación: las palabras clave requeridas. Tan pronto como el cliente pronuncia la palabra clave prescrita en la plantilla, el sistema activa la solicitud y asigna la tarea a un grupo específico de especialistas o, por ejemplo, anuncia la información necesaria de la base de conocimientos.



El sistema dispone de una tabla "Mensajes", que almacena todas las frases pronunciadas por el paciente. El sistema supervisa la tabla de mensajes entrantes y crea una consulta si el mensaje coincide con la condición de la plantilla.



Ejemplo



Para la plantilla de solicitud "Analgésico para un paciente", seleccione la palabra clave "doloroso". Asignamos una alta prioridad a la solicitud, seleccionamos el método "Personal de enfermería" y conectamos el grupo requerido de ejecutantes: enfermeras. Ahora, si el paciente dice “duele”, el DIH asignará automáticamente la tarea al grupo de enfermeras. Los miembros del grupo recibirán una notificación de que se ha asignado la tarea; El mensaje del paciente se reflejará en el campo "Descripción" de la solicitud.





Vista de la plantilla de solicitud



Paralelamente, la tarea se fija en el contador de control del tiempo de respuesta (SLA). En nuestro ejemplo, tenemos 10 minutos para resolver el problema. Si el especialista no cumple con la fecha límite, el problema se deriva al médico o grupo superior (los escenarios de escalada también se pueden configurar).





Contador de SLA



Se puede crear un número ilimitado de plantillas de solicitud en el sistema. Esto lo pueden realizar empleados con derechos de administrador.





Plantillas de consulta



Por qué elegimos Pocketsphinx, Python y SQLite3



En la solución prototipo, utilizamos un microordenador de la familia Raspberry Pi y el sistema operativo Raspbian GNU / Linux base. Terminal es una aplicación simple escrita en Python que usa solicitudes REST para sistemas auxiliares y la biblioteca Pocketsphinx (LiveSpeech).



La biblioteca Pocketsphinx es buena porque ayuda a mejorar el rendimiento de la primera respuesta: la búsqueda de una palabra clave. El sistema de síntesis y reconocimiento de voz utiliza diccionarios y mecanismos complejos para el reconocimiento. En términos generales, Pocketsphinx acelera el proceso de reconocimiento de palabras clave para evitar experiencias negativas de los clientes. Pocketsphinx también es fácil de configurar y puede funcionar en varios modos.



El uso de Python y Pocketsphinx expande enormemente la funcionalidad del terminal. Para evitar que los pacientes se aburran, se pueden agregar juegos al DIH. En el prototipo, por ejemplo, hemos implementado un juego sencillo "Ciudades".



La API REST estándar se utiliza para integrar CDS y KMS.



A continuación se muestra un ejemplo de una dirección CPS (enviamos un mensaje POST hacia el CPS, analizamos la respuesta, etc. en un círculo):



url = 'https://user:pass@mva.simpleone.ru/rest/v1/table/mva_itguild_inquiry'

payload = {«description»: text, «subject»: «mva_inquiry»}

header = {'Accept': 'application/json;charset=UTF-8','Content-Type': 'application/json;charset=UTF-8'}

response = requests.post(url,data=json.dumps(payload), headers=header)

i_json = response.json()


La síntesis de voz continua usando CPC no es un proceso rápido, porque es bastante amplio: autorización, solicitud, procesamiento. Para acelerarlo, se utiliza una base de datos local SQLite3 para almacenar respuestas de pacientes generadas previamente. Esta solución es muy adecuada para procesar solicitudes con un escenario constante, por ejemplo, al expresar información sobre la ubicación de los consultorios médicos y las salas de tratamiento, el horario del comedor.



Otro punto importante es la tala. Sin él, es imposible trabajar en mejoras y correcciones de errores. Por lo tanto, el terminal implementa el registro tanto del proceso general de operación de todos los sistemas adyacentes como de los componentes individuales.



Cual es el resultado



Asignar tareas al personal médico mediante el control por voz no es solo una cuestión de comodidad (para los médicos y los pacientes), también se trata de la posibilidad de optimizar seriamente los procesos de trabajo en los hospitales. Cuantas más oportunidades tengan los hospitales para hacer que sus cuidadores se sientan más cómodos y productivos, mejor será la calidad de la atención al paciente.



Queríamos crear una solución realmente útil y multifuncional para hospitales, utilizando un conjunto mínimo de servicios listos para usar. Pero quizás la principal ventaja del DIH sea su versatilidad. El asistente de voz se puede implementar rápidamente en un hospital de cualquier tamaño y perfil. Puede optimizar el software "sobre la marcha", teniendo en cuenta las tareas de una institución médica en particular y las condiciones que cambian rápidamente.



All Articles