# 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 v3.0 / 02-Especificação v3.0 / 03-Protótipo v3.0 / 04-Mapeamento de BD v3.0
**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, na pasta `Central do Médico (Cockpit)/`) para o banco do cliente, e `CargaSegGlobal.xlsx` (pasta `Infra-estrutura/`, compartilhada entre as funcionalidades) para as tabelas do IpSeguranca (clínicas, vínculos e acessos). 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 das clínicas do cliente a que o médico tem acesso 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 07). 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 1). 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)

| Endpoint | Uso |
|---|---|
| `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/search` | Busca do cabeçalho (da Central do Médico) |

### Massa de dados

- **Clínicas e acesso** (`CargaSegGlobal.xlsx`): o cliente **Gama** (`ClienteBD` "Ambiente de Produção", `Tipo = 'P'`) tem duas clínicas (`ClienteEmpresa`): **Clinica Gama** e **Gama Norte**, as duas com `IdiomaOficial = 'pt-BR'` e `FusoHorarioOficial = 'America/Sao_Paulo'`. **Dr. Craig Evans** (`IdChProfissional = 11`) tem acesso só à Clinica Gama — a clínica nunca aparece nos itens dele. **Dr. Gilliard Onório Santos** (`IdChProfissional = 9`) tem acesso às duas — todo item dele mostra a clínica.
- **Clínicas nos registros de agenda** (`CargaCMZero.xlsx`): `IdChClinica = 6`, nome curto **"Clínica Gama"**, e `IdChClinica = 30`, nome curto **"Gama Norte"** (`Chave.Descricao`).
- **Unidades** (`UnidadeAtendimento`): Clínica Gama — Consultórios Norte (1) e Consultórios Sul (2) com `StConsulta = 'S'`, Setor Verde (3) e Setor Rosa (4) com `'N'` → **duas** unidades ativas para consultas, a unidade aparece. Gama Norte — Consultórios (5) com `'S'` e Acolhimento (6) com `'N'` → **uma** unidade ativa para consultas, a unidade não aparece.
- **Classificação** (`AgendaClassificacao`, Clínica Gama): Normal (1), sem subclassificação; Retorno (2), com as subclassificações No prazo (1) e Fora do prazo (2).
- **Convênios** (nome curto em `Chave.Descricao`): PARTICULAR (`Convenio.Convenio = 'T'`), Sulamérica, Unimed Nacional, Bradesco Saúde, HapVida, Cassi.
- **Diagnósticos:** Otávio B. Lima (24) tem três diagnósticos oncológicos: C61 - Câncer de Próstata, C79.0 - Câncer da pelve renal (secundário) e C41.4 - Câncer ósseo da pelve. A Especificação não define a ordem entre eles; os casos abaixo usam a ordem do cadastro.
- **Tags exibidas em agendas** (`ProgramaApoio.MostrarEm` com o valor 32 incluído): VIP (`MostrarEm = 38`, `#80FF38`), ANTICOAG (61, `#EED1EE`, "Uso de anticoagulantes", a própria tag vigente até 01/10/2026), IC (61, `#FFC400`), INT.MED (57, `#FBF8AF`), ESPECIAL (63, `#DEDAFF`), C.PI (38, `#AED1F6`, "Paciente paga o tratamento integral"). **Não aparecem em agendas:** LC (1), EXT (17). A tag aparece quando, no **dia exibido**, estão vigentes a própria tag e a atribuição ao paciente — sem exceção, inclusive para a VIP. Um período vale para o dia inteiro em que começa e para o dia inteiro em que termina. Ordem dos chips: primeiro as tags assistenciais (`Finalidade = 'A'`), depois as administrativas (`'D'`); dentro de cada grupo, ordem alfabética pela sigla (regra da Central, RN-CM-025, que RN-AGM-006 manda seguir). Atribuições na carga:
	- **No cadastro** (`ProgramaApoioPaciente`): VIP — **John Smith (3) de 25/07/2026 a 23/09/2026** (aparece hoje, não em 30/09) e Sophia Muller (12) desde 10/09/2026; **C.PI — Carmen Garcia (14) desde 25/07/2026**, sem fim (`ProgramaApoioPaciente` 4; com o IC do prontuário, ela tem duas tags — ver CT-AGM-TAG-15); IC — **Beatriz A. Lima (20)** desde 25/07/2026 (a mesma tag que ela tem no prontuário — simula a tag nas duas origens; aparece uma vez). O campo `Paciente.PacienteVip` não é usado.
	- **No prontuário** (`PEPProgramaApoioPaciente`, vigência em `PEP.DataInicioUTC`/`DataFimUTC`): IC — Beatriz (20) desde 01/01/2000, Carmen Garcia (14) desde 07/07/2026, Marcelo T. Pinto (22) desde 25/08/2026; INT.MED — Roberto N. Alves (19) desde 03/08/2026, **Maria Silva (4) desde 08/08/2026**, **Yuki Tanaka (8) desde hoje, 23/09/2026, às 11:56**; ESPECIAL — Otávio B. Lima (24) desde 15/07/2026; **ANTICOAG — Roberto N. Alves (19) de 22/07/2026 a hoje, 23/09/2026** (PEP 1127: fim da atribuição ao paciente) e **Helena Duarte Costa (21) desde 05/08/2026, sem data de fim** (PEP 1128: vale enquanto a própria tag vale, até 01/10/2026). Linha de cuidados (LC) de Beatriz, Marcelo e Rogério não aparece.
- **Bloqueios** (paciente reservado "BLOQUEIO", `IdPaciente = 0`, `Paciente.Paciente = 'B'`; bloqueio não tem unidade):
	- **164** — Dr. 11, hoje 08:00–08:45, Clínica Gama, sem motivo. É o mesmo registro usado na Central (CT-KPI-07, CT-CONS-10).
	- **165** — Dr. 11, sex, 25/09 11:30–13:30, Clínica Gama, motivo "Ala de consultórios em obras". É o único registro do dia: **25/09 é dia só com bloqueio** para o Dr. 11.
	- **169** — Dr. 9, qui, 24/09 12:00–13:00, **Gama Norte**, motivo "Reunião da equipe multidisciplinar".
- **Agendas de amanhã** (qui, 24/09) — Dr. 9: **166** — 08:00 Helena Duarte Costa (21), Gama Norte / Consultórios, Unimed Nacional, Presencial; **167** — 09:00 Marcelo T. Pinto (22), Clínica Gama / Consultórios Sul, HapVida, **Customizado**, Retorno › No prazo; **168** — 10:00 Alejandro Ramirez (9), Clínica Gama **sem unidade**, PARTICULAR, Teleatendimento, Normal; mais o bloqueio 169. Dr. 11: **170** — 13:30–13:45 Roberto N. Alves (19), Clínica Gama / Consultórios Sul, Sulamérica, Teleatendimento, Retorno › No prazo; serve para comparar o ANTICOAG de Roberto (atribuição encerrada em 23/09) com o de Helena (sem fim) no mesmo dia.
- **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.

### Pendências de Massa de Dados

- **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.
- **Item com todos os elementos ao mesmo tempo** (CA-001.18: três diagnósticos, 1ª Consulta, duas tags, complemento longo e as quatro informações complementares): a carga tem os três diagnósticos (Otávio), mas não a combinação inteira. CT-AGM-UI-04 confere a carga e, para a combinação inteira, o Protótipo v3.0.

---

## 2. Lista do Dia e Item de Consulta

