Proposta de Projeto — Anotae¶
Versão: 0.5 | Data: 2026-05-19 | Autor: Carlos E. F. de Ávila
1. Síntese executiva¶
Anotae é uma ferramenta desktop open-source, 100% local e offline, para profissionais de saúde do Sistema Único de Saúde brasileiro (SUS).
O problema: profissionais SUS precisam registrar o mesmo atendimento em múltiplos sistemas — e-SUS APS PEC, SISREG III, SEI/DF — digitando manualmente as mesmas informações em cada um. Estimativas de campo indicam que 30–50% do tempo de consulta é consumido por trabalho administrativo de digitação repetitiva, contribuindo diretamente para burnout e erros de transcrição.
A solução: o profissional registra o atendimento uma única vez no editor SOAP estruturado do Anotae. Uma extensão de navegador MV3 injeta automaticamente os dados nos formulários dos sistemas oficiais. O dado clínico nunca sai do dispositivo local.
O que Anotae NÃO é: - Não é prontuário eletrônico oficial (PEP) — o registro autêntico permanece no e-SUS PEC. - Não é dispositivo médico (SaMD) nos termos da RDC ANVISA 657/2022 — é um assistente de digitação. - Não substitui o julgamento clínico — o profissional retém integralmente a responsabilidade pelas decisões.
2. Contexto e problema¶
O ecossistema SUS fragmentado¶
Os sistemas oficiais do SUS foram desenvolvidos por órgãos distintos, em épocas distintas, com interfaces sem integração nativa:
- e-SUS APS PEC (DATASUS/MS): prontuário eletrônico de atenção básica; registro obrigatório de atendimentos na APS.
- SISREG III (DATASUS/MS): regulação de consultas especializadas, exames e internações.
- SEI/DF (GDF): processo eletrônico para laudos, pareceres e referências no Distrito Federal.
Um atendimento típico na APS pode exigir inserções em dois ou três desses sistemas com dados que se sobrepõem (identificação do paciente, CID-10, CIAP-2, procedimentos SIGTAP). Não há API oficial disponível para integração.
Burnout e carga administrativa¶
Estudos sobre burnout em médicos e enfermeiros da APS apontam a carga administrativa — não o cuidado clínico em si — como fator preponderante de esgotamento. A digitação repetitiva em sistemas desconexos é citada recorrentemente como fonte de frustração. O Anotae endereça diretamente essa fricção.
Arcabouço regulatório relevante¶
- LGPD (Lei 13.709/2018): dados de saúde são dados sensíveis (Art. 5º II, Art. 11). Qualquer tratamento exige base legal explícita, minimização de dados e medidas de segurança adequadas.
- CFM 2.454/2026: regulamenta o uso de Inteligência Artificial na Medicina. Exige que o profissional médico mantenha supervisão e responsabilidade sobre outputs de IA; proíbe automação de diagnóstico e prescrição sem revisão humana; exige registro do uso de IA no prontuário.
- RDC ANVISA 657/2022: define Software como Dispositivo Médico (SaMD). O Anotae não se enquadra como SaMD porque não é destinado a diagnóstico, prognóstico, monitoramento ou terapia — é exclusivamente auxiliar de digitação.
3. Solução proposta — estado atual (v0.15-3)¶
Funcionalidades entregues¶
| Funcionalidade | Status | Versão |
|---|---|---|
| Editor SOAP estruturado com templates | ✅ Entregue | v0.9.x |
| Integração e-SUS PEC + SISREG III via extensão MV3 | ✅ Entregue | v0.9.x |
| Vault SQLite cifrado (Argon2id + ChaCha20-Poly1305) | ✅ Entregue | v0.10 |
| Criptografia de campo (field-level encryption) | ✅ Entregue | v0.11 |
| Audit log append-only com cadeia de hash | ✅ Entregue | v0.10 |
| LLM local opt-in (llama.cpp, modelos GGUF) | ✅ Entregue | v0.11 |
| RAG sobre histórico clínico (retrieval-only, ONNX) | ✅ Entregue | v0.11 |
| Smart Compose — sugestões ghost-text | ✅ Entregue | v0.12-5 |
| Calculadoras clínicas APS (PHQ-9, GAD-7, AUDIT-C, CAGE, eGFR, Framingham) | ✅ Entregue | v0.12-9 |
| Vocabulários CIAP-2, CID-10, SIGTAP APS, RENAME UBS 2024 | ✅ Entregue | v0.12-9 |
| Browser de protocolos PCDT/MS (manifest schema v2) | ✅ Entregue | v0.13-1 |
| ASR em tempo real opt-in (whisper.cpp, modo Consulta Ao Vivo) | ✅ Entregue | v0.15-1 |
| Análise de laudo PDF local (drag-and-drop → seção O) | ✅ Entregue | v0.15-2 |
| Templates curados por especialidade APS | ✅ Entregue | v0.15-3 |
| Canal mobile HTTPS+QR para upload de imagens | ✅ Entregue | v0.12 |
| Feedback in-app com captura de tela (100% local) | ✅ Entregue | v0.12-8 |
| Alerta de compatibilidade na extensão (badge "ANT") | ✅ Entregue | v0.12-6 |
Fluxo principal¶
Profissional abre o Anotae
│
▼
Seleciona paciente + template de especialidade
│
▼
Preenche SOAP (Subjetivo / Objetivo / Avaliação / Plano)
├── Smart Compose sugere frases clínicas (Tab para aceitar)
├── Consulta Ao Vivo transcreve fala → rascunho SOAP (Ctrl+R)
├── Laudo PDF arrastado → achados inseridos na seção O
└── Calculadoras clínicas disponíveis (Ctrl+L)
│
▼
Salva no vault local (cifrado)
│
▼
Extensão de navegador injeta dados no e-SUS / SISREG
4. Arquitetura técnica¶
Camadas principais¶
┌─────────────────────────────────────────────┐
│ UI (PySide6 Qt 6 — MVVM) │
│ Views + ViewModels claramente separados │
├─────────────────────────────────────────────┤
│ Core (Python 3.12+ — lógica de domínio) │
│ Encounter, Template, Mapping, Calculator │
│ Vocabularies, PCDT manifest, Lab extractor │
├─────────────────────────────────────────────┤
│ Persistence (SQLite + sqlite3mc) │
│ Argon2id KDF · ChaCha20-Poly1305 AEAD │
│ Audit log · Migrations versionadas │
├─────────────────────────────────────────────┤
│ IA local opt-in │
│ LLM: llama.cpp (GGUF 7–8B q4_K_M) │
│ ASR: whisper.cpp (small-pt q5_0) │
│ Embeddings: multilingual-e5-small (ONNX) │
├─────────────────────────────────────────────┤
│ Comunicação com navegador │
│ NMH (stdio, primário) + HTTP 127.0.0.1 │
│ (fallback, token efêmero) │
└─────────────────────────────────────────────┘
↕ extensão MV3
┌─────────────────────────────────────────────┐
│ Browser Extension (TypeScript, Vite) │
│ Chrome/Edge + Firefox (builds separados) │
│ Injeta dados em e-SUS PEC, SISREG III │
└─────────────────────────────────────────────┘
Princípios de arquitetura¶
- Zero rede para dados clínicos: nenhuma requisição HTTP carrega dados de paciente. Toda comunicação externa é opt-in e limitada a atualizações de manifesto de modelos (hashes SHA-256 verificados).
- MVVM testável: ViewModels são independentes de Qt; testáveis com pytest
puro sem instanciar
QApplication. - Migrations versionadas: schema SQLite é alterado exclusivamente via
scripts em
migrations/; sem ORM; compatibilidade retroativa obrigatória. - Dependências mínimas: cada dependência nova exige justificativa e RFC quando toca áreas críticas. Supply chain auditada via SBOM CycloneDX + SLSA.
5. Compliance e segurança¶
LGPD¶
| Princípio | Implementação |
|---|---|
| Finalidade | Dados usados exclusivamente para preenchimento de formulários SUS pelo profissional titular |
| Necessidade | Somente campos usados na injeção são armazenados |
| Segurança | Vault cifrado (Argon2id KDF + ChaCha20-Poly1305); field-level encryption em todos campos clínicos |
| Prevenção | 100% local; zero upload automático; telemetria apenas opt-in com anonimização |
| Transparência | RIPD disponível em docs/PRIVACY-IMPACT-ASSESSMENT.md; política de uso de IA em docs/AI-USAGE-POLICY.md |
CFM 2.454/2026¶
- Todo output de IA (LLM, Smart Compose, ASR, análise de laudo) é marcado com
[IA]no SOAP exportado viamark_ai_assisted(). - Nenhuma sugestão de diagnóstico ou prescrição é gerada automaticamente sem revisão explícita do profissional.
- Guardrails nos prompts proíbem o modelo de inventar dados não presentes no contexto.
- Disclaimer CFM obrigatório em todo painel que exibe output de IA.
ANVISA — não é SaMD¶
O Anotae não realiza nenhuma das funções definidoras de SaMD (RDC 657/2022): não diagnostica, não monitora parâmetros fisiológicos, não recomenda terapia, não processa sinais biomédicos. É classificado como software auxiliar de digitação (fora do escopo regulatório ANVISA).
Modelo de ameaças¶
O modelo STRIDE + LINDDUN completo com 43 ameaças catalogadas está em
docs/THREAT-MODEL.md. O checklist de auditoria (mapeamento ameaça → evidência)
está em docs/explanation/auditoria-checklist.md.
6. Roadmap v1.0¶
A versão v1.0 marca a publicização do repositório — transição de desenvolvimento privado supervisionado para projeto open-source público.
Gates pendentes¶
| Gate | Status | Meta |
|---|---|---|
| Dogfood ≥ 3 meses em uso real APS/DF | 🔄 Em andamento (inaugurado 2026-05-17) | 2026-08-17 |
| Auditoria externa de segurança | ⏳ Aguardando financiamento | Antes de v1.0 |
| Revisão jurídica/clínica externa do RIPD e Política de IA | ⏳ Aguardando | Antes de v1.0 |
| Instalador Windows com assinatura Authenticode | ⏳ A avaliar após 6 meses (SmartScreen) | Antes de v1.0 |
| Documentação Diátaxis completa (4 categorias) | 🔄 ~70% concluída | Antes de v1.0 |
| Bus factor ≥ 2 (co-mantenedor recrutado) | ⏳ Recrutamento após publicização | v1.0 |
| SBOM CycloneDX + SLSA L2 | 🔄 SLSA L1 ativo em CI | v1.0 |
Versões planejadas pós-v1.0¶
| Versão | Foco principal |
|---|---|
| v2.0 | Assinatura ICP-Brasil em laudos exportados |
| v3.0 | ASR multilíngue; suporte a dialetos regionais do português |
| v4.0 | Internacionalização completa (inglês, espanhol) |
7. Licença e sustentabilidade¶
Licença¶
AGPL-3.0-or-later. A escolha da AGPL garante que qualquer modificação distribuída — inclusive como serviço SaaS — deve manter o código-fonte aberto. Isso protege a comunidade de saúde pública brasileira contra apropriação fechada da ferramenta.
O modelo de ameaças da licença é: um fornecedor privado embute o Anotae em produto proprietário, melhora a injeção para sistemas SUS específicos, e não devolve as melhorias à comunidade. A AGPL fecha esse vetor.
Sustentabilidade técnica¶
- Bus factor = 1 hoje — documentado em
docs/explanation/bus-factor.md. Meta v1.0: ≥ 2 co-mantenedores com papéis distintos (crypto, UI, extensão). - Supply chain auditada: SBOM automático, Dependabot + Renovate, pip-audit em CI, Sigstore attestations (PEP 740) em cada release.
- Zero telemetria obrigatória: o projeto não depende de métricas de uso
para decisões de produto. Feedback é coletado via formulário opt-in local
(
Ctrl+Shift+S).
Modelo de financiamento¶
O Anotae é desenvolvido atualmente como projeto de utilidade pública pelo autor, profissional da APS/DF. Modelos de sustentabilidade financeira em avaliação para pós-v1.0: financiamento público (FAPEDF, MS/SCTIE), doações individuais (Open Collective), e contrato de suporte com secretarias estaduais de saúde — sempre preservando o código 100% aberto.
Referências¶
DESIGN.md— decisões de design com trade-offsdocs/explanation/arquitetura.md— visão de componentesdocs/CRYPTO-DESIGN.md— modelo de criptografia detalhadodocs/THREAT-MODEL.md— modelo de ameaçasdocs/PRIVACY-IMPACT-ASSESSMENT.md— RIPD (LGPD)docs/AI-USAGE-POLICY.md— política de uso de IACHANGELOG.md— histórico de versõesBACKLOG.md— itens pendentes priorizados