Épico 6 — Seleção de Clínica — Definição (v1.0)

Documentos deste épico: 01 - Definição (v1.0) · 02 - Especificação (v1.0) · 03 - Protótipo (v1.0, código executável em 03 - Protótipo v1.0.html) · 04 - Mapeamento de Banco de Dados (v1.0). Este épico faz parte do documento guarda-chuva Check-in de Usuários.


SEÇÃO 1 — DEFINIÇÃO

Objetivo

Permitir que um profissional autenticado com mais de um vínculo ativo escolha em qual clínica quer entrar, e — quando há um convite pendente para uma nova clínica — aceitar esse convite sem sair da tela, sem repetir a leitura das regras básicas de uso já lidas no primeiro vínculo (RN-CIU-014, em CIU-E3).

Escopo

Dentro do escopo (nesta revisão):

  • Tela de seleção de clínica, exibida quando o roteamento pós-autenticação (RN-CIU-022, no guarda-chuva) chega a “múltiplos vínculos ativos” ou a “convite pendente + ao menos um vínculo ativo”
  • Card em destaque para convite pendente, com aceite direto (RN-CIU-025)

Fora do escopo:

  • Layout e comportamento das telas de outros épicos do Check-in (E1, E2, E3, E4) — cada um documentado no seu próprio documento
  • Definição de quais perfis de acesso existem ou como são criados — pertence ao Contexto de Segurança; este épico apenas consome a verificação (RN-CIU-015, redação completa em CIU-E3)

Personas

  • Profissional com mais de um vínculo ativo — usa esta tela normalmente, toda vez que faz login, para escolher a clínica.
  • Profissional com um vínculo ativo e um convite pendente simultâneo — normalmente iria direto ao cockpit (RN-CIU-009, 1 vínculo); passa a ver esta tela só para poder aceitar o convite via card (RN-CIU-022, item 2).

Workflow do Profissional

Resumo: um profissional que atende em mais de uma clínica faz login uma única vez (E1) — a conta é global, compartilhada entre clínicas (RN-CIU-001, em CIU-E1). Depois do login, em vez de cair direto num cockpit, ele escolhe em qual clínica quer trabalhar naquele momento. Se uma clínica nova o convidou nesse meio tempo, ele quer ver e aceitar esse convite no mesmo lugar onde já escolhe a clínica — não numa tela separada, com leitura de regras que ele já leu.

Touchpoint — Seleção de clínica após login:

  • Momento do workflow: imediatamente após autenticar-se (E1), quando o roteamento (RN-CIU-022) resulta em múltiplos vínculos ativos, ou em convite pendente com ao menos um vínculo ativo.
  • Necessidade do profissional: entrar rápido na clínica certa, sem passos extras; e, se houver um convite novo, não ser forçado a uma tela cheia de regras que ele já conhece.
  • O que a funcionalidade oferece: lista das clínicas com vínculo ativo + card em destaque para convite pendente, aceito com um clique.
  • Decisão de design justificada: o card fica separado da lista normal (destaque visual) porque representa uma ação pendente do profissional, não uma opção de navegação — evita que ele confunda “aceitar convite” com “selecionar clínica”.

Regras de Negócio

  • RN-CIU-022 (transversal, redação completa no guarda-chuva) — define quando o roteamento pós-autenticação chega a esta tela.
  • RN-CIU-025 — Aceite de convite pendente na tela de seleção de clínica (redação completa abaixo, específica deste épico).

RN-CIU-025 — Aceite de convite pendente na tela de seleção de clínica

Quando o profissional autenticado já tem ao menos um vínculo ativo (UsuarioCliente.Situacao = 'V') e possui, ao mesmo tempo, um convite pendente (Situacao = 'C') para uma nova clínica, o aceite desse convite acontece nesta tela — não na tela de aceite do vínculo do E3 (RN-CIU-014, que a partir desta revisão só se aplica a quem não tem nenhum vínculo ativo). Isso vale mesmo quando o profissional tem exatamente 1 vínculo ativo — caso que, sem convite pendente, iria direto ao cockpit (RN-CIU-009) — pois é o único jeito de esse profissional ver e aceitar o convite (confirmado em RN-CIU-022, item 2, no guarda-chuva).

A tela de seleção de clínica exibe:

  1. As clínicas com vínculo ativo, na lista normal de seleção (comportamento já existente, inalterado)
  2. Um card em destaque, separado da lista, para cada convite pendente

Diferente da tela de aceite do E3 (RN-CIU-014), este card não exige a leitura das regras básicas de uso da aplicação — o profissional já as leu no momento em que aceitou seu primeiro vínculo. O aceite é uma ação direta no card (ex.: botão “Aceitar”).

