você já tem
tem parcialmente
faltando
diferencial de mercado
1 · Identificação & dados pessoais
Nome, email, telefone, data de nascimento, CPF, RG, gênero, naturalidade, estado civil, escolaridade e profissão.
nome_completoemail_principaltelefonedata_nascimentocpfrggeneroestado_civilescolaridadeprofissao
Você tem o campo genero como texto livre. Faltam pronomes preferidos (ele/ela/eles) — padrão nos sistemas modernos de saúde mental, especialmente para público LGBTQIA+.
genero
pronomes
nome_social
CEP, endereço, número, bairro, complemento, cidade, estado e país. Estrutura adequada.
cependereconumerobairrocidadeestadopais
Faixa de renda, religião/espiritualidade, etnia. Campos opcionais mas relevantes clinicamente e para política de precificação solidária. SimplePractice e Psicologia Viva coletam isso.
faixa_renda
etnia
religiao
2 · Contatos & rede de suporte
Você tem nome_parente, grau_parentesco e telefone_parente como campos soltos na tabela. Falta suporte a múltiplos contatos e campo de email do contato.
nome_parentegrau_parentescotelefone_parente
email_contatomultiplos_contatoscontato_primario
Ideal: tabela separada patient_contacts com N contatos por paciente.
Nome, CPF, telefone do responsável e flag de cobrança no responsável. Cobre bem o caso de pacientes menores.
nome_responsaveltelefone_responsavelcpf_responsavelcobranca_no_responsavel
Nome e contato do psiquiatra, médico ou outros profissionais que acompanham o paciente. Essencial para coordenação de cuidados. Presente no SimplePractice e TheraNest.
nome_profissionalespecialidadetelefone_profissionalemail_profissional
Canal preferido (WhatsApp, email, SMS), horário preferido para contato, idioma preferido. Alimenta diretamente os lembretes automáticos com as preferências do paciente.
canal_preferidohorario_contatoidioma
3 · Origem & encaminhamento
Você tem onde_nos_conheceu e encaminhado_por como texto livre. Ideal ser enum + texto opcional para permitir filtros e relatórios de origem.
onde_nos_conheceuencaminhado_por
origem_enumagendador_publico_ref
Quando paciente vai para "Alta", "Inativo" ou "Encaminhado" — qual o motivo? Alta terapêutica, abandono, encaminhamento, mudança de cidade. Essencial para relatórios e qualidade clínica.
motivo_saidadata_saidaencaminhado_para
4 · Status & ciclo de vida do paciente
Enum bem definido com os 5 status mais relevantes. Constraint no banco garante integridade.
AtivoInativoAltaEncaminhadoArquivado
Quando o status mudou, quem mudou e por quê. Permite ver o histórico completo: "Ativo → Inativo (01/03) → Ativo (15/04)". Exigência de auditoria clínica.
status_anteriorstatus_novomotivoalterado_poralterado_em
Distinção entre paciente da clínica (qualquer terapeuta pode atender) e paciente particular do terapeuta. Com constraint de consistência.
patient_scopetherapist_member_idresponsible_member_id
Flag booleano de risco elevado com nota associada. Exibe alerta vermelho no topo do cadastro e do prontuário. Terapeuta sinaliza pacientes que precisam de atenção especial (ideação, crise recente).
risco_elevadonota_riscosinalizado_emsinalizado_por
5 · Organização & segmentação
Tags com nome e cor, por tenant, com many-to-many. Bem estruturado.
patient_tagspatient_patient_tagcoris_padrao
Grupos com nome, cor, descrição, status ativo e flag de sistema. Relação many-to-many com patient_group_patient.
patient_groupspatient_group_patientis_system
Cor atribuída ao paciente para visualização rápida na agenda. Diferencial visual que poucos sistemas brasileiros têm.
identification_color
Score calculado por view/função baseado em: frequência de sessões, taxa de comparecimento, dias desde última sessão, pagamentos em dia. Exibido como indicador no card do paciente. Ajuda a identificar quem precisa de atenção.
engajamento_scoretaxa_comparecimentodias_sem_sessao
6 · Financeiro vinculado ao paciente
Desconto percentual ou fixo por paciente, com período de validade e motivo. Bem estruturado com active_from e active_to.
discount_pctdiscount_flatactive_fromactive_toreason
Pacientes de convênio frequentemente têm limite de sessões autorizadas por mês. Campo para registrar o limite e controlar o consumo — alerta quando está próximo do teto.
limite_sessoes_messessoes_usadasperiodo_referencia
PIX, cartão, dinheiro, convênio. Aparece como sugestão padrão ao registrar cobrança. Evita perguntar toda vez como o paciente paga.
metodo_pagamento_preferidodados_pagamento_obs
Total pago desde o início, ticket médio por sessão, total de sessões realizadas. Calculado por view em cima de financial_records — sem armazenar, sem inconsistência.
v_patient_ltvtotal_pagoticket_mediototal_sessoes
7 · Observações & notas internas
Você tem observacoes e notas_internas como campos de texto livre. Funciona, mas sem distinção clara de propósito ou histórico de edições.
observacoesnotas_internas
historico_edicoeseditado_por
Feed automático com eventos relevantes: "Primeira sessão", "Mudança de status", "Documento assinado", "Escala respondida", "Pagamento em atraso". Visível no topo do cadastro como timeline. SimplePractice tem isso.
patient_timelineevento_tipodescricaoocorrido_em