| ID            | Pré-condição                                               | Passos                                                                                   | Resultado Esperado                                                                                                                                                                                                                          | Dados de Teste                                                                          | RN/CA Relacionada                                      |
| ------------- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------ |
| CT-AGM-LIS-01 | Dr. 11 logado na Central do Médico, desktop, hoje às 12:00 | Tocar 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 164 | RN-AGM-002, RN-AGM-009; CA-001.1                       |
| CT-AGM-LIS-02 | Dr. 11 logado na Central do Médico                         | Tocar no indicador "Consultas Hoje"                                                      | Mesmo resultado de CT-AGM-LIS-01                                                                                                                                                                                                            | —                                                                                       | CA-001.1                                               |
| CT-AGM-LIS-03 | Dr. 9 logado, desktop, Agenda aberta hoje às 12:00         | Observar a lista                                                                         | Lista 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-04 | Estado de CT-AGM-LIS-01                                    | Conferir 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 ícone                                                                                               | Agendas 148 (`PrimeiraConsulta='S'`) e 105                                              | RN-CM-028; CA-001.8                                    |
| CT-AGM-LIS-05 | Estado de CT-AGM-LIS-01                                    | Conferir o modo de atendimento de cada item                                              | Linha 2 sempre com o modo: "Presencial" em todos, exceto Maria Silva (13:30): "Teleatendimento". O modo aparece mesmo quando é Presencial                                                                                                   | Agenda 62 (`Atendimento='T'`)                                                           | RN-AGM-009; CA-001.14                                  |
| CT-AGM-LIS-06 | Dr. 9 logado, Agenda em hoje+1 (qui, 24/09)                | Conferir o item de Marcelo T. Pinto (09:00)                                              | Modo "Customizado" na linha 2                                                                                                                                                                                                               | Agenda 167                                                                              | CA-001.14                                              |
| CT-AGM-LIS-07 | Estado de CT-AGM-LIS-01                                    | Conferir o chip de status de Yuki Tanaka (14:00), Reed Richards (15:45) e Fatima (16:00) | Chip "Agendado" na linha 1 dos três                                                                                                                                                                                                         | Agendas 87, 1, 148                                                                      | RN-AGM-009; CA-001.15                                  |
| CT-AGM-LIS-08 | Estado de CT-AGM-LIS-01                                    | Observar 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 colorida                                                                                | Agendas 105, 62                                                                         | RN-AGM-009; CA-001.10                                  |
| CT-AGM-LIS-09 | Estado de CT-AGM-LIS-01                                    | Conferir 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 1                                                                                | RN-AGM-007; CA-001.3                                   |
| CT-AGM-LIS-10 | Estado de CT-AGM-LIS-01                                    | Tocar no item de Maria Silva (13:30)                                                     | Abre o PEP de Maria Silva (4)                                                                                                                                                                                                               | Agenda 62                                                                               | RN-AGM-009; CA-001.5                                   |
| CT-AGM-LIS-11 | Estado de CT-AGM-LIS-01; grupo "2 canceladas" expandido    | Tocar no item de David Cohen (14:00, cancelado)                                          | Abre o PEP de David Cohen (7) — itens de grupo também abrem o PEP                                                                                                                                                                           | Agenda 107                                                                              | CA-001.5                                               |
| CT-AGM-LIS-12 | `GET /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-13 | `GET /day` com resposta lenta                              | Abrir a Agenda e observar durante o carregamento                                         | Skeleton no lugar da lista enquanto carrega                                                                                                                                                                                                 | —                                                                                       | 02-Especificação, Mapeamento de Componentes (Skeleton) |
| CT-AGM-LIS-14 | Dr. 11 logado, Agenda em dom, 27/09 (hoje+4)               | Observar a lista                                                                         | Linha do fuso no topo; abaixo, estado vazio "Nenhuma consulta neste dia." (MSG-TAGM-01) e o botão "Próximo dia com consulta · qua, 30/09". Tocar no botão carrega 30/09                                                                     | Nenhuma agenda do Dr. 11 em 27, 28 e 29/09                                              | EX-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, sem linha de informações complementares (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 **uma vez só** (atribuída no cadastro e no prontuário) · 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)** · C56.3 - Câncer de ovários (bi) · Agendado · Presencial · tag INT.MED (a atribuição no prontuário começa hoje às 11:56 e vale para o dia inteiro) · 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)

> O Dr. 9 tem acesso a duas clínicas (Clinica Gama e Gama Norte): 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, C79.0 - Câncer da pelve renal (secundário), C41.4 - Câncer ósseo da pelve · 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

| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-RES-01 | Estado de CT-AGM-LIS-01 | Observar 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 e ANTICOAG · 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 cinza | Agendas 101, 113 | RN-AGM-010; CA-005.1, CA-005.3 |
| CT-AGM-RES-02 | Estado de CT-AGM-RES-01 | Tocar em "2 canceladas"; depois tocar de novo em "2 realizadas" | Canceladas expandem com, em ordem: 14:00–14:30 David Cohen (7) · chip "Cancelado" (cinza preenchido) · complemento "Cancelada - paciente internado" · Consultórios Norte · PARTICULAR; 15:00–15:30 Antonio Rossi (13) · "Cancelado" (cinza preenchido) · "Transferido para outro profissional/unidade" · Consultórios Norte · PARTICULAR. Nos dois itens, **todos os textos riscados** — horário de início e término, nome, diagnósticos, modo, tags, complemento, clínica/unidade e convênio —, **exceto o chip "Cancelado"**; no desktop, avatar com fundo cinza e iniciais sem risco. Ao tocar de novo em realizadas, só esse grupo recolhe — canceladas continua expandido | Agendas 107 (`Situacao='I'`), 109 (`'T'`) | RN-AGM-010; CA-005.2, CA-005.3 |
| CT-AGM-RES-03 | Estado de CT-AGM-LIS-03 (Dr. 9) | Expandir os dois grupos | **4 realizadas:** 08:30 Rogério Mendes Santos (2) · C67.9 - Câncer de bexiga · sem tag; 09:00 John Smith (3) ① · VIP (a atribuição termina hoje e vale o dia inteiro); 09:30 Carmen Garcia (14) · C16.8 - Câncer de estômago (+lesão) · IC e C.PI, nessa ordem (ver CT-AGM-TAG-15) · 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) · ANTICOAG · "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-04 | Dr. 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 resumo | Agendas 111, 85 | CA-005.4 |
| CT-AGM-RES-05 | Dr. 11 logado, Agenda em sáb, 26/09 (hoje+3) | Observar o topo da lista | **Sem linha de resumo** (nenhuma realizada nem cancelada no dia); a lista começa pela linha do fuso e o item de Reed Richards | Agenda 2 | CA-005.4 |
| CT-AGM-RES-06 | Dr. 11 logado, hoje às 12:00 | Observar 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-07 | Dr. 11 logado, Agenda aberta hoje às 12:00 (carga inicial, sem rolagem prévia) | Observar a posição da rolagem | A 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 vista | Agenda 103 | RN-AGM-010; CA-005.5 |
| CT-AGM-RES-08 | Dr. 9 logado, Agenda aberta hoje às 12:00 | Observar a posição da rolagem | Nenhuma 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-09 | Dr. 11 logado, Agenda em qua, 16/09 | Observar | Sem linha "AGORA"; tela no topo | — | CA-005.5 |
| CT-AGM-RES-10 | Dr. 11 logado, hoje às 14:20 | Observar os sinalizadores de atraso | Cecí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 sinalizador | Agendas 105, 62, 87, 103 | RN-AGM-009; CA-001.9 |
| CT-AGM-RES-11 | Dr. 11 logado, Agenda em qua, 16/09 e em sáb, 26/09 | Observar | Nenhum item com sinalizador de atraso, em dia passado ou futuro | — | CA-001.9 |
| CT-AGM-RES-12 | Aparelho com "reduzir movimento" ativado; estado de CT-AGM-RES-10 | Observar o sinalizador "Esperando" | O ponto antes do texto não pulsa; o texto nunca pisca | — | 02-Especificação, Sinalizador de atraso |
| CT-AGM-RES-13 | Dr. 11, Agenda aberta hoje, tela aberta por volta das 23:58 | Deixar a tela aberta até depois da meia-noite e esperar a próxima atualização automática | O 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)

| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-CTX-01 | Dr. 11 (acesso a 1 clínica), hoje | Conferir a última linha dos itens | **Nenhum** 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 Gama | RN-AGM-017 (a, b); CA-008.1, CA-008.3 |
| CT-AGM-CTX-02 | Dr. 9 (acesso a 2 clínicas), hoje | Conferir a última linha dos itens | Todos mostram "Clínica Gama › Consultórios Sul" num único segmento, com um só ícone de prédio | Acesso do Dr. 9 às duas clínicas (`CargaSegGlobal.xlsx`) | RN-AGM-017 (a, b); CA-008.1, CA-008.3 |
| CT-AGM-CTX-03 | Dr. 9 logado, Agenda em qui, 24/09 (hoje+1) | Observar a lista | Em 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 · Presencial · ANTICOAG (ver CT-AGM-TAG-13); 09:00 Marcelo T. Pinto · **"Clínica Gama › Consultórios Sul"** · HapVida · **"Retorno › No prazo"** · Customizado · IC; 10:00 Alejandro Ramirez · **"Clínica Gama"** sozinho (consulta sem unidade) · PARTICULAR · **"Normal"** · Teleatendimento; 12:00 bloqueio (ver CT-AGM-BLQ-01). Consultas das duas clínicas juntas, em ordem cronológica, sem separação | Agendas 166, 167, 168, 169 | RN-AGM-002, RN-AGM-008, RN-AGM-017; CA-008.2, CA-008.3, CA-008.5 |
| CT-AGM-CTX-04 | Dr. 11 logado, Agenda em sáb, 26/09 | Conferir 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 carregada | Alterar `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 volta | `UnidadeAtendimento` 2 | RN-AGM-017 (b); CA-008.3 |
| CT-AGM-CTX-06 | Dr. 11, hoje | Conferir o convênio de Fatima Al-Mansoori e de Beatriz | Fatima: "PARTICULAR" (particular aparece pelo nome curto cadastrado). Beatriz: "Bradesco Saúde". Nenhum item mostra plano | Agendas 148, 103 | RN-AGM-017 (c); CA-008.4 |
| CT-AGM-CTX-07 | Dr. 9 logado, Agenda em qui, 24/09; depois Dr. 11, hoje | Conferir a classificação do item de Helena Duarte Costa (08:00, Gama Norte); depois a dos itens do Dr. 11 hoje | Helena: nenhuma classificação — a Gama Norte não tem classificação cadastrada —, sem espaço vazio no lugar. Dr. 11 hoje: nenhum item mostra classificação (a Clínica Gama usa classificação, mas nenhuma agenda do dia tem) | Agenda 166; `AgendaClassificacao` só da Clínica Gama (`IdChClinica = 6`) | RN-AGM-008; CA-001.4, CA-008.5 |
| CT-AGM-CTX-08 | Estado de CT-AGM-CTX-03, desktop | Passar 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-09 | Estado de CT-AGM-CTX-03, leitor de tela ativo | Navegar 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 Retorno › No prazo"). Os ícones não são anunciados | — | CA-008.6, CA-001.21 |
| CT-AGM-CTX-10 | Qualquer dia com consultas, desktop e celular | Comparar a linha de informações complementares com o resto do item | Texto 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 |
| CT-AGM-CTX-11 **(BD)** | Dr. 9 com acesso às duas clínicas (Clínica Gama e Gama Norte); agendas de qui, 24/09: 166 (08:00, Gama Norte) e o bloqueio 169 (12:00, Gama Norte) | Dr. 9 logado, Agenda em qui, 24/09: conferir a lista; depois retirar o acesso do Dr. 9 à Gama Norte (marcar `RemovidoEm` na linha de `ClientePerfilAcessoUsuario` dessa clínica), entrar de novo e conferir a lista, o calendário e a navegação para o próximo dia com consulta | **Antes:** as consultas das duas clínicas e o bloqueio 169, com a linha de clínica. **Depois:** nenhuma consulta nem bloqueio da Gama Norte (a 166 e o 169 somem); o calendário e a navegação ignoram os dias que só tinham registros dessa clínica; como o Dr. 9 passa a ter acesso a uma só clínica, a clínica deixa de aparecer nos itens; os registros continuam no banco | Alteração no banco (IpSeguranca); agendas 166 e 169 (`CargaCMZero.xlsx`) | RN-AGM-002, RN-AGM-017 (a); CA-008.9; D-CM-068 |

