# Seja bem-vindo(a)! 👋

### O que é a Voa?

A Voa é a camada de inteligência artificial projetada para serviços de saúde *future-proof*.

Otimize fluxos de trabalho clínicos, aumente a eficiência e ofereça um atendimento de qualidade superior com uma ferramenta desenvolvida para tornar a documentação clínica um processo descomplicado.

Aqui, você irá encontrar ajuda sobre como personalizar a assistente da Voa e integrá-la ao seu PEP e outros sistemas.

### Vamos lá! 🚀

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Primeiros passos</strong></td><td>Uso e noções básicas</td><td><a href="/files/tuUzfyfj6qW0m3x0q8RH">/files/tuUzfyfj6qW0m3x0q8RH</a></td><td></td><td><a href="/pages/CyH2xJQs9yWJ1S8BYNav">/pages/CyH2xJQs9yWJ1S8BYNav</a></td></tr><tr><td><strong>Guia de integração</strong></td><td>Opções de plugin</td><td><a href="/files/8sRquUP9aA0QwOV430YR">/files/8sRquUP9aA0QwOV430YR</a></td><td></td><td><a href="/pages/7aUFmnCMx9m4smGncsXL">/pages/7aUFmnCMx9m4smGncsXL</a></td></tr></tbody></table>


# Primeiros passos

Uso e noções básicas

{% @arcade/embed flowId="9rOllR6SNn3xVADwYLbr" url="<https://app.arcade.software/share/9rOllR6SNn3xVADwYLbr>" %}

O objetivo da Voa é eliminar a necessidade de profissionais de saúde qualificados para a realização de tarefas mundanas, como o preenchimento de burocracias.

É por isso que nossa interface é *extremamente simples*, exigindo apenas dois cliques para a geração de registros clínicos de altíssima qualidade.

{% hint style="info" %}
Quer começar logo? Acesse a seção [Integração](/integracao/plugin) para saber mais.
{% endhint %}

No entanto, para realmente libertarmos os médicos de interfaces defasadas e cansativas, o ideal é que o dado transite da Voa para o prontuário automaticamente.

> 👉 Nossa tecnologia foi projetada para ser facilmente integrada a qualquer prontuário ou sistema - e neste guia ensinaremos você a fazer isso de maneira rápida!

### Principais Funcionalidades <a href="#principais-funcionalidades" id="principais-funcionalidades"></a>

#### 1. Gravação e Transcrição Automática <a href="#id-1-gravacao-e-transcricao-automatica" id="id-1-gravacao-e-transcricao-automatica"></a>

Capture cada detalhe da consulta sem esforço, permitindo que os médicos foquem totalmente no paciente.

#### 2. Geração de Documentos Inteligente <a href="#id-2-geracao-de-documentos-inteligente" id="id-2-geracao-de-documentos-inteligente"></a>

Transforme automaticamente as consultas em documentos clínicos estruturados, como anamnese, prescrições e encaminhamentos.

#### 3. Integração Flexível <a href="#id-3-integracao-flexivel" id="id-3-integracao-flexivel"></a>

A Voa se adapta ao seu fluxo de trabalho existente, integrando-se perfeitamente com diversos sistemas de prontuário eletrônico.

<figure><img src="/files/Rm5VaA5sqh0Ry03xfSpr" alt="" width="563"><figcaption><p>Widget  integrável</p></figcaption></figure>

### Segurança e Conformidade <a href="#id-4-seguranca-e-conformidade" id="id-4-seguranca-e-conformidade"></a>

Priorizamos a segurança dos dados e a conformidade com regulamentações de saúde, garantindo a confidencialidade das informações do paciente.

