Panorama do App — Clínica Maximiano

Documento técnico descritivo · 24/10/2026

Logo

Clínica Maximiano

Sistema de Automação de Atendimento · Panorama Técnico Completo

Este documento descreve a arquitetura, funcionalidades, integrações, automações e o estado atual do aplicativo da Clínica Maximiano, construído na plataforma Base44. O sistema é uma solução SaaS multi-tenant para gestão de clínicas de testes respiratórios, com foco em automação de comunicação via WhatsApp.

React + Tailwind CSS
Base44 BaaS
WhatsApp Cloud API
Multi-tenant

1. Visão Geral

A Clínica Maximiano é um sistema SaaS multi-tenant de automação de atendimento para clínicas de testes respiratórios (SIBO, IMO, ISO, intolerâncias). O app centraliza gestão de pacientes, agendamento de exames, comunicação via WhatsApp e automação de lembretes.

Objetivo principal: reduzir faltas (no-shows) e automatizar o fluxo de comunicação com o paciente — desde o pedido médico até a confirmação de presença — usando templates aprovados na WhatsApp Business Cloud API.

2. Modelo de Dados (Entidades)

O app possui 11 entidades de domínio (além da entidade User nativa):

EntidadeFunçãoCampos-chave
PatientPacientes cadastradosfull_name, phone, external_id, clinical_evaluation, risk_classification, conversation_archived, blocked, etapa_atual, fluxo_em_execucao
ExamPedidos e agendamentos de examespatient_id, exam_type, status (14 valores), scheduled_date, approval_flow, controle_disparo, paid, uploaded_files, exam_result
MessageLogHistórico de mensagens WhatsApppatient_id, direction (sent/received), message_type, content, status, whatsapp_message_id, deleted, edited
MessageTemplateTemplates de mensagemname, type (10 valores), content, active
AutomationAutomações do canvas visualname, canvas_nodes, canvas_edges, steps, stats
AutomationQueueFila de mensagens agendadaspatient_id, automation_id, step, scheduled_at, status
NotificationNotificações in-apptitle, message, type, read, exam_id
TenantDados da clínica (multi-tenant)name, cnpj, whatsapp_number, whatsapp_devices, plan, active
ReminderConfigConfiguração de lembretesreminder_type, days_before, hours_before, active, auto_reinforce
SystemUpdateChangelog de atualizaçõestitle, description, category, area, status
SupportLogLogs do agente de suporte IAuser_email, problem_reported, diagnosis, result

3. Páginas e Funcionalidades

O app tem 15 páginas acessíveis via sidebar (com RBAC) mais páginas públicas:

PáginaAcessoO que faz
HomePúblicoLanding page institucional com planos (Consultório, Clínica, Rede)
DashboardTodosKPIs: total de exames, confirmados, pendentes; gráficos de status e lembretes; uso de mensagens
ChatTodosCentral de atendimento WhatsApp em tempo real: lista de conversas, janela de 24h, envio de templates, respostas rápidas, anexos
PacientesTodosCRUD de pacientes, busca, filtros, avaliação clínica, classificação de risco
ExamesTodosCRUD de exames, 14 status, fluxo de aprovação médica + recepção, upload de pedido médico, agendamento
AgendaTodosVisão calendário dos exames agendados
Fila de AprovaçãoAdminAprovação médica e de recepção de exames (workflow de 2 etapas)
AutomaçõesAdminEditor visual de automações (canvas com nós e conexões), fila de execução
TemplatesAdminGestão de templates de mensagem (10 tipos: validação, preparo, lembretes, confirmação)
Importar CSVAdminImportação em massa de pacientes/exames via CSV/Excel
Relatório FinanceiroAdminRelatório de receita por exame, formas de pagamento, status de pagamento
UsuáriosAdminConvite e gestão de usuários da clínica (roles: admin/user)
ConfiguraçõesTodosDados da clínica, lembretes, planos/assinatura, exportação de dados
AdministradoresSuper AdminGestão de admins multi-tenant
Super AdminSuper AdminPainel master: visão geral de todos os tenants, métricas globais

4. Funções Backend

10 funções backend (Deno Edge Functions) em base44/functions/:

FunçãoTipoResponsabilidade
sendWhatsappHTTPEnvia mensagem WhatsApp via ChakraHQ (modo texto ou template). Cria MessageLog, chama API Meta, atualiza status.
metaWebhookWebhookRecebe mensagens recebidas e status de entrega da Meta Cloud API. Verificação GET + processamento POST.
examRemindersScheduledLê exames agendados e envia lembretes por janela de tempo (7d, 48h, 24h, 13h, 2h) + preparo inicial. Anti-duplicação via dispatch_id.
processAutomationQueueScheduledProcessa fila AutomationQueue: mensagens agendadas das automações do canvas. Rate-limit e anti-duplicação.
notifyExamEventEntity (Exam)Cria Notification in-app + envia email a admins quando exame é criado/confirmado/cancelado.
checkWhatsappStatusHTTPVerifica conectividade com a API ChakraHQ/WhatsApp e retorna status do número.
getFinancialDataHTTPAgrega dados financeiros para o relatório (receita, pagamentos, status).
inviteUserHTTPConvida usuários para a clínica com role definida.
mergePatientDuplicatesHTTPFunde registros de pacientes duplicados por telefone.
fixDuplicateFlagsHTTPCorrige flags de controle_disparo inconsistentes em exames.

5. Integrações

Integrações externas configuradas:

IntegraçãoProvedorUso
WhatsApp Business Cloud APIChakraHQ (pass-through Meta)Envio e recebimento de mensagens. Modos: texto (janela 24h) e template (fora da janela). Secrets: CHAKRAHQ_API_KEY, CHAKRAHQ_PLUGIN_ID, WHATSAPP_PHONE_NUMBER_ID, WHATSAPP_API_VERSION.
MercadoPagoMercadoPagoPagamentos de assinatura/planos. Secrets: MERCADOPAGO_PUBLIC_KEY, MERCADOPAGO_ACCESS_TOKEN.
Core / InvokeLLMBase44Geração de respostas com LLM (usado no agente de suporte IA).
Core / SendEmailBase44Envio de emails (notificações a admins, convites).
Core / UploadFileBase44Upload de arquivos (pedidos médicos, resultados, anexos de chat).
Core / GenerateImageBase44Geração de imagens por IA (disponível, uso pontual).

6. Automações

3 automações registradas (via list_automations):

NomeTipoStatusDescrição
Lembretes Automáticos de ExameScheduled (5 min)⚠️ PAUSADAEnvia lembretes por janela de tempo antes do exame. Função: examReminders.
Processar Fila de AutomaçõesScheduled (5 min)⚠️ PAUSADAProcessa mensagens agendadas do canvas de automações. Função: processAutomationQueue.
Notificar Exame Criado/AtualizadoEntity (Exam)✅ ATIVACria notificação + email a admins em mudanças de status. Função: notifyExamEvent.

Observação: as duas automações scheduled estão pausadas desde julho/2026 para evitar disparos indevidos antes de validação dos templates na Meta.

7. Segurança e Controle de Acesso

O app implementa isolamento multi-tenant e RBAC:

  • ▸Multi-tenant manual: todas as queries de Exams, Patients, MessageLog filtram por tenant_id (do usuário logado).
  • ▸RBAC no Layout: admins veem todas as páginas; usuários comuns veem apenas Dashboard, Chat, Pacientes, Exames e Agenda.
  • ▸Super Admin: usuário sem tenant_id vê painel master com acesso a Administradores e Super Admin.
  • ▸Autenticação nativa Base44 (tokens, sessões, verificação de email) — sem lógica customizada de auth.
  • ▸Isolamento de dados por tenant em todas as operações de leitura/escrita.

8. Status Atual e Pontos de Atenção

Estado do sistema em 24/08/2026:

ÁreaStatusObservação
Chat WhatsApp (envio manual)✅ FuncionandoIntegração ChakraHQ ativa, credenciais configuradas.
Recebimento de mensagens (webhook)✅ FuncionandometaWebhook processa mensagens recebidas e status de entrega.
Lembretes automáticos⚠️ PausadoexamReminders inativa desde jul/2026. Últimos logs (mai/2026) com status failed.
Fila de automações⚠️ PausadoprocessAutomationQueue inativa.
Notificação de eventos de exame✅ FuncionandonotifyExamEvent ativa — cria notificação + email a admins.
Confirmação de exame via chat → template❌ Não implementadoNão há gatilho que dispare template ao paciente quando exame é confirmado.
Toasts (notificações UI)✅ CorrigidoAuto-dismiss e fechamento por clique implementados.
Status dinâmico do WhatsApp✅ FuncionandoBadge de conexão via checkWhatsappStatus.
Envio de templates fora da janela 24h✅ FuncionandoTemplateSender integrado ao ChatWindow.

Principais lacunas: (1) fluxo de confirmação de agendamento não dispara template automático; (2) lembretes automáticos pausados; (3) sem fila de retry para falhas de envio; (4) sem validação automática de templates aprovados na Meta.

Documento gerado automaticamente · Clínica Maximiano · 24/10/2026