---

## 5. Tags e 1ª Consulta

| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-TAG-01 | Estado de CT-AGM-LIS-03 (Dr. 9, hoje) | Conferir as tags | Otá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 agendas | Ver Massa de dados (Tags) | RN-AGM-006; CA-001.2 |
| CT-AGM-TAG-02 | Estado de CT-AGM-TAG-01, desktop | Passar 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 sigla | `ProgramaApoio.Descricao` | RN-AGM-006; CA-001.2 |
| CT-AGM-TAG-03 | Estado de CT-AGM-TAG-01, leitor de tela | Ler o item de Sophia Muller | Anuncia "VIP" e a descrição "Paciente com tratamento administrativo diferenciado" | — | CA-001.2, CA-001.21 |
| CT-AGM-TAG-04 | Dr. 11 logado | Abrir qua, 16/09 (hoje−7) e expandir realizadas; depois abrir hoje, antes das 11:56 | 16/09: Yuki Tanaka (13:30) **sem** INT.MED — a atribuição no prontuário só começa em 23/09. Hoje: Yuki (14:00) **com** INT.MED, inclusive antes das 11:56 — o período começa no dia exibido, então vale para o dia inteiro | Agendas 85, 87; PEP 1107 (`DataInicioUTC = 23/09/2026 11:56`) | RN-AGM-006; CA-001.24; 04-Mapeamento 4.1 (`tags`) |
| CT-AGM-TAG-05 **(BD)** | Dr. 9 logado | 1. Preencher `PEP.DataFimUTC` do PEP 1105 (INT.MED de Maria Silva) com 01/09/2026. 2. Abrir qua, 12/08 (hoje−42) e expandir realizadas. 3. Abrir hoje e expandir realizadas e canceladas. 4. Restaurar `DataFimUTC` nulo | Passo 2: Maria Silva (11:45) **com** INT.MED — a atribuição estava vigente naquele dia. Passo 3: as duas Marias (10:00, realizada e cancelada) **sem** INT.MED | Agendas 53, 65, 104; PEP 1105 | RN-AGM-006; CA-001.24 |
| CT-AGM-TAG-06 | Dr. 9 logado | Abrir qua, 29/07 (hoje−56) e qua, 12/08 (hoje−42); expandir realizadas | 29/07: Maria Silva (09:45) **sem** INT.MED (a atribuição começa em 08/08/2026). 12/08: Maria Silva (11:45) **com** INT.MED | Agendas 47, 53; PEP 1105 (`DataInicioUTC = 08/08/2026`) | RN-AGM-006; CA-001.24 |
| CT-AGM-TAG-07 | Dr. 11 e Dr. 9, hoje | Conferir o ícone de 1ª Consulta | Dr. 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 tag | `Agenda.PrimeiraConsulta = 'S'` em 113, 148, 102, 134 | RN-CM-028; CA-001.8 |
| CT-AGM-TAG-08 | Dr. 9 logado | Abrir sáb, 29/08 (hoje−25) e expandir "1 realizada" | Sophia Muller (09:00) **sem** VIP — a atribuição no cadastro só começa em 10/09/2026. A VIP segue as mesmas regras das demais tags | Agenda 120; `ProgramaApoioPaciente` 1 | RN-AGM-006; CA-001.24 |
| CT-AGM-TAG-09 **(BD)** | Dr. 9 logado | 1. Preencher `ProgramaApoio.DataFim` da tag IC com 20/09/2026. 2. Abrir qui, 10/09 (hoje−13). 3. Abrir hoje. 4. Restaurar `DataFim` nulo | Passo 2: Carmen Garcia (18:15) **com** IC (e C.PI) — a tag estava vigente naquele dia. Passo 3: Marcelo T. Pinto (14:30) **sem** IC; Carmen (realizadas) **sem** IC, só com C.PI (outra tag, sem fim) | Agendas 64, 108, 70 | RN-AGM-006; CA-001.24 |
| CT-AGM-TAG-10 **(BD)** | Dr. 9 logado, hoje | Preencher `PEP.RemovidoEm` do PEP 1112 (IC de Marcelo); recarregar a Agenda; restaurar nulo | Marcelo T. Pinto (14:30) **sem** IC enquanto o registro de PEP está excluído; volta depois de restaurar | Agenda 108; PEP 1112 | RN-AGM-006; 04-Mapeamento 4.1 (`tags`) |
| CT-AGM-TAG-11 | Dr. 9 logado | Abrir hoje e expandir realizadas; depois abrir qua, 30/09 (hoje+7) | Hoje: John Smith (09:00) **com** VIP — a atribuição termina hoje, e o dia do fim conta inteiro. 30/09: John Smith (10:30) **sem** VIP | Agendas 102, 36; `ProgramaApoioPaciente` 2 (`DataFim = 23/09/2026`) | RN-AGM-006; CA-001.24 |
| CT-AGM-TAG-12 | Dr. 11 logado, hoje | Conferir as tags de Beatriz A. Lima (09:30) | Um único chip "IC" — a mesma tag atribuída no cadastro e no prontuário aparece uma vez | Agenda 103; `ProgramaApoioPaciente` 3 e PEP 1102 | RN-AGM-006; 04-Mapeamento 4.1 (`tags`) |
| CT-AGM-TAG-13 | Dr. 9 logado | Abrir hoje e expandir canceladas; abrir qui, 24/09; abrir sáb, 10/10 | Hoje e 24/09: Helena Duarte Costa **com** ANTICOAG (fundo `#EED1EE`, dica "Uso de anticoagulantes") — a atribuição ao paciente não tem fim e a própria tag vale até 01/10. 10/10: Helena (09:00) **sem** ANTICOAG — a própria tag terminou em 01/10 | Agendas 106, 166, 130; PEP 1128 (sem `DataFimUTC`); `ProgramaApoio` 3 (`DataFim = 01/10/2026`) | RN-AGM-006; CA-001.24 |
| CT-AGM-TAG-14 | Dr. 11 e Dr. 9 logados (um de cada vez) | Dr. 11: abrir hoje e expandir realizadas; abrir qui, 24/09. Dr. 9: abrir qui, 24/09 | Dr. 11, hoje: Roberto N. Alves (08:30) **com** ANTICOAG — a atribuição termina hoje, e o dia do fim conta inteiro. Dr. 11, 24/09: Roberto (13:30) **sem** ANTICOAG — a atribuição ao paciente terminou em 23/09, embora a própria tag ainda valha; continua com INT.MED. Dr. 9, 24/09: Helena (08:00) **com** ANTICOAG no mesmo dia (ver TAG-13) — a diferença entre os dois é só o fim da atribuição | Agendas 101, 170, 166; PEP 1127 (`DataFimUTC = 23/09/2026`), PEP 1128 (sem fim) | RN-AGM-006; CA-001.24 |
| CT-AGM-TAG-15 | Dr. 9 logado, hoje | Expandir realizadas e conferir as tags de Carmen Garcia (09:30); conferir o item de Sophia Muller (15:30) | Carmen: dois chips, nesta ordem — **IC** (`#FFC400`, assistencial, do prontuário) e **C.PI** (`#AED1F6`, administrativa, do cadastro; dica "Paciente paga o tratamento integral"). A ordem alfabética pura daria C.PI, IC: o resultado distingue "assistenciais antes das administrativas" de "ordem alfabética". Sophia: ícone de 1ª Consulta junto ao nome e só **VIP** na linha 2 — o ícone não fica entre as tags | Agenda 70 (PEP 1119, IC; `ProgramaApoioPaciente` 4, C.PI); Agenda 134 (`ProgramaApoioPaciente` 1, VIP) | RN-AGM-006 (segue RN-CM-025, ordem dos chips); RN-CM-028; CA-001.2 |

