compliance CFP: #5 registro profissional + #9 especialidades

ROADMAP Fase 1.2 (Compliance basico BR). Item #5: profiles ganha
3 colunas (professional_registration_type/number/uf) com CHECK
constraint dos conselhos comuns (CRP, CRM, CRFa, CREFITO, CRESS,
CRN, RMS, outro). Item #9: catalogo public.specialties + join
M:N profile_specialties + RLS. Seed seed_050 popula 33
especialidades is_system=true (clinica, jurídica, neuropsicologia,
ABA, TCC, psicanalise etc). Service specialtiesService.js no
src/services pra consumo na UI.

Item #8 (nome social) ja estava integrado. #6 (consent forms UI)
e #7 (assinatura no portal) adiados — schemas document_templates
e document_signatures existem, falta workflow UI dedicado.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Leonardo
2026-05-21 04:21:03 -03:00
parent de3898878a
commit cd67f7e9f5
4 changed files with 319 additions and 0 deletions
@@ -0,0 +1,57 @@
-- ============================================================================
-- Seed: Especialidades do sistema (ROADMAP item #9)
-- ----------------------------------------------------------------------------
-- Lista canônica de especialidades + abordagens psicológicas no Brasil.
-- is_system=true; usuário escolhe múltiplas; 'outra' permite custom via
-- profile_specialties.other_label.
-- ============================================================================
BEGIN;
INSERT INTO public.specialties (key, name, category, is_system, active) VALUES
-- Especialidades CFP (psicologia)
('psicologia_clinica', 'Psicologia Clínica', 'psicologia', true, true),
('psicologia_hospitalar', 'Psicologia Hospitalar', 'psicologia', true, true),
('neuropsicologia', 'Neuropsicologia', 'psicologia', true, true),
('psicologia_organizacional', 'Psicologia Organizacional e do Trabalho', 'psicologia', true, true),
('psicologia_escolar', 'Psicologia Escolar e Educacional', 'psicologia', true, true),
('psicologia_juridica', 'Psicologia Jurídica', 'psicologia', true, true),
('psicologia_esporte', 'Psicologia do Esporte', 'psicologia', true, true),
('psicologia_social', 'Psicologia Social', 'psicologia', true, true),
('psicologia_transito', 'Psicologia do Trânsito', 'psicologia', true, true),
-- Abordagens teóricas
('psicanalise', 'Psicanálise', 'abordagem', true, true),
('tcc', 'Terapia Cognitivo-Comportamental (TCC)', 'abordagem', true, true),
('psicodrama', 'Psicodrama', 'abordagem', true, true),
('gestalt_terapia', 'Gestalt-terapia', 'abordagem', true, true),
('analise_comportamento', 'Análise do Comportamento (ABA)', 'abordagem', true, true),
('humanista', 'Abordagem Humanista (Rogers)', 'abordagem', true, true),
('sistemica_familiar', 'Terapia Sistêmica Familiar', 'abordagem', true, true),
('logoterapia', 'Logoterapia (Frankl)', 'abordagem', true, true),
('analitica_jung', 'Psicologia Analítica (Jung)', 'abordagem', true, true),
-- Públicos
('infantil', 'Atendimento Infantil', 'publico', true, true),
('adolescentes', 'Atendimento de Adolescentes', 'publico', true, true),
('casais', 'Terapia de Casal', 'publico', true, true),
('familia', 'Terapia Familiar', 'publico', true, true),
('grupos', 'Atendimento de Grupos', 'publico', true, true),
('idosos', 'Atendimento de Idosos / Gerontologia', 'publico', true, true),
('lgbtqia', 'Atendimento LGBTQIA+', 'publico', true, true),
-- Temas
('ansiedade', 'Transtornos de Ansiedade', 'tema', true, true),
('depressao', 'Depressão', 'tema', true, true),
('tdah', 'TDAH', 'tema', true, true),
('autismo', 'Transtorno do Espectro Autista', 'tema', true, true),
('luto', 'Luto e Perdas', 'tema', true, true),
('dependencia_quimica', 'Dependência Química', 'tema', true, true),
('transtornos_alimentares', 'Transtornos Alimentares', 'tema', true, true),
('trauma', 'Trauma e Estresse Pós-Traumático', 'tema', true, true),
-- Catch-all
('outra', 'Outra', 'outro', true, true)
ON CONFLICT (key) DO NOTHING;
COMMIT;