Appearance
Introdução
Bem-vindo à documentação do Cidade Gov, uma plataforma modular multi-tenant para gestão pública municipal, com foco em saúde, logística e assistência social.
Visão Geral
O Cidade Gov é uma solução completa para prefeituras brasileiras gerenciarem seus serviços públicos de forma integrada, segura e eficiente. Utilizando arquitetura multi-tenant com isolamento completo de dados por município, a plataforma oferece módulos independentes que se comunicam através de APIs padronizadas.
Arquitetura Multi-tenant
A plataforma utiliza o conceito de multi-tenancy para garantir isolamento completo entre municípios:
- Central: Instância compartilhada que gerencia catálogos nacionais, configurações globais e administração de tenants.
- Tenant: Instância isolada por município, contendo dados operacionais específicos.
Cada tenant possui seu próprio banco de dados, garantindo segurança e performance.
Distribuição de Dados: Central x Tenant
A distribuição de dados segue o princípio de "catálogos e infraestrutura" na central e "dados operacionais e assistenciais" no tenant.
Central (Compartilhado)
Catálogos Nacionais
- Catálogo nacional de medicamentos (ANVISA/Hórus): Base completa de medicamentos registrados no Brasil.
- Tabelas de apoio: Formas farmacêuticas, vias de administração, classes terapêuticas.
Tabelas de Referência
- CNES: Cadastro Nacional de Estabelecimentos de Saúde.
- SIGTAP: Sistema de Gerenciamento da Tabela de Procedimentos, Medicamentos e Órteses, Próteses e Materiais Especiais.
- Tabela de vacinas: Calendário nacional de imunização.
- CID: Classificação Internacional de Doenças.
- Categorias de vigilância: Tipos de notificações epidemiológicas.
- Motivos de atendimento: Classificações para atendimentos clínicos.
- Tipos de transporte: Categorias para transporte sanitário.
Configurações Globais
- Integrações: Configurações para RNDS/BNAFAR, provedores de WhatsApp (tokens, webhooks base), templates de mensagens.
- Gestão de inquilinos: Dados do município, subdomínios, tipo de autenticação (interno/LDAP/Keycloak), status da assinatura, limites de uso.
Tenant (Município)
Dados Operacionais
- Cidadãos: Cadastros completos de pacientes/residentes.
- Atendimentos clínicos: Consultas, procedimentos, evoluções.
- Prontuários: Histórico médico completo.
- Prescrições: Receitas médicas e dispensações.
- Imunizações: Calendário vacinal individual.
- Notificações de vigilância: Registros epidemiológicos.
- Agendamentos: Marcações de consultas e procedimentos.
- Transporte: Solicitações e registros de transporte sanitário.
- Logs locais: Auditoria de ações no município.
Gestão de Acesso
- Usuários e grupos: Perfis de acesso do município com roles do Spatie/Permission associadas ao tenant.
Parâmetros Locais
- Medicamentos habilitados: Seleção do catálogo central para REMUME municipal.
- Protocolos clínicos: Diretrizes locais de atendimento.
- Horários de unidades: Configurações de funcionamento.
- Filas de atendimento: Gerenciamento de senhas e prioridades.
Recursos Físicos
- Filas/estoques: Controle de farmácias e almoxarifados.
- Vínculos profissionais: Associação de profissionais a unidades, consumindo CNES/SIGTAP com configurações próprias.
Comunicações
- WhatsApp municipal: Número oficial, fila/queue específica, regras de autoatendimento.
Estratégia de Relacionamento
Na prática:
- A central mantém catálogos "read-only" com dados nacionais.
- Cada tenant referencia itens por ID (ex:
central_drugs.id) em tabelas locais. - Quando o município quiser descontinuar um item, desativa a relação local, preservando o catálogo global.
Essa abordagem garante consistência nacional com flexibilidade local.
Tabela-Resumo: Distribuição de Dados
| Tipo de Dado | Central (Plataforma) | Tenant (Município) |
|---|---|---|
| Catálogo ANVISA/Hórus de medicamentos | Sim | Referência apenas |
| REMUME local / lista de uso do município | Não | Sim |
| CNES, SIGTAP, CID, vacinas (catálogo) | Sim | Referência apenas |
| Cidadãos, prontuários, atendimentos | Não | Sim |
| Estoques físicos e dispensações | Não | Sim |
| Usuários e roles da plataforma | Sim | Não |
| Usuários e roles do município | Não | Sim |
| Configuração de autenticação por tenant | Sim (tipo/metadata) | Complemento local se precisar |
| Configuração do canal WhatsApp | Sim | Dados de negócio consultados |
| Logs clínicos e auditoria assistencial | Não | Sim |
Módulos do Sistema
- Pharmacy: Farmácia Básica, Estoque, RNDS/BNAFAR, Medicamentos
- Clinical: Prontuário Eletrônico, Odontologia, Fisioterapia, Exames
- Surveillance: Vigilância Ambiental (ACE), Sanitária, Epidemiológica
- Care: Atenção Básica, Imunização, ACS, Gestantes
- Logistics: Transporte Sanitário, Agendamento, Painel de Senhas
- Integration: CNS, CNES, SIGTAP, RNDS
Para detalhes específicos de cada módulo, consulte a seção Módulos.
Documentação Relacionada
- Arquitetura Multi-tenancy: Explicação detalhada sobre o conceito, implementação e benefícios.
- Tecnologias e Pacotes: Stack tecnológica completa utilizada no projeto.
- Roadmap de Desenvolvimento: Plano estratégico de implementação em fases.
- Integração WhatsApp: Como organizar o canal WhatsApp na arquitetura multi-tenant.
