Ir para o conteúdo

Consulta Ao Vivo — transcrição ASR em tempo real (RFC-008)

Tipo: Tutorial — "Aprenda fazendo" Versão mínima: v0.15-1 Tempo estimado: 15 minutos

Neste tutorial você vai realizar sua primeira consulta com transcrição automática em tempo real. Ao final, você terá um rascunho SOAP gerado a partir da fala, revisado e aplicado ao atendimento.


O que você vai aprender

  • Instalar e configurar o componente ASR (reconhecimento de fala) local.
  • Ativar o painel de Consulta Ao Vivo durante um atendimento.
  • Entender o que a transcrição exibe e como ela funciona.
  • Revisar e editar o rascunho gerado.
  • Aplicar o rascunho às seções do SOAP com rastreabilidade de IA (CFM 2.454/2026).

Pré-requisitos

1. Instalar o extra [asr]

O componente de reconhecimento de fala é opt-in — não vem instalado por padrão para manter o instalador leve. Para habilitá-lo:

# Ative o ambiente virtual do Anotae primeiro
source .venv/bin/activate        # Linux/macOS
# .venv\Scripts\activate.bat     # Windows

pip install -e '.[asr]'

Isso instala sounddevice (captura de áudio) e pywhispercpp (bindings whisper.cpp). Nenhuma dependência de rede é adicionada em runtime.

Sem ambiente virtual? Se você usa o instalador empacotado (AppImage/exe), abra Configurações → ASR → Instalar componente ASR e siga o assistente integrado.

2. Baixar o modelo Whisper

O modelo de reconhecimento de fala precisa ser baixado uma única vez.

  1. Abra o Anotae.
  2. Acesse Configurações (Ctrl+,) → aba ASR.
  3. Clique em Baixar modelo small-pt (quantizado q5_0) (~155 MB).
  4. Aguarde a barra de progresso completar. O modelo é salvo localmente em ~/.anotae/models/ e nunca é enviado para servidores externos.

Requisitos de hardware: CPU ≥ 2 núcleos, RAM ≥ 4 GB. Em máquinas mais lentas, a transcrição pode levar alguns segundos por janela de 8s — isso é normal.

3. Verificar microfone

Certifique-se de que o microfone está conectado e com permissão de acesso:

  • Linux: verifique se seu usuário pertence ao grupo audio (groups $USER).
  • macOS: Preferências do Sistema → Privacidade → Microfone → Anotae ✓.
  • Windows: Configurações → Privacidade → Microfone → permitir apps de desktop ✓.

Passo 1 — Abrir um atendimento

  1. Inicie o Anotae e desbloqueie o vault com sua senha-mestra.
  2. Selecione um paciente na lista ou crie um novo com Ctrl+N.
  3. Abra (ou crie) um atendimento. O editor SOAP deve estar visível.

Passo 2 — Ativar o painel de Consulta Ao Vivo

Com o editor SOAP aberto, ative o modo de consulta ao vivo de uma das formas:

Ação Como fazer
Atalho de teclado Ctrl+R
Botão na barra de ferramentas Clique em 🎙 Consulta Ao Vivo

O painel lateral Consulta Ao Vivo abre à direita do editor SOAP.

O que aparece no painel

[00:00] Gravando... ▪▪▪
[00:08] Paciente refere dor em região lombar há três dias.
[00:16] Piora ao esforço físico, melhora com repouso.
[00:24] Não houve febre. Evacuações normais.
  • Timestamp MM:SS — marca o início de cada janela de 8 segundos.
  • Segmento transcrito — texto em português gerado pelo modelo local.
  • Indicador de gravação — animação enquanto uma janela está sendo processada.

Aviso de privacidade exibido no topo do painel: "Áudio processado localmente. Nenhum dado sai deste dispositivo."


Passo 3 — Conduzir a consulta naturalmente

Fale normalmente durante o atendimento. Algumas dicas:

  • Microfone próximo ao paciente melhora a transcrição de ambas as vozes.
  • Janelas de 8 segundos: a cada 8s, o segmento atual é enviado ao modelo whisper.cpp em thread de background. Você ouvirá um clique suave (opcional, configurável em Configurações → ASR → Som de janela).
  • Silêncios curtos são tratados normalmente — o modelo ignora janelas silenciosas automaticamente.
  • Termos técnicos médicos em português são reconhecidos pelo modelo small-pt. Para vocabulário muito especializado, corrija manualmente após a consulta.
  • Você pode pausar clicando em ⏸ Pausar (ou Ctrl+R novamente) e retomar com o mesmo atalho.

Passo 4 — Encerrar a consulta e revisar o rascunho