Acesse nossos [Termos de Uso](https://voa.health/termos-de-uso) e [Política de Privacidade](https://voa.health/politica-de-privacidade) para entender melhor como a Voa lida com seus dados.


# Escolha sua integração

A Voa permite que você implemente IA de ponta com poucas linhas de código, através de nosso *widget* ou *plugin* integrável, ou de maneira ainda mais simples com a extensão para o navegador.

<figure><img src="/files/dYwkNCFcb7umAEujRj50" alt=""><figcaption></figcaption></figure>

### Tipos de integração

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>Plugin</strong></td><td>Incorpore a Voa diretamente no seu sistema de prontuário eletrônico, permitindo aos médicos acessar as funcionalidades da Voa sem sair do ambiente familiar.</td><td><a href="/pages/DUQqK6u3RV4632H44MAC">/pages/DUQqK6u3RV4632H44MAC</a></td><td><a href="/files/35pSg8VK4DazpiOcYElT">/files/35pSg8VK4DazpiOcYElT</a></td><td></td></tr><tr><td><strong>Extensão do navegador</strong></td><td>Ofereça aos médicos acesso rápido às funcionalidades da Voa diretamente no navegador, complementando o uso do seu sistema de prontuário eletrônico.</td><td><a href="/pages/ZXxfwYY21Yz9PCv9X7ja">/pages/ZXxfwYY21Yz9PCv9X7ja</a></td><td><a href="/files/3HelU0N4FdjZtB0MxDfw">/files/3HelU0N4FdjZtB0MxDfw</a></td><td></td></tr></tbody></table>


# Plugin

### Visão Geral <a href="#visao-geral" id="visao-geral"></a>

Esta documentação descreve como integrar a Voa com sistemas de prontuários eletrônicos por meio de um Plugin injetado via script na página.

### Funcionalidades <a href="#funcionalidades" id="funcionalidades"></a>

* Carregar a Voa dentro do sistema de prontuário eletrônico
* Iniciar e gerenciar consultas diretamente do prontuário
* Comunicação bidirecional entre a Voa e o prontuário eletrônico

{% hint style="warning" %}
Plugin (e a [Chave de API](https://docs.voa.health/api-reference/chaves-de-api) que o autentica) permite **usar a Voa dentro de outros sistemas** — gravar atendimentos e gerar documentos. A Voa **não disponibiliza API pública de consulta de dados**: não é possível ler ou exportar pacientes, consultas ou documentos via API.
{% endhint %}

### Suporte <a href="#suporte" id="suporte"></a>

Para questões técnicas ou suporte, entre em contato com nossa equipe de integração em <integration@voahealth.com>.


# Autenticação

Mantenha a Chave de API no backend e autentique o Plugin no navegador com tokens de sessão temporários.

## Visão geral

A **Chave de API** é uma credencial de longa duração e deve permanecer no backend da sua aplicação. Para autenticar o Plugin no navegador, seu backend troca essa chave por um **token de sessão temporário** e entrega apenas o token ao frontend.

{% hint style="danger" %}
Nunca coloque uma Chave de API no HTML, JavaScript, bundle da aplicação, armazenamento do navegador ou chamada feita diretamente pelo frontend. Qualquer pessoa com acesso à página pode recuperar essa credencial.
{% endhint %}

```mermaid
sequenceDiagram
    participant Frontend as Seu frontend
    participant Backend as Seu backend
    participant VoaAPI as API da Voa
    participant Plugin as Plugin Voa

    Frontend->>Backend: Solicita token de sessão
    Backend->>Backend: Autentica e autoriza o usuário
    Backend->>VoaAPI: POST /integration/session-token/ com x-voa-token
    VoaAPI->>Backend: access + access_expiration
    Backend->>Frontend: Retorna o token temporário
    Frontend->>Plugin: getToken() retorna access
    Plugin->>VoaAPI: Authorization: Bearer access
```

## 1. Gerar um token de sessão no backend

Faça a troca somente no backend da sua aplicação:

```bash
curl --request POST \
  --url https://api.voa.health/integration/session-token/ \
  --header 'Content-Type: application/json' \
  --header 'x-voa-token: {SUA_CHAVE_DE_API}' \
  --data '{
    "expiration": 1800
  }'
```

Resposta:

```json
{
  "access": "{TOKEN_DE_SESSAO}",
  "access_expiration": "2026-08-27T14:00:00+00:00"
}
```

| Campo        | Obrigatório | Descrição                                                                                                                          |
| ------------ | ----------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `expiration` | Não         | Validade em segundos. Mínimo de 1.800 (30 minutos), máximo de 86.400 (24 horas) e padrão de 43.200 (12 horas). Recomendamos 1.800. |
| `doctor_id`  | Não         | Identificador informativo para auditoria. Não limita o token a esse médico. Máximo de 255 caracteres.                              |

O token é vinculado à organização associada à Chave de API. Seu endpoint deve autenticar o usuário da aplicação host e confirmar que ele pode usar essa organização antes de solicitar ou retornar um token. Não transforme o endpoint em um relay público.

## 2. Disponibilizar um endpoint no seu backend

Crie um endpoint autenticado da sua aplicação, por exemplo `POST /api/voa/session-token`, que execute a troca acima e retorne o campo `access`. Armazene a Chave de API em uma variável de ambiente ou cofre de segredos do backend.

O navegador deve chamar apenas esse endpoint próprio:

```javascript
async function getVoaSessionToken() {
    const response = await fetch("/api/voa/session-token", {
        method: "POST",
        credentials: "include",
        headers: { "Content-Type": "application/json" }
    });

    if (!response.ok) {
        throw new Error("Não foi possível autenticar o Plugin Voa");
    }

    const { access } = await response.json();
    return access;
}
```

## 3. Inicializar o Plugin com `getToken`

Passe a função ao `init`. O Plugin obtém o primeiro token e solicita outro quando o token expira ou é rejeitado pela API.

```javascript
VoaPlugin.instance.init({
    getToken: getVoaSessionToken
});
```

Se sua página já recebeu um token de sessão temporário, ele pode ser usado como valor inicial. O `getToken` continua responsável pelas renovações:

```javascript
VoaPlugin.instance.init({
    token: initialSessionToken,
    getToken: getVoaSessionToken
});
```

Também é possível inicializar somente com `{ token: sessionToken }`, mas esse modo não renova a sessão. Quando o token expirar ou for rejeitado, o Plugin encerra a autenticação. Use `getToken` para sessões que podem permanecer abertas por mais tempo.

## Comportamento de renovação

* `getToken` deve retornar uma `Promise<string>` com um token de sessão válido e não vazio.
* O Plugin chama o provider na inicialização quando não há token inicial, antes de uma requisição com token expirado e após uma resposta `401` ou `403` de autenticação.
* Requisições simultâneas compartilham a mesma renovação em andamento, evitando múltiplas emissões do mesmo token.
* Uma requisição rejeitada é repetida no máximo uma vez com a credencial atualizada.
* Cada chamada a `getToken` tem limite de 10 segundos. Falhas, timeout ou token vazio encerram a autenticação e disparam o evento `voa.plugin.error.auth`.
* `unmount()` remove o provider e invalida renovações ainda em andamento.

## Revogação e validade

Excluir a Chave de API impede imediatamente a emissão de novos tokens de sessão. Tokens já emitidos permanecem válidos até `access_expiration`; por isso, prefira a validade mínima de 30 minutos. Desativar o usuário vinculado invalida seus tokens de sessão imediatamente.

Para reduzir exposição, mantenha o token de sessão apenas em memória sempre que possível e nunca registre Chaves de API ou tokens completos em logs.


# Fluxo de uso

## Instalação

Para utilizar o Plugin, importe o script no HTML da página. Você pode adicioná-lo diretamente ao HTML ou carregá-lo programaticamente com JavaScript.

* **Adicionar diretamente no HTML**

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

* **Adicionar programaticamente com JavaScript**

```html
<script>
    (() => {
        const script = document.createElement("script");
        script.src = "https://integration.voa.health/plugin.js";
        script.type = "module";

        document.head.appendChild(script);

        script.onload = () => {
            // VoaPlugin.instance estará disponível no escopo global da página.
        };
    })();
</script>
```

Ao carregar o script, `VoaPlugin.instance` é adicionado ao contexto global da página.

## Inicialização

{% hint style="warning" %}
Nunca passe uma Chave de API ao Plugin no navegador. Mantenha essa chave no seu backend e use um token de sessão temporário. Consulte [Autenticação](/integracao/plugin/autenticacao) para implementar a troca e a renovação segura.
{% endhint %}

Inicialize o Plugin com um provider que busca tokens de sessão no backend da sua aplicação:

```javascript
async function getVoaSessionToken() {
    const response = await fetch("/api/voa/session-token", {
        method: "POST",
        credentials: "include"
    });

    if (!response.ok) {
        throw new Error("Não foi possível autenticar o Plugin Voa");
    }

    const { access } = await response.json();
    return access;
}

VoaPlugin.instance.init({ getToken: getVoaSessionToken });

await VoaPlugin.instance.mount({
    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
    }
});
```

Para inicializar com um token já obtido e ainda permitir renovação, passe `token` e `getToken` juntos. Veja as opções e o comportamento de renovação em [Autenticação](/integracao/plugin/autenticacao).

Não é possível abrir mais de uma instância do Plugin na mesma página. Chamadas a `mount()` enquanto já existe uma instância aberta não surtirão efeito.

#### 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/rRx0eSGKsi0b0MN0RVtA">voa.plugin.ehr.fill</a> com o documento em texto; os dados estruturados são enviados em<br>mensagem separada <a href="/pages/rRx0eSGKsi0b0MN0RVtA">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>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.</td><td>Object</td><td><pre><code>{
    disableDragAndDrop: false
}
</code></pre></td></tr></tbody></table>

***

### Desmontagem

Para fechar uma instância aberta do Plugin, chame `unmount()`. Sempre utilize essa função em vez de remover o Plugin manualmente do DOM, garantindo a sincronização dos dados e a limpeza dos recursos de autenticação e memória.

Caso o usuário feche o Plugin manualmente, a desmontagem também é realizada. A opção de fechar manualmente só é exibida quando nenhum `renderElement` é utilizado.

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


# Comunicação com a página

### &#x20;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.

```javascript
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*;

```javascript
VoaPlugin.instance.removeMessageListener(messageHandler);
```

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

```javascript
{ 
    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

* Erro de autenticação

Evento disparado quando a autenticação falha durante o `init()`, por exemplo, ao fornecer um token inválido. Caso queira exibir algum tratamento personalizado para esse cenário, trate esse evento antes de chamar o `mount()` do plugin. Caso contrário, será exibido uma tela de erro indicando falha de autenticação e instruindo o usuário a verificar seu token e a procurar nosso suporte.

{% hint style="info" %}
Para receber este evento, registre o *listener* **antes** de chamar `init()`.
{% endhint %}

```javascript
VoaPlugin.instance.addMessageListener((message) => {
    if (message.eventName === "voa.plugin.error.auth") {
        // Exiba uma mensagem adequada ao usuário
    }
});

await VoaPlugin.instance.init({ token });
```

```javascript
{
    eventName: "voa.plugin.error.auth",
    eventData: {
        message: "Authentication failed! Please, check your token."
    }
}
```

* Plugin aberto

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

```javascript
{
    eventName: "voa.plugin.opened",
}
```

* Plugin fechado

Evento disparado assim que o Plugin é fechado.

```javascript
{
    eventName: "voa.plugin.closed",
}
```

* 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

```javascript
{
    eventName: "voa.plugin.ready",
}
```

* Consulta criada

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

```javascript
{
    eventName: "voa.plugin.ehr.created",
    eventData: {
        id: "", // uuid da consulta na Voa,
        type: "" // TELEMEDICINE ou IN_PERSON
    }
}
```

* Gravação iniciada

```javascript
{
    eventName: "voa.plugin.recorder.started",
}
```

* Gravação pausada

```javascript
{
    eventName: "voa.plugin.recorder.paused",
}
```

* Transcrição disponível

```javascript
{
    eventName: "voa.plugin.ehr.transcriptions",
    eventData: {
        transcriptions: [
            {
                start_time: "00m 00s", 
                text: "Hello"
            },
            {
                start_time: "00m 02s", 
                text: "World!"
            },
        ]
    }
}
```

* Documento gerado

```javascript
{
    eventName: "voa.plugin.ehr.document.created",
    eventData: {
        id: "", // uuid do documento na Voa,
        created_at: "" // timestamp de criação do documento
    }
}
```

* Documento copiado

```javascript
{
    eventName: "voa.plugin.ehr.document.copied",
}
```

* Preencher prontuário

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

```javascript
{
    eventName: "voa.plugin.ehr.fill",
    eventData: {
        document: "", // representação markdown do documento
        template: {
            id: "",   // ID do template utilizado
            name: "", // nome do template
            slug: "", // slug do template
        }
    }
}
```

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 estruturado](https://file+.vscode-resource.vscode-cdn.net/Users/gian/Documents/voa/voa-integrations/docs/output-estruturado.md) para o schema.

```javascript
{
    eventName: "voa.plugin.ehr.structured_output",
    eventData: {
        output: {},   // dados clínicos no formato do structuredOutputSchema
        from_cache: false
    }
}
```

* Plugin minimizado

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

```javascript
{
    eventName: "voa.plugin.ehr.document.minimized",
}
```

* Plugin maximizado

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

```javascript
{
    eventName: "voa.plugin.maximized",
}
```

## 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](/integracao/plugin/fluxo-de-uso#parametros-de-configuracao).

```javascript
const mediaStream = await navigator.mediaDevices.getDisplayMedia({
  audio: true
  systemAudio: "include",
  monitorTypeSurfaces: "include",
  surfaceSwitching: "include",
  selfBrowserSurface: "include",
});

await VoaPlugin.instance.setScreenMediaStream(mediaStream);
```

O método *setScreenMediaStream* também aceita *<mark style="color:blue;">null</mark>* 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 texto ao contexto do paciente programaticamente

Toda consulta tem um campo de texto "contexto do paciente" que o médico pode preencher com informações adicionais que não foram verbalizadas na transcrição. Caso queira adicionar programaticamente algo nesse campo, chame o método abaixo. Leve em consideração que o conteúdo markdown será adicionado sempre ao final do campo e não sobrescreve nada que já foi digitado.

```javascript
const context = `
*Sexo*: Masculino
*Idade*: 35 anos
`;

await VoaPlugin.instance.appendContext(context);
```

#### Adicionar dados pregressos do paciente programaticamente

Caso queira enriquecer o contexto do paciente com dados de consultas anteriores ou dados históricos, é possível inserir um componente customizado de "História pregressa" no campo "Contexto do Paciente" programaticamente. O conteúdo desse campo será considerado como anterior ao atendimento.

<pre class="language-javascript"><code class="lang-javascript">const backgroundHistory = `
## Última<a data-footnote-ref href="#user-content-fn-1"> </a>consulta: 20/12/2022
Refere melhora parcial do humor e do sono após 6 semanas de uso de sertralina 50mg/dia.
Ainda relata episódios de desânimo pela manhã e dificuldade de concentração no trabalho.
`;

// DEPRECATED: await VoaPlugin.instance.addEhrContext(backgroundHistory); 
await VoaPlugin.instance.addBackgroundHistory(backgroundHistory);

</code></pre>

Caso uma chamada do método seja realizada em uma consulta que já teve contexto adicionado anteriormente, nada acontecerá. Caso opte por sobrescrever o conteúdo existente, adicione o seguinte parâmetro:

```javascript
await VoaPlugin.instance.addBackgroundHistory(backgroundHistory, true); // replaceIfExists = true
```

{% hint style="warning" %}
Anteriormente, essa mesma funcionalidade tinha a assinatura de função `addEhrContext` . Esse método foi descontinuado e será removido em versões futuras. É recomendado substituí-lo pelo `setBackgroundHistory` .
{% endhint %}

[^1]:


# Output estruturado

Ao inicializar o plugin, caso o [parâmetro de configuração *"structuredOutputSchema"*](https://docs.voa.health/integracao/fluxo-de-uso#parametros-de-configuracao) seja preenchido com um schema válido, ao usar "Preencher prontuário" o plugin envia os dados estruturados na mensagem **voa.plugin.ehr.structured\_output** (veja [Comunicação com a página – mensagens](https://docs.voa.health/integracao/mensagens)). A mensagem de preenchimento (**voa.plugin.ehr.fill**) contém apenas o texto do documento; o objeto estruturado vem em **eventData.output** na mensagem **voa.plugin.ehr.structured\_output** (e **eventData.from\_cache** indica se o resultado veio de cache).

Esse schema segue o padrão [JSON Schema](https://json-schema.org/understanding-json-schema/reference), conforme o exemplo abaixo:

### Estrutura do *schema*

```javascript
// Exemplo de schema
{                                    // ← Schema raiz
  "type": "object",
  "properties": {
    "paciente": {                    // ← Schema da propriedade "paciente"
      "type": "object",
      "description": "Dados do paciente",
      "properties": {
        "nome": {                    // ← Schema da propriedade "nome"
          "description": "Nome completo do paciente"
          "type": "string"
        },
        "idade": {                    // ← Schema da propriedade "idade"
          "description": "Idade do paciente em número inteiro"
          "type": "number"
        }
      }
    },
    "medicamentos_em_uso": {         // ← Schema da propriedade "medicamentos_em_uso"
      "type": "array",
      "items": {                     // ← Schema dos itens da lista
        "type": "object"
        "properties": {
          "nome": {                  // ← Schema da propriedade "nome"
            "description": "Nome do medicamento em uso"
            "type": "string"
          },
          "dosagem": {               // ← Schema da propriedade "idade"
            "description": "Dosagem em uso do medicamento"
            "type": "string"
          }
        }
      }
    }
  }
}

// Exemplo de output
{
  "paciente": {
    "nome": "Fulano",
    "idade": 25
  },
  "medicamentos_em_uso": [
    {
      "nome": "dipirona",
      "dosagem": "1g em caso de dor"
    }
  ]
}
```

O schema é um objeto javascript que define o formato do output.&#x20;

* A raíz do schema é sempre um schema do tipo *object* que pode ter outros schemas aninhados.
* Cada schema devem ter as propriedades description e type.
* A propriedade type pode ter os seguintes valores:

| Tipo    | Descrição                         |
| ------- | --------------------------------- |
| string  | Texto livre                       |
| number  | Valores numéricos                 |
| boolean | Verdadeiro ou Falso               |
| object  | Objeto com propriedades definidas |
| array   | Lista de itens                    |

* Todo schema do tipo object deve ter uma propriedade "*properties"* que são itens chave/valor de outros schemas.
* Todo schema do tipo array deve ter uma propriedade items que é o schema dos itens da lista

É possível utilizar ferramentas que transformam JSONs em schemas automaticamente para facilitar o processo, como o [transform](https://transform.tools/json-to-json-schema).

{% hint style="info" %}
Note que o nome dos campos do schema são apenas exemplos. Os schemas são flexíveis e é possível utilizar qualquer nome/idioma para as propriedades. Certifique-se somente de deixar claro na descrição o significado e instruções de preenchimento de cada campo.
{% endhint %}

## Campos Especiais

O schema oferece **campos especiais,** que são campos pré-configurados pela nossa equipe que facilitam a extração de informações médicas comuns. Estes campos contêm instruções e validações otimizadas para maximizar a precisão no preenchimento das informações.<br>

* CID (Classificação Internacional de Doenças)

O campo especial CID instrui o preenchimento de um código e descrição CID, conforme no exemplo abaixo:

```javascript
{
    "type": "object",
    "properties": {
        "diagnostico_principal": {
            "$ref": "#/$defs/CID" // Nomeclatura de referência aos campos especiais
        },
        "diagnosticos_secundarios": {
            "type": "array",
            "items": {
                "$ref": "#/$defs/CID" // Nomeclatura de referência aos campos especiais
            }
        }
    }
}

// Output
{
    "diagnostico_principal": {
        "code": "G20",
        "description": "Doença de Parkinson"
    },
    "diagnosticos_secundarios": [
        {
            "code": "I10",
            "description": "Hipertensão essencial (primária)"
        }
    ]
}
```

* Dados Antropométricos

O campo especial de dados antropométricos extrai as informações de peso, altura e IMC (Índice de massa corporal) com padronização de unidade.

```javascript
{
    "type": "object",
    "properties": {
        "dados_antropometricos": {
            "$ref": "#/$defs/AnthropometricData"
        },
    }
}

// Output
{
    "dados_antropometricos": {
        'weight': 100, // Peso em kg
        'height': 180, // Altura em cm
        'imc': 30.86   // IMC com arredondamento de 2 casas decimais
    }
}

```


# Upload de Arquivos

Permite o upload de arquivos para o plugin diretamente pela interface ou programaticamente a partir da página host. O usuário ou a página host serão capazes de anexar laudos, exames e outros.

### Visão geral

O recurso de upload de arquivos do VOA Plugin permite:

* Usuários finais enviarem arquivos pela UI (arrastar e soltar, seletor de arquivos ou colar).
* A aplicação host enviar arquivos programaticamente via API JavaScript.
* Monitorar o ciclo completo de upload por eventos (`started`, `success`, `error`).

### Como utilizar

#### Para permitir o upload pela UI&#x20;

1. Inicialize e monte o plugin seguindo o [Fluxo de uso](https://app.gitbook.com/o/ecmHHcmJZnUA45HQ7O36/s/NbyT4Nmc4kxRl74PaKL4/~/edit/~/changes/68/integracao/plugin/fluxo-de-uso)
2. Ative a flag `enableFileUpload: true`&#x20;
3. (Opcional) habilite as flags `messageSubscriptions`  e `includeUploadStartedContent` para que a página host receba uma mensagem contendo uma cópia do arquivo

Agora o usuário poderá fazer upload de arquivos diretamente no VOA Plugin. Além disso, se a flag `messageSubscriptions` estiver ativa (o valor padrão é `true`) a página host irá receber eventos para monitorar o progresso do upload. Caso a flag `includeUploadStartedContent` também estiver ativa, o evento `voa.plugin.file.upload.started` irá incluir uma chave `content` com o arquivo.

#### Para fazer upload programaticamente

1. Inicialize e monte o plugin seguindo o [Fluxo de uso](https://app.gitbook.com/o/ecmHHcmJZnUA45HQ7O36/s/NbyT4Nmc4kxRl74PaKL4/~/edit/~/changes/68/integracao/plugin/fluxo-de-uso)
2. Chame a função `uploadFiles` passando os arquivos
3. Não é necessário habilitar esta feature. Se não receber as mensagens sobre o progresso do upload verifique se a flag `messageSubscriptions` não está `false`&#x20;

Exemplo:

```js
const input = document.querySelector('input[type="file"]');
const files = Array.from(input.files || []);

VoaPlugin.instance.uploadFiles(files);
```

### Escutando eventos de progresso do upload

1. Inicialize e monte o plugin seguindo o [Fluxo de uso](https://app.gitbook.com/o/ecmHHcmJZnUA45HQ7O36/s/NbyT4Nmc4kxRl74PaKL4/~/edit/~/changes/68/integracao/plugin/fluxo-de-uso)
2. Chame a função `addMessageListener` passando uma *callback* para recebimento de mensagens

Exemplo:

```js
VoaPlugin.instance.addMessageListener((message) => {
  switch (message.eventName) {
    case "voa.plugin.file.upload.started":
      console.log("Upload iniciado:", message.eventData.fileId);
      break;
    case "voa.plugin.file.upload.success":
      console.log("Upload concluído:", message.eventData.fileId);
      break;
    case "voa.plugin.file.upload.error":
      console.error("Falha no upload:", message.eventData.error?.message);
      break;
  }
});
```

### Configurações

#### Opções no `mount` <a href="#op-c3-a7-c3-b5es-no-mount" id="op-c3-a7-c3-b5es-no-mount"></a>

<table><thead><tr><th>Opção</th><th width="112.57421875">Tipo</th><th width="106.79296875">Padrão</th><th>Descrição</th></tr></thead><tbody><tr><td><code>enableFileUpload</code></td><td><code>boolean</code></td><td><code>false</code></td><td>Exibe recursos de upload na UI do plugin para o usuário final.</td></tr><tr><td><code>messageSubscriptions</code></td><td><code>boolean</code></td><td><code>true</code></td><td>Controla se a página host recebe eventos do plugin.</td></tr><tr><td><code>includeUploadStartedContent</code></td><td><code>boolean</code></td><td><code>false</code></td><td>Quando <code>true</code>, inclui o objeto <code>File</code> bruto em <code>eventData.content</code> do evento <code>started</code>.</td></tr></tbody></table>

### Métodos da API

<table><thead><tr><th width="200.89453125">Método</th><th width="117.73046875">Parâmetro</th><th width="85.53515625">Tipo</th><th>Descrição</th></tr></thead><tbody><tr><td><code>uploadFiles(files)</code></td><td><code>files</code></td><td><code>File[]</code></td><td>Envia uma lista de arquivos para o pipeline de upload do plugin. É permitido o envio de até <strong>3 arquivos</strong> simultaneamente.</td></tr></tbody></table>

### Eventos de status de upload

| Evento                           | Quando ocorre                                   |
| -------------------------------- | ----------------------------------------------- |
| `voa.plugin.file.upload.started` | O upload começou após obtenção de URL assinada. |
| `voa.plugin.file.upload.success` | Upload e processamento finalizados com sucesso. |
| `voa.plugin.file.upload.error`   | Falha de validação, upload ou processamento.    |

#### Campos comuns no `eventData`

<table><thead><tr><th width="139.5546875">Campo</th><th width="191.9609375">Tipo</th><th>Descrição</th></tr></thead><tbody><tr><td><code>fileId</code></td><td><code>string | null</code></td><td>ID do arquivo quando disponível. Pode ser <code>null</code> em falhas de validação.</td></tr><tr><td><code>fileName</code></td><td><code>string</code></td><td>Nome original do arquivo.</td></tr><tr><td><code>source</code></td><td><code>"user" | "host"</code></td><td>Origem do envio (UI ou página host).</td></tr></tbody></table>

#### Campos adicionais por evento <a href="#campos-adicionais-por-evento" id="campos-adicionais-por-evento"></a>

<table><thead><tr><th width="114.69140625">Evento</th><th>Campo</th><th>Tipo</th><th>Descrição</th></tr></thead><tbody><tr><td><code>error</code></td><td><code>error</code></td><td><code>{ code?: string, message: string }</code></td><td>Detalhes da falha.</td></tr><tr><td><code>started</code></td><td><code>content</code></td><td><code>File | null</code></td><td>Arquivo bruto quando <code>includeUploadStartedContent</code> for <code>true</code>.</td></tr></tbody></table>

### FAQ

#### O upload pela API depende de `enableFileUpload`? <a href="#o-upload-pela-api-depende-de-enablefileupload" id="o-upload-pela-api-depende-de-enablefileupload"></a>

Não. `uploadFiles(files)` funciona mesmo com `enableFileUpload: false`.

#### Por que recebo erro de validação antes do upload começar? <a href="#por-que-recebo-erro-de-valida-c3-a7-c3-a3o-antes-do-upload-come-c3-a7ar" id="por-que-recebo-erro-de-valida-c3-a7-c3-a3o-antes-do-upload-come-c3-a7ar"></a>

O arquivo foi rejeitado nas regras de entrada (tipo, tamanho ou estrutura do PDF ou imagem). Nesses casos, o upload não é iniciado.

#### Como saber se o arquivo veio da UI/usuário ou da aplicação host? <a href="#como-saber-se-o-arquivo-veio-da-ui-ou-da-aplica-c3-a7-c3-a3o-host" id="como-saber-se-o-arquivo-veio-da-ui-ou-da-aplica-c3-a7-c3-a3o-host"></a>

Sempre verifique `eventData.source`:

* `"user"`: upload feito na UI do plugin pelo usuário.
* `"host"`: upload feito programaticamente via `uploadFiles(files)`.

#### O `eventData.content` vem preenchido como `null` no evento `started`? <a href="#quando-eventdatacontent-vem-preenchido-no-evento-started" id="quando-eventdatacontent-vem-preenchido-no-evento-started"></a>

Somente é enviado o arquivo quando habilitada a flag: `includeUploadStartedContent: true`.\
Por padrão (`false`), o campo vai como `null`.

#### Posso enviar múltiplos arquivos de uma vez? <a href="#posso-enviar-m-c3-baltiplos-arquivos-de-uma-vez" id="posso-enviar-m-c3-baltiplos-arquivos-de-uma-vez"></a>

Sim. Eles entram na fila com processamento concorrente de até 3 arquivos.


# iFrame (deprecado)

### Aviso <a href="#visao-geral" id="visao-geral"></a>

A integração por iFrame está deprecada e sua documentação serve apenas de referência para integrações legadas. Para novas integrações veja [Plugin](/integracao/plugin).

### Visão Geral <a href="#visao-geral" id="visao-geral"></a>

Esta documentação descreve como integrar a Voa com sistemas de prontuários eletrônicos através de um plugin baseado em iFrame.

### Funcionalidades <a href="#funcionalidades" id="funcionalidades"></a>

* Carregar a Voa dentro do sistema de prontuário eletrônico
* Iniciar e gerenciar consultas diretamente do prontuário
* Comunicação bidirecional entre a Voa e o prontuário eletrônico

### Suporte <a href="#suporte" id="suporte"></a>

Para questões técnicas ou suporte, entre em contato com nossa equipe de integração em <integration@voahealth.com>.


# Instalação

Adicione o seguinte código HTML no local onde deseja que a Voa apareça no prontuário eletrônico:

```html
<iframe
  src="https://integration.voa.health/embed?patientId={PATIENT_ID}&doctorId={DOCTOR_ID}&consultationId={CONSULTATION_ID}&authToken={AUTH_TOKEN}&bearerToken={BEARER_TOKEN}&uiScale={UI_SCALE}&clinicalType={CLINICAL_TYPE}&output_style={OUTPUT_STYLE}&consultationType={CONSULTATION_TYPE}"
  width="100%"
  height="600"
  frameborder="0"
  allow="microphone"
  id="voaIframe"
></iframe>
```

Substitua os seguintes parâmetros:

#### Autorização (utilize uma das opções abaixo):

* `{BEARER_TOKEN}`: Token de autenticação único para cada consulta;
* `{AUTH_TOKEN}`: Token de autenticação único para a integração em específico;

Para mais detalhes sobre a autenticação, [consulte a página de Autenticação do Iframe](/integracao/iframe/autenticacao).

#### Consulta:

* `{PATIENT_ID}`: ID do paciente no sistema de prontuário;
* `{DOCTOR_ID}`: ID do médico no sistema de prontuário;
* `{CONSULTATION_ID}`: Identificador único do sistema de prontuário eletrônico;
* `{UI_SCALE}`: Escala de UI contida no iframe. Veja as opções disponíveis abaixo;
* `{CLINICAL_TYPE}`: Modelo de documento a ser gerado pela IA. Veja as opções disponíveis abaixo.
* `{OUTPUT_STYLE}`: Formato de output de Anamnese. Veja as opções disponíveis abaixo.
* `{CONSULTATION_TYPE}` : Tipo da consulta. Veja as opções disponíveis abaixo.

<details>

<summary>Opções de <code>{UI_SCALE}</code> disponíveis</summary>

compact

</details>

<details>

<summary>Opções de <code>{CLINICAL_TYPE}</code> disponíveis</summary>

anamnesis&#x20;

anamnesisCardiology&#x20;

anamnesisDermatology&#x20;

anamnesisEndocrinology&#x20;

anamnesisGeriatrics&#x20;

anamnesisGeriatrics240812&#x20;

anamnesisGynecology&#x20;

anamnesisNeurology&#x20;

anamnesisNutrology&#x20;

anamnesisObstetrics&#x20;

anamnesisOccupationalExam&#x20;

anamnesisOphthalmology&#x20;

anamnesisOrthopedics&#x20;

anamnesisPediatrics&#x20;

anamnesisPsychiatry&#x20;

anamnesisReturningConsultation

&#x20;anamnesisSportsMedicine&#x20;

anamnesisSurgery&#x20;

anamnesisWardEvolution&#x20;

soap

</details>

<details>

<summary>Opções de <code>{OUTPUT_STYLE}</code> disponíveis</summary>

structured

markdown

html

</details>

<details>

<summary>Opções de <code>{CONSULTATION_TYPE}</code> disponíveis</summary>

***in\_person***

***telemedicine***\
&#x20;    \- Habilita o compartilhamento de tela por parte do usuário para gravar áudio de          teleconsultas.

</details>

### 2. Comunicação via postMessage <a href="#id-2-comunicacao-via-postmessage" id="id-2-comunicacao-via-postmessage"></a>

**Enviando mensagens para a Voa**

Para enviar mensagens do prontuário eletrônico para a Voa, use:

```javascript
const voaIframe = document.querySelector("iframe#voaIframe");
voaIframe.contentWindow.postMessage(
  {
    eventName: "voa.plugin.recorder",
    eventData: {
      "command": "stopRecording" 
    },
  },
  "https://integration.voa.health"
);
```

**Recebendo mensagens da Voa**

Para receber mensagens da Voa no prontuário eletrônico:

```javascript
window.addEventListener("message", (event) => {
  if (event.origin !== "https://integration.voa.health") return;

  const { eventName, eventTimestamp, eventData } = event.data;

  switch (eventName) {
    case "voa.plugin.recorder":
      // Lógica para lidar com informações do gravador
      break;
    case "voa.plugin.sequenceUpload":
      // Lógica para lidar com o a transcrição de um trecho à medida que são disponibilizadas
      break;
    case "voa.plugin.fullTranscription": // Retorno da solicitação de "voa.plugin.fullTranscription"
      // Lógica para lidar com o retorno da transcrição completa
      break;
    case "voa.plugin.generate": // Retorno da solicitação de "voa.plugin.generate"
      // Lógica para lidar com o retorno solicitação para gerar documento
      break;
  }
});
```

Veja mais detalhes das mensagens em [Tipos de mensagem](/integracao/iframe/tipos-de-mensagem)


# Autenticação

Este documento apresenta duas opções para integrar o iFrame da Voa.

## Utilização via Auth Token (desenvolvimento)

No ambiente de desenvolvimento, o Auth Token simplifica a integração, podendo ser utilizado em todas as requisições sem a necessidade de renovação a cada consulta.

```
authToken={AUTH_TOKEN}
```

#### Fluxograma

{% @mermaid/diagram content="sequenceDiagram
participant Dev as Seu frontend
participant VoaAPI as API da Voa (Backend)
participant iFrame as iFrame Voa

```
Note over Dev,iFrame: Fluxo via Auth Token (Desenvolvimento)
Dev->>Dev: Obtém Auth Token (ex: variáveis de ambiente)
Dev->>iFrame: Requisição com header x-voa-token: {AUTH_TOKEN}
iFrame->>VoaAPI: Valida Auth Token
VoaAPI->>iFrame: Autorizado, responde com dados
iFrame->>Dev: Retorna resposta ao sistema do desenvolvedor
```

" %}

***

## Utilização via Bearer Token (produção)

Utilize este endpoint para obter um **Bearer Token** seguro através do seu **Auth Token.** Cada consulta requer um Bearer Token único, garantindo segurança e gerenciando o ciclo de vida do token de forma mais rigorosa. Este token é um JWT com expiração pré-definida, você pode alterá-la no campo `expiration` (segundos).

#### Request

```url
curl --request POST \
  --url https://api.voa.health/integration/identify/ \
  --header 'Content-Type: application/json' \
  --header 'x-voa-token: {AUTH_TOKEN}' \
  --data '{
	"consultation_id": {CONSULTATION_ID},
	"doctor_id": {DOCTOR_ID},
	"patient_id": {PATIENT_ID},
	"expiration": 43200
}'
```

#### Response

```
{ "token": "YOUR_TOKEN" }
```

#### Fluxograma

{% @mermaid/diagram content="sequenceDiagram
participant FrontDev as Seu frontend
participant BackDev as Seu backend
participant VoaAPI as API da Voa
participant iFrame as iFrame Voa

```
Note over BackDev,VoaAPI: Obter Bearer Token para cada consulta
BackDev->>VoaAPI: Dados consulta com x-voa-token: {AUTH_TOKEN}
VoaAPI->>BackDev: Retorna Bearer Token
BackDev->>FrontDev: Envia Bearer Token

Note over FrontDev,iFrame: Utilizar Bearer Token no iFrame
FrontDev->>iFrame: bearerToken na url do iFrame: Bearer {YOUR_TOKEN}
iFrame->>iFrame: Valida Bearer Token
iFrame->>FrontDev: Envia resposta com dados
```

" %}

***

### Suporte <a href="#suporte" id="suporte"></a>

Para questões técnicas ou suporte, entre em contato com nossa equipe de integração em <integration@voahealth.com>.


# Tipos de mensagem

### Mensagens do Prontuário para a Voa <a href="#mensagens-do-prontuario-para-a-voa" id="mensagens-do-prontuario-para-a-voa"></a>

* `"voa.plugin.recorder"`: Mensagens com solicitações de informação ou comandos para o gravador.

<pre class="language-typescript"><code class="lang-typescript"><strong>{
</strong>    eventName: "voa.plugin.recorder",
    eventData: {
      command: "stopRecording",
    },
}
</code></pre>

<details>

<summary>Opções para o parâmetro "command"</summary>

* **startRecording**

Inicia a a gravação programaticamente, sem necessidade de interação do usuário com a interface.

* **stopRecording**

Pausa a gravação.

* **resetRecording**

Pausa a gravação e reinicia o cronômetro.

</details>

* `"voa.plugin.generate"`: Mensagens com solicitações de informação ou comandos para o gravador.

<pre><code><strong>{
</strong>    eventName: "voa.plugin.generate",
}
</code></pre>

* `"voa.plugin.fullTranscription"`: Mensagem solicitando a transcrição completa da consulta até o momento.

<pre><code><strong>{
</strong>    eventName: "voa.plugin.fullTranscription",
}
</code></pre>

### Mensagens da Voa para o Prontuário <a href="#mensagens-da-voa-para-o-prontuario" id="mensagens-da-voa-para-o-prontuario"></a>

1. `CONSULTATION_STARTED`: Notifica que uma consulta foi iniciada.
2. `CONSULTATION_COMPLETED`: Envia um resumo da consulta finalizada.
3. `DOCUMENT_GENERATED`: Notifica sobre um novo documento gerado.
4. `TRANSCRIPTION_UPDATE`: Envia atualizações da transcrição em tempo real.

### Considerações de Segurança <a href="#consideracoes-de-seguranca" id="consideracoes-de-seguranca"></a>

* Sempre verifique a origem das mensagens recebidas.
* Use HTTPS para todas as comunicações.
* Implemente autenticação e autorização adequadas no lado do servidor da Voa.


# Fluxo de uso

### Exemplo de Fluxo de Uso <a href="#exemplo-de-fluxo-de-uso" id="exemplo-de-fluxo-de-uso"></a>

1. O médico abre o prontuário do paciente.
2. O sistema de prontuário carrega o iFrame da Voa.
3. O prontuário envia informações contextuais do paciente para a Voa.
4. O médico inicia a gravação da consulta através da interface da Voa.
5. Durante a consulta, a Voa pode enviar atualizações de transcrição.
6. Ao finalizar, a Voa envia um resumo da consulta e links para documentos gerados.
7. O prontuário atualiza seus registros com as informações recebidas da Voa.

{% @mermaid/diagram content="sequenceDiagram
participant PE as Prontuário Eletrônico
participant Plugin as Plugin Voa (iFrame)
participant Backend as Backend Voa

```
PE->>Plugin: Carrega iFrame
PE->>Plugin: Envia contexto do paciente (postMessage)
Plugin->>Backend: Inicializa com contexto

PE->>Plugin: Inicia consulta (postMessage)
Plugin->>Backend: Inicia gravação e transcrição

loop Durante a consulta
    Backend->>Plugin: Atualiza transcrição
    Plugin->>PE: Envia atualizações de transcrição (postMessage)
    PE->>Plugin: Atualiza contexto, se necessário (postMessage)
end

PE->>Plugin: Finaliza consulta (postMessage)
Plugin->>Backend: Encerra gravação e solicita processamento
Backend->>Plugin: Retorna documentos gerados
Plugin->>PE: Envia resumo e links dos documentos (postMessage)

PE->>Backend: Solicita documentos via API
Backend->>PE: Envia documentos solicitados

PE->>PE: Atualiza prontuário com novos dados
```

" %}


# Modelos

Esta página indica todos os modelos disponíveis na Voa atualmente, juntamente com suas versões. Os campos serão retornados de acordo com a tipagem pré estabelecida. Caso não seja identificado refeência ao conteúdo do campo durante a consulta, o campo retornará com valor nulo.

| Nome                                                                             | Descrição                                                                                                                                            | ID                             |
| -------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| [Anamnese padrão](/integracao/iframe/modelos/anamnesis)                          | Gera um registro clínico padrão                                                                                                                      | anamnesis                      |
| [Cardiologia](/integracao/iframe/modelos/anamnesiscardiology)                    | Inclui informações específicas de exame físico e scores cardiológicos                                                                                | anamnesisCardiology            |
| [Dermatologia](/integracao/iframe/modelos/anamnesisdermatology)                  | Descreve todo o exame dermatológico do paciente                                                                                                      | anamnesisDermatology           |
| [Endocrinologia](/integracao/iframe/modelos/anamnesisendocrinology)              | Inclui informações de doenças endócrinas e obesidade                                                                                                 | anamnesisEndocrinology         |
| [Geriatria](/integracao/iframe/modelos/anamnesisgeriatrics)                      | Contém informações específicas da geriatria como avaliação geriátrica ampla                                                                          | anamnesisGeriatrics            |
| [Geriatria - Novo](/integracao/iframe/modelos/anamnesisgeriatrics240812)         | Contém informações específicas da geriatria como avaliação geriátrica ampla                                                                          | anamnesisGeriatrics240812      |
| [Ginecologia / Saúde da mulher](/integracao/iframe/modelos/anamnesisgynecology)  | Mantém o foco em informações relacionadas à saúde feminina                                                                                           | anamnesisGynecology            |
| [Perícia médica](/integracao/iframe/modelos/anamnesismedicalexpertreport)        | Indicado para consultas de perícia                                                                                                                   | anamnesisMedicalExpertReport   |
| [Neurologia](/integracao/iframe/modelos/anamnesisneurology)                      | Inclui informações e scores específicos de uma consulta de neurologia                                                                                | anamnesisNeurology             |
| [Nutrologia](/integracao/iframe/modelos/anamnesisnutrology)                      | Focado em informações de dieta e hábitos alimentares                                                                                                 | anamnesisNutrology             |
| [Obstetrícia](/integracao/iframe/modelos/anamnesisobstetrics)                    | Indicado para consultas de obstetrícia e pré-natal                                                                                                   | anamnesisObstetrics            |
| [Medicina do Trabalho](/integracao/iframe/modelos/anamnesisoccupationalexam)     | Atende bem os Médicos do Trabalho e Exames Ocupacionais                                                                                              | anamnesisOccupationalExam      |
| [Oncologia](/integracao/iframe/modelos/anamnesisoncology)                        | Indicado para consultas de oncologia                                                                                                                 | anamnesisOncology              |
| [Oftalmologia](/integracao/iframe/modelos/anamnesisophthalmology)                | Captura bem as informações de exame físico e exames complementares em oftalmologia                                                                   | anamnesisOphthalmology         |
| [Ortopedia](/integracao/iframe/modelos/anamnesisorthopedics)                     | Recomendado para ortopedistas e traumatologistas, com foco em alterações osteomusculares                                                             | anamnesisOrthopedics           |
| [Otorrinolaringologia](/integracao/iframe/modelos/anamnesisotorhinolaryngology)  | Indicado para consultas de otorrinolaringologia                                                                                                      | anamnesisOtorhinolaryngology   |
| [Pediatria](/integracao/iframe/modelos/anamnesispediatrics)                      | Voltado para avaliação da criança e do adolescente                                                                                                   | anamnesisPediatrics            |
| [Pneumologia](/integracao/iframe/modelos/anamnesispneumology)                    | Template para consulta de pneumologia, incluindo história clínica detalhada, exame físico direcionado e avaliação de fatores de risco respiratórios. | anamnesisPneumology            |
| [Psiquiatria](/integracao/iframe/modelos/anamnesispsychiatry)                    | Recomendado para psiquiatras, inclui exame completo do estado mental                                                                                 | anamnesisPsychiatry            |
| [Psicologia](/integracao/iframe/modelos/anamnesispsychology)                     | Recomendado para psicólogos, inclui exame psicológico completo                                                                                       | anamnesisPsychology            |
| [Consulta de retorno](/integracao/iframe/modelos/anamnesisreturningconsultation) | Recomendado para consultas de retorno em qualquer especialidade                                                                                      | anamnesisReturningConsultation |
| [Reumatologia](/integracao/iframe/modelos/anamnesisrheumatology)                 | Indicado para reumatologistas                                                                                                                        | anamnesisRheumatology          |
| [Medicina do Esporte](/integracao/iframe/modelos/anamnesissportsmedicine)        | Mantém o foco em informações relacionadas à saúde e o desempenho esportivo                                                                           | anamnesisSportsMedicine        |
| [Cirurgia](/integracao/iframe/modelos/anamnesissurgery)                          | Atende bem os cirurgiões de todas as áreas                                                                                                           | anamnesisSurgery               |
| [Evolução de enfermaria](/integracao/iframe/modelos/anamnesiswardevolution)      | Indicado para registro da avaliação do paciente internado                                                                                            | anamnesisWardEvolution         |
| [SOAP](/integracao/iframe/modelos/soap)                                          | Registro seguindo a metodologia SOAP                                                                                                                 | soap                           |


# Anamnese padrão

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Gera um registro clínico padrão.

## Campos

| Campo                             | Tipo                  | Chaves                                                                                                                                                     |
| --------------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Queixa Principal                  | string                |                                                                                                                                                            |
| História da Doença Atual          | string                |                                                                                                                                                            |
| Medicações em uso                 | string\[]             |                                                                                                                                                            |
| História pregressa                | string                |                                                                                                                                                            |
| História Vacinal                  | string                |                                                                                                                                                            |
| História Familiar                 | string                |                                                                                                                                                            |
| História Social e Hábitos de Vida | string                |                                                                                                                                                            |
| Exame físico                      | string                |                                                                                                                                                            |
| Dados Antropométricos             | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p>                                                                                           |
| Sinais Vitais                     | dict\[string, string] | <p>- Frequência Respiratória<br>- Frequência cardíaca<br>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Saturação de O2<br>- Temperatura</p> |
| Resultado de Exames               | string\[]             |                                                                                                                                                            |
| Hipóteses Diagnósticas            | string\[]             |                                                                                                                                                            |
| Medicações Prescritas             | string\[]             |                                                                                                                                                            |
| Orientações                       | string\[]             |                                                                                                                                                            |
| Exames Complementares             | string\[]             |                                                                                                                                                            |
| Atestado                          | string                |                                                                                                                                                            |
| Encaminhamento                    | string\[]             |                                                                                                                                                            |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "Medicações em uso": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "História pregressa": "Texto",
    "História Vacinal": "Texto",
    "História Familiar": "Texto",
    "História Social e Hábitos de Vida": "Texto",
    "Exame físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência Respiratória": "Texto",
        "Frequência cardíaca": "Texto",
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Saturação de O2": "Texto",
        "Temperatura": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Medicações Prescritas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Cardiologia

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Inclui informações específicas de exame físico e scores cardiológicos.

## Campos

| Campo                             | Tipo                  | Chaves                                                                                                                                                     |
| --------------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Queixa Principal                  | string                |                                                                                                                                                            |
| História da Doença Atual          | string                |                                                                                                                                                            |
| Medicações em Uso                 | string\[]             |                                                                                                                                                            |
| História Pregressa                | string                |                                                                                                                                                            |
| História Vacinal                  | string                |                                                                                                                                                            |
| História Familiar                 | string                |                                                                                                                                                            |
| História Social e Hábitos de Vida | string                |                                                                                                                                                            |
| Exame Físico                      | string                |                                                                                                                                                            |
| Dados Antropométricos             | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p>                                                                                           |
| Sinais Vitais                     | dict\[string, string] | <p>- Frequência Respiratória<br>- Frequência cardíaca<br>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Saturação de O2<br>- Temperatura</p> |
| Resultado de Exames               | string\[]             |                                                                                                                                                            |
| Escalas e Scores Cardiológicos    | dict\[string, string] | <p>- Classificação da NYHA<br>- Escore de Risco de Framingham<br>- Outros escores relevantes</p>                                                           |
| Hipóteses Diagnósticas            | string\[]             |                                                                                                                                                            |
| Medicações Prescritas             | string\[]             |                                                                                                                                                            |
| Orientações                       | string\[]             |                                                                                                                                                            |
| Exames Complementares             | string\[]             |                                                                                                                                                            |
| Atestado                          | string                |                                                                                                                                                            |
| Encaminhamento                    | string\[]             |                                                                                                                                                            |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "Medicações em Uso": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "História Pregressa": "Texto",
    "História Vacinal": "Texto",
    "História Familiar": "Texto",
    "História Social e Hábitos de Vida": "Texto",
    "Exame Físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência Respiratória": "Texto",
        "Frequência cardíaca": "Texto",
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Saturação de O2": "Texto",
        "Temperatura": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Escalas e Scores Cardiológicos": {
        "Classificação da NYHA": "Texto",
        "Escore de Risco de Framingham": "Texto",
        "Outros escores relevantes": "Texto"
    },
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Medicações Prescritas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Dermatologia

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Descreve todo o exame dermatológico do paciente.

## Campos

| Campo                             | Tipo                  | Chaves                                                           |
| --------------------------------- | --------------------- | ---------------------------------------------------------------- |
| Queixa Principal                  | string                |                                                                  |
| História da Doença Atual          | string                |                                                                  |
| Tratamentos                       | string\[]             |                                                                  |
| História Pregressa                | string                |                                                                  |
| História Vacinal                  | string                |                                                                  |
| História Familiar                 | string                |                                                                  |
| História Social e Hábitos de Vida | string                |                                                                  |
| Exame Dermatológico               | string                |                                                                  |
| Dados Antropométricos             | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p> |
| Sinais Vitais                     | dict\[string, string] | <p>- PA Diastólica<br>- PA Sistólica</p>                         |
| Resultado de Exames               | string\[]             |                                                                  |
| Hipóteses Diagnósticas            | string\[]             |                                                                  |
| Procedimentos realizados          | string                |                                                                  |
| Tratamento                        | string\[]             |                                                                  |
| Orientações                       | string\[]             |                                                                  |
| Exames Complementares             | string\[]             |                                                                  |
| Atestado                          | string                |                                                                  |
| Encaminhamento                    | string\[]             |                                                                  |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "Tratamentos": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "História Pregressa": "Texto",
    "História Vacinal": "Texto",
    "História Familiar": "Texto",
    "História Social e Hábitos de Vida": "Texto",
    "Exame Dermatológico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Procedimentos realizados": "Texto",
    "Tratamento": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Endocrinologia

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Inclui informações de doenças endócrinas e obesidade.

## Campos

| Campo                             | Tipo                  | Chaves                                                                                                   |
| --------------------------------- | --------------------- | -------------------------------------------------------------------------------------------------------- |
| Queixa Principal                  | string                |                                                                                                          |
| História da Doença Atual          | string                |                                                                                                          |
| História Pregressa                | string                |                                                                                                          |
| Medicações em Uso                 | string\[]             |                                                                                                          |
| História Vacinal                  | string                |                                                                                                          |
| História Familiar                 | string                |                                                                                                          |
| Avaliação Dietética               | string                |                                                                                                          |
| História Social e Hábitos de Vida | string                |                                                                                                          |
| Exame físico                      | string                |                                                                                                          |
| Dados Antropométricos             | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p>                                         |
| Sinais Vitais                     | dict\[string, string] | <p>- Frequência cardíaca<br>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Temperatura</p> |
| Monitoramento Contínuo da Glicose | string\[]             |                                                                                                          |
| Resultado de Exames               | string\[]             |                                                                                                          |
| Hipóteses Diagnósticas            | string\[]             |                                                                                                          |
| Medicações Prescritas             | string\[]             |                                                                                                          |
| Orientações                       | string\[]             |                                                                                                          |
| Exames Complementares             | string\[]             |                                                                                                          |
| Atestado                          | string                |                                                                                                          |
| Encaminhamento                    | string\[]             |                                                                                                          |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "História Pregressa": "Texto",
    "Medicações em Uso": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "História Vacinal": "Texto",
    "História Familiar": "Texto",
    "Avaliação Dietética": "Texto",
    "História Social e Hábitos de Vida": "Texto",
    "Exame físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência cardíaca": "Texto",
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Temperatura": "Texto"
    },
    "Monitoramento Contínuo da Glicose": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Medicações Prescritas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Geriatria

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Contém informações específicas da geriatria como avaliação geriátrica ampla.

## Campos

| Campo                            | Tipo                  | Chaves                                                                                                                                                                                                                                                                                                                                                                  |
| -------------------------------- | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Queixas e Sintomas               | string                |                                                                                                                                                                                                                                                                                                                                                                         |
| Avaliação Geriátrica Ampla (AGA) | dict\[string, string] | <p>- Capacidade Funcional<br>- Condições Emocionais<br>- Condições Socioambientais<br>- Diretivas Antecipadas de Vontade<br>- Função Cognitiva<br>- História Clínica<br>- Hábitos de Vida<br>- Ingestões e Eliminações<br>- Medicações<br>- Mobilidade e Risco de Queda<br>- Nutricional<br>- Sarcopenia<br>- Sensorial<br>- Sexual<br>- Situação Vacinal<br>- Sono</p> |
| Revisão dos Sistemas             | string                |                                                                                                                                                                                                                                                                                                                                                                         |
| Exame físico                     | string                |                                                                                                                                                                                                                                                                                                                                                                         |
| Dados Antropométricos            | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p>                                                                                                                                                                                                                                                                                                        |
| Sinais Vitais                    | dict\[string, string] | <p>- Frequência cardíaca<br>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Temperatura</p>                                                                                                                                                                                                                                                                |
| Resultado de Exames              | string\[]             |                                                                                                                                                                                                                                                                                                                                                                         |
| Hipóteses Diagnósticas           | string\[]             |                                                                                                                                                                                                                                                                                                                                                                         |
| Medicações Prescritas            | string\[]             |                                                                                                                                                                                                                                                                                                                                                                         |
| Orientações                      | string\[]             |                                                                                                                                                                                                                                                                                                                                                                         |
| Exames Complementares            | string\[]             |                                                                                                                                                                                                                                                                                                                                                                         |
| Atestado                         | string                |                                                                                                                                                                                                                                                                                                                                                                         |
| Encaminhamento                   | string                |                                                                                                                                                                                                                                                                                                                                                                         |

## Exemplo

```javascript
{
    "Queixas e Sintomas": "Texto",
    "Avaliação Geriátrica Ampla (AGA)": {
        "Capacidade Funcional": "Texto",
        "Condições Emocionais": "Texto",
        "Condições Socioambientais": "Texto",
        "Diretivas Antecipadas de Vontade": "Texto",
        "Função Cognitiva": "Texto",
        "História Clínica": "Texto",
        "Hábitos de Vida": "Texto",
        "Ingestões e Eliminações": "Texto",
        "Medicações": "Texto",
        "Mobilidade e Risco de Queda": "Texto",
        "Nutricional": "Texto",
        "Sarcopenia": "Texto",
        "Sensorial": "Texto",
        "Sexual": "Texto",
        "Situação Vacinal": "Texto",
        "Sono": "Texto"
    },
    "Revisão dos Sistemas": "Texto",
    "Exame físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência cardíaca": "Texto",
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Temperatura": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Medicações Prescritas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": "Texto"
}
```


# Geriatria - Novo

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Contém informações específicas da geriatria como avaliação geriátrica ampla.

## Campos

| Campo                            | Tipo                  | Chaves                                                                                                                                                                                                                                                                                                                                                                  |
| -------------------------------- | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Queixas e Sintomas               | string                |                                                                                                                                                                                                                                                                                                                                                                         |
| Avaliação Geriátrica Ampla (AGA) | dict\[string, string] | <p>- Capacidade Funcional<br>- Condições Emocionais<br>- Condições Socioambientais<br>- Diretivas Antecipadas de Vontade<br>- Função Cognitiva<br>- História Clínica<br>- Hábitos de Vida<br>- Ingestões e Eliminações<br>- Medicações<br>- Mobilidade e Risco de Queda<br>- Nutricional<br>- Sarcopenia<br>- Sensorial<br>- Sexual<br>- Situação Vacinal<br>- Sono</p> |
| Exame físico                     | string                |                                                                                                                                                                                                                                                                                                                                                                         |
| Dados Antropométricos            | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p>                                                                                                                                                                                                                                                                                                        |
| Sinais Vitais                    | dict\[string, string] | <p>- Frequência cardíaca<br>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Temperatura</p>                                                                                                                                                                                                                                                                |
| Resultado de Exames              | string\[]             |                                                                                                                                                                                                                                                                                                                                                                         |
| Hipóteses Diagnósticas           | string\[]             |                                                                                                                                                                                                                                                                                                                                                                         |
| Medicações Prescritas            | string\[]             |                                                                                                                                                                                                                                                                                                                                                                         |
| Orientações                      | string\[]             |                                                                                                                                                                                                                                                                                                                                                                         |
| Exames Complementares            | string\[]             |                                                                                                                                                                                                                                                                                                                                                                         |
| Atestado                         | string                |                                                                                                                                                                                                                                                                                                                                                                         |
| Encaminhamento                   | string                |                                                                                                                                                                                                                                                                                                                                                                         |

## Exemplo

```javascript
{
    "Queixas e Sintomas": "Texto",
    "Avaliação Geriátrica Ampla (AGA)": {
        "Capacidade Funcional": "Texto",
        "Condições Emocionais": "Texto",
        "Condições Socioambientais": "Texto",
        "Diretivas Antecipadas de Vontade": "Texto",
        "Função Cognitiva": "Texto",
        "História Clínica": "Texto",
        "Hábitos de Vida": "Texto",
        "Ingestões e Eliminações": "Texto",
        "Medicações": "Texto",
        "Mobilidade e Risco de Queda": "Texto",
        "Nutricional": "Texto",
        "Sarcopenia": "Texto",
        "Sensorial": "Texto",
        "Sexual": "Texto",
        "Situação Vacinal": "Texto",
        "Sono": "Texto"
    },
    "Exame físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência cardíaca": "Texto",
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Temperatura": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Medicações Prescritas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": "Texto"
}
```


# Ginecologia / Saúde da mulher

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Mantém o foco em informações relacionadas à saúde feminina.

## Campos

| Campo                                                    | Tipo                  | Chaves                                                                             |
| -------------------------------------------------------- | --------------------- | ---------------------------------------------------------------------------------- |
| Queixa Principal                                         | string                |                                                                                    |
| História da Doença Atual                                 | string                |                                                                                    |
| Antecedentes Pessoais                                    | string                |                                                                                    |
| Antecedentes Obstétricos                                 | string                |                                                                                    |
| História Menstrual                                       | string                |                                                                                    |
| Antecedentes Sexuais e Métodos Contraceptivos Utilizados | string                |                                                                                    |
| Antecedentes Mamários                                    | string                |                                                                                    |
| História Familiar                                        | string                |                                                                                    |
| Queixas Urinárias e Gastrointestinais                    | string                |                                                                                    |
| Exame físico                                             | string                |                                                                                    |
| Dados Antropométricos                                    | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p>                   |
| Sinais Vitais                                            | dict\[string, string] | <p>- Frequência cardíaca<br>- PA Diastólica<br>- PA Sistólica<br>- Temperatura</p> |
| Resultado de Exames                                      | string\[]             |                                                                                    |
| Hipóteses Diagnósticas                                   | string\[]             |                                                                                    |
| Medicações Prescritas                                    | string\[]             |                                                                                    |
| Orientações                                              | string\[]             |                                                                                    |
| Exames Complementares                                    | string\[]             |                                                                                    |
| Atestado                                                 | string                |                                                                                    |
| Encaminhamento                                           | string\[]             |                                                                                    |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "Antecedentes Pessoais": "Texto",
    "Antecedentes Obstétricos": "Texto",
    "História Menstrual": "Texto",
    "Antecedentes Sexuais e Métodos Contraceptivos Utilizados": "Texto",
    "Antecedentes Mamários": "Texto",
    "História Familiar": "Texto",
    "Queixas Urinárias e Gastrointestinais": "Texto",
    "Exame físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência cardíaca": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Temperatura": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Medicações Prescritas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Perícia médica

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Indicado para consultas de perícia.

## Campos

| Campo                      | Tipo                  | Chaves                                                                                                                                                     |
| -------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Identificação              | dict\[string, string] | <p>- Estado Civil<br>- Gênero<br>- Idade<br>- Naturalidade<br>- Profissão<br>- Residência</p>                                                              |
| Resumo da Lide             | string                |                                                                                                                                                            |
| História Clínica Atual     | string                |                                                                                                                                                            |
| História Clínica Pregressa | string                |                                                                                                                                                            |
| História Ocupacional       | string                |                                                                                                                                                            |
| Hábitos de Vida            | string                |                                                                                                                                                            |
| Resultado de Exames        | string\[]             |                                                                                                                                                            |
| Exame Físico Pericial      | string                |                                                                                                                                                            |
| Dados Antropométricos      | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p>                                                                                           |
| Sinais Vitais              | dict\[string, string] | <p>- Frequência Respiratória<br>- Frequência cardíaca<br>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Saturação de O2<br>- Temperatura</p> |
| Discussão e Comentários    | string                |                                                                                                                                                            |
| Conclusão                  | string                |                                                                                                                                                            |

## Exemplo

```javascript
{
    "Identificação": {
        "Estado Civil": "Texto",
        "Gênero": "Texto",
        "Idade": "Texto",
        "Naturalidade": "Texto",
        "Profissão": "Texto",
        "Residência": "Texto"
    },
    "Resumo da Lide": "Texto",
    "História Clínica Atual": "Texto",
    "História Clínica Pregressa": "Texto",
    "História Ocupacional": "Texto",
    "Hábitos de Vida": "Texto",
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exame Físico Pericial": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência Respiratória": "Texto",
        "Frequência cardíaca": "Texto",
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Saturação de O2": "Texto",
        "Temperatura": "Texto"
    },
    "Discussão e Comentários": "Texto",
    "Conclusão": "Texto"
}
```


# Neurologia

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Inclui informações e scores específicos de uma consulta de neurologia.

## Campos

| Campo                             | Tipo                  | Chaves                                                                                                                                                     |
| --------------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Queixa Principal                  | string                |                                                                                                                                                            |
| História da Doença Atual          | string                |                                                                                                                                                            |
| História Pregressa                | string                |                                                                                                                                                            |
| Medicações em Uso                 | string\[]             |                                                                                                                                                            |
| História Vacinal                  | string                |                                                                                                                                                            |
| História Familiar                 | string                |                                                                                                                                                            |
| História Social e Hábitos de Vida | string                |                                                                                                                                                            |
| Exame Físico                      | string                |                                                                                                                                                            |
| Dados Antropométricos             | dict\[string, string] | <p>- Altura<br>- IMC<br>- Peso</p>                                                                                                                         |
| Sinais Vitais                     | dict\[string, string] | <p>- Frequência Respiratória<br>- Frequência cardíaca<br>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Saturação de O2<br>- Temperatura</p> |
| Resultado de Exames               | string\[]             |                                                                                                                                                            |
| Hipóteses Diagnósticas            | string\[]             |                                                                                                                                                            |
| Medicações Prescritas             | string\[]             |                                                                                                                                                            |
| Orientações                       | string\[]             |                                                                                                                                                            |
| Exames Complementares             | string\[]             |                                                                                                                                                            |
| Atestado                          | string                |                                                                                                                                                            |
| Encaminhamento                    | string\[]             |                                                                                                                                                            |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "História Pregressa": "Texto",
    "Medicações em Uso": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "História Vacinal": "Texto",
    "História Familiar": "Texto",
    "História Social e Hábitos de Vida": "Texto",
    "Exame Físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência Respiratória": "Texto",
        "Frequência cardíaca": "Texto",
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Saturação de O2": "Texto",
        "Temperatura": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Medicações Prescritas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Nutrologia

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Focado em informações de dieta e hábitos alimentares.

## Campos

| Campo                             | Tipo                  | Chaves                                                                                                   |
| --------------------------------- | --------------------- | -------------------------------------------------------------------------------------------------------- |
| Queixa Principal                  | string                |                                                                                                          |
| História da Doença Atual          | string                |                                                                                                          |
| História Pregressa                | string                |                                                                                                          |
| Medicações em Uso                 | string\[]             |                                                                                                          |
| História Vacinal                  | string                |                                                                                                          |
| História Familiar                 | string                |                                                                                                          |
| História Social e Hábitos de Vida | string                |                                                                                                          |
| Avaliação Dietética               | string                |                                                                                                          |
| Exame físico                      | string                |                                                                                                          |
| Dados Antropométricos             | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p>                                         |
| Sinais Vitais                     | dict\[string, string] | <p>- Frequência cardíaca<br>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Temperatura</p> |
| Resultado de Exames               | string\[]             |                                                                                                          |
| Hipóteses Diagnósticas            | string\[]             |                                                                                                          |
| Prescrição                        | string\[]             |                                                                                                          |
| Plano Nutricional                 | string\[]             |                                                                                                          |
| Orientações                       | string\[]             |                                                                                                          |
| Exames Complementares             | string\[]             |                                                                                                          |
| Atestado                          | string                |                                                                                                          |
| Encaminhamento                    | string\[]             |                                                                                                          |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "História Pregressa": "Texto",
    "Medicações em Uso": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "História Vacinal": "Texto",
    "História Familiar": "Texto",
    "História Social e Hábitos de Vida": "Texto",
    "Avaliação Dietética": "Texto",
    "Exame físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência cardíaca": "Texto",
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Temperatura": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Prescrição": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Plano Nutricional": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Obstetrícia

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Indicado para consultas de obstetrícia e pré-natal.

## Campos

| Campo                                                    | Tipo                  | Chaves                                                                                                                                                              |
| -------------------------------------------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Queixa Principal                                         | string                |                                                                                                                                                                     |
| História da Doença Atual                                 | string                |                                                                                                                                                                     |
| Antecedentes Pessoais                                    | string                |                                                                                                                                                                     |
| Antecedentes Obstétricos                                 | string                |                                                                                                                                                                     |
| História Menstrual                                       | string                |                                                                                                                                                                     |
| Antecedentes Sexuais e Métodos Contraceptivos Utilizados | string                |                                                                                                                                                                     |
| Antecedentes Mamários                                    | string                |                                                                                                                                                                     |
| Histórico Familiar                                       | string                |                                                                                                                                                                     |
| Gestação Atual                                           | string                |                                                                                                                                                                     |
| Exame Físico                                             | string                |                                                                                                                                                                     |
| Dados Antropométricos                                    | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p>                                                                                                    |
| Sinais Vitais                                            | dict\[string, string] | <p>- BCF<br>- Frequência Respiratória<br>- Frequência cardíaca<br>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Saturação de O2<br>- Temperatura</p> |
| Resultado de Exames                                      | string\[]             |                                                                                                                                                                     |
| Hipóteses Diagnósticas                                   | string\[]             |                                                                                                                                                                     |
| Medicações Prescritas                                    | string\[]             |                                                                                                                                                                     |
| Orientações                                              | string\[]             |                                                                                                                                                                     |
| Exames Complementares                                    | string\[]             |                                                                                                                                                                     |
| Atestado                                                 | string                |                                                                                                                                                                     |
| Encaminhamento                                           | string\[]             |                                                                                                                                                                     |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "Antecedentes Pessoais": "Texto",
    "Antecedentes Obstétricos": "Texto",
    "História Menstrual": "Texto",
    "Antecedentes Sexuais e Métodos Contraceptivos Utilizados": "Texto",
    "Antecedentes Mamários": "Texto",
    "Histórico Familiar": "Texto",
    "Gestação Atual": "Texto",
    "Exame Físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "BCF": "Texto",
        "Frequência Respiratória": "Texto",
        "Frequência cardíaca": "Texto",
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Saturação de O2": "Texto",
        "Temperatura": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Medicações Prescritas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Medicina do Trabalho

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Atende bem os Médicos do Trabalho e Exames Ocupacionais.

## Campos

| Campo                             | Tipo                  | Chaves                                                                             |
| --------------------------------- | --------------------- | ---------------------------------------------------------------------------------- |
| Tipo de Exame                     | string                |                                                                                    |
| Função e Riscos Ocupacionais      | string                |                                                                                    |
| Queixa Principal                  | string                |                                                                                    |
| Evolução Clínica                  | string                |                                                                                    |
| História Ocupacional              | string                |                                                                                    |
| História Clínica                  | string                |                                                                                    |
| História Familiar                 | string                |                                                                                    |
| História Social e Hábitos de Vida | string                |                                                                                    |
| Exame Físico                      | string                |                                                                                    |
| Dados Antropométricos             | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p>                   |
| Sinais Vitais                     | dict\[string, string] | <p>- Frequência cardíaca<br>- PA Diastólica<br>- PA Sistólica<br>- Temperatura</p> |
| Resultado de Exames               | string\[]             |                                                                                    |
| Hipóteses Diagnósticas            | string\[]             |                                                                                    |
| Orientações                       | string\[]             |                                                                                    |
| Exames Complementares             | string\[]             |                                                                                    |
| Conclusão                         | string                |                                                                                    |

## Exemplo

```javascript
{
    "Tipo de Exame": "Texto",
    "Função e Riscos Ocupacionais": "Texto",
    "Queixa Principal": "Texto",
    "Evolução Clínica": "Texto",
    "História Ocupacional": "Texto",
    "História Clínica": "Texto",
    "História Familiar": "Texto",
    "História Social e Hábitos de Vida": "Texto",
    "Exame Físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência cardíaca": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Temperatura": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Conclusão": "Texto"
}
```


# Oncologia

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Indicado para consultas de oncologia.

## Campos

| Campo                        | Tipo                  | Chaves                                                                                                                                                     |
| ---------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Queixa Principal             | string                |                                                                                                                                                            |
| Dados Oncológicos            | string                |                                                                                                                                                            |
| História da Doença Atual     | string                |                                                                                                                                                            |
| Tratamento                   | string\[]             |                                                                                                                                                            |
| História Pregressa           | string                |                                                                                                                                                            |
| História Vacinal             | string                |                                                                                                                                                            |
| História Oncológica Familiar | string                |                                                                                                                                                            |
| História Social              | string                |                                                                                                                                                            |
| Hábitos de Vida              | string                |                                                                                                                                                            |
| Exame físico                 | string                |                                                                                                                                                            |
| Dados Antropométricos        | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p>                                                                                           |
| Sinais Vitais                | dict\[string, string] | <p>- Frequência Respiratória<br>- Frequência cardíaca<br>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Saturação de O2<br>- Temperatura</p> |
| Resultado de Exames          | string\[]             |                                                                                                                                                            |
| Hipóteses Diagnósticas       | string\[]             |                                                                                                                                                            |
| Medicações Prescritas        | string\[]             |                                                                                                                                                            |
| Orientações                  | string\[]             |                                                                                                                                                            |
| Exames Complementares        | string\[]             |                                                                                                                                                            |
| Atestado                     | string                |                                                                                                                                                            |
| Encaminhamento               | string\[]             |                                                                                                                                                            |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "Dados Oncológicos": "Texto",
    "História da Doença Atual": "Texto",
    "Tratamento": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "História Pregressa": "Texto",
    "História Vacinal": "Texto",
    "História Oncológica Familiar": "Texto",
    "História Social": "Texto",
    "Hábitos de Vida": "Texto",
    "Exame físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência Respiratória": "Texto",
        "Frequência cardíaca": "Texto",
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Saturação de O2": "Texto",
        "Temperatura": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Medicações Prescritas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Oftalmologia

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Captura bem as informações de exame físico e exames complementares em oftalmologia.

## Campos

| Campo                          | Tipo                  | Chaves                                                                                               |
| ------------------------------ | --------------------- | ---------------------------------------------------------------------------------------------------- |
| Queixa Principal               | string                |                                                                                                      |
| História da Doença Atual       | string                |                                                                                                      |
| História Pregressa             | string                |                                                                                                      |
| História Pessoal Oftalmológica | string                |                                                                                                      |
| Medicações em Uso              | string\[]             |                                                                                                      |
| História Vacinal               | string                |                                                                                                      |
| História Familiar              | string                |                                                                                                      |
| Hábitos de Vida                | string                |                                                                                                      |
| Exame Físico                   | string                |                                                                                                      |
| Exame Oftalmológico            | string                |                                                                                                      |
| Refração Dinâmica              | string                |                                                                                                      |
| Biomicroscopia                 | string                |                                                                                                      |
| Fundo de Olho                  | string                |                                                                                                      |
| PIO (Pressão Intraocular)      | string                |                                                                                                      |
| Outros Exames                  | string                |                                                                                                      |
| Dados Antropométricos          | dict\[string, string] | <p>- Altura<br>- IMC<br>- Peso</p>                                                                   |
| Sinais Vitais                  | dict\[string, string] | <p>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Saturação de O2<br>- Temperatura</p> |
| Resultado de Exames            | string\[]             |                                                                                                      |
| Hipóteses Diagnósticas         | string\[]             |                                                                                                      |
| Medicações Prescritas          | string\[]             |                                                                                                      |
| Receita de Óculos/Lentes       | string                |                                                                                                      |
| Orientações                    | string\[]             |                                                                                                      |
| Exames Complementares          | string\[]             |                                                                                                      |
| Atestado                       | string                |                                                                                                      |
| Encaminhamento                 | string\[]             |                                                                                                      |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "História Pregressa": "Texto",
    "História Pessoal Oftalmológica": "Texto",
    "Medicações em Uso": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "História Vacinal": "Texto",
    "História Familiar": "Texto",
    "Hábitos de Vida": "Texto",
    "Exame Físico": "Texto",
    "Exame Oftalmológico": "Texto",
    "Refração Dinâmica": "Texto",
    "Biomicroscopia": "Texto",
    "Fundo de Olho": "Texto",
    "PIO (Pressão Intraocular)": "Texto",
    "Outros Exames": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Saturação de O2": "Texto",
        "Temperatura": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Medicações Prescritas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Receita de Óculos/Lentes": "Texto",
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Ortopedia

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Recomendado para ortopedistas e traumatologistas, com foco em alterações osteomusculares.

## Campos

| Campo                                       | Tipo                  | Chaves                                   |
| ------------------------------------------- | --------------------- | ---------------------------------------- |
| Queixa Principal                            | string                |                                          |
| História da Doença Atual                    | string                |                                          |
| História Médica Pregressa                   | string                |                                          |
| História de Traumas e Lesões                | string                |                                          |
| Medicações em Uso                           | string\[]             |                                          |
| História Vacinal                            | string                |                                          |
| História Familiar                           | string                |                                          |
| História Social e Hábitos de Vida           | string                |                                          |
| Exame Físico do Sistema Músculo-Esquelético | string                |                                          |
| Dados Antropométricos                       | dict\[string, string] | <p>- Altura<br>- IMC<br>- Peso</p>       |
| Sinais Vitais                               | dict\[string, string] | <p>- PA Diastólica<br>- PA Sistólica</p> |
| Resultado de Exames                         | string\[]             |                                          |
| Hipóteses Diagnósticas                      | string\[]             |                                          |
| Procedimentos realizados                    | string                |                                          |
| Tratamento                                  | string\[]             |                                          |
| Orientações                                 | string\[]             |                                          |
| Exames Complementares                       | string\[]             |                                          |
| Atestado                                    | string                |                                          |
| Encaminhamento                              | string\[]             |                                          |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "História Médica Pregressa": "Texto",
    "História de Traumas e Lesões": "Texto",
    "Medicações em Uso": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "História Vacinal": "Texto",
    "História Familiar": "Texto",
    "História Social e Hábitos de Vida": "Texto",
    "Exame Físico do Sistema Músculo-Esquelético": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Procedimentos realizados": "Texto",
    "Tratamento": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Otorrinolaringologia

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Indicado para consultas de otorrinolaringologia.

## Campos

| Campo                             | Tipo                  | Chaves                                                                                                                                                     |
| --------------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Queixa Principal                  | string                |                                                                                                                                                            |
| História da Doença Atual          | string                |                                                                                                                                                            |
| Medicações em uso                 | string\[]             |                                                                                                                                                            |
| História pregressa                | string                |                                                                                                                                                            |
| História Vacinal                  | string                |                                                                                                                                                            |
| História Familiar                 | string                |                                                                                                                                                            |
| História Social e Hábitos de Vida | string                |                                                                                                                                                            |
| Exame Físico                      | string                |                                                                                                                                                            |
| Dados Antropométricos             | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p>                                                                                           |
| Sinais Vitais                     | dict\[string, string] | <p>- Frequência Respiratória<br>- Frequência cardíaca<br>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Saturação de O2<br>- Temperatura</p> |
| Resultado de Exames               | string\[]             |                                                                                                                                                            |
| Hipóteses Diagnósticas            | string\[]             |                                                                                                                                                            |
| Procedimentos realizados          | string                |                                                                                                                                                            |
| Tratamento                        | string\[]             |                                                                                                                                                            |
| Orientações                       | string\[]             |                                                                                                                                                            |
| Exames Complementares             | string\[]             |                                                                                                                                                            |
| Atestado                          | string                |                                                                                                                                                            |
| Encaminhamento                    | string\[]             |                                                                                                                                                            |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "Medicações em uso": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "História pregressa": "Texto",
    "História Vacinal": "Texto",
    "História Familiar": "Texto",
    "História Social e Hábitos de Vida": "Texto",
    "Exame Físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência Respiratória": "Texto",
        "Frequência cardíaca": "Texto",
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Saturação de O2": "Texto",
        "Temperatura": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Procedimentos realizados": "Texto",
    "Tratamento": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Pediatria

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Voltado para avaliação da criança e do adolescente.

## Campos

| Campo                           | Tipo                  | Chaves                                                                                                                                                     |
| ------------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Queixa Principal                | string                |                                                                                                                                                            |
| História da Doença Atual        | string                |                                                                                                                                                            |
| Revisão dos Sintomas            | string                |                                                                                                                                                            |
| História Clínica Pregressa      | string                |                                                                                                                                                            |
| Desenvolvimento Neuropsicomotor | string                |                                                                                                                                                            |
| Medicações em Uso               | string\[]             |                                                                                                                                                            |
| História Vacinal                | string                |                                                                                                                                                            |
| História Familiar               | string                |                                                                                                                                                            |
| Alimentação                     | string                |                                                                                                                                                            |
| História Social                 | string                |                                                                                                                                                            |
| Exame físico                    | string                |                                                                                                                                                            |
| Dados Antropométricos           | dict\[string, string] | <p>- Altura<br>- IMC<br>- Perímetro Abdominal<br>- Perímetro Cefálico<br>- Perímetro Torácico<br>- Peso</p>                                                |
| Sinais Vitais                   | dict\[string, string] | <p>- Frequência Respiratória<br>- Frequência cardíaca<br>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Saturação de O2<br>- Temperatura</p> |
| Resultado de Exames             | string\[]             |                                                                                                                                                            |
| Hipóteses Diagnósticas          | string\[]             |                                                                                                                                                            |
| Medicações Prescritas           | string\[]             |                                                                                                                                                            |
| Orientações                     | string\[]             |                                                                                                                                                            |
| Exames Complementares           | string\[]             |                                                                                                                                                            |
| Atestado                        | string                |                                                                                                                                                            |
| Encaminhamento                  | string\[]             |                                                                                                                                                            |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "Revisão dos Sintomas": "Texto",
    "História Clínica Pregressa": "Texto",
    "Desenvolvimento Neuropsicomotor": "Texto",
    "Medicações em Uso": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "História Vacinal": "Texto",
    "História Familiar": "Texto",
    "Alimentação": "Texto",
    "História Social": "Texto",
    "Exame físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "IMC": "Texto",
        "Perímetro Abdominal": "Texto",
        "Perímetro Cefálico": "Texto",
        "Perímetro Torácico": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência Respiratória": "Texto",
        "Frequência cardíaca": "Texto",
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Saturação de O2": "Texto",
        "Temperatura": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Medicações Prescritas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Pneumologia

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Template para consulta de pneumologia, incluindo história clínica detalhada, exame físico direcionado e avaliação de fatores de risco respiratórios.

## Campos

| Campo                             | Tipo                  | Chaves                                                                                                                                                     |
| --------------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Queixa Principal                  | string                |                                                                                                                                                            |
| História da Doença Atual          | string                |                                                                                                                                                            |
| Medicações em uso                 | string\[]             |                                                                                                                                                            |
| História pregressa                | string                |                                                                                                                                                            |
| História Vacinal                  | string                |                                                                                                                                                            |
| História Familiar                 | string                |                                                                                                                                                            |
| História Social e Hábitos de Vida | string                |                                                                                                                                                            |
| Exame físico                      | string                |                                                                                                                                                            |
| Dados Antropométricos             | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p>                                                                                           |
| Sinais Vitais                     | dict\[string, string] | <p>- Frequência Respiratória<br>- Frequência cardíaca<br>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Saturação de O2<br>- Temperatura</p> |
| Resultado de Exames               | string\[]             |                                                                                                                                                            |
| Hipóteses Diagnósticas            | string\[]             |                                                                                                                                                            |
| Medicações Prescritas             | string\[]             |                                                                                                                                                            |
| Orientações e Metas               | string\[]             |                                                                                                                                                            |
| Exames Complementares             | string\[]             |                                                                                                                                                            |
| Atestado                          | string                |                                                                                                                                                            |
| Encaminhamento                    | string\[]             |                                                                                                                                                            |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "Medicações em uso": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "História pregressa": "Texto",
    "História Vacinal": "Texto",
    "História Familiar": "Texto",
    "História Social e Hábitos de Vida": "Texto",
    "Exame físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência Respiratória": "Texto",
        "Frequência cardíaca": "Texto",
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Saturação de O2": "Texto",
        "Temperatura": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Medicações Prescritas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações e Metas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Psiquiatria

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Recomendado para psiquiatras, inclui exame completo do estado mental.

## Campos

| Campo                          | Tipo                  | Chaves                             |
| ------------------------------ | --------------------- | ---------------------------------- |
| Queixa Principal               | string                |                                    |
| História da Doença Atual       | string                |                                    |
| História Médica e Psiquiátrica | string                |                                    |
| Tratamento                     | string\[]             |                                    |
| Hábitos de Vida                | string                |                                    |
| História Social                | string                |                                    |
| História Familiar              | string                |                                    |
| Exame do Estado Mental         | string                |                                    |
| Dados Antropométricos          | dict\[string, string] | <p>- Altura<br>- IMC<br>- Peso</p> |
| Resultado de Exames            | string\[]             |                                    |
| Hipóteses Diagnósticas         | string\[]             |                                    |
| Medicações Prescritas          | string\[]             |                                    |
| Orientações                    | string\[]             |                                    |
| Exames Complementares          | string\[]             |                                    |
| Atestado                       | string                |                                    |
| Encaminhamento                 | string\[]             |                                    |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "História Médica e Psiquiátrica": "Texto",
    "Tratamento": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hábitos de Vida": "Texto",
    "História Social": "Texto",
    "História Familiar": "Texto",
    "Exame do Estado Mental": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Medicações Prescritas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Psicologia

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Recomendado para psicólogos, inclui exame psicológico completo.

## Campos

| Campo                     | Tipo      | Chaves |
| ------------------------- | --------- | ------ |
| Identificação do Paciente | string    |        |
| Queixa Principal          | string    |        |
| História da Doença Atual  | string    |        |
| História Pessoal          | string    |        |
| História Familiar         | string    |        |
| Tratamentos Anteriores    | string    |        |
| Exame Psicológico         | string    |        |
| Hipóteses Diagnósticas    | string\[] |        |
| Intervenções Propostas    | string\[] |        |
| Orientações               | string\[] |        |
| Encaminhamento            | string\[] |        |

## Exemplo

```javascript
{
    "Identificação do Paciente": "Texto",
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "História Pessoal": "Texto",
    "História Familiar": "Texto",
    "Tratamentos Anteriores": "Texto",
    "Exame Psicológico": "Texto",
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Intervenções Propostas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Consulta de retorno

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Recomendado para consultas de retorno em qualquer especialidade.

## Campos

| Campo                    | Tipo                  | Chaves                                                                                                                                                     |
| ------------------------ | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Diagnósticos e Hipóteses | string\[]             |                                                                                                                                                            |
| Medicações em uso        | string\[]             |                                                                                                                                                            |
| Evolução Clínica         | string                |                                                                                                                                                            |
| Resultado de Exames      | string\[]             |                                                                                                                                                            |
| Exame físico             | string                |                                                                                                                                                            |
| Dados Antropométricos    | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p>                                                                                           |
| Sinais Vitais            | dict\[string, string] | <p>- Frequência Respiratória<br>- Frequência cardíaca<br>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Saturação de O2<br>- Temperatura</p> |
| Plano                    | string                |                                                                                                                                                            |
| Tratamento               | string\[]             |                                                                                                                                                            |
| Orientações              | string\[]             |                                                                                                                                                            |
| Exames Complementares    | string\[]             |                                                                                                                                                            |
| Atestado                 | string                |                                                                                                                                                            |
| Encaminhamento           | string\[]             |                                                                                                                                                            |

## Exemplo

```javascript
{
    "Diagnósticos e Hipóteses": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Medicações em uso": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Evolução Clínica": "Texto",
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exame físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência Respiratória": "Texto",
        "Frequência cardíaca": "Texto",
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Saturação de O2": "Texto",
        "Temperatura": "Texto"
    },
    "Plano": "Texto",
    "Tratamento": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Reumatologia

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Indicado para reumatologistas.

## Campos

| Campo                    | Tipo                  | Chaves                                                                                                                                                     |
| ------------------------ | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Queixa Principal         | string                |                                                                                                                                                            |
| História da Doença Atual | string                |                                                                                                                                                            |
| Medicações em uso        | string\[]             |                                                                                                                                                            |
| História Pregressa       | string                |                                                                                                                                                            |
| História Vacinal         | string                |                                                                                                                                                            |
| História Familiar        | string                |                                                                                                                                                            |
| História Social          | string                |                                                                                                                                                            |
| Hábitos de Vida          | string                |                                                                                                                                                            |
| Exame físico             | string                |                                                                                                                                                            |
| Dados Antropométricos    | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p>                                                                                           |
| Sinais Vitais            | dict\[string, string] | <p>- Frequência Respiratória<br>- Frequência cardíaca<br>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Saturação de O2<br>- Temperatura</p> |
| Resultado de Exames      | string\[]             |                                                                                                                                                            |
| Hipóteses Diagnósticas   | string\[]             |                                                                                                                                                            |
| Medicações Prescritas    | string\[]             |                                                                                                                                                            |
| Orientações              | string\[]             |                                                                                                                                                            |
| Exames Complementares    | string\[]             |                                                                                                                                                            |
| Atestado                 | string                |                                                                                                                                                            |
| Encaminhamento           | string\[]             |                                                                                                                                                            |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "Medicações em uso": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "História Pregressa": "Texto",
    "História Vacinal": "Texto",
    "História Familiar": "Texto",
    "História Social": "Texto",
    "Hábitos de Vida": "Texto",
    "Exame físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência Respiratória": "Texto",
        "Frequência cardíaca": "Texto",
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Saturação de O2": "Texto",
        "Temperatura": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Medicações Prescritas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Medicina do Esporte

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Mantém o foco em informações relacionadas à saúde e o desempenho esportivo.

## Campos

| Campo                             | Tipo                  | Chaves                                                                                                   |
| --------------------------------- | --------------------- | -------------------------------------------------------------------------------------------------------- |
| Queixa Principal                  | string                |                                                                                                          |
| História da Doença Atual          | string                |                                                                                                          |
| História Pregressa                | string                |                                                                                                          |
| Medicações em Uso                 | string\[]             |                                                                                                          |
| Suplementações em Uso             | string                |                                                                                                          |
| História Vacinal                  | string                |                                                                                                          |
| História Familiar                 | string                |                                                                                                          |
| História Social e Hábitos de Vida | string                |                                                                                                          |
| Atividade Física                  | string                |                                                                                                          |
| Avaliação Dietética               | string                |                                                                                                          |
| Exame físico                      | string                |                                                                                                          |
| Dados Antropométricos             | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p>                                         |
| Sinais Vitais                     | dict\[string, string] | <p>- Frequência cardíaca<br>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Temperatura</p> |
| Resultado de Exames               | string\[]             |                                                                                                          |
| Hipóteses Diagnósticas            | string\[]             |                                                                                                          |
| Prescrição                        | string\[]             |                                                                                                          |
| Plano de Treinos                  | string                |                                                                                                          |
| Plano Nutricional                 | string\[]             |                                                                                                          |
| Orientações                       | string\[]             |                                                                                                          |
| Exames Complementares             | string\[]             |                                                                                                          |
| Atestado                          | string                |                                                                                                          |
| Encaminhamento                    | string\[]             |                                                                                                          |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "História Pregressa": "Texto",
    "Medicações em Uso": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Suplementações em Uso": "Texto",
    "História Vacinal": "Texto",
    "História Familiar": "Texto",
    "História Social e Hábitos de Vida": "Texto",
    "Atividade Física": "Texto",
    "Avaliação Dietética": "Texto",
    "Exame físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência cardíaca": "Texto",
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Temperatura": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Prescrição": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Plano de Treinos": "Texto",
    "Plano Nutricional": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Cirurgia

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Atende bem os cirurgiões de todas as áreas.

## Campos

| Campo                    | Tipo                  | Chaves                                                           |
| ------------------------ | --------------------- | ---------------------------------------------------------------- |
| Queixa Principal         | string                |                                                                  |
| História da Doença Atual | string                |                                                                  |
| História pregressa       | string                |                                                                  |
| Medicações em uso        | string\[]             |                                                                  |
| Exame físico             | string                |                                                                  |
| Dados Antropométricos    | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p> |
| Sinais Vitais            | dict\[string, string] | <p>- PA Diastólica<br>- PA Sistólica</p>                         |
| Resultado de Exames      | string\[]             |                                                                  |
| Hipóteses Diagnósticas   | string\[]             |                                                                  |
| Procedimentos realizados | string                |                                                                  |
| Tratamento               | string\[]             |                                                                  |
| Orientações              | string\[]             |                                                                  |
| Exames Complementares    | string\[]             |                                                                  |
| Atestado                 | string                |                                                                  |
| Encaminhamento           | string\[]             |                                                                  |

## Exemplo

```javascript
{
    "Queixa Principal": "Texto",
    "História da Doença Atual": "Texto",
    "História pregressa": "Texto",
    "Medicações em uso": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exame físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Hipóteses Diagnósticas": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Procedimentos realizados": "Texto",
    "Tratamento": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Orientações": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames Complementares": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Atestado": "Texto",
    "Encaminhamento": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Evolução de enfermaria

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Indicado para registro da avaliação do paciente internado.

## Campos

| Campo                 | Tipo                  | Chaves                                                                                                                                                     |
| --------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Motivo da internação  | string                |                                                                                                                                                            |
| Evolução Clínica      | string                |                                                                                                                                                            |
| Medicações em uso     | string\[]             |                                                                                                                                                            |
| Funções Fisiológicas  | string                |                                                                                                                                                            |
| Exame físico          | string                |                                                                                                                                                            |
| Dados Antropométricos | dict\[string, string] | <p>- Altura<br>- Circunferência abdominal<br>- IMC<br>- Peso</p>                                                                                           |
| Sinais Vitais         | dict\[string, string] | <p>- Frequência Respiratória<br>- Frequência cardíaca<br>- Glicemia Capilar<br>- PA Diastólica<br>- PA Sistólica<br>- Saturação de O2<br>- Temperatura</p> |
| Resultado de Exames   | string\[]             |                                                                                                                                                            |
| Plano                 | string                |                                                                                                                                                            |
| Prescrição            | string\[]             |                                                                                                                                                            |
| Exames                | string\[]             |                                                                                                                                                            |
| Interconsulta         | string                |                                                                                                                                                            |

## Exemplo

```javascript
{
    "Motivo da internação": "Texto",
    "Evolução Clínica": "Texto",
    "Medicações em uso": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Funções Fisiológicas": "Texto",
    "Exame físico": "Texto",
    "Dados Antropométricos": {
        "Altura": "Texto",
        "Circunferência abdominal": "Texto",
        "IMC": "Texto",
        "Peso": "Texto"
    },
    "Sinais Vitais": {
        "Frequência Respiratória": "Texto",
        "Frequência cardíaca": "Texto",
        "Glicemia Capilar": "Texto",
        "PA Diastólica": "Texto",
        "PA Sistólica": "Texto",
        "Saturação de O2": "Texto",
        "Temperatura": "Texto"
    },
    "Resultado de Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Plano": "Texto",
    "Prescrição": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Exames": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Interconsulta": "Texto"
}
```


# SOAP

> Esta página indica os campos deste modelo, juntamente com um exemplo de payload enviado. A coluna "Chaves" se refere aos campos cujo tipo são dicionários e terão campos aninhados.

Registro seguindo a metodologia SOAP.

## Campos

| Campo     | Tipo      | Chaves |
| --------- | --------- | ------ |
| Subjetivo | string    |        |
| Objetivo  | string\[] |        |
| Avaliação | string\[] |        |
| Plano     | string\[] |        |

## Exemplo

```javascript
{
    "Subjetivo": "Texto",
    "Objetivo": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Avaliação": [
        "Texto",
        "Texto",
        "Texto"
    ],
    "Plano": [
        "Texto",
        "Texto",
        "Texto"
    ]
}
```


# Extensão do Navegador

### Visão Geral <a href="#visao-geral" id="visao-geral"></a>

A extensão do navegador Voa para Google Chrome oferece uma integração conveniente entre a plataforma Voa e os sistemas de prontuários eletrônicos (PEP) acessados via navegador. Esta extensão proporciona acesso rápido às funcionalidades essenciais da Voa diretamente na interface do PEP.

### Características Principais <a href="#caracteristicas-principais" id="caracteristicas-principais"></a>

* Sidebar com versão mobile da Voa
* Funcionalidades básicas acessíveis diretamente na extensão
* Opção de abrir a versão completa da Voa em uma nova aba para tarefas mais complexas
* Integração de login com a conta Voa existente

### Funcionalidades da Extensão <a href="#funcionalidades-da-extensao" id="funcionalidades-da-extensao"></a>

#### Sidebar <a href="#sidebar" id="sidebar"></a>

* Transcrição em tempo real
* Visualização rápida de consultas recentes
* Acesso rápido a templates de documentos
* Resumo clínico simplificado

#### Ações Rápidas <a href="#acoes-rapidas" id="acoes-rapidas"></a>

* Iniciar/Parar gravação
* Gerar documento rápido
* Visualizar últimas consultas

Integração com PEP

* Captura automática de contexto do paciente (quando permitido)
* Inserção rápida de notas no PEP

### Suporte <a href="#suporte" id="suporte"></a>

Para questões técnicas ou suporte, entre em contato com nossa equipe de integração em <integration@voahealth.com>.


# Instalação e uso

### Instalação <a href="#instalacao" id="instalacao"></a>

1. Acesse a [Chrome Web Store](https://chrome.google.com/webstore)
2. Pesquise por "Voa Health Assistant"
3. Clique em "Adicionar ao Chrome"
4. Confirme a instalação quando solicitado

### Permissões Requeridas <a href="#permissoes-requeridas" id="permissoes-requeridas"></a>

* Acesso às abas ativas
* Armazenamento local
* Acesso à rede

### Autenticação <a href="#autenticacao" id="autenticacao"></a>

#### Opção 1: Login via Extensão <a href="#opcao-1-login-via-extensao" id="opcao-1-login-via-extensao"></a>

1. Clique no ícone da extensão Voa
2. Selecione "Login"
3. Insira suas credenciais da Voa
4. A extensão manterá a sessão ativa

<div align="left"><figure><img src="/files/TSodqfnhTWmmgHE5hN6s" alt="" width="188"><figcaption></figcaption></figure></div>

#### Opção 2: Sincronização com Sessão Existente <a href="#opcao-2-sincronizacao-com-sessao-existente" id="opcao-2-sincronizacao-com-sessao-existente"></a>

1. Faça login no site da Voa em uma aba do Chrome
2. Abra a extensão Voa
3. Clique em "Sincronizar com sessão existente"
4. A extensão detectará automaticamente a sessão ativa e sincronizará

{% @mermaid/diagram content="sequenceDiagram
participant U as Usuário
participant E as Extensão Voa
participant P as PEP (Navegador)
participant V as Voa (Site Completo)

```
U->>E: Abre a extensão
alt Não logado
    U->>E: Faz login ou sincroniza sessão
end
U->>P: Acessa prontuário do paciente
E->>P: Captura contexto (se permitido)
U->>E: Inicia gravação
E->>E: Transcreve em tempo real
U->>E: Finaliza gravação
E->>E: Gera documento
alt Tarefa complexa
    U->>E: Clica para abrir Voa completo
    E->>V: Abre nova aba com contexto
else Tarefa simples
    U->>E: Gera documento rápido
    E->>P: Insere notas no PEP
end" %}
```

### Considerações de Segurança <a href="#consideracoes-de-seguranca" id="consideracoes-de-seguranca"></a>

* Todos os dados são criptografados em trânsito e em repouso
* A extensão não armazena informações sensíveis localmente
* Autenticação de dois fatores disponível para login na extensão

### Limitações <a href="#limitacoes" id="limitacoes"></a>

* Algumas funcionalidades avançadas só estão disponíveis na versão completa do site
* A captura automática de contexto do PEP pode ser limitada dependendo das políticas de segurança do navegador e do site do PEP


# RNDS

### Visão Geral <a href="#visao-geral" id="visao-geral"></a>

A Voa possui integração nativa com a **RNDS (Rede Nacional de Dados em Saúde)**, a plataforma nacional de interoperabilidade em saúde do Ministério da Saúde do Brasil. Através dessa integração, os dados clínicos gerados durante as consultas são automaticamente formatados no padrão **FHIR R4** e enviados ao barramento nacional, contribuindo com o histórico clínico unificado do cidadão no **Conecte SUS**.

### O que é possível fazer <a href="#funcionalidades" id="funcionalidades"></a>

* **Envio automático de registros clínicos** — Consultas finalizadas na Voa geram documentos no padrão FHIR e são enviados à RNDS
* **Consulta de dados do paciente** — Acesse informações demográficas e clínicas do paciente diretamente do barramento nacional
* **Envio de prescrições e exames** — Prescrições médicas e solicitações de exames são formatadas e transmitidas automaticamente
* **Rastreabilidade completa** — Cada envio é registrado com identificador único, permitindo consulta, substituição ou exclusão do registro na RNDS

### Tipos de documentos suportados <a href="#tipos-documentos" id="tipos-documentos"></a>

| Tipo     | Descrição                                                                          |
| -------- | ---------------------------------------------------------------------------------- |
| **RAC**  | Registro de Atendimento Clínico — gerado automaticamente ao finalizar uma consulta |
| **RPM**  | Registro de Prescrição de Medicamento — enviado quando há prescrições na consulta  |
| **REL**  | Resultado de Exame Laboratorial — para integrações com laboratórios                |
| **RIRA** | Registro de Informações de Regulação Assistencial — para encaminhamentos           |

### Pré-requisitos <a href="#pre-requisitos" id="pre-requisitos"></a>

Para ativar a integração RNDS, o estabelecimento de saúde precisa:

1. Estar cadastrado no **CNES** (Cadastro Nacional de Estabelecimentos de Saúde)
2. Possuir **certificado digital ICP-Brasil** tipo A1 (e-CPF ou e-CNPJ)
3. Ter completado o **credenciamento no DATASUS** via [Portal de Serviços](https://servicos-datasus.saude.gov.br)
4. Ter sido **homologado** no ambiente de testes da RNDS

{% hint style="info" %}
A equipe Voa auxilia no processo de credenciamento e homologação. Entre em contato com <integration@voahealth.com> para iniciar.
{% endhint %}

### Suporte <a href="#suporte" id="suporte"></a>

Para questões técnicas ou suporte, entre em contato com nossa equipe de integração em <integration@voahealth.com>.


# Como funciona

### Fluxo de envio à RNDS <a href="#fluxo-envio" id="fluxo-envio"></a>

Ao finalizar uma consulta na Voa, o registro clínico é automaticamente processado e enviado à RNDS. O fluxo completo funciona da seguinte forma:

1. **Consulta finalizada** — O profissional encerra a consulta e os documentos clínicos são gerados
2. **Transformação FHIR** — Os dados da consulta (diagnósticos, prescrições, procedimentos, encaminhamentos) são convertidos para o padrão FHIR R4, seguindo os perfis brasileiros definidos pela RNDS
3. **Autenticação** — A Voa se autentica com o servidor da RNDS utilizando o certificado digital ICP-Brasil do estabelecimento
4. **Envio** — O documento FHIR é enviado ao barramento nacional da RNDS
5. **Confirmação** — Um identificador único do registro é retornado e armazenado, permitindo rastreabilidade completa

### Dados que são enviados <a href="#dados-enviados" id="dados-enviados"></a>

Para cada consulta, a Voa monta um **Bundle FHIR** contendo os seguintes recursos clínicos:

| Recurso               | Descrição                                       | Perfil RNDS                  |
| --------------------- | ----------------------------------------------- | ---------------------------- |
| **Composition**       | Estrutura principal do documento clínico        | BRRegistroAtendimentoClínico |
| **Encounter**         | Dados do atendimento (tipo, data, duração)      | BRContatoAssistencial        |
| **Patient**           | Identificação do paciente (CPF / CNS)           | BRIndivíduo                  |
| **Practitioner**      | Identificação do profissional de saúde          | BRProfissional               |
| **Organization**      | Estabelecimento de saúde (CNES)                 | BREstabelecimentoSaúde       |
| **Condition**         | Diagnósticos e problemas identificados (CID-10) | BRDiagnósticoAvaliado        |
| **Procedure**         | Procedimentos realizados                        | BRProcedimentoRealizado      |
| **MedicationRequest** | Prescrições médicas                             | BRPrescriçãoMedicamento      |
| **Observation**       | Observações clínicas e sinais vitais            | BRObservação                 |

### Dados que podem ser consultados <a href="#dados-consulta" id="dados-consulta"></a>

Além do envio, a Voa permite consultar dados no barramento nacional:

* **Paciente** — Dados demográficos e identificadores por CPF ou CNS
* **Profissional** — Dados do profissional de saúde por CNS
* **Estabelecimento** — Dados da organização de saúde por CNES

### Autenticação com a RNDS <a href="#autenticacao" id="autenticacao"></a>

A comunicação com a RNDS utiliza um modelo de segurança em duas camadas:

1. **Certificado digital ICP-Brasil** — Utilizado para autenticação mútua (mTLS) com o servidor da RNDS e obtenção de um token de acesso JWT
2. **Token JWT** — Incluído em todas as requisições subsequentes ao barramento FHIR, com validade de 30 minutos

A Voa gerencia automaticamente a renovação de tokens, garantindo que as requisições sejam sempre autenticadas sem intervenção manual.

{% hint style="warning" %}
O certificado digital deve ser do tipo **A1** (arquivo `.pfx` ou `.p12`), emitido por uma Autoridade Certificadora credenciada pela ICP-Brasil. Certificados do tipo A3 (em token físico) não são suportados para integração via API.
{% endhint %}

### Ambientes <a href="#ambientes" id="ambientes"></a>

A RNDS disponibiliza dois ambientes. Durante a ativação da integração, os testes são realizados em homologação antes de migrar para produção:

| Ambiente        | Uso                                 |
| --------------- | ----------------------------------- |
| **Homologação** | Testes e validação de conformidade  |
| **Produção**    | Envio oficial de registros clínicos |

### Conformidade e LGPD <a href="#conformidade" id="conformidade"></a>

* O envio de dados clínicos à RNDS é **amparado por legislação federal**, sendo obrigatório para estabelecimentos habilitados
* Todos os dados transitam via **conexão criptografada** (TLS 1.2+) com autenticação mútua por certificado digital
* A Voa mantém **registros de auditoria** de cada envio, incluindo timestamp, identificador do registro e status de resposta
* O paciente pode acessar seus registros enviados à RNDS pelo aplicativo **Conecte SUS**


# Ativação

### Processo de ativação <a href="#processo" id="processo"></a>

A ativação da integração RNDS é feita em parceria com a equipe Voa. O processo envolve etapas junto ao DATASUS e configuração na plataforma.

### Passo a passo <a href="#passo-a-passo" id="passo-a-passo"></a>

#### 1. Credenciamento no DATASUS <a href="#credenciamento" id="credenciamento"></a>

O estabelecimento de saúde deve estar devidamente cadastrado e habilitado:

* **CNES ativo** — Verifique se o código CNES do estabelecimento está regular no Cadastro Nacional de Estabelecimentos de Saúde
* **Solicitação de acesso** — Acesse o [Portal de Serviços DATASUS](https://servicos-datasus.saude.gov.br) e solicite acesso à RNDS para o CNES do estabelecimento
* **Identificador do solicitante** — Após a aprovação, o DATASUS atribui um identificador único ao estabelecimento

{% hint style="info" %}
A equipe Voa pode auxiliar no processo de solicitação. Entre em contato com <integration@voahealth.com>.
{% endhint %}

#### 2. Certificado digital <a href="#certificado" id="certificado"></a>

É necessário um certificado digital ICP-Brasil para autenticação com a RNDS:

| Requisito    | Detalhe                                                                          |
| ------------ | -------------------------------------------------------------------------------- |
| **Tipo**     | e-CPF ou e-CNPJ                                                                  |
| **Formato**  | A1 (arquivo `.pfx` ou `.p12`)                                                    |
| **Emissor**  | Qualquer Autoridade Certificadora ICP-Brasil (Serpro, Certisign, Correios, etc.) |
| **Validade** | Verificar data de expiração e planejar renovação                                 |

{% hint style="warning" %}
Certificados do tipo **A3** (em token físico ou cartão) não são compatíveis com integração via API. Certifique-se de adquirir um certificado **A1**.
{% endhint %}

#### 3. Configuração na Voa <a href="#configuracao" id="configuracao"></a>

Com o credenciamento aprovado e o certificado digital em mãos, a equipe Voa realizará a configuração:

1. **Envio do certificado** — O certificado digital e a senha são enviados de forma segura para a equipe Voa
2. **Configuração do ambiente** — A equipe configura o ambiente de homologação para testes iniciais
3. **Testes de validação** — São realizados envios de teste no ambiente de homologação da RNDS para validar a conformidade dos dados

#### 4. Homologação <a href="#homologacao" id="homologacao"></a>

Após os testes bem-sucedidos:

1. As evidências de conformidade são submetidas ao DATASUS
2. O DATASUS valida os envios e aprova o uso em produção
3. A Voa ativa automaticamente o ambiente de produção para o estabelecimento

#### 5. Produção <a href="#producao" id="producao"></a>

Com a homologação aprovada, a integração entra em operação:

* Os registros clínicos passam a ser enviados automaticamente à RNDS após cada consulta
* O status de cada envio pode ser acompanhado via API ou pela interface da Voa
* A equipe Voa monitora a saúde da integração e notifica em caso de qualquer anomalia

### Identificadores necessários <a href="#identificadores" id="identificadores"></a>

Para o funcionamento da integração, os seguintes identificadores devem estar cadastrados:

| Identificador | Descrição                                | Onde obter                         |
| ------------- | ---------------------------------------- | ---------------------------------- |
| **CNES**      | Código do estabelecimento de saúde       | [CNES](http://cnes.datasus.gov.br) |
| **CNS**       | Cartão Nacional de Saúde do profissional | CADSUS / Conecte SUS               |
| **CPF**       | CPF do paciente                          | Documento do paciente              |

{% hint style="info" %}
Cada profissional de saúde que utiliza a Voa deve ter seu **CNS** cadastrado na plataforma para que os envios à RNDS sejam corretamente atribuídos.
{% endhint %}

### Suporte <a href="#suporte" id="suporte"></a>

Para questões técnicas ou suporte durante o processo de ativação, entre em contato com nossa equipe de integração em <integration@voahealth.com>.


# Endpoints

### Base URL <a href="#base-url" id="base-url"></a>

```
https://integration.voa.health/v1
```

Todos os endpoints RNDS exigem autenticação via token Bearer JWT, da mesma forma que os demais endpoints da API Voa.

```sh
Authorization: Bearer <seu_token_jwt>
```

***

## Enviar registro clínico à RNDS

<mark style="color:green;">`POST`</mark> `/ehrs/{ehr_id}/rnds/submit`

Envia os dados clínicos de uma consulta à RNDS no padrão FHIR R4. A Voa monta automaticamente o Bundle FHIR com todos os recursos necessários (Composition, Encounter, Condition, Procedure, MedicationRequest, etc.) a partir dos documentos e dados da consulta.

**Headers**

| Name          | Value              |
| ------------- | ------------------ |
| Content-Type  | `application/json` |
| Authorization | `Bearer <token>`   |

**Body**

| Name               | Type   | Description                                                                       |
| ------------------ | ------ | --------------------------------------------------------------------------------- |
| `document_type`    | string | Tipo do documento RNDS: `RAC`, `RPM`, `REL` (default: `RAC`)                      |
| `patient_cpf`      | string | CPF do paciente (obrigatório)                                                     |
| `patient_cns`      | string | CNS do paciente (opcional, usado quando disponível)                               |
| `practitioner_cns` | string | CNS do profissional de saúde responsável (obrigatório)                            |
| `cnes`             | string | Código CNES do estabelecimento (obrigatório na primeira vez, depois é memorizado) |

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "status": "submitted",
  "rnds_record_id": "rnds_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "document_type": "RAC",
  "submitted_at": "2026-02-18T15:00:00Z",
  "ehr_id": "ehr_123456"
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "error": "validation_error",
  "message": "O campo patient_cpf é obrigatório para envio à RNDS",
  "details": [
    {
      "field": "patient_cpf",
      "issue": "required"
    }
  ]
}
```

{% endtab %}

{% tab title="422" %}

```json
{
  "error": "rnds_rejected",
  "message": "O registro foi rejeitado pela RNDS",
  "details": [
    {
      "severity": "error",
      "code": "processing",
      "diagnostics": "Identificador do paciente não encontrado no cadastro nacional"
    }
  ]
}
```

{% endtab %}
{% endtabs %}

***

## Consultar status de envio

<mark style="color:green;">`GET`</mark> `/ehrs/{ehr_id}/rnds/status`

Retorna o status do último envio à RNDS para uma consulta específica.

**Headers**

| Name          | Value              |
| ------------- | ------------------ |
| Content-Type  | `application/json` |
| Authorization | `Bearer <token>`   |

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "ehr_id": "ehr_123456",
  "rnds_record_id": "rnds_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "accepted",
  "document_type": "RAC",
  "submitted_at": "2026-02-18T15:00:00Z",
  "last_updated_at": "2026-02-18T15:00:02Z"
}
```

{% endtab %}

{% tab title="404" %}

```json
{
  "error": "not_found",
  "message": "Nenhum envio à RNDS encontrado para esta consulta"
}
```

{% endtab %}
{% endtabs %}

**Status possíveis**

| Status     | Descrição                                            |
| ---------- | ---------------------------------------------------- |
| `pending`  | Envio em processamento                               |
| `accepted` | Registro aceito pela RNDS                            |
| `rejected` | Registro rejeitado — verifique os detalhes do erro   |
| `replaced` | Registro foi substituído por uma versão mais recente |
| `deleted`  | Registro foi excluído da RNDS                        |

***

## Substituir registro na RNDS

<mark style="color:green;">`PUT`</mark> `/ehrs/{ehr_id}/rnds/replace`

Substitui um registro previamente enviado à RNDS. Útil quando o profissional faz correções no documento clínico após o envio inicial.

**Headers**

| Name          | Value              |
| ------------- | ------------------ |
| Content-Type  | `application/json` |
| Authorization | `Bearer <token>`   |

**Body**

| Name               | Type   | Description                                   |
| ------------------ | ------ | --------------------------------------------- |
| `practitioner_cns` | string | CNS do profissional responsável pela correção |

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "status": "replaced",
  "rnds_record_id": "rnds_new-uuid-after-replacement",
  "previous_record_id": "rnds_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "replaced_at": "2026-02-18T16:30:00Z"
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "error": "no_previous_submission",
  "message": "Não existe registro anterior na RNDS para esta consulta"
}
```

{% endtab %}
{% endtabs %}

***

## Excluir registro da RNDS

<mark style="color:red;">`DELETE`</mark> `/ehrs/{ehr_id}/rnds`

Remove um registro previamente enviado à RNDS. Esta ação é irreversível no barramento nacional.

**Headers**

| Name          | Value              |
| ------------- | ------------------ |
| Content-Type  | `application/json` |
| Authorization | `Bearer <token>`   |

**Body**

| Name               | Type   | Description                                 |
| ------------------ | ------ | ------------------------------------------- |
| `practitioner_cns` | string | CNS do profissional que autoriza a exclusão |
| `reason`           | string | Motivo da exclusão (obrigatório)            |

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "status": "deleted",
  "rnds_record_id": "rnds_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "deleted_at": "2026-02-18T17:00:00Z"
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "error": "no_previous_submission",
  "message": "Não existe registro na RNDS para esta consulta"
}
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
A exclusão de registros na RNDS é uma operação sensível e irreversível. Certifique-se de que a exclusão é realmente necessária antes de executá-la.
{% endhint %}

***

## Consultar paciente na RNDS

<mark style="color:green;">`GET`</mark> `/rnds/patient`

Consulta dados de um paciente no barramento nacional da RNDS.

**Headers**

| Name          | Value              |
| ------------- | ------------------ |
| Content-Type  | `application/json` |
| Authorization | `Bearer <token>`   |

**Query Parameters**

| Name  | Type   | Description                                       |
| ----- | ------ | ------------------------------------------------- |
| `cpf` | string | CPF do paciente (obrigatório se não informar CNS) |
| `cns` | string | CNS do paciente (obrigatório se não informar CPF) |

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "patient": {
    "cpf": "123.456.789-00",
    "cns": "700000000000000",
    "name": "Nome do Paciente",
    "birth_date": "1990-05-15",
    "gender": "female"
  }
}
```

{% endtab %}

{% tab title="404" %}

```json
{
  "error": "patient_not_found",
  "message": "Paciente não encontrado no cadastro nacional"
}
```

{% endtab %}
{% endtabs %}

***

## Consultar profissional na RNDS

<mark style="color:green;">`GET`</mark> `/rnds/practitioner`

Consulta dados de um profissional de saúde no barramento nacional.

**Headers**

| Name          | Value              |
| ------------- | ------------------ |
| Content-Type  | `application/json` |
| Authorization | `Bearer <token>`   |

**Query Parameters**

| Name  | Type   | Description                                |
| ----- | ------ | ------------------------------------------ |
| `cns` | string | CNS do profissional de saúde (obrigatório) |

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "practitioner": {
    "cns": "700000000000001",
    "name": "Dr. Nome do Profissional",
    "specialty": "Clínica Médica",
    "council": "CRM",
    "council_number": "123456",
    "council_state": "MG"
  }
}
```

{% endtab %}

{% tab title="404" %}

```json
{
  "error": "practitioner_not_found",
  "message": "Profissional não encontrado no cadastro nacional"
}
```

{% endtab %}
{% endtabs %}

***

### Rate limits <a href="#rate-limit" id="rate-limit"></a>

Os endpoints RNDS seguem os mesmos limites da API Voa:

* 1000 requisições por hora por token
* 10 requisições por segundo por token

{% hint style="info" %}
O envio à RNDS envolve comunicação com o barramento nacional, o que pode adicionar latência de 2 a 5 segundos na resposta. Recomendamos implementar chamadas assíncronas para não bloquear a experiência do usuário.
{% endhint %}


# Chaves de API

As Chaves de API permitem que você integre serviços externos diretamente com a sua conta Voa, sem a necessidade de compartilhar suas credenciais de login.

### Visão Geral

{% hint style="success" %}
Quer integrar seu sistema à Voa? Use o [Plugin](https://docs.voa.health/integracao/plugin), a forma ideal de embarcar a Voa na sua aplicação.
{% endhint %}

As **Chaves de API do Usuário** permitem que você integre serviços externos diretamente com a sua conta Voa, sem a necessidade de compartilhar suas credenciais de login. Cada chave fornece acesso autenticado à API da Voa, vinculado à sua conta pessoal.

{% hint style="info" %}
As chaves de API do usuário são diferentes das chaves de organização. Elas são vinculadas à sua conta pessoal e possuem o prefixo `sk_user_`.
{% endhint %}

{% hint style="danger" %}
Uma Chave de API é uma credencial de longa duração. Nunca a envie ao navegador nem a passe diretamente para `VoaPlugin.instance.init()`. Para usar o Plugin, mantenha a chave no backend e troque-a por tokens de sessão temporários conforme descrito em [Autenticação do Plugin](/integracao/plugin/autenticacao).
{% endhint %}

***

### O que a Chave de API permite (e o que não permite)

O objetivo da Chave de API é permitir que seus usuários **utilizem a Voa dentro do seu sistema** — por exemplo, embarcar a Voa no seu prontuário eletrônico via [Plugin](https://docs.voa.health/integracao/plugin) para gravar atendimentos e gerar documentos.

{% hint style="warning" %}
**A Voa não disponibiliza API pública de consulta de dados.** A Chave de API **não** permite ler ou exportar dados da sua conta — como lista de pacientes, consultas, transcrições ou documentos gerados.
{% endhint %}

### Criando uma Chave de API

#### Passo 1: Acesse as configurações de Integrações

1. Faça login na plataforma Voa em [app.voa.health](https://app.voa.health/)
2. No menu lateral esquerdo, clique no ícone de **Configurações** (engrenagem)
3. Selecione **Integrações** — é o último item na lista de configurações

#### Passo 2: Crie uma nova chave

1. Na seção **Chaves de API**, clique no botão **+ Nova chave**
2. Digite um **nome descritivo** para a chave (entre 3 e 50 caracteres)
   * Exemplo: `Integração com sistema X`, `Meu App de Prontuário`, `Automação Zapier`
3. Clique em **Criar chave**

#### Passo 3: Copie e guarde a chave

{% hint style="warning" %}
**Importante:** A chave completa será exibida **apenas uma vez**, imediatamente após a criação. Copie e guarde em um local seguro. Não será possível visualizá-la novamente.
{% endhint %}

Após a criação, uma tela será exibida com:

* A chave no formato mascarado (ex.: `sk_user_04••••••••e192e`)
* Um **ícone de olho** para alternar entre mostrar e ocultar a chave completa
* Um **botão de copiar** para copiar a chave para a área de transferência

Clique no botão de copiar ou revele a chave e copie manualmente. Em seguida, armazene-a em um gerenciador de senhas ou cofre de segurança.

***

### Gerenciando suas Chaves

#### Visualizando chaves existentes

Na página de **Integrações**, a seção **Chaves de API** exibe todas as suas chaves ativas com as seguintes informações:

| Informação          | Descrição                                                              |
| ------------------- | ---------------------------------------------------------------------- |
| **Nome**            | O nome descritivo que você definiu ao criar a chave                    |
| **Key Tip**         | Os primeiros e últimos caracteres da chave (ex.: `sk_user_04...e192e`) |
| **Data de criação** | Quando a chave foi criada                                              |
| **Último uso**      | Quando a chave foi utilizada pela última vez                           |
| **Uso total**       | Número total de requisições feitas com esta chave                      |

#### Excluindo uma chave

1. Localize a chave que deseja excluir na lista
2. Clique no ícone de **lixeira** (vermelho) à direita da chave
3. Confirme a exclusão no diálogo de confirmação

{% hint style="danger" %}
A exclusão de uma chave é **permanente** e impede imediatamente novas autenticações e novas emissões de tokens de sessão. Tokens de sessão já emitidos permanecem válidos até a própria expiração; use validade curta para reduzir essa janela. Confirme que nenhum sistema ainda depende da chave antes de excluí-la.
{% endhint %}

***

### Boas Práticas de Segurança

#### Armazenamento seguro

* **Nunca** exponha suas chaves em código-fonte público (GitHub, GitLab, etc.)
* **Nunca** inclua chaves em HTML, JavaScript, bundles, aplicativos cliente ou armazenamento do navegador
* Utilize **variáveis de ambiente** ou **cofres de segredos** (como AWS Secrets Manager ou HashiCorp Vault) no backend
* Para o Plugin, exponha ao navegador apenas tokens de sessão temporários; veja [Autenticação do Plugin](/integracao/plugin/autenticacao)

#### Rotação de chaves

* Crie novas chaves periodicamente e substitua as antigas
* Após a troca, exclua a chave anterior para prevenir novos acessos não autorizados
* Recomendamos rotacionar suas chaves a cada **90 dias**

#### Princípio do menor privilégio

* Crie chaves separadas para cada serviço ou integração
* Use nomes descritivos para facilitar a identificação (ex.: `Zapier - Sincronização`, `App Mobile - Produção`)
* Exclua chaves que não estão mais em uso

#### Monitoramento

* Acompanhe o **uso total** e a **data do último uso** de cada chave na página de Integrações
* Se notar uso anômalo, exclua a chave imediatamente e crie uma nova
* Verifique periodicamente se há chaves não utilizadas que possam ser removidas

***

### Diferenças: Chave de Usuário vs. Chave de Organização

| Característica       | Chave de Usuário (`sk_user_`)                | Chave de Organização               |
| -------------------- | -------------------------------------------- | ---------------------------------- |
| **Prefixo**          | `sk_user_`                                   | Sem prefixo padrão                 |
| **Vinculação**       | Conta pessoal do usuário                     | Organização (múltiplos usuários)   |
| **Criação**          | Pelo próprio usuário na aba Integrações      | Por administradores da organização |
| **Header**           | `X-VOA-TOKEN`                                | `X-VOA-TOKEN`                      |
| **Escopo de acesso** | Dados do usuário                             | Dados da organização               |
| **Uso típico**       | Automações pessoais, integrações individuais | Integrações institucionais, EHRs   |

***

### Suporte

Para dúvidas ou problemas com chaves de API, entre em contato:

* **Email:** <integration@voahealth.com>
* **Documentação geral:** [docs.voa.health](https://docs.voa.health/)


# Testes de Carga

Diretrizes para Testes de Carga

### Visão Geral

Este documento descreve as diretrizes para execução de testes de carga em nossa plataforma de transcrição em tempo real e geração de documentos. Para acesso aos endpoints específicos de teste e scripts de exemplo, entre em contato com nossa equipe através do email <team@voahealth.com>.

### Ambiente de Execução

Os testes de carga devem ser realizados exclusivamente em ambiente de produção, pois nossos ambientes de desenvolvimento e homologação são dimensionados apenas para testes funcionais, não sendo representativos para análises de performance.

### Janelas de Tempo

| Parâmetro               | Valor                 |
| ----------------------- | --------------------- |
| Horário Preferencial    | 22h às 04h (Brasília) |
| Duração Máxima          | 2 horas por sessão    |
| Intervalo entre Sessões | 4 horas               |
| Dias Recomendados       | Terça a Quinta-feira  |

> **Nota**: Testes fora destes horários requerem aprovação prévia com 48h de antecedência.

### Limites Técnicos

#### Transcrição em Tempo Real (WebSocket)

| Parâmetro            | Limite             |
| -------------------- | ------------------ |
| Conexões Simultâneas | 20.000             |
| Payload por Mensagem | 256KB              |
| Taxa de Mensagens    | 20/segundo/conexão |
| Banda Total          | 100Mbps            |

#### Geração de Documentos (API REST)

| Parâmetro               | Limite                    |
| ----------------------- | ------------------------- |
| Requisições Simultâneas | 500                       |
| Taxa de Requisições     | 1.000/minuto              |
| Tamanho do Payload      | 5MB                       |
| Tempo de Processamento  | 60 segundos               |
| Limite Diário           | 10.000 documentos/cliente |

### Procedimento de Teste

#### Rampa de Carga

1. Iniciar com 10% da carga pretendida
2. Incrementos graduais de 20%
3. Intervalo de 5 minutos entre incrementos
4. Monitoramento contínuo

#### Critérios de Parada

| Métrica             | Limite    |
| ------------------- | --------- |
| Taxa de Erro        | > 5%      |
| Latência WebSocket  | > 2000ms  |
| Latência Documentos | > 20000ms |
| Perda de Conexão    | > 10%     |

### Requisitos de Comunicação

#### Antes do Teste

* Volume pretendido
* Duração estimada
* Contatos da equipe responsável
* Cronograma detalhado

#### Durante o Teste

* Disponibilidade imediata via canal acordado
* Monitoramento ativo
* Reporte de anomalias

### Métricas Necessárias

* [x] Conexões simultâneas
* [x] Taxa de mensagens/segundo
* [x] Latência (média, mínima, máxima)
* [x] Taxa de erro
* [x] Tempo de estabelecimento de conexão
* [x] Duração das sessões

### Considerações Técnicas

#### Rate Limiting

* Limites por IP
* Limites por cliente/API key
* Limites globais do sistema
* Priorização por plano

#### Comportamento do Sistema

* Reconexão automática em falhas
* Processamento assíncrono de documentos
* Cancelamento automático após timeout
* Código 429 para limites excedidos

### Relatório Pós-Teste

O relatório deve incluir:

* Volumes atingidos
* Problemas encontrados
* Métricas coletadas
* Sugestões de melhorias

### Contato

Para solicitar endpoints de teste, scripts e suporte:

* Email: <team@voahealth.com>
* Tempo de resposta: 1 dia útil
* Documentação adicional será fornecida após o contato inicial


