# Configurações do Sistema ## 1. Objectivo Este documento define o que pode ser configurado sem alterar o código. Na Versão 1, cada instalação representa uma organização principal, inicialmente o Makombe Consultório Médico. A estrutura deve permitir evolução futura para várias organizações isoladas. ## 2. Níveis de configuração ### Plataforma Controlada pelo responsável técnico: - ambiente, filas, cache e armazenamento; - fornecedores de email, SMS e pagamentos; - limites técnicos e funcionalidades disponíveis; - políticas globais de segurança; - manutenção, backups e monitorização. ### Organização Controlada por administrador autorizado: - identidade visual e dados institucionais; - unidades, contactos e horários; - serviços, preços e políticas operacionais; - documentos, numeração e notificações; - funcionalidades activas dentro do plano instalado. ### Utilizador Controlada pelo próprio utilizador dentro dos limites da organização: - idioma e fuso de apresentação; - preferências de notificação; - aparência permitida; - acessibilidade e paginação. ## 3. Identidade da organização Campos configuráveis: - nome comercial e nome jurídico; - NUIT e outros identificadores aplicáveis; - logótipo principal, logótipo compacto e favicon; - cores principal, secundária, destaque, fundo e texto; - endereço, telefone, email e website; - domínio e subdomínio, quando disponíveis; - texto do rodapé e contactos de suporte; - idioma, moeda e fuso horário padrão. Regras: - alterações de identidade são auditadas; - imagens devem possuir tipo e tamanho limitados; - contraste mínimo deve ser validado; - identificadores fiscais exigem formato validado; - documentos emitidos preservam a identidade usada no momento da emissão. ## 4. Configurações clínicas - especialidades activas; - catálogo de serviços; - duração padrão e intervalo entre atendimentos; - preço vigente e período de validade; - necessidade de triagem; - campos clínicos mínimos por serviço; - modelos de prescrição e documentos; - classificações clínicas utilizadas; - regras para menores e responsáveis; - alertas clínicos obrigatórios. Configurações clínicas devem ser aprovadas pelo responsável clínico. Alterações não reescrevem registos históricos. ## 5. Agenda e marcações - antecedência mínima e máxima para marcar; - janela permitida para cancelar ou reagendar; - tolerância de atraso; - critério e momento para declarar falta; - confirmação manual ou automática; - lista de espera; - horários, pausas, feriados e bloqueios; - possibilidade de encaixe e perfis autorizados; - política de reserva temporária de vaga; - lembretes e respectivos intervalos. ## 6. Configurações financeiras - moeda principal; - métodos de pagamento activos; - exigência e percentagem de pré-pagamento; - pagamento parcial e crédito; - limite de desconto por perfil; - política de cancelamento e reembolso; - séries e sequência de factura e recibo; - impostos e taxas aplicáveis; - duração do dia financeiro e fecho de caixa; - regras de arredondamento. Regras fiscais não podem ser alteradas livremente apenas por serem configurações. Devem resultar de validação legal e contabilística. ## 7. Documentos - logótipo, cabeçalho e rodapé; - dados institucionais e fiscais; - prefixo, série e próximo número; - tamanho de papel e margens; - textos legais aprovados; - assinatura e selo autorizados; - disponibilidade no portal; - idioma do documento. Uma versão publicada de modelo torna-se imutável. Novas emissões podem usar uma nova versão, mas documentos anteriores mantêm a versão original. ## 8. Notificações - canais activos: interno, email, SMS ou WhatsApp; - remetentes e contactos de resposta; - modelos por evento e idioma; - horários permitidos de envio; - número máximo de tentativas; - lembretes de consulta e pagamento; - consentimento exigido por canal; - campos sensíveis proibidos. Segredos e credenciais dos fornecedores ficam no ambiente seguro, nunca na base de dados em texto simples nem na interface comum. ## 9. Segurança - duração máxima da sessão; - número de tentativas de acesso; - duração do bloqueio; - obrigatoriedade de segundo factor por perfil; - validade de credenciais temporárias; - tempo de acesso clínico de emergência; - prazo de revisão de permissões; - retenção de auditoria dentro da política legal. Os valores configuráveis devem respeitar mínimos técnicos definidos pela plataforma. Uma organização não pode enfraquecer a segurança abaixo desses mínimos. ## 10. Portal do paciente - permitir criação de conta; - permitir marcação, cancelamento e reagendamento; - dependentes e representantes; - documentos visíveis; - facturas e pagamentos visíveis; - pedidos de alteração cadastral; - canais de recuperação; - termos e consentimentos apresentados. ## 11. Relatórios - indicadores disponíveis; - períodos padrão; - metas internas; - exportações permitidas; - identificação ou anonimização dos pacientes; - retenção de ficheiros exportados. As permissões continuam a prevalecer sobre qualquer configuração de relatório. ## 12. Tipos e armazenamento As configurações não devem ficar numa única tabela genérica sem controlo. Usar: - colunas próprias para dados críticos e frequentemente consultados; - tabelas especializadas para políticas complexas; - um catálogo tipado apenas para preferências simples; - validação por chave, tipo, âmbito e limites; - valores sensíveis encriptados; - histórico de versões para políticas e modelos. Cada configuração deve definir: - chave estável; - tipo (`boolean`, `integer`, `decimal`, `string`, `json` controlado); - valor padrão; - âmbito; - validação; - se exige reinício ou aprovação; - se contém informação sensível; - data e autor da última alteração. ## 13. Fluxo de alteração 1. Utilizador abre a área correspondente. 2. Sistema verifica a permissão específica. 3. Formulário explica impacto e valida o valor. 4. Alteração crítica exige confirmação ou aprovação. 5. Sistema grava nova versão e auditoria. 6. Cache relacionado é invalidado. 7. Alteração passa a valer apenas para operações futuras, salvo regra explícita. ## 14. Valores iniciais a aprovar Os valores reais do Makombe serão carregados por seed/configuração inicial depois da validação do cliente. Não devem ser fixados no código-fonte.