Ao final do atendimento:

  1. Clique em ⏹ Encerrar consulta (ou pressione Ctrl+R).
  2. O Anotae processa as últimas janelas pendentes (pode levar até 10s).
  3. Um rascunho SOAP aparece na parte inferior do painel, organizado em seções:
── RASCUNHO GERADO POR IA (CFM 2.454/2026) ──

S — Subjetivo:
Paciente refere dor lombar há 3 dias, de caráter mecânico,
com piora ao esforço e melhora com repouso. Nega febre ou
alterações do trânsito intestinal.

O — Objetivo:
[Aguardando preenchimento manual]

A — Avaliação:
[Aguardando preenchimento manual]

P — Plano:
[Aguardando preenchimento manual]

O modelo preenche principalmente S (Subjetivo) a partir da fala do paciente. As seções O, A e P geralmente precisam de complementação manual — isso é esperado e seguro por design.


Passo 5 — Editar o rascunho

Antes de aplicar ao SOAP, revise criticamente cada seção:

  1. Corrija transcrições imprecisas — nomes de medicamentos, dosagens e CIDs são especialmente sensíveis.
  2. Remova ou complete seções marcadas como [Aguardando preenchimento manual].
  3. Adicione informações obtidas no exame físico (seção O) e no raciocínio clínico (seção A).

Nota sobre o disclaimer CFM 2.454/2026

O rascunho inclui automaticamente a marcação:

[Assistido por IA local — revisado pelo profissional em DD/MM/AAAA HH:MM]

Esta marcação é exigida pela resolução CFM 2.454/2026 para rastreabilidade de registros gerados com auxílio de IA. Não remova esta marcação — ela protege você profissionalmente ao documentar que o conteúdo foi revisado.


Passo 6 — Aplicar o rascunho ao SOAP

Quando o rascunho estiver revisado e correto:

  1. Clique em Aplicar rascunho no SOAP.
  2. O conteúdo de cada seção é inserido nos campos correspondentes do editor SOAP (S, O, A, P).
  3. As seções já preenchidas não são sobrescritas — o conteúdo do rascunho é acrescentado ao que já existe.
  4. O atendimento é automaticamente marcado como assistido por IA (mark_ai_assisted()), registrando modelo, data e hora no audit log.

Você pode editar livremente o SOAP após aplicar o rascunho. A marcação de IA permanece no histórico de auditoria, mas não impede nenhuma edição.


Passo 7 — Salvar o atendimento

Após aplicar e revisar o SOAP completo:

  • Ctrl+S para salvar.
  • Os dados são armazenados criptografados localmente no vault SQLite.
  • O áudio nunca foi gravado em disco em nenhum momento deste fluxo.

Garantias de privacidade

Esta seção documenta explicitamente o que acontece com o áudio durante uma consulta ao vivo:

O que acontece Detalhe
Captura de áudio Janelas de 8s mantidas apenas em RAM
Transcrição Executada localmente pelo whisper.cpp, em thread de background
Descarte Cada janela WAV é descartada da memória imediatamente após transcrição
Disco Nenhum arquivo de áudio é gravado em nenhum momento
Rede Nenhuma chamada de rede é feita — 100% offline
Texto transcrito Exibido no painel e usado para gerar o rascunho; salvo no vault apenas se você aplicar o rascunho

Estes comportamentos estão documentados no código-fonte em anotae/asr/streaming.py (docstring do módulo) e podem ser auditados livremente — o Anotae é software livre (AGPL-3.0).


Solução de problemas comuns

"Componente ASR não encontrado"

O extra [asr] não está instalado. Execute:

pip install -e '.[asr]'

"Modelo não encontrado"

Acesse Configurações → ASR e baixe o modelo small-pt.

Transcrição muito lenta

  • Verifique se outro processo está usando a CPU intensivamente.
  • O modelo small-pt q5_0 requer ~1–2s por janela de 8s em CPU modesta.
  • Se a lentidão for persistente, considere usar tiny-pt (menos preciso, mais rápido) em Configurações → ASR → Modelo.

Áudio não capturado / silêncio total

  • Verifique as permissões de microfone (veja Pré-requisitos, item 3).
  • Em Linux com PipeWire, pode ser necessário: systemctl --user restart pipewire.

Texto em idioma errado

O modelo está configurado para português por padrão (language="pt"). Se a transcrição sair em inglês, verifique Configurações → ASR → Idioma.


Próximos passos

  • Explore os templates curados por especialidade (Ctrl+T) para estruturar o SOAP antes de iniciar a consulta ao vivo.
  • Leia docs/how-to/usar-asr.md para configurações avançadas do ASR.
  • Para dúvidas sobre a resolução CFM 2.454/2026, consulte docs/explanation/diretrizes-cds-avaliacao-2026-05.md.