Comunicação com a página

Recebimento de Mensagens

A comunicação do Plugin com a página e feita por meio de mensagens utilizando o padrão publish-subscribe. Execute a função abaixo para inscrever um callback e receber as mensagens do Plugin.

const messageHandler = (message) => {
    // Adicione aqui seu tratamento para a mensagem
}

VoaPlugin.instance.addMessageListener(messageHandler);

Observe que a cada vez que o método addMessageListener é executado, uma nova função de listener é adicionado, portanto, é possível ter múltiplos listeners simultaneamente. Caso queira remover um callback adicionado, basta executar removeMessageListener;

VoaPlugin.instance.removeMessageListener(messageHandler);

As mensagens enviadas pelo Plugin via callback tem o seguinte formato:

{ 
    eventName: string, // String com o nome do evento
    eventData: {} // Caso o evento tenha algum dado associado, será enviado nesse campo em formato de objeto. Caso contrário, será undefined
}

Tipos de mensagens

Ao abrir o plugin, caso uma consulta não exista com os identificadores fornecidos, ela será criada na Voa e esse evento será disparado.

  • Plugin aberto

Evento disparado assim que o Plugin é exibido para o usuário.

  • Plugin fechado

Evento disparado assim que o Plugin é fechado.

  • Plugin pronto

Ao abrir, o plugin exibe um loading e carrega alguns dados do servidor. Esse evento é disparado quando está tudo pronto para interação do usuário

  • Consulta criada

  • Gravação iniciada

  • Gravação pausada

  • Transcrição disponível

  • Documento gerado

  • Documento copiado

  • Preencher prontuário

Este evento é disparado se a opção enableFillEhr estiver habilitada e o usuário clicar em "Preencher prontuário".

Quando o usuário aciona "Preencher prontuário" e foi informado structuredOutputSchema na inicialização; é disparado voa.plugin.ehr.structured_output (output estruturado) após o plugin obter com sucesso os dados estruturados da API. O payload contém eventData.output (dados no formato do schema) e eventData.from_cache (indica se o resultado veio de cache). Esta mensagem pode chegar depois de voa.plugin.ehr.fill; integradores que usam output estruturado devem inscrever-se em ambas. Veja Output estruturadoarrow-up-right para o schema.

  • Plugin minimizado

Evento disparado quando usuário clica em minimizar o Plugin para reduzir o tamanho da janela.

  • Plugin maximizado

Evento disparado quando usuário clica em maximizar o Plugin para expandir a janela.

Funções de controle

É possível controlar o plugin programaticamente sem a necessidade de interações do usuário com a interface.

Adicionar media stream de áudio

Permite injetar streams de áudio diretamente no plugin para captura durante as gravações de telemedicina.

Quando usar

  • Experiência simplificada: Se já possui acesso à MediaStream da consulta de telemedicina do seu sistema e deseja eliminar etapas manuais de compartilhamento do áudio da tela por parte do usuário.

Também é possível ocultar os botões de compartilhamento de áudio da tela do plugin pelo parâmetro de configuração allowScreenSharing.

O método setScreenMediaStream também aceita null como parâmetro, representando a remoção da stream utilizada, caso exista.

Por se tratar de uma MediaStream externa e que pode estar sendo utilizada em outras features da página, o Plugin não executa nenhuma ação que interfira no ciclo de vida, como suspensão ou pause das tracks de áudio ou vídeo. Portanto, é necessário cuidar disso manualmente.

Adicionar contexto à consulta programaticamente

Caso tenha dados pregressos do paciente da consulta, é possível preencher o campo "Contexto do Paciente" programaticamente. O conteúdo desse campo é levado em consideração na geração de documentos

circle-exclamation

Atualizado

Isto foi útil?