Pular para o conteúdo
Guias de projetos

Automações

Lembretes de consulta

App que lê as consultas marcadas no prontuário da clínica e agenda, em lote, lembretes pelo WhatsApp para os pacientes.

Lista de consultas para agendar, agrupadas por dia, com a prévia do lembrete que o paciente vai receber ao lado.

O problema

A recepção ligava ou mandava mensagem paciente por paciente para confirmar a consulta do dia seguinte.

O resultado

Com o app, a recepção vê a agenda do prontuário agrupada por paciente e dia, marca quem vai receber e agenda tudo de uma vez. Se a consulta é desmarcada ou remarcada no prontuário, o lembrete é cancelado sozinho.

  • Lote em segundo plano: roda no servidor. Se a aba fechar, o progresso aparece de novo quando ela abre.
  • Até três lembretes por consulta, cada um num dia. Quando um já passou do prazo, agenda só os que cabem.
  • Situação real de cada mensagem (enviada, entregue, lida ou com falha), conferida a cada 15 minutos.
  • Modelos com variáveis, mídia e regra de envio. A prévia usa a mesma função do envio, então o que aparece é o que o paciente recebe.
  • Várias unidades por clínica, cada uma com o seu número.
  • Três sistemas de prontuário atendidos atrás de uma porta comum.

Como foi construído

  • Fatia vertical: um diretório por caso de uso, um núcleo puro sem framework nem relógio, e portas para o prontuário e para as mensagens.
  • Acesso sem login: a clínica entra pela aba da plataforma de mensagens ou por um link assinado (HMAC). O setup tem sessão própria.
  • Banco isolado: esquema próprio no Postgres, com acesso só pelo servidor.
  • Contrato do banco conferido no deploy: o app confere as colunas antes de subir.
  • Tarefas de horário: conferência de status a cada 15 minutos e de remarcações a cada 30.

Stack por camada

  • Telas: Next.js 16, React 19, Tailwind 4, Radix, react-day-picker
  • API: Hono, zod, OpenAPI 3.1
  • Dados: PostgreSQL (Supabase)
  • Qualidade: TypeScript, Vitest, ESLint, CI no GitHub Actions
  • Entrega: Docker, nginx, VPS

Telas

Os dados que aparecem nas telas são fictícios.