Épico 2 — Auto-cadastro Público — Especificação (v2.0)
Documentos deste épico: 01 - Definição (v2.0) · 02 - Especificação (v2.0) · Protótipo (Seção 3): pendente, ainda não produzido · 04 - Mapeamento de Banco de Dados (v2.0). Este épico faz parte do documento guarda-chuva Check-in de Usuários.
SEÇÃO 2 — ESPECIFICAÇÃO
Histórias de Usuário
US-CIU-001 — Auto-cadastro público Como profissional não cadastrado, quero me cadastrar no Gemed informando meus dados pessoais e profissionais, para ter uma conta no sistema e poder receber convites de clínicas.
US-CIU-002 — Validação de CPF no cadastro Como profissional não cadastrado, quero que o sistema valide meu CPF durante o cadastro, para evitar erros de digitação e garantir que meu documento está correto.
Descrição Funcional Detalhada
Tela de Auto-cadastro (Wizard)
Propósito: Permitir que uma pessoa crie sua conta no Gemed sem depender de um administrador.
Estrutura: Wizard de 3 etapas com indicador de progresso no topo (barra progress com 3 segmentos).
Comportamento de campos (RN-CIU-008, transversal): todo campo de input possui um placeholder que é o nome do campo (apenas o nome, sem verbos de comando); ao ganhar foco, o placeholder vira label acima do campo. As descrições abaixo não citam o label separadamente.
Etapa 1 — Dados básicos (com complemento profissional condicional)
Campos principais (sempre exibidos):
- CPF (input text, com máscara automática 000.000.000-00, validação de dígitos verificadores)
- Nome completo (input text, obrigatório, mínimo 3 caracteres)
- Apelido (input text, obrigatório, mínimo 2 caracteres)
- Tratamento (select: Dr., Dra., Sr., Sra., Srta. — opcional)
- Data de nascimento (input date, opcional)
- Celular (input text, com máscara parametrizada por país — RN-CIU-020. No Brasil: formato (00) 00000-0000. Obrigatório)
- E-mail (input email, obrigatório, validação de formato)
- Foto (upload de arquivo, opcional, preview circular com avatar)
- Checkbox/Switch: “Sou profissional de saúde” (MSG-C2-01)
Complemento profissional (exibido apenas se “Sou profissional de saúde” estiver marcado — RN-CIU-019). Ao marcar o switch, os campos abaixo aparecem dinamicamente abaixo do checkbox, na mesma etapa:
- Tipo de profissional (select com busca, obrigatório, lista carregada de tabela de terminologias): Médico, Enfermeira, Farmacêutica, Psicólogo, Nutricionista, Fisioterapeuta, Fonoaudiólogo, Outro profissional de saúde
- Conselho profissional (estrutura genérica — RN-CIU-017, obrigatório para todo profissional de saúde que assina prontuário): Tipo de conselho (select: CRM, COREN, CRF, CRFA, CRN, CRO, etc. — pré-sugerido conforme tipo de profissional, mas editável), Número de registro (input text, obrigatório), UF (select com as 27 unidades federativas)
- Especialidades (multi-select com chips, obrigatório, lista carregada de tabela de terminologias — filtrada conforme tipo de profissional selecionado; campo de busca; chips removíveis; múltiplas seleções)
- CBO — Classificação Brasileira de Ocupações (select com busca, obrigatório, lista carregada de tabela de terminologias)
Comportamento:
- Máscara de CPF aplicada em tempo real conforme digitação
- Validação de CPF (dígitos verificadores) ao sair do campo (onBlur) — se inválido, borda error e mensagem MSG-E2-01
- Validação de e-mail ao sair do campo — se inválido, borda error e mensagem MSG-E2-03
- Verificação de CPF já cadastrado (RN-CIU-004): ao sair do campo CPF, o sistema consulta a base. Se já existe um registro ativo com aquele CPF, exibe dialog MSG-E2-02 com botões “Fazer login” e “Recuperar senha” — ambos redirecionam para a tela apropriada (E1)
- Switch “Sou profissional de saúde” expande/recolhe os campos profissionais na mesma tela, sem navegar para outra etapa
- Tipo de conselho pré-preenchido conforme tipo de profissional selecionado, mas editável
- Lista de especialidades filtrada conforme tipo de profissional
- Número de registro validado quanto ao formato (números) ao sair do campo
- Pelo menos 1 especialidade deve ser selecionada; CBO deve ser selecionado
- Botão “Continuar” desabilitado até todos os campos obrigatórios (principais + profissionais se aplicável) estarem preenchidos e válidos
- Botão “Voltar” não existe na etapa 1 (é a primeira)
Verificação de duplicidade de conselho (SBIS ECF.02.02): ao sair do campo número de registro do conselho, o sistema verifica se já existe um usuário ativo com o mesmo tipo de conselho + número + UF. Se já existe, exibe dialog MSG-E2-04 com botões “Fazer login” e “Recuperar senha”.
Motivador: o complemento profissional foi integrado à etapa 1 para reduzir a fragmentação do fluxo — o switch expande os campos na mesma tela, mantendo o contexto, o que reduziu o wizard de 4 para 3 etapas.
Etapa 2 — Dados avançados (opcional)
Propósito: Disponibilizar os campos exigidos pelo SBIS ECF.02.01 sem torná-los obrigatórios.
Aparição: Sempre exibida após a etapa 1. O usuário pode pular esta etapa a qualquer momento.
Estrutura: Organizada em seções colapsáveis (accordions).
Seção: Dados demográficos — Nome da mãe (input text, opcional, com checkbox “Mãe desconhecida” — se marcado, desabilita o campo), Sexo (select: Masculino, Feminino — opcional), Gênero (select: Masculino, Feminino, Transgênero, Não binário, Prefiro não informar — opcional), Raça/cor (select: Branca, Preta, Parda, Amarela, Indígena, Sem informação — opcional), Nacionalidade (select: Brasileira, Naturalizado, Estrangeiro — opcional)
Seção: Naturalidade — Município de nascimento (input text com autocomplete, opcional), UF de nascimento (select, opcional), País de nascimento (select, default Brasil, opcional), Data de naturalização (input date, condicional — exibido apenas se nacionalidade = “Naturalizado”)
Seção: Documentos (condicional por nacionalidade — RN-CIU-021)
Subseção: Documentos nacionais (exibida se nacionalidade = “Brasileira” ou “Naturalizado”): Número de identidade, Complemento de identidade, UF da identidade, Órgão emissor, Data de emissão da identidade (todos opcionais), Cartão Nacional de Saúde — CNS (opcional)
Subseção: Documentos de estrangeiro (exibida se nacionalidade = “Estrangeiro”): Número do passaporte, País emissor, Data de emissão, Data de validade (todos opcionais), Cartão Nacional de Saúde — CNS (opcional)
Nota: Se a nacionalidade não foi selecionada, nenhuma subseção de documentos é exibida. Quando o sistema for internacionalizado, a subseção “Documentos nacionais” deve ser adaptada para exibir os documentos específicos do país de operação (passaporte, SSN, DNI, etc.), mantendo a subseção de estrangeiro para documentos de visitantes.
Seção: Endereço — CEP (input text com máscara 00000-000, opcional — ao preencher, auto-completa logradouro, bairro, município e UF via consulta de CEP), Tipo de logradouro (select, opcional), Logradouro, Número, Complemento, Bairro/Distrito (input text, opcionais), Município (input text com autocomplete, opcional), UF (select, opcional), País (select, default Brasil, opcional)
Seção: Conselho profissional (para não-profissionais de saúde) — Tipo de conselho, Número de registro, UF. Nota: esta seção só aparece se o usuário NÃO marcou “Sou profissional de saúde” na etapa 1. Se marcou, o conselho já foi preenchido na etapa 1.
Comportamento:
- Texto orientador no topo: MSG-T2-01
- Botão “Pular esta etapa” (tertiary) visível e acessível — direciona para a etapa 3
- Botão “Continuar” (primary) — habilitado independentemente de campos preenchidos (todos são opcionais)
- Botão “Voltar” retorna à etapa 1
- Campos condicionais (naturalização, documentos por nacionalidade) aparecem/desaparecem conforme seleção
- Auto-preenchimento de endereço via CEP
Motivador: a etapa 2 é sempre exibida mas nunca bloqueia o avanço. As seções em accordion reduzem a carga visual. A seção de documentos é condicional por nacionalidade, evitando exibir campos irrelevantes. Todos os campos desta etapa podem ser preenchidos posteriormente no Meu Perfil (E4).
Etapa 3 — Definição de senha
Campos: Senha (input password, toggle de visibilidade, obrigatório), Confirmar senha (idem), Indicador de força da senha (barra progress vermelho→amarelo→verde), Lista de critérios de complexidade (checkbox visuais automáticos)
Comportamento:
- Indicador de força atualiza em tempo real conforme digitação
- Confirmar senha valida igualdade ao sair do campo — se diferente, borda error e mensagem MSG-E2-05
- Botão “Finalizar cadastro” desabilitado até senha atender todos os critérios e confirmação ser igual
- Botão “Voltar” retorna à etapa 2
Critérios de complexidade da senha — parametrizados via tabela UsuarioSenhaParametros (IpSeguranca), conforme RN-CIU-006 (guarda-chuva):
| Parâmetro (campo na tabela) | Descrição | Valor atual |
|---|---|---|
| TamanhoMinimo | Quantidade mínima de caracteres na senha | 8 |
| MinimoCaracterEspecial | Quantidade mínima de caracteres especiais | 1 |
| MinimoLetraMaiuscula | Quantidade mínima de letras maiúsculas | 1 |
| MinimoLetraMinuscula | Quantidade mínima de letras minúsculas | 1 |
| MinimoNumero | Quantidade mínima de números (dígitos) | 1 |
| CaracteresEspeciais | Caracteres especiais válidos aceitos | !@#$%^&*-_+=?;:| |
O sistema consulta estes parâmetros em tempo real ao validar a nova senha. A interface de critérios visuais deve refletir os valores parametrizados.
Mecanismo de armazenamento de senha (detalhe técnico): ao finalizar o cadastro, o sistema (1) gera um Salt aleatório único para o usuário, (2) utiliza o Salt para gerar o Hash da senha digitada, (3) armazena Hash e Salt na tabela Usuario, (4) registra a senha em UsuarioSenhaHistorico (se QuantidadeMemoria > 0), (5) cria o registro de Usuario com os dados das etapas 1 (incluindo complemento profissional se aplicável) e 2 (se preenchida). A senha é armazenada exclusivamente como hash + salt — nunca em texto plano.
Tela de sucesso
Layout: ícone de check (círculo verde, primary-pure), Título: MSG-S2-01, Texto: MSG-S2-02.
Comportamento (RN-CIU-022): ao concluir o cadastro com sucesso, o sistema autentica o profissional automaticamente, reutilizando o mesmo mecanismo de autenticação descrito no Épico 1 (Seção 2) — não é necessário informar CPF e senha novamente. Como quem conclui este wizard nunca tem convite pendente (ver 01-Definição, “Dependências”), o resultado do roteamento padrão (RN-CIU-009, E1) é sempre o redirecionamento à página de Meu Perfil (Épico 4) com o banner informativo MSG-I01.
[PROPOSTA — decisão de UI não confirmada explicitamente pelo solicitante, apenas o comportamento de autenticação automática acima] A tela de sucesso é exibida brevemente, com o ícone de check e a mensagem de boas-vindas, antes do redirecionamento automático a Meu Perfil. O botão “Ir para o login” (MSG-B2-07) foi removido desta tela, já que não há mais uma etapa de login manual neste fluxo.
Motivador: wizard em 3 etapas para reduzir carga cognitiva. A etapa 1 integra os dados básicos e o complemento profissional condicional, evitando navegação desnecessária. A etapa de dados avançados é opcional e fácil de pular. A validação de CPF e conselho já cadastrados acontece em tempo real para evitar frustração no final do processo. A identificação do tipo de profissional permite que o sistema filtre especialidades e sugira o conselho correto. A seção de documentos condicional por nacionalidade evita exibir campos irrelevantes e está preparada para internacionalização futura.
Critérios de Aceitação
US-CIU-001 — Auto-cadastro público
CA-001.1: Dado que estou na tela de cadastro, quando informo um CPF válido e não cadastrado, então o sistema aceita o CPF e permite continuar.
CA-001.2: Dado que informei um CPF já cadastrado, quando saio do campo, então o sistema exibe o dialog MSG-E2-02 oferecendo opções de login ou recuperação de senha.
CA-001.3: Dado que informei um CPF inválido (dígitos verificadores incorretos), quando saio do campo, então o sistema exibe a mensagem MSG-E2-01 e não permite continuar.
CA-001.4: Dado que preenchi todos os campos obrigatórios da etapa 1, quando clico em “Continuar”, então o sistema avança para a etapa 2.
CA-001.5: Dado que estou na etapa 2 (dados avançados), quando clico em “Pular esta etapa”, então o sistema avança para a etapa 3 sem exigir nenhum preenchimento.
CA-001.6: Dado que estou na etapa 3, quando defino uma senha que atende todos os critérios de complexidade parametrizados em UsuarioSenhaParametros e a confirmação é igual, então o botão “Finalizar cadastro” é habilitado.
CA-001.7: Dado que finalizei o cadastro, quando o sistema cria o registro, então vejo a tela de sucesso e sou autenticado automaticamente pelo sistema, sem precisar informar CPF e senha novamente (RN-CIU-022).
CA-001.8: Dado que cadastrei com sucesso, quando tento fazer login, então o sistema me autentica e direciona para o Meu Perfil com banner “Você não está vinculado a nenhuma clínica ativa”.
CA-001.9: Dado que marquei “Sou profissional de saúde” na etapa 1, quando o switch é ativado, então os campos de tipo de profissional, conselho profissional (tipo, número, UF), especialidades e CBO aparecem na mesma tela como obrigatórios.
CA-001.10: Dado que não marquei “Sou profissional de saúde” na etapa 1, quando chego à etapa 2, então a seção “Conselho profissional” aparece disponível para preenchimento opcional.
CA-001.11: Dado que informei um conselho profissional já cadastrado (mesmo tipo + número + UF) na etapa 1, quando saio do campo, então o sistema exibe o dialog MSG-E2-04 oferecendo opções de login ou recuperação de senha.
CA-001.12: Dado que preenchi o CEP na etapa 2, quando saio do campo, então o sistema auto-completa logradouro, bairro, município e UF.
CA-001.13: Dado que selecionei nacionalidade “Estrangeiro” na etapa 2, quando o campo aparece, então a subseção de documentos de estrangeiro (passaporte, país emissor, datas) é exibida e a subseção de documentos nacionais é ocultada.
CA-001.14: Dado que selecionei nacionalidade “Brasileira” na etapa 2, quando o campo aparece, então a subseção de documentos nacionais (identidade, CNS) é exibida e a subseção de documentos de estrangeiro é ocultada.
CA-001.15: Dado que marquei “Mãe desconhecida” na etapa 2, quando o checkbox é marcado, então o campo “Nome da mãe” é desabilitado e não exige preenchimento.
CA-001.16: Dado que selecionei tipo de profissional “Enfermeira” na etapa 1, quando o campo de conselho é carregado, então o tipo de conselho é pré-sugerido como “COREN” (mas o usuário pode alterar).
CA-001.17: Dado que selecionei tipo de profissional “Médico” na etapa 1, quando as especialidades são carregadas, então apenas especialidades médicas são exibidas.
CA-001.18: Dado que o sistema está operando no Brasil, quando o campo de celular recebe foco, então a máscara aplicada é (00) 00000-0000.
CA-001.19: Dado que não selecionei nenhuma nacionalidade na etapa 2, quando visualizo a seção de documentos, então nenhuma subseção de documentos é exibida.
US-CIU-002 — Validação de CPF no cadastro
CA-002.1: Dado que digitei um CPF com dígitos verificadores incorretos, quando saio do campo, então vejo a mensagem MSG-E2-01 e o botão “Continuar” fica desabilitado.
CA-002.2: Dado que digitei um CPF válido e não cadastrado, quando saio do campo, então não vejo mensagem de erro e o botão “Continuar” é habilitado (se demais campos válidos).
CA-002.3: Dado que digitei um CPF já cadastrado, quando saio do campo, então o sistema exibe o dialog MSG-E2-02 com opções de login ou recuperação de senha.
Fluxos de Exceção
EX-E2-01 — CPF inválido no cadastro Gatilho: usuário digita CPF com dígitos verificadores incorretos na etapa 1. Comportamento: campo exibe borda error, mensagem inline MSG-E2-01, botão “Continuar” permanece desabilitado. Recuperação: usuário corrige o CPF; validação roda novamente ao sair do campo.
EX-E2-02 — CPF já cadastrado no cadastro Gatilho: usuário digita CPF que já existe na base como registro ativo. Comportamento: dialog MSG-E2-02 exibido com botões “Fazer login” e “Recuperar senha”. Recuperação: usuário é redirecionado para login ou recuperação; o cadastro é interrompido.
EX-E2-03 — Conselho profissional já cadastrado Gatilho: usuário informa conselho (tipo + número + UF) que já existe na base para outro usuário ativo. Comportamento: dialog MSG-E2-04 exibido com botões “Fazer login” e “Recuperar senha”. Recuperação: usuário é redirecionado para login ou recuperação; o cadastro é interrompido.
EX-E2-04 — Caractere especial não permitido na senha Gatilho: usuário utiliza um caractere especial que não está na lista parametrizada em CaracteresEspeciais. Comportamento: o critério “Caracteres especiais” na lista visual não é marcado como atendido, e o botão “Finalizar cadastro” permanece desabilitado. Recuperação: usuário utiliza apenas caracteres da lista parametrizada (atualmente: !@#$%
EX-E2-05 — Senhas não coincidem Gatilho: usuário informa senhas diferentes nos campos “senha” e “confirmar senha”. Comportamento: campo de confirmação exibe borda error e mensagem MSG-E2-05. Recuperação: usuário corrige a confirmação.
EX-E2-06 — Erro ao criar cadastro Gatilho: back-end retorna erro ao tentar criar o registro do usuário. Comportamento: toast error MSG-E2-06 exibido abaixo do botão “Finalizar cadastro”. Botão volta ao estado default. Recuperação: usuário tenta novamente.
Validações de Campos
| Campo | Tela | Tipo | Obrigatório | Formato/Regra | Mensagem de erro |
|---|---|---|---|---|---|
| CPF | Etapa 1 | Texto com máscara | Sim | 11 dígitos + validação de dígitos verificadores | MSG-E2-01 |
| Nome completo | Etapa 1 | Texto | Sim | Mínimo 3 caracteres, máximo 100 | MSG-E2-07 |
| Apelido | Etapa 1 | Texto | Sim | Mínimo 2 caracteres, máximo 50 | MSG-E2-08 |
| Tratamento | Etapa 1 | Select | Não | Dr., Dra., Sr., Sra., Srta. | N/A |
| Data de nascimento | Etapa 1 | Date | Não | Data válida, não futura | MSG-E2-09 |
| Celular | Etapa 1 | Texto com máscara | Sim | Máscara parametrizada por país (Brasil: (00) 00000-0000) | MSG-E2-10 |
| Etapa 1 | Sim | Formato user@domain.com | MSG-E2-03 | ||
| Foto | Etapa 1 | Upload | Não | Imagem (jpg, png), max 5MB | MSG-E2-11 |
| ”Sou profissional de saúde” | Etapa 1 | Checkbox | Não | Boolean | N/A |
| Tipo de profissional | Etapa 1 (complemento) | Select com busca | Sim (se profissional de saúde) | Lista de terminologias | N/A |
| Tipo de conselho | Etapa 1 (complemento) | Select | Sim (se profissional de saúde) | Lista de conselhos | N/A |
| Número de registro | Etapa 1 (complemento) | Texto | Sim (se profissional de saúde) | Numérico | MSG-E2-12 |
| UF do conselho | Etapa 1 (complemento) | Select | Sim (se profissional de saúde) | 27 unidades federativas | N/A |
| Especialidades | Etapa 1 (complemento) | Multi-select | Sim (se profissional de saúde) | Mínimo 1 seleção | MSG-E2-13 |
| CBO | Etapa 1 (complemento) | Select com busca | Sim (se profissional de saúde) | Lista de ocupações | N/A |
| Nome da mãe | Etapa 2 | Texto | Não | Desabilitado se “Mãe desconhecida” marcado | N/A |
| Sexo | Etapa 2 | Select | Não | Masculino, Feminino | N/A |
| Gênero | Etapa 2 | Select | Não | Masculino, Feminino, Transgênero, Não binário, Prefiro não informar | N/A |
| Raça/cor | Etapa 2 | Select | Não | Branca, Preta, Parda, Amarela, Indígena, Sem informação | N/A |
| Nacionalidade | Etapa 2 | Select | Não | Brasileira, Naturalizado, Estrangeiro | N/A |
| Número de identidade | Etapa 2 (se nacional) | Texto | Não | — | N/A |
| Número do passaporte | Etapa 2 (se estrangeiro) | Texto | Não | — | N/A |
| CEP | Etapa 2 | Texto com máscara | Não | Formato 00000-000 | MSG-E2-14 |
| CNS | Etapa 2 | Texto | Não | Formato numérico | MSG-E2-15 |
| Senha | Etapa 3 | Password | Sim | TamanhoMinimo (8) + MinimoCaracterEspecial (1) + MinimoLetraMaiuscula (1) + MinimoLetraMinuscula (1) + MinimoNumero (1) + CaracteresEspeciais — parametrizados em UsuarioSenhaParametros | Indicador visual de critérios não atendidos |
| Confirmar senha | Etapa 3 | Password | Sim | Deve ser igual ao campo Senha | MSG-E2-05 |
Mapeamento de Componentes de Interface
| Componente | Variante | Estado(s) | Tokens aplicados | Onde aparece |
|---|---|---|---|---|
| Input (text) | Bordered | default, focus, error, disabled | input-height: 56px, radius-m (8px), neutral-light border (#BECADC), neutral-darker focus border (#01013B), texto em edição neutral-dark (#012856) | CPF, Nome, Apelido, Celular, Número de registro, Nome da mãe, CEP, CNS, Passaporte, etc. |
| Input (email) | Bordered | default, focus, error | Mesmos tokens do input text | |
| Input (date) | Bordered | default, focus | Mesmos tokens do input text | Data de nascimento, Data de naturalização, Data de emissão, Data de validade |
| Input (password) | Bordered com toggle | default, focus, error | Mesmos tokens + ícone olho clicável | Senha, Confirmar senha |
| Button | Primary | default, hover, loading, disabled | btn-height: 40px, primary-pure bg (#00E676), base-pure text (#FFFFFF), radius-m (8px) | Continuar, Finalizar cadastro |
| Button | Tertiary | default, hover | Transparent bg, primary-pure text (#00E676) | Voltar, Pular esta etapa |
| Select | Default | default, open, selected | input-height: 56px, radius-m (8px), neutral-light border | Tratamento, Tipo de profissional, Tipo de conselho, UF, Sexo, Gênero, Raça/cor, Nacionalidade, País |
| Checkbox | Default | default, checked, disabled | 20px box, primary-pure (#00E676) quando checked | ”Sou profissional de saúde”, “Mãe desconhecida” |
| Chip | Default, Active | default, active, hover | radius-pill, neutral-lighter bg / primary-light bg | Especialidades selecionadas |
| Avatar | md, lg | default | radius-full, primary-light bg | Preview de foto |
| Progress | Linear | default | radius-pill, neutral-lighter track (#E5EAF0), primary-pure bar (#00E676) | Indicador de etapas do wizard, força de senha |
| Accordion | Default | collapsed, expanded | radius-m, neutral-lighter bg, neutral-dark text | Seções da etapa 2 (dados avançados) |
| Dialog | Default | open, closed | radius-l, base-pure bg, shadow-heavy | CPF já cadastrado, conselho já cadastrado |
| Toast | Success, Error | animation: toast-in (300ms) | secondary-dark bg (#0091EA) / error-pure bg (#F44336) | Cadastro realizado, erro ao criar cadastro |
Integração com Backend
Auto-cadastro
| Função | Método | Path | Request Body | Response Body | Códigos HTTP |
|---|---|---|---|---|---|
| Verificar CPF | GET | /api/usuarios/verificar-cpf?cpf={cpf} | — | { existe: boolean, nome?: string } | 200 |
| Verificar conselho | GET | /api/usuarios/verificar-conselho?tipo={tipo}&numero={numero}&uf={uf} | — | { existe: boolean, nome?: string } | 200 |
| Criar cadastro | POST | /api/usuarios | { cpf, nome, apelido, tratamento, dataNascimento, telefone, email, caminhoFoto, tipoProfissional?, conselho?: { tipo, numero, uf }, especialidades?: [], cbo?: string, dadosAvancados?: { … }, senha } | { id, nome } | 201, 400 (dados inválidos), 409 (CPF ou conselho já existe) |
| Upload de foto | POST | /api/usuarios/foto | multipart/form-data | { caminhoFoto: string } | 201, 400 |
O mapeamento das tabelas consultadas por estes endpoints, e as pendências de campos/tabelas ainda não mapeados, estão na Seção 4 (Mapeamento de Banco de Dados), não repetidos aqui (Lição #10 da Skill Designer).
Catálogo de Mensagens do Sistema e Termos de Interface (i18n)
Todas as mensagens exibidas ao usuário neste épico, com suas traduções para os três idiomas suportados (RN-CIU-007, transversal).
Mensagens de erro
| ID | Contexto | pt-BR | en-US | es-419 |
|---|---|---|---|---|
| MSG-E2-01 | CPF inválido (dígitos verificadores) | “CPF inválido. Verifique o número." | "Invalid CPF. Please check the number." | "CPF inválido. Verifique el número.” |
| MSG-E2-02 | CPF já cadastrado (dialog) | “Este CPF já está cadastrado no Gemed. Deseja fazer login ou recuperar sua senha?" | "This CPF is already registered in Gemed. Would you like to log in or recover your password?" | "Este CPF ya está registrado en Gemed. ¿Desea iniciar sesión o recuperar su contraseña?” |
| MSG-E2-03 | E-mail inválido | ”E-mail inválido." | "Invalid email." | "Correo electrónico inválido.” |
| MSG-E2-04 | Conselho já cadastrado (dialog) | “Este conselho profissional já está cadastrado no Gemed. Deseja fazer login ou recuperar sua senha?" | "This professional council is already registered in Gemed. Would you like to log in or recover your password?" | "Este consejo profesional ya está registrado en Gemed. ¿Desea iniciar sesión o recuperar su contraseña?” |
| MSG-E2-05 | Senhas não coincidem | ”As senhas não coincidem." | "Passwords do not match." | "Las contraseñas no coinciden.” |
| MSG-E2-06 | Erro ao criar cadastro | ”Não foi possível concluir o cadastro. Tente novamente." | "Could not complete the registration. Please try again." | "No fue posible completar el registro. Inténtelo de nuevo.” |
| MSG-E2-07 | Nome muito curto | ”Nome deve ter no mínimo 3 caracteres." | "Name must be at least 3 characters long." | "El nombre debe tener al menos 3 caracteres.” |
| MSG-E2-08 | Apelido muito curto | ”Apelido deve ter no mínimo 2 caracteres." | "Nickname must be at least 2 characters long." | "El apodo debe tener al menos 2 caracteres.” |
| MSG-E2-09 | Data de nascimento inválida | ”Data inválida." | "Invalid date." | "Fecha inválida.” |
| MSG-E2-10 | Celular inválido | ”Celular inválido." | "Invalid phone number." | "Número de celular inválido.” |
| MSG-E2-11 | Arquivo de foto muito grande | ”Arquivo muito grande. Máximo 5MB." | "File too large. Maximum 5MB." | "Archivo demasiado grande. Máximo 5MB.” |
| MSG-E2-12 | Número de registro inválido | ”Número de registro inválido. Use apenas números." | "Invalid registration number. Use numbers only." | "Número de registro inválido. Use solo números.” |
| MSG-E2-13 | Especialidade não selecionada | ”Selecione pelo menos uma especialidade." | "Select at least one specialty." | "Seleccione al menos una especialidad.” |
| MSG-E2-14 | CEP inválido | ”CEP inválido." | "Invalid ZIP code." | "Código postal inválido.” |
| MSG-E2-15 | CNS inválido | ”CNS inválido." | "Invalid CNS number." | "Número de CNS inválido.” |
Mensagens de sucesso
| ID | Contexto | pt-BR | en-US | es-419 |
|---|---|---|---|---|
| MSG-S2-01 | Cadastro realizado (título) | “Cadastro realizado!" | "Registration complete!" | "¡Registro completado!” |
| MSG-S2-02 | Cadastro realizado (texto) | “Sua conta foi criada no Gemed. Você pode ser convidado por clínicas para se vincular e começar a usar o sistema." | "Your account has been created in Gemed. You can be invited by clinics to link and start using the system." | "Su cuenta ha sido creada en Gemed. Puede ser invitado por clínicas para vincularse y comenzar a usar el sistema.” |
Placeholders
| ID | Campo | pt-BR | en-US | es-419 |
|---|---|---|---|---|
| MSG-P2-01 | CPF | ”CPF" | "CPF" | "CPF” |
| MSG-P2-02 | Nome completo | ”Nome completo" | "Full name" | "Nombre completo” |
| MSG-P2-03 | Apelido | ”Apelido" | "Nickname" | "Apodo” |
| MSG-P2-04 | Celular | ”Celular" | "Phone number" | "Número de celular” |
| MSG-P2-05 | ”E-mail" | "Email" | "Correo electrónico” | |
| MSG-P2-06 | Número de registro | ”Número de registro" | "Registration number" | "Número de registro” |
| MSG-P2-07 | Nome da mãe | ”Nome da mãe" | "Mother’s name" | "Nombre de la madre” |
| MSG-P2-08 | CEP | ”CEP" | "ZIP code" | "Código postal” |
| MSG-P2-09 | CNS | ”CNS" | "CNS number" | "Número de CNS” |
| MSG-P2-10 | Número de identidade | ”Número de identidade" | "ID number" | "Número de identificación” |
| MSG-P2-11 | Passaporte | ”Passaporte" | "Passport" | "Pasaporte” |
| MSG-P2-12 | Tipo de profissional | ”Tipo de profissional" | "Professional type" | "Tipo de profesional” |
Textos orientadores
| ID | Contexto | pt-BR | en-US | es-419 |
|---|---|---|---|---|
| MSG-T2-01 | Etapa 2 — texto orientador | ”Estes dados são opcionais e podem ser preenchidos depois no seu perfil. Preencha agora se quiser agilizar seu cadastro nas clínicas." | "This data is optional and can be filled in later in your profile. Fill it in now to speed up your clinic registration." | "Estos datos son opcionales y pueden completarse más tarde en su perfil. Complételos ahora si desea agilizar su registro en las clínicas.” |
Rótulos de botões e links
| ID | Elemento | pt-BR | en-US | es-419 |
|---|---|---|---|---|
| MSG-B2-01 | Botão (etapa 1, 2) | “Continuar" | "Continue" | "Continuar” |
| MSG-B2-02 | Botão (etapa 2, 3) | “Voltar" | "Back" | "Volver” |
| MSG-B2-03 | Botão (etapa 2) | “Pular esta etapa" | "Skip this step" | "Omitir este paso” |
| MSG-B2-04 | Botão (etapa 3) | “Finalizar cadastro" | "Complete registration" | "Finalizar registro” |
| MSG-B2-05 | Botão (dialog CPF/conselho) | “Fazer login" | "Log in" | "Iniciar sesión” |
| MSG-B2-06 | Botão (dialog CPF/conselho) | “Recuperar senha" | "Recover password" | "Recuperar contraseña” |
Rótulos de checkbox
| ID | Elemento | pt-BR | en-US | es-419 |
|---|---|---|---|---|
| MSG-C2-01 | Checkbox (etapa 1) | “Sou profissional de saúde" | "I am a healthcare professional" | "Soy profesional de la salud” |
| MSG-C2-02 | Checkbox (etapa 2) | “Mãe desconhecida" | "Mother unknown" | "Madre desconocida” |
Conformidade SBIS (detalhamento)
ECF.02.01 — Identificação dos profissionais da organização (estágio 1, obrigatório) — “O S-RES deve permitir o cadastro de profissionais da organização permitindo registrar minimamente os seguintes campos: nome; nome social/apelido; nome da mãe; sexo; gênero; data de nascimento; raça/cor; nacionalidade; município de nascimento e UF; data de naturalização; país de nascimento; passaporte; e-mail; telefone; endereço completo; CPF; identidade; CNS; conselho profissional; CBO. Os campos devem estar presentes no formulário, mas não necessariamente de preenchimento obrigatório.” Como é atendido: todos os campos exigidos pelo SBIS estão presentes no wizard — campos obrigatórios (etapa 1): nome, apelido, data de nascimento, e-mail, telefone, CPF; campos obrigatórios para profissionais de saúde (etapa 1, complemento): tipo de profissional, conselho profissional (tipo, número, UF), especialidades, CBO; campos opcionais (etapa 2): nome da mãe (com “mãe desconhecida”), sexo, gênero, raça/cor, nacionalidade, naturalidade, documentos (condicional por nacionalidade), endereço completo; foto (etapa 1, opcional).
ECF.02.02 — Duplicidade de cadastros de profissionais (estágio 1, obrigatório) — “O S-RES deve possuir um mecanismo de validação que emita uma mensagem de aviso ao usuário e impeça a continuidade do registro em caso de duplicidade de cadastro de profissional. A validação deve ser realizada pelo menos para o número do CPF e conselho profissional.” Como é atendido: validação de CPF (dialog MSG-E2-02) e de conselho (dialog MSG-E2-04), ambas em tempo real, impedindo a continuidade do cadastro.
NGS1.02.03 — Qualidade da senha (estágio 1, obrigatório) — a senha do auto-cadastro é validada contra os critérios parametrizados em UsuarioSenhaParametros (mesmos do E1), que atendem e superam o mínimo exigido.
NGS1.02.17 — Revelação de credenciais na interface de autenticação (estágio 1, obrigatório) — os campos de senha e confirmação utilizam máscara de caracteres (toggle de visibilidade). O formulário não memoriza nem exibe credenciais digitadas anteriormente.
NGS1.02.19 — Uso de SALT (estágio 2, recomendado) — salt aleatório único gerado por usuário no momento do cadastro (Mecanismo de armazenamento de senha, acima).
NGS1.03.09 — Identidade única da pessoa e responsabilização (estágio 1, obrigatório) — verificação de CPF único (RN-CIU-004) impede duas contas para a mesma pessoa.
ECF.17.19 — Mensagens do sistema (estágio 1, obrigatório) — todas as mensagens exibidas ao usuário estão catalogadas acima em linguagem não técnica, em português do Brasil, com suporte multilíngue para en-US e es-419. Mensagens técnicas de banco de dados ou infraestrutura são capturadas pelo back-end e nunca exibidas ao usuário.
Histórico de Versões
- v1.0 a v1.6 (08/08/2026 a 27/08/2026) — histórico completo preservado no documento original legado
(CIU-E2) Auto-cadastro de usuário v1.6.md, arquivado emHistórico/. - v2.0 (30/08/2026) — Arquivo criado pela reconstrução do documento único
(CIU-E2) Auto-cadastro de usuário v1.6.mdno modelo padrão Seção 1-4 (ver 01-Definição, Histórico de Versões, para o detalhamento completo da reorganização). Nesta seção especificamente: Conformidade SBIS expandida com o detalhamento de NGS1.02.19 e NGS1.03.09 (antes só listados, sem “como atendido”, na tabela de SBIS do guarda-chuva); nenhuma regra de negócio, critério de aceitação, fluxo de exceção ou mensagem teve seu conteúdo alterado.