Cenários de Teste — Agenda do Médico

Funcionalidade: [DOC-006] Agenda do Médico Versão de referência da especificação: 01-Definição v1.14 / 02-Especificação v1.16 / 03-Protótipo v1.13 / 04-Mapeamento de BD v1.4 Autor: Marcos Arao, para uso da equipe de QA do Gemed 2.1 Massa de dados de referência: CargaCMZero.xlsx (a mesma da Central do Médico), mais a massa complementar [PROPOSTA] descrita na Seção 1 — necessária para clínica, classificação, modo Customizado e bloqueios, que a carga atual não cobre. Todos os resultados esperados supõem as duas carregadas. Data-base dos testes: 23/09/2026 (quarta-feira) — a mesma da Central do Médico. “Hoje” é a data de execução: a CargaCMZero.xlsx recalcula as datas a cada carga (UPDATE DATAS, relativo a GETDATE()), e as datas absolutas abaixo (ex.: “sáb, 26/09”) valem para a data-base e se deslocam junto. Os horários citados (“observar às 12:00”) são horários reais de relógio do dia da execução.


1. Escopo

Este documento cobre a homologação funcional da Agenda do Médico, conforme [DOC-006]: lista do dia (consultas de todas as clínicas do cliente e bloqueios da Recepção), conteúdo do item de consulta, informações complementares (clínica, unidade, convênio, classificação), tags e 1ª Consulta, resumo de realizadas e canceladas, linha “AGORA”, posição inicial da rolagem, sinalizador de atraso, item de bloqueio, navegação por dia (setas, “Hoje”, atalhos de dia com consulta, calendário), fuso horário da agenda, atualização automática e faixa de sem conexão, layout, tema e acessibilidade, além dos 4 fluxos de exceção (EX-AGM-02, 03, 06 e 09) e do catálogo de mensagens.

Fora de escopo deste documento:

  • Busca de pacientes do cabeçalho — é a da Central do Médico, com os mesmos casos (Central, CT-BUSCA-01 a 05). Aqui só se confere que ela está presente e abre o PEP (CT-AGM-CAB-01).
  • Conteúdo do PEP aberto a partir da agenda — outra funcionalidade.
  • Criar, editar, cancelar ou reagendar consultas e bloqueios — a tela é somente leitura (RN-AGM-001); essas ações são do Agendamento da Recepção, ainda não especificado. Aqui, mudanças de agenda feitas pela Recepção são simuladas por alteração direta no banco (BD), só como pré-condição.
  • Trilha de auditoria (NGS1.07.03/04) — o mecanismo é transversal e não está mapeado (04-Mapeamento, Pendências, item 2). CT-AGM-API-08 fica marcado como dependente dele.
  • Textos em en-US e es-419 — o catálogo traz as 3 línguas, mas a troca de idioma da interface não é especificada nesta funcionalidade.

Cada seção traz uma tabela de casos (ID, Pré-condição, Passos, Resultado Esperado, Dados de Teste, RN/CA Relacionada). Quando o resultado esperado envolve vários itens, a tabela traz um resumo e o detalhamento completo fica na subseção “Detalhamento” logo abaixo. Casos marcados (API) são executados direto no endpoint (Postman, devtools ou equivalente). Casos marcados (BD) exigem alterar ou conferir o banco GescomClienteAlfa ou IpSeguranca — restaurar o valor original ao final de cada um.

Endpoints envolvidos (referência)

EndpointUso
GET /api/v1/agenda/doctor/day?date=Consultas (appointments) e bloqueios (blocks) do dia, timeZone, serverNow; atualização automática a cada 1 minuto
GET /api/v1/agenda/doctor/days-with-appointments?from=&to=Dias marcados no calendário (intervalo máximo de 62 dias)
GET /api/v1/agenda/doctor/next-appointment-date?direction=&from=Atalhos de próximo/anterior dia com consulta
GET /api/v1/patients/searchBusca do cabeçalho (da Central do Médico)