Ao aceitar:

  1. Atualiza o vínculo existente — UsuarioCliente.Situacao passa de ‘C’ para ‘V’ (mesmo mecanismo do item 1 de RN-CIU-014; não cria um registro novo)
  2. O card sai da área de destaque; a clínica passa a fazer parte da lista normal de seleção — não é selecionada automaticamente. O profissional precisa de uma segunda ação, a seleção manual da clínica na lista, como faria com qualquer outra (confirmado pelo solicitante em 27/08/2026)
  3. A verificação de Perfil de acesso (RN-CIU-015) não roda no momento do aceite do card — roda apenas quando o profissional efetivamente seleciona essa clínica na lista, no mesmo momento em que rodaria para qualquer outra clínica selecionada (confirmado pelo solicitante em 27/08/2026)

Premissas

  • O profissional só chega a esta tela depois de autenticado (E1) — esta tela nunca é o primeiro ponto de contato com o sistema.
  • Toda clínica com vínculo ativo listada aqui já foi aceita em algum momento (E3, RN-CIU-014, ou nesta própria tela, RN-CIU-025) — a tela não lida com convites de clínicas ainda não aceitas de nenhuma forma.
  • O profissional pode ter mais de um convite pendente simultâneo (de clínicas diferentes) — cada um exibido como um card separado.

Dependências

Depende do E1 (Núcleo de Identidade e Autenticação) — só é alcançada a partir do roteamento pós-autenticação (RN-CIU-022, documento guarda-chuva). Depende do E3 (Convite e Vínculo) para o mecanismo de aceite de convite (mesma transição de UsuarioCliente.Situacao de ‘C’ para ‘V’, item 1 de RN-CIU-014) e para a verificação de Perfil de acesso pós-seleção (RN-CIU-015, redação completa em CIU-E3) — este épico reaproveita a regra, não a redefine.

Requisitos SBIS Aplicáveis

NGS1.03.01 (Impedir acesso por pessoas não autorizadas), NGS1.03.03 (Gerenciamento de perfis), ECF.17.19 (Mensagens do sistema) — todos estágio 1 (Clínica/ambulatório), obrigatórios. Detalhamento na Seção 2.


Metadados do Épico

Metadados do Épico

AtributoValor
PrioridadeMust Have — sem esta tela, um profissional com mais de um vínculo ativo não tem como escolher onde entrar, e um convite pendente com vínculo já ativo nunca seria visto
ComplexidadeBaixa — nenhuma tabela nova, reaproveita integralmente a estrutura e as regras de RN-CIU-014/015/024 já mapeadas no E3; a novidade é apenas o momento e o local em que essas regras rodam
DependênciasE1 (autenticação, roteamento pós-login); E3 (mecanismo de aceite de vínculo e verificação de Perfil de acesso, reaproveitados sem redefinição)
Regras transversais aplicadas1 (RN-CIU-022)
Regras específicas deste épico1 (RN-CIU-025)
Histórias de usuário2 (US-CIU-006, US-CIU-007)
Critérios de aceitação9 (CA-006.1 a CA-006.4, CA-007.1 a CA-007.5)
Fluxos de exceção5 (EX-E6-01 a EX-E6-05)
Endpoints3
Telas1 (Seleção de clínica, com lista + área de destaque de convites) — prototipada em HTML nesta revisão
Tabelas utilizadas5 existentes (UsuarioCliente, Cliente, ClientePerfilAcesso, ClientePerfilAcessoUsuario, UsuarioClienteConvite) — nenhuma nova
Mensagens catalogadas7 (4 erros, 1 informativa, 2 textos orientadores) + 2 rótulos de botão
Requisitos SBIS atendidos2 (NGS1.03.01, NGS1.03.03) + ECF.17.19

Lista consolidada de itens marcados [PROPOSTA] nesta versão

  1. Critério de ordenação da lista de clínicas — proposto alfabético por nome, na ausência de indicação do solicitante (Seção 2, Descrição Funcional, “Lista de Clínicas”).
  2. Fluxo de exceção EX-E6-05 (clínica removida entre carregar a lista e selecionar) — cenário de borda não descrito pelo solicitante; comportamento proposto a confirmar.
  3. Mensagem MSG-E6-04, associada ao item 2 acima — texto e existência dependem da confirmação do cenário.

Histórico de Versões

  • v1.0 (29/08/2026) — Arquivo criado pela divisão do documento único (CIU-E6) Seleção de Clínica v1.0.md em arquivos por seção (ver Skill Designer, “Organização Física: Pasta por Funcionalidade”, Lição #18). Conteúdo sem alteração de substância em relação à v1.0 original — apenas reorganização física (o protótipo HTML já era um arquivo separado desde a v1.0 original, só foi renomeado para a convenção nova). Histórico de revisões anterior a esta divisão (v0.1 a v1.0) preservado integralmente no documento original arquivado.