Files

4.7 KiB
Raw Permalink Blame History

Redator de SD — RMDS / SES-MG × Isis Saúde

App local que conduz a entrevista de redação de Solicitações de Demanda (SD) com um LLM, valida em código contra as regras do contrato (PE 29/2025) e mantém a base de conhecimento.

Primeira execução

  1. Chave de API — crie em https://console.anthropic.comAPI Keys e coloque um crédito inicial pequeno (US$ 510 rendem dezenas de SDs).
  2. Configuração — copie .env.example para .env (nesta pasta) e preencha ANTHROPIC_API_KEY. Defina também APP_USUARIO e APP_SENHA para ativar a tela de login (enquanto vazios, o app roda aberto e mostra um aviso). O .env nunca deve ser versionado nem compartilhado.
  3. Dependências (só na primeira vez):
    cd D:\IasisSaude\app
    npm install
    
  4. Rodar:
    npm start
    
    e abra http://localhost:3344 no navegador.

Como funciona

  • Nova SD: cole a demanda bruta → o redator entrevista você (uma pergunta por turno, opções viram botões) enquanto o painel do documento se atualiza ao vivo.
  • Validação: os itens codigo do checklist são recalculados em JavaScript a cada atualização — e o resultado é realimentado ao modelo, que se corrige sozinho.
  • Trava de integridade: exportação e envio ficam bloqueados até todos os artefatos serem confirmados (checkbox + data) e nenhuma falha de código restar.
  • Envio: atribui o número definitivo (SD-NN) e registra a SD em ..\base-conhecimento.json — saldo de pools e precedentes ficam atualizados para as próximas entrevistas.
  • Documento / impressão: o botão "Documento / imprimir (PDF)" abre a SD formatada como documento oficial em uma aba pronta para Ctrl+P → salvar como PDF. Com pendências bloqueantes abertas, o documento sai com marca de RASCUNHO.
  • Validar JSON externo (menu no topo): cole o JSON de uma SD que não nasceu no app — o validador recalcula tudo, roda o checklist e libera documento/download, sem salvar nada.
  • Alimentar base (menu no topo): envie o documento de uma SD real (.pdf, .md ou .txt; .docx deve ser exportado como PDF). Uma chamada de LLM extrai o registro estruturado (itens, UST por item, período, status) e sugere capacidades reutilizáveis; a conferência determinística em código checa somas, itens, status e impacto nos pools. Nada é gravado sem revisão: você edita o registro, marca/desmarca capacidades e só então grava em ..\base-conhecimento.json. Erros de conferência bloqueiam a gravação; regravar o mesmo SD-NN substitui o registro anterior (capacidades, porém, são sempre acrescentadas — ao regravar uma SD, desmarque as que já entraram na primeira vez).
  • Login: usuário único definido no .env. As sessões vivem na memória do servidor — reiniciar o servidor exige novo login.

Arquivos de configuração (raiz do projeto, D:\IasisSaude)

Arquivo Papel
prompt-redator-sd.md Comportamento do redator (system prompt)
regras-sd.json Regras duras do contrato — fonte única
schema-sd.json Formato da SD
base-conhecimento.json Histórico: SDs enviadas e capacidades da plataforma

Editar qualquer um deles muda o app na próxima reinicialização — não é preciso mexer em código.

Custos

O rodapé do chat mostra tokens e custo estimado em tempo real. O system prompt (prompt + regras + base) é cacheado pela API — turnos seguintes da mesma conversa pagam ~10% do preço no prefixo repetido.

Dados

  • data/sds.json — SDs e conversas (criado automaticamente; fora do versionamento).
  • Provedor/modelo/esforço configuráveis no .env (LLM_PROVIDER, LLM_MODEL, LLM_EFFORT — low/medium/high/xhigh/max; medium recomendado para a entrevista). Adaptador OpenAI previsto para a fase 1.1 (src/llm/provider.js).
  • Seletor de modelo: LLM_MODELOS (lista separada por vírgula) define os modelos oferecidos nos seletores das telas Nova SD e Base de Conhecimento; o LLM_MODEL sempre entra como padrão. O modelo escolhido fica fixo para a SD inteira — trocar no meio da conversa descartaria o cache de prompt. O custo do rodapé usa a tabela de preços do Opus (a observação ao lado do valor lembra isso).

Atualização dos arquivos de configuração

O prompt do redator é remontado automaticamente quando base-conhecimento.json, prompt-redator-sd.md, regras-sd.json ou schema-sd.json mudam no disco — vale a partir da PRÓXIMA conversa, sem reiniciar o servidor. Exceção: mudanças em regras-sd.json/schema-sd.json também alimentam o validador em código e a ferramenta do modelo, que carregam na subida — para essas duas, reinicie. Mudanças no .env sempre exigem reinício.