Massa de dados usada da CargaCMZero.xlsx

  • Clínica e acesso: todos os médicos da massa estão no banco do cliente Gama (ClienteBD “Ambiente de Produção”, Tipo = 'P'), com uma única ClienteEmpresa, “Clinica Gama”. Nos registros de agenda, a clínica é IdChClinica = 6, de nome curto “Clínica Gama” (Chave.Descricao).
  • Unidades da Clínica Gama (UnidadeAtendimento, IdClinica = 6): Consultórios Norte (1) e Consultórios Sul (2) com StConsulta = 'S'; Setor Verde (3) e Setor Rosa (4) com StConsulta = 'N'. Como há duas unidades ativas para consultas, a unidade aparece nas consultas que a têm.
  • Médicos: Dr. Craig Evans (IdChProfissional = 11, usuário “Craig Evans”) — acesso só à Clínica Gama; Dr. Gilliard Onório Santos (IdChProfissional = 9) — acesso à Clínica Gama e, pela massa complementar, à Gama Norte.
  • Convênios (nome curto em Chave.Descricao): PARTICULAR (Convenio.Convenio = 'T'), Sulamérica, Unimed Nacional, Bradesco Saúde, HapVida, Cassi.
  • Tags exibidas em agendas (ProgramaApoio.MostrarEm com o valor 32 incluído): VIP (MostrarEm = 38, cor #80FF38), IC (61, #FFC400), INT.MED (57, #FBF8AF), ESPECIAL (63, #DEDAFF). Não aparecem em agendas: Linha de cuidados/LC (1), Médico externo/EXT (17), Particular/PARTIC (6). Vínculos: VIP em ProgramaApoioPaciente — John Smith (3) desde 25/07/2026 e Sophia Muller (12) desde 10/09/2026; IC, INT.MED e ESPECIAL em PEPProgramaApoioPaciente — IC: Beatriz A. Lima (20), Marcelo T. Pinto (22), Carmen Garcia (14); INT.MED: Maria Silva (4), Yuki Tanaka (8), Roberto N. Alves (19); ESPECIAL: Otávio B. Lima (24). Ver Pendências sobre a origem dessas três.
  • Bloqueio: Agenda 164 — Dr. 11, hoje 08:00–08:45, paciente reservado “BLOQUEIO” (IdPaciente = 0, Paciente.Paciente = 'B'), unidade Setor Rosa, sem complemento (sem motivo). É o mesmo registro usado na Central (CT-KPI-07, CT-CONS-10).
  • Fotos: só Cecília R. Ferreira (23) e Otávio B. Lima (24) não têm foto — no desktop, o avatar mostra as iniciais.
  • Classificação: nenhuma agenda da CargaCMZero.xlsx tem classificação — ver massa complementar.

Massa complementar proposta [PROPOSTA]

Tudo nesta subseção é proposta deste documento. Nomes de clínica, unidade, classificação e motivos de bloqueio são inventados para o teste, não registros existentes. Precisa ser criada (e conferida) pelo solicitante ou pela QA antes da execução, acrescentada à CargaCMZero.xlsx. Nenhum registro abaixo cai no dia de hoje, então os casos da Central do Médico não mudam.

Ajustes em registros existentes:

Tabela (banco)RegistroAjusteMotivo
ClienteEmpresa (IpSeguranca)Clinica GamaFusoHorarioOficial = 'America/Sao_Paulo' (campo novo, ainda não existe na carga)Fuso da agenda (RN-AGM-018)
ClienteEmpresa (IpSeguranca)Clinica GamaIdiomaOficial = 'pt-BR' (hoje 'en-US')O modo de atendimento e o nome do fuso são exibidos no idioma da clínica; os textos esperados deste documento estão em pt-BR

Registros novos:

Tabela (banco)Registro novoObservação
Chave/Portador/Clinica (GescomClienteAlfa)IdChClinica = 30, nome curto “Gama Norte”Segunda clínica do cliente Gama
UnidadeAtendimento (GescomClienteAlfa)IdUAtendimento = 5, IdClinica = 30, “Consultório Único”, StConsulta = 'S'Clínica com uma unidade ativa para consultas — a unidade não aparece
ClienteEmpresa (IpSeguranca)“Clínica Gama Norte (teste)”, mesmo ClienteBDId da Clinica Gama, FusoHorarioOficial = 'America/Sao_Paulo', IdiomaOficial = 'pt-BR'—
ClientePerfilAcessoUsuario (IpSeguranca)Dr. Gilliard (vínculo UsuarioCliente do Gama, FA6D3868…) na Clínica Gama Norte (teste), mesmo perfil da Clinica Gama, RemovidoEm nuloDr. 9 passa a ter acesso a duas clínicas — a clínica aparece nos itens dele. O Dr. 11 continua com uma só
AgendaClassificacao (GescomClienteAlfa)Id 1 “Quimioterapia” e Id 2 “Seguimento”, IdChClinica = 6, TipoAgenda = 'C'—
AgendaSubClassificacao (GescomClienteAlfa)Id 1 “Ciclo 2”, da classificação 1—

Agendas novas (TipoAgenda = 'C', horários no fuso da clínica):

Ref.MédicoDiaHorárioClínica / UnidadePacienteConvênioSituaçãoOutros campos
A101Dr. 9hoje+108:00–08:30Gama Norte / Consultório ÚnicoHelena Duarte Costa (21)Unimed NacionalA—
A102Dr. 9hoje+109:00–09:30Clínica Gama / Consultórios SulMarcelo Tavares Pinto (22)HapVidaAAtendimento = 'C' (Customizado); classificação 1 › subclassificação 1
A103Dr. 9hoje+110:00–10:30Clínica Gama / sem unidade (NULL)Alejandro Ramirez (9)PARTICULARAclassificação 2, sem subclassificação
B101Dr. 9hoje+112:00–13:00Gama Norte / Consultório ÚnicoBLOQUEIO (0)BLOQUEIO (0)AComplemento = 'Reunião da equipe multidisciplinar'
B111Dr. 11hoje+208:00–18:00Clínica Gama / sem unidadeBLOQUEIO (0)BLOQUEIO (0)AComplemento = 'Congresso de Oncologia' — dia só com bloqueio

Pendências de Massa de Dados

  • Massa complementar inteira — precisa ser criada. Sem ela, ficam sem dado: clínica no item (Seção 4, casos de Dr. 9), classificação, modo Customizado, bloqueio com motivo, dia só com bloqueio e o fuso (campo FusoHorarioOficial ainda não existe). Os casos de Dr. 11 em hoje, ontem e dias futuros que não citam A1xx/B1xx rodam só com a CargaCMZero.xlsx.
  • Idioma da Clinica Gama: a carga traz IdiomaOficial = 'en-US'. Se não for ajustado para 'pt-BR', o rótulo do modo de atendimento e o nome do fuso aparecem em inglês, e os textos esperados destes casos não batem. Também não foi conferido se TermoTraducao (IpTerminologia) tem os rótulos de ModoAtendimento nas três línguas (04-Mapeamento, Seeds).
  • Diagnóstico de Yuki Tanaka (8) na carga: PEPDiagnostico (IdPEP 1106) tem IdDiagnostico = 'C56.3', mas o texto Diagnostico é “C50.3 - Câncer de ovários (bi)”. A tela exibe o texto, então os casos abaixo esperam “C50.3 - Câncer de ovários (bi)”. O Cenários de Teste da Central cita “C56.3 - Câncer de ovários (bi)” para o mesmo paciente — um dos dois precisa ser corrigido.
  • Diagnóstico de Reed Richards (1) na carga: o texto é “C64 - Câncer de rins”; o Cenários de Teste da Central cita “C64 - Câncer do rim”. Os casos abaixo seguem a carga.
  • Simulação de falha (CT-AGM-ATU-03 a 05, CT-AGM-NAV-10, CT-AGM-LIS-12) — não é questão de massa: o ambiente precisa permitir derrubar ou atrasar um endpoint (proxy de rede, stub de back-end, devtools). Mesma pendência da Central do Médico.
  • Paciente com três diagnósticos (CA-001.18): não existe na carga. CT-AGM-UI-04 é executado no Protótipo v1.13 (Beatriz Mendes, amanhã); no back-end, só depois de existir esse paciente.
  • Tag vencida (primeira parte de CA-001.24): nenhuma atribuição da carga tem data de fim. CT-AGM-TAG-05 cria a condição por alteração temporária no banco.

2. Lista do Dia e Item de Consulta

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/CA Relacionada
CT-AGM-LIS-01Dr. 11 logado na Central do Médico, desktop, hoje às 12:00Tocar no título do painel “Consultas”Abre a Agenda do Médico no dia de hoje, em lista, botão “Hoje” no estado ativo. Lista principal com 7 itens (6 consultas + 1 bloqueio) — ver detalhamento ⬇ (CT-AGM-LIS-01)Agendas de hoje do Dr. 11 (101, 113, 103, 105, 62, 87, 107, 109, 1, 148) + bloqueio 164RN-AGM-002, RN-AGM-009; CA-001.1
CT-AGM-LIS-02Dr. 11 logado na Central do MédicoTocar no indicador “Consultas Hoje”Mesmo resultado de CT-AGM-LIS-01—CA-001.1
CT-AGM-LIS-03Dr. 9 logado, desktop, Agenda aberta hoje às 12:00Observar a listaLista principal com 4 consultas; linha “AGORA” acima delas — ver detalhamento ⬇ (CT-AGM-LIS-03)Agendas de hoje do Dr. 9 (151, 102, 70, 65, 104, 132, 106, 108, 118, 134, 110)RN-AGM-002, RN-AGM-009; CA-001.1
CT-AGM-LIS-04Estado de CT-AGM-LIS-01Conferir o item de Fatima Al-Mansoori (16:00) e o de Cecília R. Ferreira (10:30)Fatima: ícone de 1ª Consulta (número 1 no círculo, cor lilás) logo depois do nome; dica “1ª Consulta” ao passar o mouse. Cecília: sem o íconeAgendas 148 (PrimeiraConsulta='S') e 105RN-CM-028; CA-001.8
CT-AGM-LIS-05Estado de CT-AGM-LIS-01Conferir o modo de atendimento de cada itemLinha 2 sempre com o modo: “Presencial” em todos, exceto Maria Silva (13:30): “Teleatendimento”. O modo aparece mesmo quando é PresencialAgenda 62 (Atendimento='T')RN-AGM-009; CA-001.14
CT-AGM-LIS-06Dr. 9 logado, Agenda em hoje+1 (qui, 24/09)Conferir o item de Marcelo T. Pinto (09:00)Modo “Customizado” na linha 2A102 (massa complementar)CA-001.14
CT-AGM-LIS-07Estado de CT-AGM-LIS-01Conferir o chip de status de Yuki Tanaka (14:00), Reed Richards (15:45) e Fatima (16:00)Chip “Agendado” na linha 1 dos trêsAgendas 87, 1, 148RN-AGM-009; CA-001.15
CT-AGM-LIS-08Estado de CT-AGM-LIS-01Observar a borda esquerda de Cecília (10:30) e de Maria Silva (13:30)Cecília (Recepcionado): borda esquerda de 3px na cor secondary-pure. Maria (Aguardando Recepção): borda esquerda ff8a80. Os demais itens sem borda coloridaAgendas 105, 62RN-AGM-009; CA-001.10
CT-AGM-LIS-09Estado de CT-AGM-LIS-01Conferir o complemento de Reed Richards (15:45)Linha própria, completa, em texto secundário, acima da linha de informações complementares: “estado agendado sem confirmar”Agenda 1RN-AGM-007; CA-001.3
CT-AGM-LIS-10Estado de CT-AGM-LIS-01Tocar no item de Maria Silva (13:30)Abre o PEP de Maria Silva (4)Agenda 62RN-AGM-009; CA-001.5
CT-AGM-LIS-11Estado de CT-AGM-LIS-01; grupo “2 canceladas” expandidoTocar no item de David Cohen (14:00, cancelado)Abre o PEP de David Cohen (7) — itens de grupo também abrem o PEPAgenda 107CA-001.5
CT-AGM-LIS-12GET /api/v1/agenda/doctor/day simulando falha (500)Abrir a Agenda; depois restabelecer o endpoint e tocar em “Tentar novamente”Estado de erro no lugar da lista: “Não foi possível carregar a agenda. Tente novamente.” (MSG-EAGM-03) + botão “Tentar novamente”, sem nenhum item e sem a faixa de sem conexão. Depois de “Tentar novamente”: a agenda carrega normalmente—EX-AGM-02; CA-001.6
CT-AGM-LIS-13GET /day com resposta lentaAbrir a Agenda e observar durante o carregamentoSkeleton no lugar da lista enquanto carrega—02-Especificação, Mapeamento de Componentes (Skeleton)
CT-AGM-LIS-14Dr. 11 logado, Agenda em hoje+1 (qui, 24/09)Observar a listaLinha do fuso no topo; abaixo, estado vazio “Nenhuma consulta neste dia.” (MSG-TAGM-01) e o botão “Próximo dia com consulta · sáb, 26/09”. Tocar no botão carrega 26/09 (hoje+2 tem só bloqueio e é pulado)Nenhuma agenda do Dr. 11 em hoje+1; B111 em hoje+2EX-AGM-03; CA-001.7

Detalhamento — Resultado Esperado

Formato do item: “início–término · nome (+ ①) · diagnóstico · status · modo · tags · atraso · complemento · informações complementares”. No desktop, linha 1 = nome, 1ª Consulta, diagnóstico e status; linha 2 = modo, tags e atraso; depois complemento (se houver) e informações complementares. No celular, o diagnóstico vai para a linha 2, antes do modo. Nada é truncado.

Informações complementares do Dr. 11: ele tem acesso a uma só clínica, então a clínica nunca aparece; como a Clínica Gama tem duas unidades ativas para consultas, a unidade aparece sozinha, com o ícone de alfinete (map-pin). O convênio aparece sempre, com o ícone de carteira (wallet-cards). Nenhuma agenda de hoje tem classificação.

CT-AGM-LIS-01 — lista principal em ordem (Dr. 11, hoje, 12:00)

  1. 08:00–08:45 · Bloqueado — cadeado, sem motivo · unidade “Setor Rosa” (ver CT-AGM-BLQ-02)
  2. 09:30–10:00 · Beatriz Andrade Lima (20) · C50.9 - Câncer de mama · Em Atendimento · Presencial · tag IC · unidade Consultórios Norte · convênio Bradesco Saúde
  3. 10:30–11:00 · Cecília Ramos Ferreira (23) · sem diagnóstico · Recepcionado (borda secondary-pure) · Presencial · sem tag · sinalizador “Esperando · 90min” · Consultórios Norte · Cassi · sem foto (iniciais “CF” no desktop)
  4. Linha “AGORA” — 12:00
  5. 13:30–14:00 · Maria Silva (4) · C50.2 - Câncer de mama (QSI) · Aguardando Recepção (borda ff8a80) · Teleatendimento · tag INT.MED · Consultórios Sul · Unimed Nacional
  6. 14:00–14:15 · Yuki Tanaka (8) · C50.3 - Câncer de ovários (bi) · Agendado · Presencial · tag INT.MED · Consultórios Norte · Cassi
  7. 15:45–16:00 · Reed Richards (1) · C64 - Câncer de rins · Agendado · Presencial · sem tag · complemento “estado agendado sem confirmar” · Consultórios Norte · Sulamérica
  8. 16:00–17:00 · Fatima Al-Mansoori (6) ① · sem diagnóstico · Agendado · Presencial · sem tag · complemento “Primeira consulta” · Consultórios Sul · PARTICULAR

Linha de resumo acima da lista: “2 realizadas” e “2 canceladas” (ver CT-AGM-RES-01/02).

Reed Richards (1): é o nome social; o nome legal (Amanda Peres) não aparece. Beatriz (20) também tem a tag Linha de cuidados no prontuário, que não aparece em agendas (MostrarEm = 1).

CT-AGM-LIS-03 — lista principal em ordem (Dr. 9, hoje, 12:00)

Com a massa complementar, o Dr. 9 tem acesso a duas clínicas: todo item mostra a clínica, e a unidade junto dela num só segmento, com o ícone de prédio (building-2): “Clínica Gama › Consultórios Sul”.

  1. Linha “AGORA” — 12:00 (primeiro elemento da lista principal)
  2. 13:00–13:30 · Otávio Barbosa Lima (24) · C61 - Câncer de Próstata · Em Atendimento · Presencial · tag ESPECIAL · Clínica Gama › Consultórios Sul · Bradesco Saúde · sem foto
  3. 14:30–15:00 · Marcelo Tavares Pinto (22) · C34.9 - Câncer de pulmão · Recepcionado (borda) · Presencial · tag IC · Clínica Gama › Consultórios Sul · HapVida
  4. 15:30–16:00 · Sophia Muller (12) ① · sem diagnóstico · Aguardando Recepção (borda) · Presencial · tag VIP · Clínica Gama › Consultórios Sul · PARTICULAR
  5. 16:00–16:30 · Alejandro Ramirez (9) · sem diagnóstico · Agendado · Teleatendimento · sem tag · Clínica Gama › Consultórios Sul · PARTICULAR

Linha de resumo: “4 realizadas” e “3 canceladas” (ver CT-AGM-RES-03). Nenhum sinalizador de atraso às 12:00.


3. Resumo, Linha “AGORA”, Rolagem e Atraso

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/CA Relacionada
CT-AGM-RES-01Estado de CT-AGM-LIS-01Observar a linha de resumo, no topo da lista; tocar em “2 realizadas”Uma linha com “2 realizadas” (ícone de círculo com check, cor de Finalizado) e “2 canceladas” (ícone de círculo com x, cinza), lado a lado. Roberto N. Alves e Anya Ivanova não aparecem na lista principal. Ao tocar em “2 realizadas”: só esse grupo expande, logo abaixo da linha de resumo, com, em ordem: 08:30–09:00 Roberto Nascimento Alves (19) · C22.0 - Câncer de fígado · Finalizado · Teleatendimento · INT.MED · Consultórios Norte · Sulamérica; 09:00–09:30 Anya Ivanova (10) ① · Finalizado · Presencial · Consultórios Norte · PARTICULAR. Itens sem redução de opacidade, horário de início em cinzaAgendas 101, 113RN-AGM-010; CA-005.1, CA-005.3
CT-AGM-RES-02Estado de CT-AGM-RES-01Tocar em “2 canceladas”; depois tocar de novo em “2 realizadas”Canceladas expandem com, em ordem: 14:00–14:30 David Cohen (7) · chip “Cancelado” com contorno · complemento “Cancelada - paciente internado” · Consultórios Norte · PARTICULAR; 15:00–15:30 Antonio Rossi (13) · “Cancelado” com contorno · “Transferido para outro profissional/unidade” · Consultórios Norte · PARTICULAR. Horários de início e término riscados; no desktop, avatar de contorno. Ao tocar de novo em realizadas, só esse grupo recolhe — canceladas continua expandidoAgendas 107 (Situacao='I'), 109 ('T')RN-AGM-010; CA-005.2, CA-005.3
CT-AGM-RES-03Estado de CT-AGM-LIS-03 (Dr. 9)Expandir os dois grupos4 realizadas: 08:30 Rogério Mendes Santos (2) · C67.9 - Câncer de bexiga · sem tag; 09:00 John Smith (3) ① · VIP; 09:30 Carmen Garcia (14) · C16.8 - Câncer de estômago (+lesão) · IC · Teleatendimento; 10:00 Maria Silva (4) · INT.MED. 3 canceladas: 10:00 Maria Silva (4) · “Paciente cancelou o agendamento pelo app”; 13:30 Helena Duarte Costa (21) · “Paciente nao compareceu (falta)”; 15:00 Fatima Al-Mansoori (6) · “Cancelada pelo medico - necessario reagendar”. Todas com “Clínica Gama › Consultórios Sul”Agendas 151, 102, 70, 65 / 104 ('D'), 106 ('F'), 118 ('M')RN-AGM-010; CA-005.1, CA-005.2
CT-AGM-RES-04Dr. 11 logado, Agenda em qua, 16/09 (hoje−7)Observar o topo da lista”2 realizadas” e nenhum botão de canceladas (não há cancelada no dia). A lista principal fica vazia abaixo do resumoAgendas 111, 85CA-005.4
CT-AGM-RES-05Dr. 11 logado, Agenda em sáb, 26/09 (hoje+3)Observar o topo da listaSem linha de resumo (nenhuma realizada nem cancelada no dia); a lista começa pela linha do fuso e o item de Reed RichardsAgenda 2CA-005.4
CT-AGM-RES-06Dr. 11 logado, hoje às 12:00Observar a linha “AGORA”Linha fina com “12:00” em vermelho na coluna de horário e traço atravessando a largura, entre Cecília (10:30) e Maria Silva (13:30). Leitor de tela: “Agora, 12:00”—RN-AGM-010; CA-005.5
CT-AGM-RES-07Dr. 11 logado, Agenda aberta hoje às 12:00 (carga inicial, sem rolagem prévia)Observar a posição da rolagemA tela abre rolada até Beatriz A. Lima (09:30, Em Atendimento) — a primeira consulta que ainda exige ação, com horário já passado —, visível logo abaixo das barras fixas. Como ela não é o primeiro item da lista principal (o bloqueio das 08:00 vem antes), a tela não fica no topo: a linha de resumo e o bloqueio ficam acima, fora da vistaAgenda 103RN-AGM-010; CA-005.5
CT-AGM-RES-08Dr. 9 logado, Agenda aberta hoje às 12:00Observar a posição da rolagemNenhuma consulta que exige ação já passou do horário (a primeira é Otávio, 13:00): o alvo é a linha “AGORA”, que é o primeiro elemento da lista principal — a tela abre no topo, com a linha de resumo visível—CA-005.5
CT-AGM-RES-09Dr. 11 logado, Agenda em qua, 16/09ObservarSem linha “AGORA”; tela no topo—CA-005.5
CT-AGM-RES-10Dr. 11 logado, hoje às 14:20Observar os sinalizadores de atrasoCecília (10:30, Recepcionado): “Esperando · 230min” (fundo vermelho, ponto pulsante). Maria Silva (13:30, Aguardando Recepção): “Esperando · 50min”. Yuki Tanaka (14:00, Agendado, sem chegada): “Não chegou · 20min” (fundo cinza, sem animação). Beatriz (Em Atendimento): sem sinalizador. Reed e Fatima (horário ainda não chegou): sem sinalizadorAgendas 105, 62, 87, 103RN-AGM-009; CA-001.9
CT-AGM-RES-11Dr. 11 logado, Agenda em qua, 16/09 e em sáb, 26/09ObservarNenhum item com sinalizador de atraso, em dia passado ou futuro—CA-001.9
CT-AGM-RES-12Aparelho com “reduzir movimento” ativado; estado de CT-AGM-RES-10Observar o sinalizador “Esperando”O ponto antes do texto não pulsa; o texto nunca pisca—02-Especificação, Sinalizador de atraso
CT-AGM-RES-13Dr. 11, Agenda aberta hoje, tela aberta por volta das 23:58Deixar a tela aberta até depois da meia-noite e esperar a próxima atualização automáticaO dia continua o mesmo (agora passado): botão “Hoje” fora do estado ativo, sem linha “AGORA”, sem sinalizadores de atraso. Tocar em “Hoje” leva ao novo dia—RN-AGM-013; CA-005.7

4. Informações Complementares (Clínica, Unidade, Convênio, Classificação)

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/CA Relacionada
CT-AGM-CTX-01Dr. 11 (acesso a 1 clínica), hojeConferir a última linha dos itensNenhum item mostra a clínica. A unidade aparece sozinha, com o ícone de alfinete: “Consultórios Norte” ou “Consultórios Sul”ClientePerfilAcessoUsuario do Dr. 11 só na Clinica GamaRN-AGM-017 (a, b); CA-008.1, CA-008.3
CT-AGM-CTX-02Dr. 9 (acesso a 2 clínicas), hojeConferir a última linha dos itensTodos mostram “Clínica Gama › Consultórios Sul” num único segmento, com um só ícone de prédioMassa complementar (acesso à Gama Norte)RN-AGM-017 (a, b); CA-008.1, CA-008.3
CT-AGM-CTX-03Dr. 9 logado, Agenda em qui, 24/09 (hoje+1)Observar a listaEm ordem: 08:00 Helena Duarte Costa · “Gama Norte” sozinho (a Gama Norte tem uma só unidade ativa para consultas — a unidade não aparece) · Unimed Nacional; 09:00 Marcelo T. Pinto · “Clínica Gama › Consultórios Sul” · HapVida · “Quimioterapia › Ciclo 2” · Customizado; 10:00 Alejandro Ramirez · “Clínica Gama” sozinho (consulta sem unidade) · PARTICULAR · “Seguimento”; 12:00 bloqueio (ver CT-AGM-BLQ-01). Consultas das duas clínicas juntas, em ordem cronológica, sem separaçãoA101, A102, A103, B101RN-AGM-002, RN-AGM-008, RN-AGM-017; CA-008.2, CA-008.3, CA-008.5
CT-AGM-CTX-04Dr. 11 logado, Agenda em sáb, 26/09Conferir o item de Reed Richards (14:30)Sem unidade (a consulta não tem); só o convênio “Sulamérica”Agenda 2 (IdUAtendimento nulo)RN-AGM-017 (b); CA-008.3
CT-AGM-CTX-05 (BD)Dr. 11, Agenda hoje carregadaAlterar UnidadeAtendimento.StConsulta de Consultórios Sul (2) para 'N'; recarregar a Agenda; restaurar 'S'Com uma só unidade ativa para consultas na Clínica Gama, nenhum item mostra mais a unidade. Depois de restaurar, a unidade voltaUnidadeAtendimento 2RN-AGM-017 (b); CA-008.3
CT-AGM-CTX-06Dr. 11, hojeConferir o convênio de Fatima Al-Mansoori e de BeatrizFatima: “PARTICULAR” (particular aparece pelo nome curto cadastrado). Beatriz: “Bradesco Saúde”. Nenhum item mostra planoAgendas 148, 103RN-AGM-017 (c); CA-008.4
CT-AGM-CTX-07Dr. 11, hojeConferir a classificaçãoNenhum item mostra classificação (nenhuma agenda do dia tem) — sem espaço vazio no lugar—RN-AGM-008; CA-001.4, CA-008.5
CT-AGM-CTX-08Estado de CT-AGM-CTX-03, desktopPassar o mouse sobre cada informação complementar do item de Marcelo (09:00)Dicas: “Clínica e unidade”, “Convênio”, “Classificação”. No item de Helena (08:00): “Clínica”. No item de Yuki (Dr. 11, hoje): “Unidade de atendimento”—MSG-BAGM-18; CA-008.6
CT-AGM-CTX-09Estado de CT-AGM-CTX-03, leitor de tela ativoNavegar até o item de Marcelo (09:00)O nome do link inclui as informações com os rótulos (ex.: “clínica e unidade Clínica Gama › Consultórios Sul, convênio HapVida, classificação Quimioterapia › Ciclo 2”). Os ícones não são anunciados—CA-008.6, CA-001.21
CT-AGM-CTX-10Qualquer dia com consultas, desktop e celularComparar a linha de informações complementares com o resto do itemTexto de 12px, cor cinza (color-neutral-pure), sem chips nem cores, ícones de 14px na mesma cor, sem ”·” entre as informações; é o texto de menor destaque do item—RN-AGM-017; CA-008.7

5. Tags e 1ª Consulta

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/CA Relacionada
CT-AGM-TAG-01Estado de CT-AGM-LIS-03 (Dr. 9, hoje)Conferir as tagsOtávio: “ESPECIAL” (fundo #DEDAFF); Marcelo: “IC” (#FFC400); Sophia: “VIP” (#80FF38). Rogério (grupo de realizadas) sem tag — a tag Linha de cuidados que ele tem no prontuário não é exibida em agendasVer Massa de dados (Tags)RN-AGM-006; CA-001.2
CT-AGM-TAG-02Estado de CT-AGM-TAG-01, desktopPassar o mouse sobre “IC” e “VIP”Dicas: “Paciente com CID de insuficiência cardíaca” e “Paciente com tratamento administrativo diferenciado”. O chip mostra só a siglaProgramaApoio.DescricaoRN-AGM-006; CA-001.2
CT-AGM-TAG-03Estado de CT-AGM-TAG-01, leitor de telaLer o item de Sophia MullerAnuncia “VIP” e a descrição “Paciente com tratamento administrativo diferenciado”—CA-001.2, CA-001.21
CT-AGM-TAG-04Dr. 9 logado, Agenda em sáb, 29/08 (hoje−25)Expandir “1 realizada” e conferir o item de Sophia Muller (09:00)Sem a tag VIP: a atribuição de VIP de Sophia só começa em 10/09/2026, depois do dia exibido. Em hoje (23/09), a mesma paciente mostra VIP (CT-AGM-TAG-01)Agenda 120; ProgramaApoioPaciente 1 (DataInicio = 10/09/2026)RN-AGM-006; CA-001.24
CT-AGM-TAG-05 (BD)Dr. 9 logado1. Alterar ProgramaApoioPaciente.DataFim do VIP de John Smith (id 2) para 01/09/2026. 2. Abrir a Agenda em seg, 31/08 (hoje−23) e expandir realizadas. 3. Abrir hoje e expandir realizadas. 4. Restaurar DataFim nuloPasso 2: John Smith (10:45) com VIP — a atribuição estava vigente naquele dia. Passo 3: John Smith (09:00) sem VIP — já não está vigente hojeAgendas 33, 102RN-AGM-006; CA-001.24
CT-AGM-TAG-06Dr. 9 logado, Agenda em seg, 13/07 (hoje−72)Expandir “1 realizada”John Smith (09:30) sem VIP — a atribuição começa em 25/07/2026Agenda 32CA-001.24
CT-AGM-TAG-07Dr. 11 e Dr. 9, hojeConferir o ícone de 1ª ConsultaDr. 11: Anya Ivanova (realizadas) e Fatima Al-Mansoori. Dr. 9: John Smith (realizadas) e Sophia Muller. Nenhum outro item. O ícone nunca aparece como chip de tagAgenda.PrimeiraConsulta = 'S' em 113, 148, 102, 134RN-CM-028; CA-001.8

6. Bloqueios de Horário

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/CA Relacionada
CT-AGM-BLQ-01Dr. 9 logado, Agenda em qui, 24/09 (hoje+1), desktopObservar o item das 12:00Item próprio entre as consultas, na posição das 12:00: coluna de horário 12:00 / 13:00, cadeado no lugar do avatar, rótulo “Bloqueado”, motivo “Reunião da equipe multidisciplinar” na linha de baixo, e “Gama Norte” (ícone de prédio). Sem foto, diagnóstico, status, modo, tags, convênio nem classificação. Fundo cinza bem claro com borda tracejadaB101RN-AGM-019; CA-009.1, CA-009.5
CT-AGM-BLQ-02Dr. 11 logado, hoje às 12:00Observar o item das 08:00”Bloqueado”, horário 08:00 / 08:45, sem motivo; só “Setor Rosa” com o ícone de alfinete (Dr. 11 tem uma clínica; a Clínica Gama tem duas unidades ativas para consultas e o bloqueio tem unidade). Nenhum convênio (o convênio reservado “BLOQUEIO” não aparece)Agenda 164RN-AGM-019; CA-009.2
CT-AGM-BLQ-03Estado de CT-AGM-BLQ-02Tocar ou clicar no bloqueio; depois navegar pela lista com TabNada acontece ao tocar (o PEP não abre, sem hover). Com Tab, o foco passa direto do item anterior para o seguinte — o bloqueio nunca recebe focoAgenda 164RN-AGM-001; CA-009.3
CT-AGM-BLQ-04Estado de CT-AGM-BLQ-02 (12:00, o bloqueio já terminou)Observar o bloqueio e a linha de resumoO bloqueio continua igual, na posição das 08:00, acima da linha “AGORA”. A linha de resumo continua “2 realizadas” / “2 canceladas” — o bloqueio não entra em nenhum dos doisAgenda 164RN-AGM-019; CA-009.6
CT-AGM-BLQ-05Dr. 11 logado, Agenda em sex, 25/09 (hoje+2)Observar a listaLinha do fuso; abaixo, “Nenhuma consulta neste dia.” em texto discreto (não o estado vazio de tela cheia, e sem o botão de próximo dia); abaixo, o bloqueio 08:00–18:00 “Bloqueado” · “Congresso de Oncologia”, sem informações complementares (uma clínica, sem unidade)B111RN-AGM-019; CA-009.4; EX-AGM-03
CT-AGM-BLQ-06Dr. 11 logado, Agenda em hojeAcionar “Próximo dia com consulta” (menu ⋮) e abrir o calendário de setembroO atalho vai para sáb, 26/09, pulando 24/09 (vazio) e 25/09 (só bloqueio). No calendário, 25/09 não tem o ponto de dia com consultaB111RN-AGM-003; CA-009.4
CT-AGM-BLQ-07 (BD)Dr. 11, Agenda aberta hojeAlterar Agenda.Situacao do 164 para 'C' (cancelamento formal); esperar a próxima atualização automática (até 1 minuto); restaurar 'A'O bloqueio some da lista. A linha de resumo continua “2 canceladas” — o bloqueio cancelado não vai para o grupo de canceladas. Depois de restaurar, volta na atualização seguinteAgenda 164RN-AGM-019; CA-009.7
CT-AGM-BLQ-08 (BD)Dr. 11, Agenda aberta hojePreencher Agenda.RemovidoEm e UsuarioIdRemovido do 164 (exclusão lógica); esperar a atualização automática; restaurar nulosO bloqueio some da lista, sem ir para nenhum grupo. Volta depois de restaurarAgenda 164RN-AGM-019; CA-009.7
CT-AGM-BLQ-09Estado de CT-AGM-BLQ-01, leitor de telaNavegar pela lista em modo de leituraO bloqueio é lido como grupo “Horário bloqueado, 12:00 às 13:00”, seguido de “Bloqueado”, do motivo e de “Clínica: Gama Norte”. Não é anunciado como link. O cadeado não é anunciadoB10102-Especificação, Acessibilidade do item de bloqueio; MSG-BAGM-20
CT-AGM-BLQ-10Dr. 11 logado na Central do Médico, hojeObservar o painel Consultas (os dois estados do toggle) e o indicador “Consultas Hoje”O bloqueio das 08:00 continua fora da Central — mesmos resultados de CT-CONS-10 e CT-KPI-07 do Cenários de Teste da Central. Só a Agenda exibe bloqueiosAgenda 164RN-CM-030, RN-AGM-019
CT-AGM-BLQ-11Dr. 9, Agenda em 24/09, celular (<640px)Observar o bloqueioSem avatar: o cadeado aparece antes do rótulo “Bloqueado”, na mesma linhaB10102-Especificação, Item de bloqueio

7. Navegação por Dia

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/CA Relacionada
CT-AGM-NAV-01Dr. 11, Agenda em hojeTocar na seta “próximo dia” (›) duas vezes1º toque: qui, 24/09 (estado vazio — a seta não pula dias vazios). 2º toque: sex, 25/09 (só bloqueio). O botão “Hoje” sai do estado ativo—RN-AGM-003; CA-002.1
CT-AGM-NAV-02Estado final de CT-AGM-NAV-01Tocar em “Hoje”Volta para hoje, com a rolagem inicial de CT-AGM-RES-07; “Hoje” volta ao estado ativo. Tocar de novo em “Hoje” não faz nada—CA-002.5
CT-AGM-NAV-03Dr. 11, Agenda em hojeAbrir o menu ⋮Itens: “Próximo dia com consulta” com “sáb, 26/09” abaixo; “Dia anterior com consulta” com “qua, 16/09” abaixo; “Legenda dos ícones”Agendas 2 (26/09), 111/85 (16/09)RN-AGM-003; CA-002.2
CT-AGM-NAV-04Dr. 11, Agenda em qua, 09/09 (hoje−14)Acionar “Dia anterior com consulta”Vai para qui, 27/08, pulando sáb, 29/08 e sex, 28/08 (só consultas canceladas: Agendas 7 e 3)Agendas 112 (09/09), 7, 3, 4/81 (27/08)RN-AGM-003; CA-002.2
CT-AGM-NAV-05Dr. 9, Agenda em hojeAbrir o menu ⋮“Próximo dia com consulta” · “qui, 24/09” (massa complementar); “Dia anterior com consulta” · “sex, 18/09”A101–A103; Agenda 117CA-002.2
CT-AGM-NAV-06Dr. 11, Agenda em sex, 27/11 (hoje+65, última consulta)Abrir o menu ⋮; no desktop, observar o atalho »; abrir o calendário”Próximo dia com consulta” indisponível, com “Nenhum” no lugar da data, em todos os pontos de entrada (menu, », topo do calendário). Ao acionar, nada aconteceAgenda 99CA-002.3
CT-AGM-NAV-07Dr. 11, Agenda em hoje, desktopObservar a barra do diaSetas ‹ ›, atalhos « » ao lado delas, data por extenso (“Quarta-feira, 23 de setembro”) com seta para baixo, “Hoje” e ⋮, numa única linha—02-Especificação, Barra de Navegação do Dia
CT-AGM-NAV-08Dr. 11, Agenda em hojeTocar na dataCalendário de setembro (bottom sheet no celular, painel no desktop) com os dois atalhos e suas datas no topo; ponto sob 9, 16, 23, 26 e 30/09; sem ponto em 25/09 (só bloqueio) nem nos dias só com canceladas; hoje e o dia exibido destacados; foco no dia exibido. Selecionar 30/09 fecha o calendário e carrega o diaAgendas 112, 111/85, hoje, 2, 123RN-AGM-003; CA-002.4
CT-AGM-NAV-09Dr. 9, calendário aberto em setembroObservar os pontosPontos em 2, 5, 8, 10, 18, 23, 24 e 30/09Agendas do Dr. 9 + A101–A103CA-002.4
CT-AGM-NAV-10GET /days-with-appointments e GET /next-appointment-date simulando falhaAbrir a Agenda, o menu ⋮ e o calendário; usar as setas e “Hoje”Atalhos indisponíveis, com “Indisponível no momento” (MSG-TAGM-06) no lugar da data no menu; calendário sem nenhum ponto. Setas e “Hoje” continuam funcionando. Nenhuma mensagem de erro na tela principal—EX-AGM-06; CA-002.6
CT-AGM-NAV-11Agenda aberta no celular e no desktopAbrir ⋮ → “Legenda dos ícones”; fechar com Esc; reabrir e fechar com o botão Fechar; reabrir e tocar foraLista, nesta ordem: Clínica (e unidade, depois de ›); Unidade de atendimento; Convênio; Classificação › subclassificação; 1ª Consulta; Horário bloqueado pela Recepção (sem consulta); Fuso horário dos horários exibidos; Consultas realizadas; Consultas canceladas (inclusive falta) — textos exatos de MSG-BAGM-19. Bottom sheet no celular, modal no desktop. Nos três modos de fechar, o foco volta ao botão ⋮—CA-008.8; MSG-BAGM-19

8. Fuso Horário da Agenda

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/CA Relacionada
CT-AGM-FUSO-01Aparelho no fuso de São Paulo; Clinica Gama com FusoHorarioOficial = 'America/Sao_Paulo'Abrir a Agenda em qualquer diaPrimeira linha da lista: “Fuso horário: Horário Padrão de Brasília (GMT−03:00)”, discreta (12px, cinza, ícone de globo), sem destaque. A linha rola com a listaMassa complementarRN-AGM-018; CA-001.23; MSG-TAGM-09
CT-AGM-FUSO-02Aparelho configurado no fuso de Londres; mesma clínicaAbrir a Agenda hoje (Dr. 11)Linha do fuso destacada (fundo amarelo claro): “Fuso horário: Horário Padrão de Brasília (GMT−03:00) — diferente do fuso deste aparelho”. Os horários dos itens continuam os da clínica (Maria Silva às 13:30, não 17:30)—RN-AGM-018; CA-001.23; MSG-TAGM-10
CT-AGM-FUSO-03Aparelho em Londres, hoje às 12:00 de São PauloObservar a linha “AGORA” e o estado de “Hoje""AGORA” marca 12:00 (hora da clínica), e “hoje” é o dia da clínica — mesmo que no aparelho já seja outro horário—RN-AGM-018
CT-AGM-FUSO-04 (API)Token do Dr. 11GET /day?date= hojetimeZone = "America/Sao_Paulo"; serverNow com deslocamento -03:00; startTime/endTime no fuso da clínica—RN-AGM-018; 02-Especificação, GET /day

9. Atualização Automática e Conexão

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/CA Relacionada
CT-AGM-ATU-01 (BD)Dr. 11, Agenda hoje às 12:00, grupo “2 realizadas” expandido, lista rolada até Yuki Tanaka, foco no item de Reed RichardsRegistrar no banco a chegada de Yuki Tanaka (DhChegadaUTC, Agenda 87); esperar até 1 minutoYuki passa de “Agendado” para “Aguardando Recepção” (borda ff8a80), sem recarregar a tela. O grupo de realizadas continua expandido, a rolagem não muda e o foco continua em Reed. Restaurar DhChegadaUTC nuloAgenda 87RN-AGM-013; CA-001.11
CT-AGM-ATU-02 (BD)Dr. 11, Agenda hojeRegistrar o fim do atendimento de Beatriz (Situacao='V', DhAtendimentoFimUTC, Agenda 103); esperar até 1 minutoBeatriz sai da lista principal e entra no grupo de realizadas, que passa a “3 realizadas”. RestaurarAgenda 103RN-AGM-010, RN-AGM-013; CA-001.11
CT-AGM-ATU-03Dr. 11, Agenda hoje carregada às 12:00Derrubar a conexão (ou o GET /day) e esperar a próxima atualização; rolar a listaOs dados continuam na tela. Logo abaixo da barra do dia aparece a faixa com ícone de wi-fi cortado: “Sem conexão — dados atualizados às 12:00” (horário da última atualização bem-sucedida), presa junto com a barra ao rolar. Leitor de tela anuncia a faixa uma vez—EX-AGM-09; CA-001.12; MSG-TAGM-03
CT-AGM-ATU-04Estado de CT-AGM-ATU-03Restabelecer a conexão e esperar a próxima atualizaçãoA faixa some sozinha (não há botão de fechar)—EX-AGM-09; CA-001.12
CT-AGM-ATU-05Estado de erro de CT-AGM-LIS-12 (falha no carregamento inicial)Esperar 2 minutos sem tocar em nadaA tela continua no estado de erro: nenhuma atualização automática roda nem a substitui, e a faixa de sem conexão não aparece—EX-AGM-02; CA-001.11
CT-AGM-ATU-06Dr. 11, Agenda hoje, devtools na aba RedeObservar as requisições por 3 minutosGET /day do dia exibido a cada 1 minuto; a cada atualização, também GET /next-appointment-date nas duas direções. Leitor de tela não anuncia a lista inteira a cada atualização—RN-AGM-013; 02-Especificação, Atualização Automática

10. Layout, Tema e Acessibilidade

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/CA Relacionada
CT-AGM-UI-01Celular, largura 360px, Dr. 11 hojeMedir a área fixa do topo e observar os itensCabeçalho + barra do dia com no máximo 120px de altura (sem a faixa de sem conexão); barra do dia numa única linha (‹ data curta “Qua, 23 set” › Hoje ⋮), sem os atalhos « »; nome da clínica oculto no cabeçalho; nenhum item com avatar—CA-001.16
CT-AGM-UI-02Desktop (≥640px), Dr. 11 hojeObservar o item de Yuki Tanaka (14:00)Exatamente 3 linhas: “Yuki Tanaka · C50.3 - Câncer de ovários (bi)” + chip “Agendado”; “Presencial” + chip “INT.MED”; informações complementares (alfinete “Consultórios Norte”, carteira “Cassi”)Agenda 87CA-001.17
CT-AGM-UI-03Celular, Dr. 11 hojeObservar o item de Maria Silva (13:30)Linha 1: nome + status; linha 2: “C50.2 - Câncer de mama (QSI) · Teleatendimento” + INT.MED; à direita, o sinalizador de atraso, quando houver; última linha: informações complementaresAgenda 6202-Especificação, Item de consulta (celular)
CT-AGM-UI-04Protótipo v1.13, amanhã, desktop e celularObservar o item de Beatriz Mendes (08:00)Três diagnósticos, ícone de 1ª Consulta, duas tags, complemento longo e as quatro informações complementares completos, sem reticências — o que não cabe quebra para a linha de baixo. No back-end: sem massa (ver Pendências)Mock do ProtótipoCA-001.18
CT-AGM-UI-05Aparelho em modo escuro, tema “Automático”Abrir a Agenda; no menu do avatar, escolher “Claro”; fechar e reabrir a Agenda no mesmo aparelhoAbre no tema escuro; ao escolher “Claro”, passa ao tema claro na hora; ao reabrir, continua clara, mesmo com o aparelho em modo escuro—CA-001.19
CT-AGM-UI-06Tema escuro, Dr. 9 hoje com os dois grupos expandidosMedir contraste (ferramenta de acessibilidade) de chips de status, tags, sinalizadores, informações complementares, linha do fuso e bloqueioTexto ≥ 4,5:1 com o fundo; elementos não textuais ≥ 3:1—CA-001.20
CT-AGM-UI-07Leitor de tela, Dr. 11 hojeNavegar até o item de Maria Silva (13:30)Anuncia um link com: horário 13:30 às 14:00, nome, diagnóstico, “Aguardando Recepção”, “Teleatendimento”, sinalizador de atraso (se houver), tag INT.MED com a descrição e as informações complementares com rótulos (“unidade de atendimento Consultórios Sul, convênio Unimed Nacional”). Enter ou Espaço abre o PEPAgenda 62CA-001.21
CT-AGM-UI-08Qualquer larguraMedir o botão “Hoje” e o contraste no estado ativoAltura ≥ 44px; no estado ativo, texto/fundo ≥ 4,5:1; aria-current="date"—CA-001.22
CT-AGM-UI-09CelularMedir os alvos de toque (setas, ⋮, “Hoje”, dias do calendário, itens)Todos com pelo menos 44×44px—02-Especificação, Premissa de design

11. Cabeçalho e Busca

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/CA Relacionada
CT-AGM-CAB-01Dr. 11, Agenda abertaDigitar “Rob” no campo de busca do cabeçalho e selecionar o resultadoMesmo comportamento da Central (CT-BUSCA-01 a 05): após 1s, retorna Roberto Nascimento Alves (19); ao selecionar, abre o PEP dele—RN-AGM-014; CA-001.13
CT-AGM-CAB-02Desktop e celularObservar o cabeçalhoMesma altura (64px) e componentes da Central: nome da clínica (oculto no celular), busca e avatar com menu (inclui “Tema”)—RN-AGM-014

12. Contrato dos Endpoints

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/CA Relacionada
CT-AGM-API-01 (API)Token do Dr. 11GET /day?date= hoje200. appointments com as 10 consultas do dia (inclusive as 2 canceladas), id e patient.id inteiros; blocks com um item: { id: 164, startTime: "08:00", endTime: "08:45", reason: null, clinic: null, unit: "Setor Rosa" }. Nenhum dado de paciente no bloqueio, e o bloqueio não aparece em appointmentsAgendas de hoje do Dr. 11RN-AGM-019; 02-Especificação, GET /day; 04-Mapeamento 4.1
CT-AGM-API-02 (API)Token do Dr. 9GET /day?date= hoje+1blocks com { startTime: "12:00", endTime: "13:00", reason: "Reunião da equipe multidisciplinar", clinic: "Gama Norte", unit: null }; em appointments, A102 com classification = { name: "Quimioterapia", subName: "Ciclo 2" }, A103 com { name: "Seguimento", subName: null } e unit: null, A101 com unit: nullA101–A103, B10104-Mapeamento 4.1
CT-AGM-API-03 (API)Token do Dr. 11GET /day?date= hoje e conferir insurance e delayMinutesinsurance sempre preenchido (inclusive “PARTICULAR”), sem plano. delayMinutes = 0 nas canceladas (107, 109) e em todas as consultas de dias que não são hoje—02-Especificação, GET /day
CT-AGM-API-04 (API)Token do Dr. 11GET /day sem date; com date=2026-13-40400 nos dois casos—02-Especificação, Códigos
CT-AGM-API-05 (API)Token do Dr. 11GET /days-with-appointments?from=2026-09-01&to=2026-09-30; depois com to=2026-11-30 (91 dias)1ª: dates = 2026-09-09, 09-16, 09-23, 09-26, 09-30, em ordem — sem 09-25 (só bloqueio). 2ª: 400 (intervalo acima de 62 dias)—RN-AGM-003, RN-AGM-019; 04-Mapeamento 4.2
CT-AGM-API-06 (API)Token do Dr. 11GET /next-appointment-date?direction=next&from= hoje; direction=previous&from=2026-09-09; direction=next&from=2026-11-27"2026-09-26"; "2026-08-27"; null—04-Mapeamento 4.3
CT-AGM-API-07 (API)Sem tokenChamar os três endpoints401——
CT-AGM-API-08 (BD)Mecanismo de auditoria implantado (pendência)Carregar um dia na Agenda; aguardar 2 atualizações automáticas; abrir o PEP de um paciente pela agendaUm evento de auditoria pela leitura do dia (as atualizações automáticas do mesmo dia não geram novos eventos) e um pela abertura do PEP. Não executável até a trilha de auditoria existir—SBIS NGS1.07.03/04; 02-Especificação, Conformidade SBIS

13. Idioma e Mensagens

IDPré-condiçãoPassosResultado EsperadoRN/SBIS Relacionada
CT-AGM-MSG-01Interface em pt-BRProvocar cada estado durante as Seções 2 a 12 e conferir o textoCada texto bate exatamente com o catálogo da 02-Especificação v1.16: MSG-EAGM-03, MSG-TAGM-01, 03, 05 (“Dia com consulta”, legenda do calendário), 06, 09, 10; MSG-BAGM-03, 07, 08, 09, 12, 14, 16, 17, 18, 19, 20. Nenhum termo técnico (nome de tabela, código HTTP) visível ao usuárioSBIS ECF.17.19
CT-AGM-MSG-02Interface em pt-BRPercorrer rótulos de status, modo e botõesStatus: Agendado, Aguardando Recepção, Recepcionado, Em Atendimento, Finalizado, Cancelado. Modo: Presencial, Teleatendimento, CustomizadoSBIS ECF.17.18

14. Matriz de Rastreabilidade

ÁreaCasosRN cobertasCA / EX cobertosSBISCobertura
Lista e itemCT-AGM-LIS-01 a 14RN-AGM-002, 007, 009CA-001.1, 001.3, 001.5, 001.6, 001.7, 001.8, 001.10, 001.14, 001.15; EX-AGM-02, EX-AGM-03—Dr. 11 e Dr. 9 com a carga real; Customizado e estado vazio dependem da massa complementar
Resumo, AGORA, rolagem, atrasoCT-AGM-RES-01 a 13RN-AGM-009, 010, 013CA-001.9, CA-005.1, 005.2, 005.3, 005.4, 005.5, 005.7—Completo com a carga real; RES-13 exige executar perto da meia-noite
Informações complementaresCT-AGM-CTX-01 a 10RN-AGM-002, 008, 017CA-001.4, CA-008.1 a 008.7ECF.05.04Clínica e classificação dependem da massa complementar
Tags e 1ª ConsultaCT-AGM-TAG-01 a 07RN-AGM-006, RN-CM-028CA-001.2, CA-001.8, CA-001.24—Vigência no dia exibido com dado real (TAG-04, 06) e por alteração no banco (TAG-05). Ver lacuna 1
BloqueiosCT-AGM-BLQ-01 a 11RN-AGM-001, 003, 019; RN-CM-030CA-009.1 a 009.7; EX-AGM-03ECF.05.02 (exibição)Bloqueio sem motivo com dado real (164); com motivo e dia só com bloqueio na massa complementar
NavegaçãoCT-AGM-NAV-01 a 11RN-AGM-003CA-002.1 a 002.6, CA-008.8; EX-AGM-06—Completo; NAV-10 exige simular falha
FusoCT-AGM-FUSO-01 a 04RN-AGM-018CA-001.23—Depende do campo novo FusoHorarioOficial na massa
Atualização e conexãoCT-AGM-ATU-01 a 06RN-AGM-013CA-001.11, CA-001.12; EX-AGM-02, EX-AGM-09—ATU-03 a 05 exigem simular falha
Layout, tema, acessibilidadeCT-AGM-UI-01 a 09—CA-001.16 a 001.22—UI-04 só no Protótipo (sem massa)
Cabeçalho e buscaCT-AGM-CAB-01, 02RN-AGM-014CA-001.13ECF.03.11, ECF.03.14Busca coberta pelos casos da Central
EndpointsCT-AGM-API-01 a 08RN-AGM-003, 018, 019—NGS1.07.03/04API-08 não executável até existir a trilha de auditoria
Idioma e mensagensCT-AGM-MSG-01, 02——ECF.17.18, ECF.17.19Só pt-BR

Cobertura dos critérios de aceitação: 51/51 (CA-001.1 a 001.24, CA-002.1 a 002.6, CA-005.1 a 005.5 e 005.7, CA-008.1 a 008.8, CA-009.1 a 009.7). Fluxos de exceção: 4/4 (EX-AGM-02, 03, 06, 09). Total: 97 casos.

Não coberto, por decisão de escopo: volume (a Especificação não define limite de consultas por dia nem meta de tempo de carga); concorrência (Recepção alterando a agenda no mesmo segundo da atualização automática — não especificado); textos en-US/es-419.

Lacunas de especificação encontradas ao montar os casos — para decisão do solicitante; nenhum documento 01-04 foi alterado:

  1. Origem das tags IC, INT.MED e ESPECIAL. Na carga, essas três vêm de PEPProgramaApoioPaciente (vínculo ao prontuário), e a Central do Médico as exibe nos cards (Cenários de Teste da Central, Seção 3). O Mapeamento da Agenda (4.1, campo tags) só cita ProgramaApoioPaciente, e o da Central também. Os casos acima seguem a regra de negócio (RN-AGM-006: mesmo critério da Central), ou seja, esperam essas tags. Se a Seção 4 continuar só com ProgramaApoioPaciente, CT-AGM-TAG-01, CT-AGM-RES-01/03 e o detalhamento de CT-AGM-LIS-01/03 mudam (sem IC, INT.MED e ESPECIAL). Falta também dizer como fica a vigência dessas tags, já que o vínculo ao prontuário não tem data de início nem de fim.
  2. Unidade não destinada a consultas num bloqueio. O bloqueio 164 está no “Setor Rosa” (StConsulta = 'N'). Pela regra atual (a unidade aparece quando a clínica tem mais de uma unidade ativa para consultas e o registro tem unidade), “Setor Rosa” aparece no bloqueio (CT-AGM-BLQ-02). Confirmar se é o esperado.
  3. Texto dos atalhos na Especificação. A descrição da Barra do Dia diz que os atalhos ignoram “dias só com consultas canceladas”, sem citar bloqueios; RN-AGM-003, CA-009.4 e o Mapeamento já dizem que dia só com bloqueio também é ignorado. Os casos seguem a regra (CT-AGM-BLQ-06, CT-AGM-API-05).

15. Histórico de Versões

  • v1.0 (08/10/2026) — Versão inicial, a pedido do solicitante (“vamos para os cenários de testes?”), seguindo o modelo dos Cenários de Teste da Central do Médico (v1.28) e do Check-in de Usuários, Épico 5 (v1.3). Construído a partir de 01-Definição v1.14, 02-Especificação v1.16, 03-Protótipo v1.13 (.md e .html) e 04-Mapeamento de BD v1.4. Cada caso cita a RN, CA, EX ou seção de onde veio; nenhuma regra nova foi criada. O que a QA precisa saber:
    • Massa: usa a CargaCMZero.xlsx (data-base 23/09/2026, a mesma da Central), conferida aba a aba para os Drs. 11 e 9: agendas de consulta de todos os dias, status calculado pelas regras de AppointmentStatus(), unidades, convênios (Chave.Descricao), diagnósticos (PEPDiagnostico.Diagnostico, Tipo O), fotos, tags (MostrarEm, vigências) e o bloqueio 164. Achados na carga: a única clínica do cliente Gama faz a clínica nunca aparecer; não há classificação, modo Customizado, bloqueio com motivo nem dia só com bloqueio; a Clinica Gama está com idioma en-US; o campo FusoHorarioOficial ainda não existe. Para cobrir isso, a Seção 1 propõe uma massa complementar [PROPOSTA], com nomes inventados (“Gama Norte”, “Consultório Único”, classificações “Quimioterapia”/“Seguimento”, subclassificação “Ciclo 2”, motivos de bloqueio), toda fora do dia de hoje — os casos da Central não mudam.
    • Divergências entre a carga e o Cenários de Teste da Central: diagnóstico de Yuki Tanaka (carga “C50.3 - Câncer de ovários (bi)”, com IdDiagnostico = 'C56.3'; Central “C56.3 - …”) e de Reed Richards (carga “C64 - Câncer de rins”; Central “C64 - Câncer do rim”). Os casos daqui seguem a carga.
    • 97 casos em 12 áreas: lista e item (14), resumo/AGORA/rolagem/atraso (13), informações complementares (10), tags e 1ª Consulta (7), bloqueios (11), navegação (11), fuso (4), atualização e conexão (6), layout/tema/acessibilidade (9), cabeçalho e busca (2), endpoints (8), idioma e mensagens (2). Cobertura: 51/51 CA, 4/4 EX.
    • Três lacunas de especificação listadas ao final da Seção 14 (origem das tags vinculadas ao prontuário, unidade não destinada a consultas num bloqueio, texto dos atalhos na Especificação). Os casos foram escritos com o resultado esperado pela regra de negócio.
    • Revisão por Dois Críticos: não aplicável — cobertura de teste para comportamento já especificado, sem decisão de modelagem nova.