> For the complete documentation index, see [llms.txt](https://docs.voa.health/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.voa.health/integracao/plugin/fluxo-de-uso.md).

# Fluxo de uso

## Instalação

Para utilizar o Plugin, é necessário importar um script no HTML da página. As duas formas mais indicadas são: adicionar diretamente no HTML ou carregar o script programaticamente usando javascript.

* **Adicionar diretamente no HTML**

```html
<script type="module" src="https://integration.voa.health/plugin.js"></script>
```

* **Adicionar programaticamente usando JavaScript:**

<pre class="language-html"><code class="lang-html">&#x3C;script>
<strong>    (() => {
</strong>        const script = document.createElement("script");
        script.src = "https://integration.voa.health/plugin.js";
        script.type = "module";
        
        document.head.appendChild(script);
        
        script.onload = async () => {
            // Com o script carregado, uma instância do VoaPlugin estará disponível
            // no escopo global da página
            await VoaPlugin.instance.init({ token: "YOUR_API_KEY" });
        }
    })();
&#x3C;/script>
</code></pre>

Ao carregar o script, um tipo VoaPlugin é adicionado ao contexto global da página. Na sequência, é necessário chamar a função de init passando o token de autenticação.

## Inicialização

Para inicializar o plugin, execute a função *mount* e passe os identificadores internos da consulta no seu prontuário.

Não é possível abrir mais de uma instância do Plugin na mesma página, portanto, chamadas dessa função enquanto há uma instância na tela não surtirão efeito.

<pre class="language-javascript"><code class="lang-javascript">await VoaPlugin.init({ token: "YOUR_API_KEY" });

<strong>VoaPlugin.instance.mount({
</strong>    doctorId: "", // Identificador do médico
    patientId: "", // Identificador do paciente
    consultationId: "", // Identificador da consulta
    options: {
        darkMode: false,
        allowCreateModels: false,
        enableFillEhr: true,
        consultationType: "IN_PERSON",
        allowChangeConsultationType: true
    },
});
</code></pre>

#### Parâmetros de configuração

O argumento *options* pode receber os seguintes parâmetros:

<table><thead><tr><th width="208.09375">Option</th><th>Descrição</th><th width="156.484375">Tipo</th><th width="129.61328125">Default</th></tr></thead><tbody><tr><td>renderElement</td><td>Elemento HTML do DOM no qual o plugin será renderizado. Caso nenhum elemento seja informado, o plugin será uma janela flutuante na página com botões de fechar e minimizar/maximizar. </td><td>HTMLElement</td><td>undefined</td></tr><tr><td>darkMode</td><td>Habilita o modo noturno da UI.</td><td>Boolean</td><td>false</td></tr><tr><td>consultationType</td><td>Permite pré-selecionar o tipo da consulta.</td><td>"TELEMEDICINE" ou "IN_PERSON"</td><td>"IN_PERSON"</td></tr><tr><td>allowChangeConsultationType</td><td>Habilita a troca do tipo da consulta por parte do usuário.</td><td>Boolean</td><td>true</td></tr><tr><td>allowCopyDocument</td><td>Exibe um botão de "Copiar Documento" para área de transferência.</td><td>Boolean</td><td>true</td></tr><tr><td>enableFillEhr</td><td>Exibe um botão de preencher prontuário ao gerar documentos que dispara um evento com os dados do documento gerado.</td><td>Boolean</td><td>false</td></tr><tr><td>allowScreenSharing</td><td>Caso desabilitado, a opção de compartilhar o áudio da tela para consultas de telemedicina não será exibida para os usuários. A única forma de captar áudio passa a ser enviando programaticamente um mediaStream para o plugin. <a href="/pages/rRx0eSGKsi0b0MN0RVtA#adicionar-media-stream-de-audio">Veja mais</a>.</td><td>Boolean</td><td>true</td></tr><tr><td>enableTelemetry</td><td>Permite que a Voa colete dados de uso do Plugin para identificação de bugs e melhorias.</td><td>Boolean</td><td>true</td></tr><tr><td>structuredOutputSchema</td><td>Objeto JavaScript correspondente ao schema desejado de documento<br>estruturado da consulta. Se informado, ao usar "Preencher prontuário" o<br>plugin envia a mensagem <a href="/pages/w7k6yi0LWMvPxIm0vtti">voa.plugin.ehr.fill</a> com o documento em texto; os dados estruturados são enviados em<br>mensagem separada <a href="/pages/w7k6yi0LWMvPxIm0vtti">voa.plugin.ehr.structured_output</a> com o formato especificado. <a href="/pages/KWQ1h77HhUL9jqsbhZnP">Veja como criar o schema</a>.</td><td>Object</td><td>undefined</td></tr><tr><td>editorOptions</td><td><p></p><p>Objeto Javascript com configurações do editor de documentos do Plugin.<br>Opções:<br><br>- disableDragAndDrop<br>Desabilita a feature de arrastar componentes do editor.</p></td><td>Object</td><td><pre><code>{
    disableDragAndDrop: false
}
</code></pre></td></tr></tbody></table>

***

### Desmontagem

Para fechar uma instância aberta do Plugin, basta chamar a função *unmount*. Sempre utilize essa função ao invés de removê-lo manualmente do DOM da página para garantir sincronização dos dados e limpeza de memória.

Caso o usuário feche o plugin manualmente, a desmontagem também é realizada (opção de fechar manualmente só é exibida caso nenhum [renderElement](#parametros-de-configuracao) seja utilizado)

```javascript
VoaPlugin.instance.unmount();
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.voa.health/integracao/plugin/fluxo-de-uso.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
