PagMed — Documentação de Acessos
Guia visual de como funcionam os perfis de Administrador e Médico, com ilustrações das telas e regras de permissão.
1. Visão geral
O PagMed é um sistema web (PWA) para controlar procedimentos médicos, hospitais, agenda, cobranças e relatórios. O acesso é feito por login com e-mail/senha (Firebase). O papel do usuário (Administrador ou Médico) define o que aparece no menu e o que cada pessoa pode ver ou alterar.
2. Como o sistema decide o tipo de acesso
Após o login, o PagMed compara o e-mail da conta com duas listas no Firebase:
| Lista no Firebase | Papel liberado | Badge na tela |
|---|---|---|
| Coleção doctors | Médico | MÉDICO (verde) |
| Coleção admins | Administrador | ADMINISTRADOR (vermelho) |
| Não está em nenhuma | Bloqueado | Logout automático |
Passo a passo do acesso
- Usuário abre o sistema e faz login (ou cria conta com o mesmo e-mail já cadastrado pelo admin).
- Firebase autentica e-mail e senha.
- O sistema busca o e-mail nas listas de médicos e administradores.
- Monta o menu e as permissões conforme o papel.
- Carrega os dados (procedimentos, hospitais, etc.).
3. Comparativo rápido: Admin × Médico
| Recurso / Tela | Administrador | Médico |
|---|---|---|
| Início (Painel Geral) | Sim (visão geral) | Sim (só seus dados) |
| Procedimentos | Todos | Só os dele |
| Tabela CBHPM | Sim | Sim |
| Central de Atendimento | Sim | Sim |
| Agenda | Sim | Sim |
| Nova Consulta | Sim | Não |
| Hospitais | Sim | Não |
| Médicos | Sim | Não |
| Administradores | Sim | Não |
| Dashboard | Sim (geral) | Sim (próprio) |
| Relatórios | Sim + filtro por médico | Sim (próprios) |
| Perfil | Sim | Sim |
| Novo Procedimento | Sim | Não |
| Cobrança em lote | Sim | Não |
| Excluir todos os procedimentos | Sim | Não |
4. Acesso do Administrador
4.1 Tela inicial (Painel Geral)
O admin vê o menu completo e atalhos de gestão.
Menu do Administrador
- Início — KPIs do dia (procedimentos, receita, tempo em sala)
- Procedimentos — lista completa de todos os médicos
- Tabela CBHPM — consulta de códigos/valores
- Central de Atendimento — chat de suporte
- Agenda — calendário de procedimentos
- Nova Consulta — cadastro de consultas (inclusive por imagem/IA)
- Hospitais — cadastro e setores/e-mails
- Médicos — cadastro de médicos (nome, CRM, e-mail)
- Administradores — quem pode gerenciar o sistema
- Dashboard — gráficos e indicadores
- Relatórios — exportações e filtros (incluindo filtro por médico)
- Perfil — dados da conta e senha
4.2 O que só o Admin faz
- Cadastrar Hospitais — nome, dados e setores (com e-mails para envio de cobrança/relatórios).
- Cadastrar Médicos — nome, CRM e e-mail (o mesmo que o médico usará no login).
- Cadastrar Administradores — liberar outros e-mails com poder total.
- Nova Consulta / Novo Procedimento — lançar registros para qualquer médico/hospital.
- Cobrança em lote e exclusões em massa — ações sensíveis de faturamento e limpeza.
- Ver tudo — procedimentos, relatórios e dashboards de todos os médicos.
4.3 Fluxo típico do Admin
Login admin → Cadastra Hospital → Cadastra Médico (com e-mail) → Médico cria conta / faz login com esse e-mail → Admin (ou fluxo do sistema) registra procedimentos → Admin gera cobrança / envia e-mail / exporta relatório
5. Acesso do Médico
5.1 Tela inicial do Médico
O médico vê um menu reduzido. Itens de gestão (Hospitais, Médicos, Administradores, Nova Consulta) não aparecem.
Menu do Médico
- Início — resumo dos seus procedimentos
- Procedimentos — apenas registros em que ele é o médico
- Tabela CBHPM
- Central de Atendimento
- Agenda — calendário com os seus eventos
- Dashboard — indicadores pessoais
- Relatórios — exportação dos seus dados
- Perfil — nome, contato e troca de senha
5.2 O que o Médico não pode
- Criar/editar hospitais, médicos ou administradores
- Abrir “Nova Consulta” pelo menu admin
- Ver procedimentos de outros médicos
- Usar cobrança em lote / excluir todos
- Filtrar relatórios por outro médico
5.3 Fluxo típico do Médico
Admin cadastra o médico com e-mail → Médico acessa “Criar Conta” com o MESMO e-mail → Faz login → Sistema reconhece o e-mail na lista de médicos → Entra com badge MÉDICO e menu reduzido → Consulta agenda, procedimentos, dashboard e relatórios próprios
6. Páginas e funções
Login / Cadastro
| Tela | Função |
|---|---|
| Login | Entrar com e-mail e senha |
| Criar Conta | Registrar autenticação; o e-mail precisa já existir como médico ou admin |
Procedimentos
Lista, filtros, status de cobrança/pagamento, exportações e ações em lote (admin).
Demais telas
- Agenda — calendário mensal com procedimentos por dia
- Nova Consulta (somente Admin) — cadastro e análise por imagem/lista
- Hospitais / Médicos / Administradores (somente Admin)
- Dashboard — gráficos de volume, receita e evolução
- Relatórios — filtros e exportação (PDF/Excel/CSV)
- Perfil — dados do usuário e senha
- Tabela CBHPM / Central de Atendimento — páginas auxiliares
7. Boas práticas de liberação de acesso
- Sempre cadastre o médico antes (tela Médicos) com o e-mail correto.
- Peça ao médico para criar a conta com esse mesmo e-mail.
- Não use o e-mail de médico na lista de admins (médico tem prioridade).
- Mantenha pelo menos um administrador ativo.
- Oriente o médico: ele verá só o que for dele — isso é esperado.
9. Arquivos principais do sistema
| Arquivo | Função |
|---|---|
index.html |
Landing page (página inicial pública) |
sistema.html |
App principal (SPA / login) |
assets/index.html |
Redireciona para sistema.html |
sw.js + version.json |
PWA e controle de versão |
manifest.json |
Instalação como app |
procedimentos.html |
Tabela CBHPM |
chat.html |
Central de atendimento |
firestore.rules |
Regras de segurança do banco |
documentacao.html |
Esta documentação |
10. Suporte rápido
| Situação | O que verificar |
|---|---|
| “Acesso não autorizado” | E-mail não está em Médicos nem em Admins |
| Médico vê menu de admin | E-mail está na lista de admins (ou não há admins) |
| Médico não vê os dados | Procedimentos sem o e-mail dele / filtro de papel |
| Admin não vê Hospitais/Médicos | Confirmar badge ADMINISTRADOR após login |
| F5 mostra versão antiga | Publicar sw.js, version.json e HTML |