---

## 6. Bloqueios de Horário

| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-BLQ-01 | Dr. 9 logado, Agenda em qui, 24/09 (hoje+1), desktop | Observar o item das 12:00 | Item 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 **tracejada**. Sem unidade | Agenda 169 | RN-AGM-019; CA-009.1, CA-009.5 |
| CT-AGM-BLQ-02 | Dr. 11 logado, hoje às 12:00 | Observar o item das 08:00 | "Bloqueado", horário 08:00 / 08:45, **sem motivo** e **sem linha de informações complementares**: o Dr. 11 tem uma só clínica (a clínica não aparece) e bloqueio não tem unidade. Nenhum convênio (o convênio reservado "BLOQUEIO" não aparece) | Agenda 164 | RN-AGM-019; CA-009.2 |
| CT-AGM-BLQ-03 | Estado de CT-AGM-BLQ-02 | Tocar ou clicar no bloqueio; depois navegar pela lista com Tab | Nada 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 foco | Agenda 164 | RN-AGM-001; CA-009.3 |
| CT-AGM-BLQ-04 | Estado de CT-AGM-BLQ-02 (12:00, o bloqueio já terminou) | Observar o bloqueio e a linha de resumo | O 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 dois | Agenda 164 | RN-AGM-019; CA-009.6 |
| CT-AGM-BLQ-05 | Dr. 11 logado | Abrir a Agenda em sex, 25/09 (hoje+2) | Linha 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 11:30–13:30 "Bloqueado" · "Ala de consultórios em obras", sem informações complementares (uma clínica, sem unidade) | Agenda 165 | RN-AGM-019; CA-009.4; EX-AGM-03 |
| CT-AGM-BLQ-06 | Dr. 11 logado, Agenda em qui, 24/09 | Acionar "Próximo dia com consulta" (menu ⋮) e abrir o calendário de setembro | O atalho vai para **sáb, 26/09**, pulando 25/09 (só bloqueio). No calendário, 25/09 **não** tem o ponto de dia com consulta | Agendas 170, 165, 2 | RN-AGM-003; CA-009.4 |
| CT-AGM-BLQ-07 **(BD)** | Dr. 11, Agenda aberta hoje | Alterar `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 seguinte | Agenda 164 | RN-AGM-019; CA-009.7 |
| CT-AGM-BLQ-08 **(BD)** | Dr. 11, Agenda aberta hoje | Preencher `Agenda.RemovidoEm` e `UsuarioIdRemovido` do 164 (exclusão lógica); esperar a atualização automática; restaurar nulos | O bloqueio some da lista, sem ir para nenhum grupo. Volta depois de restaurar | Agenda 164 | RN-AGM-019; CA-009.7 |
| CT-AGM-BLQ-09 | Estado de CT-AGM-BLQ-01, leitor de tela | Navegar pela lista em modo de leitura | O 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 é anunciado | Agenda 169 | 02-Especificação, Acessibilidade do item de bloqueio; MSG-BAGM-20 |
| CT-AGM-BLQ-10 | Dr. 11 logado na **Central do Médico**, hoje | Observar 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 bloqueios | Agenda 164 | RN-CM-030, RN-AGM-019 |
| CT-AGM-BLQ-11 | Dr. 9, Agenda em 24/09, celular (<640px) | Observar o bloqueio | Sem avatar: o cadeado aparece antes do rótulo "Bloqueado", na mesma linha | Agenda 169 | 02-Especificação, Item de bloqueio |

---

## 7. Navegação por Dia

| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-NAV-01 | Dr. 11, Agenda em hoje | Tocar na seta "próximo dia" (›) duas vezes | 1º toque: qui, 24/09 (Roberto N. Alves, 13:30); 2º toque: sex, 25/09 (só o bloqueio 165, com "Nenhuma consulta neste dia." em texto discreto) — a seta não pula dias vazios nem dias só com bloqueio. O botão "Hoje" sai do estado ativo | — | RN-AGM-003; CA-002.1 |
| CT-AGM-NAV-02 | Estado final de CT-AGM-NAV-01 | Tocar 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-03 | Dr. 11, Agenda em hoje | Abrir o menu ⋮ | Itens: "Próximo dia com consulta" com **"qui, 24/09"** abaixo; "Dia anterior com consulta" com **"qua, 16/09"** abaixo; "Legenda dos ícones" | Agendas 170 (24/09), 111/85 (16/09) | RN-AGM-003; CA-002.2 |
| CT-AGM-NAV-04 | Dr. 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-05 | Dr. 9, Agenda em hoje | Abrir o menu ⋮ | "Próximo dia com consulta" · **"qui, 24/09"**; "Dia anterior com consulta" · **"sex, 18/09"** | Agendas 166–168, 117 | CA-002.2 |
| CT-AGM-NAV-06 | Dr. 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 acontece | Agenda 99 | CA-002.3 |
| CT-AGM-NAV-07 | Dr. 11, Agenda em hoje, desktop | Observar a barra do dia | Setas ‹ ›, 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-08 | Dr. 11, Agenda em hoje | Tocar na data | Calendário de setembro (bottom sheet no celular, painel no desktop) com os dois atalhos e suas datas no topo; ponto sob **9, 16, 23, 24, 26 e 30/09**; sem ponto em 25/09 (só bloqueio), nos dias vazios 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 dia | Agendas 112, 111/85, hoje, 170, 2, 123 | RN-AGM-003; CA-002.4 |
| CT-AGM-NAV-09 | Dr. 9, calendário aberto em setembro | Observar os pontos | Pontos em **2, 5, 8, 10, 18, 23, 24 e 30/09** | Agendas do Dr. 9 | CA-002.4 |
| CT-AGM-NAV-10 | `GET /days-with-appointments` e `GET /next-appointment-date` simulando falha | Abrir 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-11 | Agenda aberta no celular e no desktop | Abrir ⋮ → "Legenda dos ícones"; fechar com Esc; reabrir e fechar com o botão Fechar; reabrir e tocar fora | Lista, 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

| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-FUSO-01 | Aparelho no fuso de São Paulo; Clinica Gama com `FusoHorarioOficial = 'America/Sao_Paulo'` | Abrir a Agenda em qualquer dia | Primeira 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 lista | `ClienteEmpresa` da Clinica Gama (`CargaSegGlobal.xlsx`) | RN-AGM-018; CA-001.23; MSG-TAGM-09 |
| CT-AGM-FUSO-02 | Aparelho configurado no fuso de Londres; mesma clínica | Abrir 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-03 | Aparelho em Londres, hoje às 12:00 de São Paulo | Observar 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. 11 | `GET /day?date=` hoje | `timeZone = "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

| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/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 Richards | Registrar no banco a chegada de Yuki Tanaka (`DhChegadaUTC`, Agenda 87); esperar até 1 minuto | Yuki 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` nulo | Agenda 87 | RN-AGM-013; CA-001.11 |
| CT-AGM-ATU-02 **(BD)** | Dr. 11, Agenda hoje | Registrar o fim do atendimento de Beatriz (`Situacao='V'`, `DhAtendimentoFimUTC`, Agenda 103); esperar até 1 minuto | Beatriz sai da lista principal e entra no grupo de realizadas, que passa a "3 realizadas". Restaurar | Agenda 103 | RN-AGM-010, RN-AGM-013; CA-001.11 |
| CT-AGM-ATU-03 | Dr. 11, Agenda hoje carregada às 12:00 | Derrubar a conexão (ou o `GET /day`) e esperar a próxima atualização; rolar a lista | Os 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-04 | Estado de CT-AGM-ATU-03 | Restabelecer a conexão e esperar a próxima atualização | A faixa some sozinha (não há botão de fechar) | — | EX-AGM-09; CA-001.12 |
| CT-AGM-ATU-05 | Estado de erro de CT-AGM-LIS-12 (falha no carregamento inicial) | Esperar 2 minutos sem tocar em nada | A 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-06 | Dr. 11, Agenda hoje, devtools na aba Rede | Observar as requisições por 3 minutos | `GET /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

| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-UI-01 | Celular, largura 360px, Dr. 11 hoje | Medir a área fixa do topo e observar os itens | Cabeç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-02 | Desktop (≥640px), Dr. 11 hoje | Observar o item de Yuki Tanaka (14:00) | Exatamente **3 linhas**: "Yuki Tanaka · C56.3 - Câncer de ovários (bi)" + chip "Agendado"; "Presencial" + chip "INT.MED"; informações complementares (alfinete "Consultórios Norte", carteira "Cassi") | Agenda 87 | CA-001.17 |
| CT-AGM-UI-03 | Celular, Dr. 11 hoje | Observar 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 complementares | Agenda 62 | 02-Especificação, Item de consulta (celular) |
| CT-AGM-UI-04 | Desktop e celular, Dr. 9 hoje; depois o **Protótipo v3.0**, amanhã | Observar o item de Otávio B. Lima (13:00); no Protótipo, o item de Beatriz Mendes (08:00) | Otávio: os três diagnósticos completos ("C61 - Câncer de Próstata, C79.0 - Câncer da pelve renal (secundário), C41.4 - Câncer ósseo da pelve"), sem reticências — o que não cabe quebra para a linha de baixo —, com a tag ESPECIAL e "Clínica Gama › Consultórios Sul". Protótipo: três diagnósticos, ícone de 1ª Consulta, duas tags, complemento longo e as quatro informações complementares completos | Agenda 132 (PEP 1109, 1125, 1126); mock do Protótipo | CA-001.18 |
| CT-AGM-UI-05 | Aparelho em modo escuro, tema "Automático" | Abrir a Agenda; no menu do avatar, escolher "Claro"; fechar e reabrir a Agenda no mesmo aparelho | Abre 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-06 | Tema escuro, Dr. 9 hoje com os dois grupos expandidos | Medir contraste (ferramenta de acessibilidade) de chips de status, tags, sinalizadores, informações complementares, linha do fuso e bloqueio | Texto ≥ 4,5:1 com o fundo; elementos não textuais ≥ 3:1 | — | CA-001.20 |
| CT-AGM-UI-07 | Leitor de tela, Dr. 11 hoje | Navegar 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 PEP | Agenda 62 | CA-001.21 |
| CT-AGM-UI-08 | Qualquer largura | Medir o botão "Hoje" e o contraste no estado ativo | Altura ≥ 44px; no estado ativo, texto/fundo ≥ 4,5:1; `aria-current="date"` | — | CA-001.22 |
| CT-AGM-UI-09 | Celular | Medir os alvos de toque (setas, ⋮, "Hoje", dias do calendário, itens) | Todos com pelo menos 44×44px | — | 02-Especificação, Premissa de design |
| CT-AGM-UI-10 | Desktop, Dr. 11 hoje com os dois grupos expandidos, tema "Claro" | No menu do avatar, trocar para "Escuro" e de volta para "Claro", sem recarregar | Chips e avatares mudam de cor na hora, sem nova chamada ao servidor (ferramenta de rede: nenhuma requisição a `/day` provocada pela troca). Iniciais do avatar sempre em `neutral-darker` (escuras no claro, claras no escuro) sobre o fundo do status; chip com o par de cores do status | — | Design System, seção 4 |

---

## 11. Cabeçalho e Busca

| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-CAB-01 | Dr. 11, Agenda aberta | Digitar "Rob" no campo de busca do cabeçalho e selecionar o resultado | Mesmo comportamento da Central (CT-BUSCA-01 a 07): após 1s, retorna Roberto Nascimento Alves (19); ao selecionar, abre o PEP dele | — | RN-AGM-014; CA-001.13 |
| CT-AGM-CAB-02 | Desktop e celular | Observar o cabeçalho | Mesma 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

| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-API-01 **(API)** | Token do Dr. 11 | `GET /day?date=` hoje | 200. `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 }`, sem campo de unidade. Nenhum dado de paciente no bloqueio, e o bloqueio **não** aparece em `appointments` | Agendas de hoje do Dr. 11 | RN-AGM-019; 02-Especificação, `GET /day`; 04-Mapeamento 4.1 |
| CT-AGM-API-02 **(API)** | Token do Dr. 9 | `GET /day?date=` hoje+1 | `blocks` com `{ id: 169, startTime: "12:00", endTime: "13:00", reason: "Reunião da equipe multidisciplinar", clinic: "Gama Norte" }`; em `appointments`, 167 com `classification = { name: "Retorno", subName: "No prazo" }`, 168 com `{ name: "Normal", subName: null }` e `unit: null`, 166 com `unit: null` e `clinic: "Gama Norte"` | Agendas 166–169 | 04-Mapeamento 4.1 |
| CT-AGM-API-03 **(API)** | Token do Dr. 11 | `GET /day?date=` hoje e conferir `insurance` e `delayMinutes` | `insurance` 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. 11 | `GET /day` sem `date`; com `date=2026-13-40` | 400 nos dois casos | — | 02-Especificação, Códigos |
| CT-AGM-API-05 **(API)** | Token do Dr. 11 | `GET /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-24, 09-26, 09-30, em ordem (sem 09-25, que só tem o bloqueio 165). 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. 11 | `GET /next-appointment-date?direction=next&from=` hoje; `direction=previous&from=2026-09-09`; `direction=next&from=2026-11-27` | `"2026-09-24"`; `"2026-08-27"`; `null` | — | 04-Mapeamento 4.3 |
| CT-AGM-API-07 **(API)** | Sem token | Chamar os três endpoints | 401 | — | — |
| 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 agenda | Um 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 |
| CT-AGM-API-09 **(API)** | Token do Dr. 11; tabelas `DomEstadoAgendaConsulta` e `TermoTraducao` carregadas | `GET /day?date=` hoje; conferir `status` das consultas 107 (cancelada) e de uma Recepcionada | `status` é objeto: `domain` (`canceled`; `checked`), `name` traduzido no idioma da clínica e `colors` com `light` e `dark`, cada um com `background` e `text`. Cancelada: `#E5EAF0`/`#526A90` e `#262F47`/`#9AA9C2`; Recepcionada: `#B7E3FF`/`#004D7A` e `#364458`/`#B7E3FF` — os valores de `DomEstadoAgendaConsulta` para `X` e `G` | Agenda 107 | 02-Especificação, `GET /day`; 04-Mapeamento 4.1; Design System, seção 4 |
| CT-AGM-API-10 **(BD)** | Token do Dr. 11 | Deixar `CorEscuroFundo` NULL para `CodEstado = 'X'`; `GET /day?date=` hoje; abrir a Agenda e expandir canceladas; restaurar o valor | O `status` das canceladas vem **sem** `colors`; na tela, o chip "Cancelado" aparece no chip neutro (fundo `neutral-light`, texto `neutral-darker`) e o avatar com o mesmo fundo neutro; os textos continuam riscados | Agendas 107, 109 | 04-Mapeamento 4.1 (`colors` só com as quatro colunas) |

