Vamos falar sobre nosso novo produto em detalhes neste artigo. O plano é este:
- por que você precisa de um assistente médico de voz;
- principais casos de uso;
- em quais componentes a solução consiste;
- como as tarefas são processadas e atribuídas.
Como funciona o IHL
Por que você precisa de um Medical Voice Assistant (IHP)
O DIH tem dois objetivos principais.
- . , : , ( ) , , .
- . , , . / , .
Aqui, veremos os cenários básicos para o uso de um assistente de voz adequados para quase todos os hospitais. Claro, pode haver muito mais opções - tudo depende das necessidades de uma clínica específica.
Chamada de médico / enfermeira . Indicado para casos em que o paciente necessita do auxílio da equipe médica. Assim que o paciente pronuncia uma palavra-chave - por exemplo, "analgésico", "doloroso", "preciso de uma injeção" - o sistema atribui a tarefa ao grupo de especialistas necessários e define o prazo para a decisão.
Execução automática de consulta... O paciente pede informações de ajuda que já estão na base de conhecimento - por exemplo, o horário do refeitório. O IHL encontra o artigo relevante por palavras-chave e o transmite ao paciente. O paciente está feliz e as enfermeiras também: elas podem fazer tarefas mais importantes.
Comunicação bidirecional . É usado quando o paciente precisa de uma consulta com um especialista - por exemplo, se você precisa perguntar ao seu médico detalhes sobre a dosagem e o cronograma para tomar um novo medicamento.
Componentes do DIH
O assistente médico de voz pode resolver uma variedade de tarefas, das mais simples às mais complexas. No entanto, sua versatilidade é combinada com facilidade de implementação. No nível do componente, esta é uma solução de software e hardware bastante minimalista - nós deliberadamente buscamos isso.
O IHL inclui 4 módulos básicos.
- Terminal do paciente. É composto por um microfone para recepção de som, alto-falantes para reprodução de mensagens do sistema (e médicos) e um microcomputador que processa as informações do paciente e interage com outros componentes.
- Sistema de reconhecimento e síntese de voz. O sistema pode ser usado na nuvem ou instalado localmente.
- Sistema de contabilidade e processamento de pedidos. A aplicação web em que trabalha a equipa médica. Implementado com base na plataforma ESM para automatizar processos de negócios SimpleOne .
- Terminais para médicos e enfermeiras. Tablets ou PCs conectados ao sistema de contabilidade e processamento via Wi-Fi ou LAN.
Processando solicitações de voz
O terminal na enfermaria atua como um centro de comunicação entre o paciente, o Sistema de Síntese e Reconhecimento de Fala (SRS) e o Sistema de Processamento de Solicitações e Contabilidade (CPS).
Em geral, o processo de processamento da solicitação é assim:
- o terminal está constantemente esperando por uma palavra-chave;
- se uma palavra-chave é falada, o terminal grava um áudio curto (4–5 s);
- o áudio é enviado ao CPC;
- o terminal envia uma resposta do CPC para o sistema de controle;
- o terminal anuncia as informações ao paciente, dependendo da lógica CPS predefinida (modelo).
A captura de tela mostra um exemplo de processamento de uma solicitação com uma gravação de raios-X
Para uma interação mais confortável, além das respostas padrão “Sua solicitação foi aceita, espere por ajuda”, o IHL reproduz sinais especiais - por exemplo, sobre o início e final da gravação da mensagem do paciente.
Atribuição de tarefas com base em modelos
No sistema, você pode configurar modelos de consulta exclusivos, cada um dos quais pode receber condições de ativação - as palavras-chave necessárias. Assim que o cliente pronuncia a palavra-chave prescrita no template, o sistema ativa a solicitação e atribui a tarefa a um determinado grupo de especialistas ou, por exemplo, anuncia as informações necessárias da base de conhecimento.
O sistema possui uma tabela “Mensagens”, que armazena todas as frases pronunciadas pelo paciente. O sistema monitora a tabela de mensagens recebidas e cria uma consulta se a mensagem corresponder à condição do modelo.
Exemplo
Para o modelo de solicitação "Analgésico para um paciente", selecione a palavra-chave "dolorosa". Atribuímos uma alta prioridade à solicitação, selecionamos o método “Equipe de enfermagem” e conectamos o grupo de executores necessário - enfermeiras. Agora, se o paciente disser “está doendo”, o IHL atribuirá automaticamente a tarefa ao grupo de Enfermeiros. Os membros do grupo receberão uma notificação de que a tarefa foi atribuída; a mensagem do paciente será refletida no campo "Descrição" da solicitação.
Visualização do modelo de solicitação
Em paralelo, a tarefa é fixada no contador de controle de tempo de resposta (SLA). Em nosso exemplo, temos 10 minutos para resolver o problema. Se o especialista não cumprir o prazo, o problema é escalado para o médico superior ou grupo (os cenários de escalonamento também são configuráveis).
Contador SLA
Um número ilimitado de modelos de solicitação pode ser criado no sistema. Isso pode ser feito por funcionários com direitos de administrador.
Modelos de consulta
Por que escolhemos Pocketsphinx, Python e SQLite3
Na solução de protótipo, usamos um microcomputador da família Raspberry Pi e o sistema operacional Raspbian GNU / Linux. Terminal é um aplicativo simples escrito em Python usando solicitações REST para sistemas auxiliares e a biblioteca Pocketsphinx (LiveSpeech).
A biblioteca Pocketsphinx é boa porque ajuda a melhorar o desempenho da primeira resposta - a busca por uma palavra-chave. O sistema de reconhecimento e síntese de voz usa mecanismos e dicionários complexos para reconhecimento. Em termos gerais, a Pocketsphinx acelera o processo de reconhecimento de palavras-chave para evitar experiências negativas do cliente. O Pocketsphinx também é fácil de configurar e pode funcionar em vários modos.
Usar Python e Pocketsphinx expande muito a funcionalidade do terminal. Para evitar que os pacientes fiquem entediados, jogos podem ser adicionados ao DIH. No protótipo, por exemplo, implementamos um jogo simples "Cidades".
A API REST padrão é usada para integrar o CDS e o KMS.
Abaixo está um exemplo de endereço CPS (enviamos uma mensagem POST para o CPS, analisamos a resposta e assim por diante em um 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()
A síntese de voz contínua usando CPC não é um processo rápido, porque é bastante amplo: autorização, solicitação, processamento. Para acelerar isso, um banco de dados SQLite3 local é usado para armazenar as respostas do paciente geradas anteriormente. Esta solução é adequada para processar pedidos com um cenário constante - por exemplo, ao dar voz a informações sobre a localização de consultórios médicos e salas de tratamento, o horário da cantina.
Outro ponto importante é o registro. Sem ele, é impossível trabalhar em melhorias e correções de bugs. Portanto, o terminal implementa o registro tanto do processo geral de operação de todos os sistemas adjacentes quanto dos componentes individuais.
Qual é o resultado
Atribuir tarefas ao pessoal médico por comando de voz não é apenas uma questão de comodidade (para médicos e pacientes), mas também sobre a possibilidade de otimização séria dos processos de trabalho nos hospitais. Quanto mais oportunidades os hospitais tiverem de tornar seus cuidadores mais confortáveis e produtivos, melhor será a qualidade do atendimento ao paciente.
Queríamos criar uma solução multifuncional realmente útil para hospitais, usando um conjunto mínimo de serviços prontos. Mas talvez a principal vantagem do DIH seja sua versatilidade. O assistente de voz pode ser implantado rapidamente em um hospital de qualquer tamanho e perfil. Você pode otimizar o software "em tempo real", levando em consideração as tarefas de uma instituição médica específica e as condições que mudam rapidamente.