Transcrição médica e LLM local: conformidade dos dados patient
Ditar uma consulta, obter uma transcrição clara e depois um relatório SOAP pronto para colar no prontuário do paciente — sem que nenhum segundo de áudio saia do consultório. É essa promessa que este guia permite colocar em prática: um pipeline de transcrição médica com LLM local HDS baseado em Whisper-large-v3 e um modelo de 14B+ (Llama 4 ou Qwen3), projetado para manter a conformidade com o sigilo médico e o marco normativo HDS.
#Regras de HDS e sigilo médico
O sigilo médico (artigo L.1110-4 do Código da Saúde Pública) se aplica a qualquer documento que contenha informações de saúde que permitam identificar uma pessoa, inclusive transcrições de áudio. Assim que um dado de paciente é tratado fora das instalações do consultório ou do hospital, o provedor de hospedagem deve ter certificação HDS (referencial ASIP/ANS). Na prática, enviar uma consulta a uma API em nuvem sem certificação HDS — Whisper da OpenAI, Claude ou qualquer plataforma voltada ao público em geral — coloca você fora das regras aplicáveis, mesmo para um teste.
A solução: nunca enviar o áudio nem a transcrição para fora do perímetro que você controla. É exatamente isso que um pipeline de transcrição médica com LLM local permite: a máquina de inferência está no consultório, o disco está criptografado, a rede está isolada. Sem provedor de hospedagem, sem credenciamento a solicitar.
#Arquitetura 100% local
Implantar uma IA local no trabalho: RGPD, AI Act, arquitetura multiusuário, custos, nota para a diretoria.
- Espaço online vitalício
- PDF + arquivos
- Atualizações vitalícias
O pipeline é composto por quatro etapas, todas locais: captura de áudio → Whisper-large-v3 → LLM com template SOAP → exportação para o software do consultório (LGC) ou para o DMP.
- Gravação
- Microfone de lapela ou microfone USB cardioide posicionado entre o profissional de saúde e o paciente. Sem Bluetooth (latência e compressão). Gravação em WAV 16 kHz mono.
- Transcrição
- Whisper-large-v3 (OpenAI, pesos abertos, licença MIT) executado via faster-whisper na GPU local. Modelo carregado na memória, áudio destruído após a transcrição.
- Estruturação
- Llama 4 Scout (17B-A2B, MoE) ou Qwen3-14B servido pelo Ollama. O LLM processa a transcrição e produz um relatório SOAP (Subjective, Objective, Assessment, Plan).
- Exportação
- O relatório é inserido no LGC (Weda, Medistory, AxiSanté, Doctolib Pro, Maiia) por meio da área de transferência, de um atalho HL7 CDA ou de uma API, se disponível.
#Pré-requisitos de hardware e software
- GPU
- RTX 4070 com 12 GB, no mínimo; RTX 4080 com 16 GB ou RTX 4090 com 24 GB para rodar com folga. Whisper-large-v3 ocupa aproximadamente 3 GB de VRAM; o LLM de 14B em Q4_K_M usa cerca de 9 GB.
- Alternativa para Mac
- O Mac mini M4 Pro com 48 GB de RAM unificada executa a stack completa. Ideal para um consultório particular: silencioso, com as ventoinhas paradas em repouso, baixo consumo.
- Armazenamento
- SSD NVMe criptografado com LUKS (Linux), BitLocker (Windows Pro) ou FileVault (macOS). 100 GB são suficientes: modelos ~25 GB, o restante para transcrições temporárias.
- Rede
- A estação de inferência está em uma VLAN separada do Wi-Fi dos pacientes. Sem acesso de saída à Internet em produção — somente durante atualizações supervisionadas.
- Software
- Ollama (≥ 0.5) para disponibilizar o LLM em http://localhost:11434, faster-whisper (Python) para a transcrição, ffmpeg para a conversão de áudio.
#1. Whisper-large-v3 em consultas em francês
O faster-whisper é um fork baseado no CTranslate2, de 4 a 5 vezes mais rápido que a implementação Python de referência, com a mesma qualidade. Ele aceita os mesmos modelos e oferece uma API simples.
O código de transcrição em si cabe em poucas linhas. Observe a instrução language='fr', que desativa a detecção automática e evita desvios no início da consulta.
Em uma RTX 4080, uma consulta de 15 minutos é transcrita em cerca de 90 segundos. O arquivo de áudio original é excluído imediatamente após a transcrição — a transcrição é suficiente, e o áudio representa um risco desnecessário.
#2. LLM e template SOAP
O relatório SOAP é o padrão de fato: Subjetivo (motivo, queixas do paciente), Objetivo (exame clínico, sinais vitais, exames complementares), Avaliação (diagnóstico ou hipóteses), Plano (prescrições, exames futuros, acompanhamento). Pede-se ao LLM que preencha esse modelo rigorosamente, sem inventar informações.
O prompt de sistema impõe regras rígidas: não inventar informações, citar literalmente em caso de incerteza e usar francês com terminologia médica.
#3. Pipeline de ponta a ponta
Encadeamos a transcrição e, em seguida, a estruturação por meio da API REST local do Ollama. O script permanece compacto e auditável — cerca de 40 linhas, o que é intencional: menos código, menos superfície de ataque.
Uma consulta de 15 minutos é processada pelo pipeline completo em menos de 3 minutos em uma RTX 4080. O relatório .soap.md está pronto para ser colado no LGC.
#4. Integração com o software do consultório
Três níveis de integração de acordo com seu LGC:
- 01Nível 1 — Área de transferênciaO script copia automaticamente o relatório (pyperclip). O profissional cola no LGC em dois cliques. Compatível com 100% dos LGC, sem necessidade de integração por parte do fornecedor do software. É o ponto de partida recomendado.
- 02Nível 2 — Atalho HL7 CDAO relatório em Markdown é convertido em CDA R2 (Clinical Document Architecture) por um script pandoc + template XML e depois importado pela função de import documentaire do LGC. Compatível com Weda, Medistory e AxiSanté, que aceitam CDA.
- 03Nível 3 — API nativa do LGCAlguns fornecedores de software (Doctolib Pro, Maiia) oferecem uma API para inserir observações. O pipeline envia diretamente o relatório para o prontuário do paciente identificado pelo INS. É a opção mais cômoda, mas exige um acordo com o fornecedor e autenticação CPS.
#Conformidade e registro de auditoria
O uso de uma ferramenta de apoio à redação médica deve ser documentado. No mínimo, três elementos no prontuário do paciente:
- Menção à IA de auxílio à redação
- Uma linha no rodapé do relatório: "Relatório estruturado assistido por um modelo de IA local (Qwen3-14B, versão 2026-04-12). Validado pelo Dr. [...] em [data]." Essa menção serve para fins de rastreabilidade.
- Registro de acessos
- Cada execução do pipeline é registrada localmente (quem, quando, qual áudio, qual modelo, hash do relatório). O registro permite apenas acrescentar novas entradas, é assinado e mantido por 10 anos (prazo de conservação do prontuário do paciente).
- DPIA do RGPD
- Faça uma análise de impacto (artigo 35 do RGPD) para o tratamento "transcrição assistida por IA". O caráter 100% local simplifica a análise: nenhuma transferência para fora da UE, nenhum subcontratado, finalidade única.
- Informação ao paciente
- O cartaz na sala de espera e a menção no formulário de recepção devem indicar o uso de uma ferramenta de auxílio à transcrição. O paciente pode recusar — preveja um fluxo de trabalho alternativo.
- Criptografia em repouso
- O disco inteiro é criptografado. Os relatórios são armazenados na pasta do paciente do LGC, não no sistema de arquivos da estação de inferência. Limpe os arquivos .soap.md temporários no fim do dia.
- Atualizações supervisionadas
- Qualquer atualização de modelo (Whisper, LLM) aciona uma revalidação com um conjunto de 10 consultas de teste anonimizadas. Bug de regressão conhecido = não implantar.
#Para se aprofundar
Esse pipeline abrange o uso diário de um profissional de saúde autônomo ou de um serviço hospitalar de porte modesto. Três extensões naturais: industrializar a implantação em vários computadores com Docker e um proxy reverso de autenticação CPS, adicionar um RAG local sobre as recomendações da HAS para auxiliar o Assessment e reforçar a segurança da rede até o isolamento completo (air-gap).
Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.