---

## 13. Idioma e Mensagens

| ID | Pré-condição | Passos | Resultado Esperado | RN/SBIS Relacionada |
|---|---|---|---|---|
| CT-AGM-MSG-01 | Interface em pt-BR | Provocar cada estado durante as Seções 2 a 12 e conferir o texto | Cada texto bate **exatamente** com o catálogo da 02-Especificação v3.0: 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ário | SBIS ECF.17.19 |
| CT-AGM-MSG-02 | Interface em pt-BR | Percorrer rótulos de status, modo e botões | Status: Agendado, Aguardando recepção, Recepcionado, Em atendimento, Finalizado, Cancelado. Modo: Presencial, Teleatendimento, Customizado | SBIS ECF.17.18 |

---

## 14. Matriz de Rastreabilidade

| Área | Casos | RN cobertas | CA / EX cobertos | SBIS | Cobertura |
|---|---|---|---|---|---|
| Lista e item | CT-AGM-LIS-01 a 14 | RN-AGM-002, 007, 009 | CA-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 |
| Resumo, AGORA, rolagem, atraso | CT-AGM-RES-01 a 13 | RN-AGM-009, 010, 013 | CA-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 complementares | CT-AGM-CTX-01 a 11 | RN-AGM-002, 008, 017 | CA-001.4, CA-008.1 a 008.7, 008.9 | ECF.05.04 | Completo com a carga real; CTX-11 exige alterar o acesso no banco |
| Tags e 1ª Consulta | CT-AGM-TAG-01 a 15 | RN-AGM-006, RN-CM-028 | CA-001.2, CA-001.8, CA-001.24 | — | Tags do cadastro e do prontuário; vigência da atribuição no dia exibido com dado real (TAG-04, 06) e por alteração no banco (TAG-05, 10); vigência da própria tag (TAG-09); VIP sem exceção (TAG-08, 11); fim de atribuição com dado real (TAG-11, 13); tag nas duas origens (TAG-12); ordem dos chips por grupo (TAG-15) |
| Bloqueios | CT-AGM-BLQ-01 a 11 | RN-AGM-001, 003, 019; RN-CM-030 | CA-009.1 a 009.7; EX-AGM-03 | ECF.05.02 (exibição) | Sem motivo (164), com motivo e clínica (169), com motivo e sem clínica (165); dia só com bloqueio com dado real (165 em 25/09) |
| Navegação | CT-AGM-NAV-01 a 11 | RN-AGM-003 | CA-002.1 a 002.6, CA-008.8; EX-AGM-06 | — | Completo; NAV-10 exige simular falha |
| Fuso | CT-AGM-FUSO-01 a 04 | RN-AGM-018 | CA-001.23 | — | Fuso da carga: `America/Sao_Paulo` |
| Atualização e conexão | CT-AGM-ATU-01 a 06 | RN-AGM-013 | CA-001.11, CA-001.12; EX-AGM-02, EX-AGM-09 | — | ATU-03 a 05 exigem simular falha |
| Layout, tema, acessibilidade | CT-AGM-UI-01 a 10 | — | CA-001.16 a 001.22 | — | UI-04: três diagnósticos com a carga real; combinação completa só no Protótipo |
| Cabeçalho e busca | CT-AGM-CAB-01, 02 | RN-AGM-014 | CA-001.13 | ECF.03.11, ECF.03.14 | Busca coberta pelos casos da Central |
| Endpoints | CT-AGM-API-01 a 10 | RN-AGM-003, 009, 018, 019 | — | NGS1.07.03/04 | API-08 não executável até existir a trilha de auditoria; API-10 exige alterar `DomEstadoAgendaConsulta` e restaurar |
| Idioma e mensagens | CT-AGM-MSG-01, 02 | — | — | ECF.17.18, ECF.17.19 | Só pt-BR |

**Cobertura dos critérios de aceitação:** 52/52 (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.9, CA-009.1 a 009.7). **Fluxos de exceção:** 4/4 (EX-AGM-02, 03, 06, 09). **Total:** 109 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:** nenhuma em aberto. As três levantadas na v1.0 foram decididas — ver Histórico, v1.1 e v1.2.

---

## 15. Histórico de Versões

