U6 · Secundários

NutriApp

Sistema para nutricionistas: prontuário, plano alimentar, exames e agenda, com o dado de cada paciente isolado por profissional no próprio banco. A IA lê laudos de exame, com revisão obrigatória, e prepara um relatório de apoio à consulta.

Decisões técnicas

  • Isolamento por nutricionista com Row Level Security no PostgreSQL, em 25 tabelas clínicas. O tenant é definido só dentro da transação, para não vazar para a próxima requisição que reusar a conexão.
  • Duas roles de banco: uma dona do schema e outra de runtime sem superusuário nem BYPASSRLS. O teste de isolamento falha se rodar com privilégio que ignoraria a RLS.
  • Prontuário append-only garantido no banco: um gatilho recusa update e delete. Conta com mensalidade pendente lê, mas não escreve, e quem bloqueia é o banco, não as rotas.
  • IA com revisão humana: a leitura de laudo com baixa confiança só é confirmada depois de revisão campo a campo. O relatório de apoio não entra no prontuário sozinho, recebe só a idade do paciente e é bloqueado sem consentimento (TCLE). A nutricionista monta o plano.
  • Domínio em TypeScript sem Next nem React, rodando em `node --test`. Um teste reprova esse tipo de import, e uma migração já aplicada não pode ser editada (checksum por arquivo).
  • Consultoria clínica da Dra. Cilana Carvalho.

Resultados

  • 25 tabelas clínicas com RLS e 14 casos dedicados ao isolamento entre nutricionistas.
  • Tabela TACO com 597 alimentos e 8.100 pontos das curvas de crescimento da OMS carregados no sistema.
  • 59 migrações SQL e 53 casos de teste end-to-end com Playwright.

Stack

Next.js 16React 19TypeScriptNode.jsPostgreSQL (RLS)OpenAI Responses APIZodStripePlaywrightDocker

O que mostra

Mostra que sei usar IA em dado de saúde com cuidado: isolamento garantido no banco, revisão humana obrigatória e a decisão clínica com o profissional.