- **v3.0** (29/10/2026) — Abertura da versão 3.0, a pedido do solicitante: "Vou mandar essas mudanças para desenvolvimento e fechamos nova versão. Depois que gerar o documento, abrimos uma nova versão a partir de então." **A série 2 fecha na v2.1, que vai para desenvolvimento:** 01-Definição v2.1, 02-Especificação v2.1, 03-Protótipo v2.1 (`.md` + `.html`), 04-Mapeamento de BD v2.1 e Cenários de Teste v2.1, em `Histórico/`, sem alteração. O que mudou da base anterior (Definição v1.16, Especificação v1.19, Protótipo v1.14, Mapeamento v1.9, Cenários v1.6) até a v2.1 está em `Para Desenvolvedores/Agenda do Médico - mudanças da v2 - guia para desenvolvimento.md`; o que mudar a partir daqui entra também em `Para Desenvolvedores/Agenda do Médico - mudanças da v3 - guia para desenvolvimento.md`. O que a QA precisa saber: (1) **para testar a versão que vai para desenvolvimento agora, use os Cenários de Teste v2.1** (109 casos, em `Histórico/`); os Cenários v1.6 continuam valendo para a versão anterior; (2) este documento, a partir da v3.0, vale para a próxima versão de desenvolvimento; (3) nesta abertura, as referências do corpo ao Protótipo (Pendências de Massa de Dados e CT-AGM-UI-04) e ao catálogo de mensagens (CT-AGM-MSG-01), que tinham ficado em v2.0, passam a apontar a v3.0 — o mock e o catálogo usados nesses casos não mudaram. Nenhum caso novo; 109 casos.
- **v2.1** (28/10/2026) — nome "Aguardando recepção", como cadastrado em `TermoTraducao` (antes "Aguardando Recepção"; D-CM-084). Acompanha a Central do Médico v5.17 (Registro de Decisões v1.16, D-CM-084).
- **v2.0** (27/10/2026) — Abertura da versão 2.0, a pedido do solicitante: "a agenda do médico foi para desenvolvimento na versão dos documentos: 01.Definição (v1.6); 02.Especificação (v1.19); 03.Prototipo (v1.14); 04.Mapeamento de BD (v1.9); Cenários de teste (v1.6) [...] Precisamos congelar a versão e iniciar a v2 para não termos confusão com as mudanças". A Definição desenvolvida é a v1.16 ("v1.6" no pedido): é a que acompanha a Especificação v1.19, o Protótipo v1.14 e o Mapeamento v1.9 nos cabeçalhos desses arquivos. **Base de desenvolvimento, congelada:** 01-Definição v1.16, 02-Especificação v1.19, 03-Protótipo v1.14 (`.md` + `.html`), 04-Mapeamento de BD v1.9 e Cenários de Teste v1.6, em `Histórico/`, sem alteração. A série 2.x reúne o que muda depois dela, para a próxima versão de desenvolvimento. O que a QA precisa saber: (1) **para testar a versão em desenvolvimento, use os Cenários de Teste v1.6** (105 casos, em `Histórico/`); (2) este documento, a partir da v2.0, vale para a próxima versão de desenvolvimento; (3) casos novos ou alterados depois da v1.6, que **não** valem para a versão em desenvolvimento: CT-AGM-CTX-11 (v1.7, agendas de clínica sem acesso), CT-AGM-RES-02 reescrito, CT-AGM-API-09, API-10 e UI-10 (v1.8, `status` como objeto, cores da API, Cancelado cinza com textos riscados) e o nome "Em atendimento" (v1.9); (4) nesta abertura, as referências do corpo ao Protótipo (Pendências de Massa de Dados e CT-AGM-UI-04, que diziam v1.14) e ao catálogo de mensagens (CT-AGM-MSG-01, que dizia Especificação v1.19) passam a apontar a v2.0 — o mock e o catálogo usados nesses casos não mudaram. Nenhum caso novo; 109 casos.
- **v1.9** (27/10/2026) — Acompanha 02-Especificação v1.22, 03-Protótipo v1.16 e 04-Mapeamento v1.12: nome "Em atendimento", como cadastrado em `TermoTraducao` (antes "Em Atendimento"; D-CM-082, Central do Médico). Nenhum caso novo; 109 casos.
- **v1.8** (27/10/2026) — Acompanha 02-Especificação v1.21, 03-Protótipo v1.15 e 04-Mapeamento v1.11: cores de status vindas da API e Cancelado com textos riscados. O que a QA precisa saber: (1) o chip "Cancelado" é cinza preenchido (antes, contorno) e, no item cancelado, **todos os textos ficam riscados, exceto o chip** (antes, só o horário) — CT-AGM-RES-02 atualizado; o avatar não é riscado; (2) as iniciais do avatar são sempre `neutral-darker` sobre o fundo do status; (3) `status` no `GET /day` passa a objeto `{ domain, name, colors }` — casos novos CT-AGM-API-09 (valores) e CT-AGM-API-10 (status sem `colors` → chip neutro; exige alterar `DomEstadoAgendaConsulta` e restaurar); (4) caso novo CT-AGM-UI-10 (troca de tema sem recarregar). As cores esperadas são as do Design System, seção 4, e devem bater com `DomEstadoAgendaConsulta` (`IpTerminologia`), tabela criada em 27/10/2026. **Total:** 109 casos.
- *(sincronização, 26/10/2026)* — sem mudança de conteúdo deste documento; apenas a linha de cabeçalho atualizada para apontar 01-Definição v1.18 (RN-AGM-002 corrigida: o médico sem acesso à clínica perde as agendas dela, não o acesso ao paciente, D-CM-070).
- **v1.7** (26/10/2026) — Acompanha 01-Definição v1.17, 02-Especificação v1.20 e 04-Mapeamento v1.10: a Agenda passa a filtrar pelas clínicas a que o médico tem acesso (D-CM-068). 1 caso novo, CT-AGM-CTX-11 (retirar o acesso do Dr. 9 à Gama Norte, no banco, e conferir que as agendas 166 e 169 somem); usa dados que já existem na carga. Escopo (seção 1) ajustado. **Total:** 106 casos. Cobertura: 52/52 CA, 4/4 EX.
- **v1.6** (14/10/2026) — Revisão do documento contra a carga atual (`CargaCMZero.xlsx` relida em 14/10/2026) e o Cenários de Teste da Central do Médico v5.5, a pedido do solicitante. O que a QA precisa saber:
	1. **Tag nova na carga: C.PI** (`ProgramaApoio` 8, "Paciente paga o tratamento integral", `#AED1F6`, administrativa, `MostrarEm = 38`, aparece em agendas), atribuída no cadastro a Carmen Garcia (14) desde 25/07/2026, sem fim. Mudam: Carmen passa a mostrar **IC e C.PI** em CT-AGM-RES-03 e TAG-09 (no passo 3 de TAG-09 ela perde só o IC); na Massa, C.PI entra entre as tags exibidas e "PARTIC" sai da lista das que não aparecem (a sigla não existe mais na carga). **Caso novo CT-AGM-TAG-15:** ordem dos chips — assistenciais antes das administrativas, alfabética dentro de cada grupo (regra da Central, RN-CM-025, que RN-AGM-006 manda seguir).
	2. **CT-AGM-CTX-03:** Helena (24/09) passa a listar a tag ANTICOAG, que já constava em TAG-13 e TAG-14 e faltava aqui.
	3. **CT-AGM-CTX-07:** passa a usar a Gama Norte, que não tem classificação cadastrada — a situação de CA-001.4. O Dr. 11 hoje continua conferido (a Clínica Gama usa classificação, mas nenhuma agenda do dia tem).
	4. **CT-AGM-BLQ-12 retirado:** foi criado para o bloqueio 165 em 30/09; com o bloqueio em 25/09 (v1.4), 30/09 não tem bloqueio e o caso não testava mais nada de bloqueio (30/09 continua coberto por NAV-08 e API-05). O ID não é reaproveitado.
	5. **Massa:** a agenda 170 (Roberto, Dr. 11) estava listada entre os bloqueios; passa para "Agendas de amanhã".
	6. **Busca da Central:** referência atualizada para CT-BUSCA-01 a 07 (Fora de escopo e CT-AGM-CAB-01).
	- Conferidos contra a carga, sem mudança: listas e resumos de hoje dos Drs. 11 e 9 e dos dias 24/09, 25/09, 26/09, 30/09 e 10/10; status calculados; unidades, convênios, classificações e diagnósticos; tags dos demais casos; dias com consulta (NAV-03 a 09, API-05, API-06); bloqueios 164, 165 e 169 (situação ativa, sem exclusão).
	- **Total:** 105 casos (1 novo: TAG-15; 1 retirado: BLQ-12). Cobertura inalterada: 51/51 CA, 4/4 EX.
- **v1.5** (13/10/2026) — Agenda nova na carga: **170** — Dr. 11, qui, 24/09 13:30–13:45, Roberto N. Alves (19), Consultórios Sul, Sulamérica, Teleatendimento, "Retorno › No prazo". O que a QA precisa saber:
	1. **CT-AGM-TAG-14 deixa de alterar o banco:** em 24/09 Roberto aparece **sem** ANTICOAG (atribuição encerrada em 23/09) e Helena **com** (sem fim) — mesmo dia, mesma tag ainda vigente, a diferença é só o fim da atribuição ao paciente.
	2. **O Dr. 11 passa a ter consulta em 24/09.** Mudam: o próximo dia com consulta a partir de hoje passa a ser **qui, 24/09** (CT-AGM-NAV-03, API-06); 24/09 ganha ponto no calendário e entra em `days-with-appointments` (NAV-08, API-05); NAV-01 mostra Roberto no 1º toque; BLQ-06 parte de 24/09 (o atalho vai para 26/09, pulando 25/09, só com bloqueio); o estado vazio de LIS-14 passa a usar dom, 27/09, com o botão "Próximo dia com consulta · qua, 30/09".
	- **Total:** 105 casos, sem casos novos.
- **v1.4** (13/10/2026) — Ajustes do solicitante na carga. O que a QA precisa saber:
	1. **ANTICOAG com dois comportamentos:** Roberto N. Alves (19) tem a atribuição encerrada hoje (PEP 1127, `DataFimUTC = 23/09/2026`) — testa o **fim da atribuição ao paciente**; Helena Duarte Costa (21) não tem data de fim (PEP 1128) — testa a **vigência da própria tag**, que termina em 01/10/2026. **CT-AGM-TAG-13 muda de resultado:** Helena aparece **com** ANTICOAG também em 24/09 (antes: sem); continua sem em 10/10. **Caso novo CT-AGM-TAG-14** (Roberto: com hoje, sem em 28/10 mesmo com a tag prorrogada temporariamente no banco).
	2. **Motivo do bloqueio 169 corrigido** na carga ("Reunião da equipe multidisciplinar") — pendência retirada.
	3. **Diagnóstico de Beatriz A. Lima (20):** o PEP 1101 passa a começar em 01/09/2026 — o diagnóstico aparece hoje sem depender de regra pendente; pendência retirada.
	4. **Bloqueio 165 do Dr. 11 em sex, 25/09** (antes 30/09): 25/09 vira **dia só com bloqueio** com dado real. CT-AGM-BLQ-05 e BLQ-06 deixam de ser (BD) e rodam direto; BLQ-12 (30/09) agora mostra só Reed Richards; LIS-14, NAV-01, NAV-08 e API-05 ajustados (25/09 sem ponto no calendário e fora de `days-with-appointments`).
	- **Total:** 105 casos (1 novo: TAG-14). Cobertura inalterada: 51/51 CA, 4/4 EX.
- **v1.3** (09/10/2026) — Massa criada pelo solicitante e uma decisão de regra. O que a QA precisa saber:
	1. **A massa complementar proposta saiu do documento** — o solicitante criou a massa real. Mudou de nome e de conteúdo; use os IDs reais: agendas **166** (Helena, Gama Norte), **167** (Marcelo, Retorno › No prazo, Customizado), **168** (Alejandro, Normal, Teleatendimento — era sem modo definido na proposta), bloqueio **169** (Dr. 9, 24/09, Gama Norte) e bloqueio **165** (Dr. 11, 30/09, "Ala de consultórios em obras"). As classificações reais são **Normal** e **Retorno › No prazo / Fora do prazo** (a proposta citava "Quimioterapia › Ciclo 2" e "Seguimento"). A unidade de consultas da Gama Norte chama-se "Consultórios". O dia só com bloqueio (antes B111, 25/09) não existe na carga: CT-AGM-BLQ-05 e 06 passam a mover o bloqueio 165 por alteração no banco. CT-AGM-CTX-03, API-02, BLQ-01, NAV-01/05/08, LIS-14 e API-05 reescritos.
	2. **Tabelas do IpSeguranca** (clínicas, vínculos, acessos) agora estão em `Infra-estrutura/CargaSegGlobal.xlsx`, compartilhada entre as funcionalidades.
	3. **VIP sem exceção** (decisão do solicitante: a exceção vinha do campo `Paciente.PacienteVip`, desconsiderado). A VIP segue as mesmas regras das demais tags. **CT-AGM-TAG-08 inverte o resultado:** Sophia em 29/08 aparece **sem** VIP.
	4. **Dia do fim conta inteiro:** uma atribuição que termina num dia vale para aquele dia inteiro (mesma regra do dia de início).
	5. **Casos novos:** TAG-11 (VIP de John Smith com fim hoje: aparece hoje, não em 30/09), TAG-12 (IC de Beatriz nas duas origens aparece uma vez), TAG-13 (ANTICOAG de Helena: hoje sim, 24/09 e 10/10 não), BLQ-12 (bloqueio com motivo do Dr. 11 em 30/09). Resultados atualizados: Roberto (realizadas hoje) com INT.MED e ANTICOAG; Helena (cancelada hoje) com ANTICOAG; Otávio com três diagnósticos (CT-AGM-UI-04 passa a usar a carga).
	6. **Pendências novas na carga:** `PEP.DataFimUTC` vazio nos PEP 1127/1128 (o fim do ANTICOAG em 23/09 não está gravado); erro de digitação no motivo do bloqueio 169 ("Reunão"); diagnóstico de Beatriz num PEP que começa em 01/10, sujeito à pendência 2 do Mapeamento.
	- **Total:** 104 casos (4 novos). Cobertura inalterada: 51/51 CA, 4/4 EX. Referências atualizadas para 01-Definição v1.16, 02-Especificação v1.19 e 04-Mapeamento de BD v1.8.
- *(sincronização, 09/10/2026)* — sem mudança de conteúdo deste documento; apenas a linha "Versão de referência da especificação" atualizada para apontar o Mapeamento de BD v1.7.
- **v1.2** (08/10/2026) — Decisões do solicitante e correções na carga. O que a QA precisa saber:
	1. **Vigência de tag com hora:** um período que começa (ou termina) em qualquer hora de um dia vale para o dia inteiro. A carga foi ajustada para mostrar isso: o INT.MED de Yuki Tanaka (PEP 1107) começa **hoje às 11:56** — Yuki aparece **com** INT.MED hoje, desde a abertura da tela, e sem a tag em 16/09. CT-AGM-TAG-04 reescrito; CT-AGM-LIS-01 (item 6) e CT-AGM-UI-02 voltam a mostrar o chip INT.MED.
	2. **Tag repetida nas duas origens:** improvável — tags assistenciais (`ProgramaApoio.Finalidade = 'A'`) só no prontuário, administrativas (`'D'`) só no cadastro; se acontecer, aparece uma vez. Sem CT.
	3. **VIP:** vem do cadastro (`ProgramaApoioPaciente`), como as outras tags administrativas, e é sempre exibida. `Paciente.PacienteVip` é desconsiderado por enquanto. CT-AGM-TAG-08 deixa de depender de pendência.
	4. **Carga corrigida:** `FusoHorarioOficial = 'America/Sao_Paulo'` (sem acento) e bloqueio 164 sem unidade. Pendência de massa do fuso retirada.
	5. **Texto dos atalhos:** o solicitante decidiu que não é preciso explicar ao médico o dia só com bloqueio ("se não vai trabalhar no dia, não interessa se tem ou não bloqueio"). A Especificação fica como está; CT-AGM-BLQ-06 e API-05 continuam valendo pela regra. Nenhuma lacuna em aberto.
	- **Total:** 100 casos, sem casos novos. Referências atualizadas para 02-Especificação v1.18 e 04-Mapeamento de BD v1.6.
- **v1.1** (08/10/2026) — Decisões do solicitante sobre as lacunas da v1.0 e correções na carga. O que a QA precisa saber, sem abrir outros documentos:
	1. **Tags do prontuário aparecem na agenda.** Além das tags atribuídas no cadastro (`ProgramaApoioPaciente`), aparecem as atribuídas no prontuário (`PEPProgramaApoioPaciente`). Vigências, todas avaliadas no dia exibido: a da própria tag em `ProgramaApoio.DataInicio`/`DataFim`; a da atribuição em `ProgramaApoioPaciente.DataInicio`/`DataFim` (cadastro) ou em `PEP.DataInicioUTC`/`DataFimUTC` (prontuário). Isso muda um resultado: **Yuki Tanaka hoje não tem INT.MED** (o registro de PEP 1107 começa em 25/09/2026 11:56) — CT-AGM-LIS-01 e CT-AGM-UI-02 corrigidos.
	2. **VIP é sempre exibida** (RN-AGM-006, exceção à vigência). A v1.0 testava a vigência do VIP (Sophia em 29/08, John Smith com data de fim), o que contraria a regra. **CT-AGM-TAG-04, 05 e 06 reescritos** com INT.MED de Yuki e de Maria Silva (atribuições do prontuário com início conhecido); o caso de Sophia em 29/08 virou **CT-AGM-TAG-08** com o resultado oposto (VIP aparece), ainda dependente da origem do VIP, em aberto. **Casos novos:** TAG-09 (fim de vigência da própria tag, IC) e TAG-10 (registro de PEP excluído logicamente).
	3. **Bloqueio não tem unidade.** O item de bloqueio mostra só a clínica (quando o médico tem mais de uma); `blocks` não tem mais campo de unidade. CT-AGM-BLQ-01, BLQ-02, API-01 e API-02 e o detalhamento de LIS-01 corrigidos; B101 da massa complementar sem unidade.
	4. **Carga corrigida pelo solicitante:** Clinica Gama com idioma pt-BR e fuso preenchido (ajustes da massa complementar retirados); diagnóstico de Yuki Tanaka agora "C56.3 - Câncer de ovários (bi)". O diagnóstico de Reed Richards é "C64 - Câncer de rins", como na carga — confirmado pelo solicitante. **Achado nesta conferência:** o fuso foi gravado como `America/São_Paulo`, com acento; o identificador correto é `America/Sao_Paulo` (nova pendência de massa).
	- **Total:** 100 casos (3 novos: TAG-08, 09, 10). Cobertura inalterada: 51/51 CA, 4/4 EX. Referências atualizadas para 01-Definição v1.15, 02-Especificação v1.17, 03-Protótipo v1.14 e 04-Mapeamento de BD v1.5. Continua em aberto só a lacuna do texto dos atalhos na Especificação.
- **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.
