Cenários de Teste — Central do Médico (Cockpit)

Funcionalidade: [DOC-004] Central do Médico (Cockpit) Documentos desta funcionalidade: 01 - Definição (v6.0) · 02 - Especificação (v6.0) · 03 - Protótipo (v6.0, código executável em 03 - Protótipo v6.0.html) · 04 - Mapeamento de Banco de Dados (v6.0) · 05 - Registro de Decisões (v1.20) · Cenários de Teste (v6.0) Versão de referência da especificação: 01-Definição v6.0 / 02-Especificação v6.0 / 03-Protótipo v6.0 / 04-Mapeamento de BD v6.0 / 05-Registro de Decisões v1.20 Autor: Marcos Arao, para uso da equipe de QA do Gemed 2.1 Massa de dados de referência: CargaCMZero.xlsx (entregue junto com este documento, já com Tags e Equipes de mensageria) — ver “Pendências de Massa de Dados” abaixo para o que ainda está em aberto. Script complementar: ScriptComplementarvCM.sql (na mesma pasta deste documento) — Script complementar para criação de bancos de testes automatizados da pipeline. Data-base dos testes: 23/09/2026 12:00. Todas as datas relativas deste documento (“hoje”, “hoje+N”, “X dias atrás/à frente”) giram em torno desse instante — inclusive as datas absolutas de calendário citadas na Massa de dados (Agenda, Prescrição, planos terapêuticos). A CargaCMZero.xlsx recalcula essas datas a cada carga (script UPDATE DATAS, relativo a GETDATE()); se a massa for recarregada em outro dia, os valores absolutos abaixo se deslocam junto e precisam ser reconferidos contra a nova data-base.


1. Escopo

Este documento cobre a homologação funcional da Central do Médico (Cockpit), conforme [DOC-004]: KPI Bar (4 indicadores clicáveis) e os 4 painéis do grid — Consultas, Prescrições Pendentes, Mensagens e Pacientes em procedimento — além da Busca Inteligente de pacientes e das verificações transversais de exceção, tema e acessibilidade (Seção 9). Os resultados esperados estão em português do Brasil, idioma da certificação SBIS (D-CM-036); en-US e es-419 aparecem só onde há texto próprio a conferir (CT-PRES-17, CT-PROC-12 e CT-MSG-21).

Fora de escopo deste documento: Agenda do Médico (DOC-006, tela dedicada, com documentação própria) e o fluxo de Agendamento da Recepção (não mapeado no projeto). Cenários aqui tratam apenas do que a Central do Médico exibe/consome desses dados.

Nota de nomenclatura: o painel chamado “Comunicação” nesta massa/rodada de testes é o mesmo painel que a Especificação (02) chama de “Mensagens” — este documento usa “Mensagens” para ficar consistente com a Especificação vigente; a Seção 6 cobre exatamente os mesmos casos que estariam sob “Comunicação”.

Cada seção traz uma tabela de casos (ID, Pré-condição, Passos, Resultado Esperado, Dados de Teste, RN Relacionada). Quando o resultado esperado envolve múltiplos itens — vários cards ou pacientes na mesma tela —, a tabela mostra um resumo e o detalhamento completo (lista item a item) fica na subseção “Detalhamento” logo abaixo da tabela da seção.

Endpoints envolvidos (referência)

EndpointPainel/KPI
GET /api/v1/patients/searchBusca Inteligente
GET /api/v1/cockpit/doctor/kpis/appointments-todayKPI Consultas Hoje
GET /api/v1/cockpit/doctor/kpis/in-treatmentKPI Em Tratamento
GET /api/v1/cockpit/doctor/kpis/procedures-todayKPI Procedimentos Hoje
GET /api/v1/cockpit/doctor/kpis/prescription-alertsKPI Alertas de Prescrição
GET /api/v1/cockpit/doctor/appointmentsPainel Consultas
GET /api/v1/cockpit/doctor/prescriptionsPainel Prescrições Pendentes
GET /api/v1/cockpit/doctor/conversationsPainel Mensagens
GET /api/v1/cockpit/doctor/proceduresPainel Procedimentos

Massa de dados criada para estes testes

  • Médicos: IdChProfissional 11 (Craig Evans, especialidade Oncologista) e 9 (Gilliard Onório Santos, especialidade Cirurgião Oncológico).
  • Pacientes: IdPaciente 3,4,6,9,12,14,21,22,24 (vinculados ao Dr.9) e 1,7,10,13,19,20,23 (vinculados ao Dr.11), todos com convênio próprio cadastrado.
  • Agendas: IdPaciente 2,3,4,6,9,12,14,21,22,24 agendados ao Dr. 9; 1,4,6,7,8,10,13,19,20,23 agendados ao Dr.11.
  • Agenda de hoje: 21 registros, distribuídos entre os dois médicos (11 do Dr.9 e 10 do Dr.11), cobrindo 7 dos 9 estados do domínio Agenda.Situacao (A=Aberta, V=Confirmada, D=Cancelada pelo paciente, M=Cancelada pelo médico, F=Falta, I=Cancelado por internação, T=Transferido) — cancelamentos representados de forma genérica, sem necessidade de cobrir cada subtipo (C=Cancelada pelo usuário e O=Cancelada por óbito não ocorrem hoje nesta massa).
  • Agenda passada: majoritariamente confirmadas/realizadas (V), com algumas canceladas (ocorrências de C/D/F) — de 5 dias a mais de um ano atrás; a maior parte dentro de 60 dias, com uma série histórica mais longa do paciente 1 (até ~420 dias) simulando um tratamento de longa duração.
  • Agenda futura: todas em estado Agendado (A), de 3 a 65 dias à frente.
  • Agenda 164: registro de bloqueio de horário — o tipo de registro que a Recepção grava na agenda do médico (RN-CM-030; Agenda do Médico, RN-AGM-019) — na agenda do Dr. 11 (IdChRecurso=11), hoje 08:00–08:45 (TipoAgenda='C'), vinculado ao paciente reservado “BLOQUEIO” (IdPaciente=0, Paciente.Paciente='B') — cobre RN-CM-030 (CT-KPI-07, CT-CONS-10). A massa não registra quem criou o bloqueio (IdUsuario=0); o que os casos testam é o paciente reservado.
  • Fotos de paciente: seguem a convenção {IdPaciente com 12 dígitos}.png/.jpg (ex.: 000000000020.png); alguns pacientes de propósito não têm foto (ex.: paciente 23, 24) — usar para validar o avatar/placeholder de fallback.
  • **Plano terapêutico completo 1 — Paciente 19 (Roberto Nascimento Alves), Dr. 11, protocolo NIVOLUMAB + IPILIMUMAB, C1D1 em 23/07/2026 até C5D1 em 15/10/2026: todas as 5 prescrições do ciclo geradas (C1-C3 finalizadas, C4 é hoje, C5 futura), cada uma com sua Agenda de quimioterapia correspondente.
  • **Plano terapêutico completo 2 — Paciente 21 (Helena Duarte Costa), Dr. 9, protocolo DOCETAXEL + CARBOPLATINA, C1D1 em 18/08/2026, programação de 6 ciclos: apenas as prescrições até o próximo ciclo foram geradas (C1-C2 finalizadas, C3 é o próximo ciclo) — as demais (C4-C6) existem só na programação (PEPProjetoTerapeuticoProtocoloP), sem prescrição ainda gerada.
  • **Plano terapêutico completo 3 — Paciente 8 (Yuki Tanaka), Dra. 8, protocolo PACLITAXEL + CARBOPLATINA, C1D1 em 27/08/2026, programação de 6 ciclos: todos prescritos, com médico prescritor o Dr.11, agendas até o ciclo 4.
  • Prescrições avulsas baseadas em protocolo (sem plano terapêutico formal) para os pacientes 20, 22, 23 e 24 — protocolos Ácido Zoledrônico e Prescrição Livre; na data-base, nenhuma está finalizada ou cancelada — a maioria está futura, uma em curso (paciente 22, ciclo 1). Paciente 1 tem tratamento NIVOLUMAB + IPILIMUMAB e NIVOLUMAB sem plano terapêutico.
  • Pacientes 16 (Isabella Santos, Dr. 11) e 18 (Elena Volkov, Dr. 9) cobrem com dado real a Precedência 2 de RN-CM-020 (“a revisar”) no caminho “já revisada”: prescrição já assinada (par legado DataAssinaturaPrescricao/IdChProfissionalAssinou) e já revisada (PrescricaoAssinatura.TipoAssinatura='R'). Cada paciente tem 6/4 prescrições GENCITABINA/CISPLATINA em ciclos, sem vínculo a PrescricaoProtocolo (não entram em “Não aderentes”); a prescrição do ciclo de hoje de cada um (77/Isabella, 82/Elena) tem TipoAssinatura='R' datada de antes da data-base (23/09/2026) — na data-base, já revisada, não aparece em nenhuma lista do painel de Prescrições Pendentes (ver Seção 4). Ambos têm Agenda de quimioterapia hoje (158/Isabella 16:00, 163/Elena 08:00), com efeito nos KPIs “Em Tratamento” e “Procedimentos Hoje” e no painel Pacientes em procedimento (Seções 2 e 5).
  • Tags de Atenção (RN-CM-025): domínio real em ProgramaApoio, 8 tags (sigla e cor do cadastro entre parênteses) — VIP (VIP, #80FF38, verde), Linha de Cuidados (LC, #FFD6D1), Uso de Anticoagulantes (ANTICOAG, #EED1EE), Insuficiência Cardíaca (IC, #FFC400, amarelo-ouro), Interação Medicamentosa (INT.MED, #FBF8AF, amarelo-claro), Médico Externo (EXT, #92F1FF), Especial (ESPECIAL, #DEDAFF, lilás-claro), Particular (C.PI, #AED1F6, azul-claro). Cada tag chega à tela como {código, descrição, cor}: o chip mostra o código (ProgramaApoio.Sigla) na cor do cadastro (ProgramaApoio.Cor) e a descrição (ProgramaApoio.Descricao) aparece na dica. Atribuições na massa — administrativas (ProgramaApoioPaciente, vínculo direto a IdPaciente): 4 linhas — Particular (tag 8, C.PI) para a paciente 14 (Carmen Garcia; desde 25/07/2026, sem fim), VIP para o paciente 3 (desde 25/07/2026, com DataFim em 23/09/2026 00:00, o próprio dia da data-base: a vigência é comparada só pela data e o fim é inclusivo, D-CM-021; ver CT-CONS-16) e para o 12 (desde 10/09/2026, sem fim), e Insuficiência Cardíaca para o paciente 20 (desde 25/07/2026, sem fim) — esta é uma tag de finalidade A (prontuário) atribuída no cadastro, origem em que o Mapeamento só lê finalidade D: não conta, e o paciente 20 já recebe IC pelo prontuário (PEP 1102); assistenciais/prontuário (PEPProgramaApoioPaciente, vínculo a IdPEP, cruzado com a aba PEP para achar o IdPaciente e a vigência PEP.DataInicioUTC/DataFimUTC): 12 vínculos — IC (pacientes 14, 20, 22), Linha de Cuidados (2, 20, 22), INT.MED (4, 8, 19), Uso de Anticoagulantes (19, 21), Especial (24); os pacientes 20 e 22 têm 2 tags cada (IC + Linha de Cuidados) e o paciente 19 tem 2 (INT.MED + ANTICOAG). Nenhum registro de PEP da massa tem DataFimUTC ou RemovidoEm.
    • Critérios que decidem se a tag aparece num card (RN-CM-025; Mapeamento de BD, Seção 4.1), todos avaliados em “hoje” — a data-base, no fuso da clínica: (a) ProgramaApoio.MostrarEm com o bit 6 (valor 32, Agendas) ligado — mapa de bits: prontuário=1, cadastro do paciente=2, recepção=4, Central do Médico=8, confirmação de quimio=16, agendas=32 (63 = todas); o critério é o das agendas, não o da Central do Médico (valor 8), porque os dois painéis são agendas do dia; (b) vigência da própria tag (ProgramaApoio.DataInicio/DataFim, fim inclusivo); (c) vigência da atribuição — cadastro: ProgramaApoioPaciente.DataInicio/DataFim; prontuário: PEP.DataInicioUTC/DataFimUTC (o período vale para hoje se a data de início é hoje ou anterior e a data de fim, se houver, é hoje ou posterior, no fuso da clínica: só a data conta, não a hora, e início e fim são inclusivos — D-CM-021; Mapeamento, Seção 4.1); (d) RemovidoEm vazio em ProgramaApoio, ProgramaApoioPaciente e PEP. VIP é exceção a (a) e (b). A mesma tag vinda de mais de uma origem aparece uma vez.
    • Resultado na massa, conferido tag a tag: Linha de Cuidados tem MostrarEm=1 (só o prontuário) — sem o bit 32, não aparece nos cards, mesmo para os pacientes com o vínculo (2, 20 e 22). IC (61), INT.MED (57) e Especial (63) têm o bit 32, DataInicio passado e nenhuma DataFim — aparecem. VIP (38) também tem o bit 32 (38 = 32+4+2) e nenhuma DataFim: a massa não exercita a exceção do VIP (ver Pendências de Massa de Dados). Todos os vínculos de prontuário que aparecem nos cards têm início passado, com uma exceção: o de Yuki Tanaka (8, INT.MED, PEP 1107) começa em 23/09/2026 11:56 (PEP.DataInicioUTC), no próprio dia da data-base — em vigência (a vigência do prontuário é lida em PEP.DataInicioUTC/DataFimUTC; PEP.DataInicio/DataFim não são lidos). Uso de Anticoagulantes (61, com DataFim da própria tag em 01/10/2026, ainda em vigência) está atribuída ao paciente 19 (PEP 1127, desde 22/07/2026) e ao 21 (PEP 1128, desde 05/08/2026): aparece no card de Roberto N. Alves (19); Helena (21) só tem a Agenda 106 de hoje (Falta), que não vira card. Médico Externo não está atribuído a nenhum paciente. Particular (C.PI, MostrarEm = 38, com o bit 32, DataInicio passado e nenhuma DataFim) aparece só para a paciente 14, pelo cadastro (Agenda 70; CT-CONS-18). O script UPDATE DATAS (aba da planilha) desloca as datas de Agenda, Prescricao, PrescricaoAssinatura, PrescricaoVersao, programação do projeto terapêutico, ProgramaApoio, ProgramaApoioPaciente e PEP pelo mesmo número de dias: a posição de cada vigência em relação a “hoje” é a da data-base, e o resultado das tags vale em qualquer recarga, desde que o script rode uma única vez por carga (ver erros do script em Pendências de Massa de Dados). As Seções 3 e 5 mostram apenas as tags que passam por esses critérios.
  • Ícone “1ª Consulta”: não é uma tag do domínio ProgramaApoio nem um chip de texto — é o ícone circle-number-1 (Tabler), 18px, sem fundo, na cor --color-first-visit, logo depois do nome do paciente, com rótulo e dica “1ª Consulta” (RN-CM-028). Vem de Agenda.PrimeiraConsulta = 'S' (campo firstTime do contrato, e não da lista tags). Bate exatamente com as 4 ocorrências usadas neste documento (Agenda 102/paciente 3, 113/paciente 10, 134/paciente 12, 148/paciente 6, todas com PrimeiraConsulta='S'). RN-CM-028 vale também para o painel Pacientes em procedimento, cujo contrato (Mapeamento, 4.3) traz o mesmo campo firstTime (D-CM-029). Nenhuma agenda de procedimento de hoje (TipoAgenda='Q') tem PrimeiraConsulta='S': CT-PROC-10 usa massa proposta (ver Pendências de Massa de Dados).
  • Diagnóstico oncológico e vigência do prontuário (patient.diagnosis, Mapeamento 4.1): só entra no card o diagnóstico (PEPDiagnostico, Tipo ‘O’) cujo PEP tem DataInicioUTC até o fim de hoje no fuso da clínica (nulo = vigente); só o início é avaliado — DataFimUTC não filtra. Conferidas as 13 linhas de PEPDiagnostico da massa (todas Tipo ‘O’, uma por paciente): 12 têm PEP iniciado antes de hoje; uma começa depois do fim de 23/09/2026 — PEP 1101, Beatriz A. Lima (paciente 20), C50.9 - Câncer de mama, DataInicioUTC = 01/10/2026 10:02 —, e, sendo o único diagnóstico da paciente, deixa o card dela sem diagnóstico (CT-CONS-13). Só o endpoint de Consultas devolve diagnóstico; nenhum outro painel nem a busca é afetado.
  • Tipo de Consulta: o campo real é Agenda.Atendimento (domínio P=Presencial / T=Teleatendimento) — não Agenda.TipoConsulta (domínio N/E, sem relação com teleatendimento, usado para outro fim ainda não mapeado). Conferido para todas as agendas das Seções 3 e 5.
  • Equipes de mensageria: Mensageria.Equipe/Mensageria.EquipeMembro já carregadas — conferem exatamente com a lista já usada na Seção 6 (Onco: usuários 1 e 4; Enfermagem: 5 e 7; Farmácia: 6 e 8).
  • Parâmetros de configuração da clínica e relógio (RN-CM-020): todos os resultados esperados de “a assinar” e “a revisar” deste documento assumem a data-base (23/09/2026 12:00, fuso −03:00) e os valores-padrão: janela de assinatura S = 7 dias (IpParametro.PrescricaoTempoAssinatura) e janela de revisão N = 1 dia (NumeroDiasRevisaoPrescricoes, parâmetro que já existe no sistema atual; o padrão de 1 dia é do Gemed 2.1 — o código do sistema atual assume 2). As duas janelas são em dias de calendário no fuso da clínica (D-CM-023, D-CM-037), não em múltiplos de 24 horas: “N dias” é o dia de hoje e os N dias seguintes, até 23:59, e o limite é a meia-noite local do dia (hoje + N + 1). Com N = 1 entram as aplicações até 24/09 23:59 (limite 25/09 00:00); com S = 7, até 30/09 23:59 (limite 01/10 00:00). Os limites não variam com a hora do dia. Não há piso: aplicações já passadas continuam elegíveis e ficam na lista, com o atraso no lugar do tempo restante e chip vermelho, contando como urgentes até a prescrição ser assinada ou revisada (D-CM-013, D-CM-024). Prescricao.Situacao precisa estar em P/G/A/O (“em andamento”) e a prescrição precisa ter agenda (IdAgenda, D-CM-025) para entrar em qualquer uma das duas listas. Não existe janela de validade/vencimento de assinatura (PrescricaoValidadeAssinatura, parâmetro retirado): uma vez assinada, a prescrição nunca volta a “a assinar” por decurso de tempo.
    • “A assinar” (Precedência 1 de RN-CM-020): nunca assinada — sem PrescricaoAssinatura.TipoAssinatura='A' e sem o par legado Prescricao.DataAssinaturaPrescricao/IdChProfissionalAssinou (RN-CM-029) — e com aplicação antes do limite de assinatura. Continua na lista quando a administração já começou (Agenda.DhInfusaoIniUTC preenchido): prescrição sem assinatura em procedimento é falha grave de processo e precisa ficar visível (D-CM-039, E-CM-018).
    • “A revisar” (Precedência 2): já assinada, sem nenhuma confirmação de revisão (TipoAssinatura='R'), com aplicação antes do limite de revisão, sem administração iniciada e sem assinatura dentro da janela de revisão da própria prescrição. A prescrição não é “a revisar” quando existe assinatura ‘A’ (PrescricaoAssinatura, ou Prescricao.DataAssinaturaPrescricao) com data igual ou posterior a 00:00, no fuso da clínica, do dia da aplicação menos N dias (D-CM-040, E-CM-019): a assinatura feita depois de a janela daquela prescrição abrir dispensa a revisão. Exemplo da massa: a prescrição 71 tem aplicação em 23/09 09:00; com N = 1 a janela dela abre em 22/09 00:00; a assinatura de 22/09 11:14 (PrescricaoAssinatura 1030) dispensa a revisão, e uma assinatura de 21/09 18:00 não dispensaria. As duas colunas de data (PrescricaoAssinatura.Data e Prescricao.DataAssinaturaPrescricao) são datetime sem fuso e são lidas como hora local da clínica [a confirmar com o time de banco]; qualquer assinatura que atenda vale.
    • Assinaturas da massa que decidem as listas das 12h: sem nenhuma assinatura — 72 (Kenji Chen, Dr. 12) e 65 (Helena D. Costa, Dr. 9); assinadas antes da abertura da janela de revisão (ficam “a revisar” quando a aplicação está dentro do limite) — 43 (Yuki Tanaka; PrescricaoAssinatura de 29/08 e par legado de 21/08) e 74 (Benjamin Thompson, FLOT C1D2; 21/09 18:00 e 22/09 18:00; a janela da 74 abre em 23/09 00:00); assinadas dentro da janela (fora das duas listas) — 71 (1030, 22/09 11:14), 73 (Benjamin Thompson, FLOT C1D1; 21/09 18:00 e 22/09 18:00, e a janela da 73 abre em 22/09 00:00, então basta a segunda), 11 (PrescricaoAssinatura 21, 23/09 16:00:59) e 67 (PrescricaoAssinatura 1024, 23/09 16:45), estas duas com data posterior ao relógio das 12h (ver Pendências de Massa de Dados); já revisadas (R) — 77 e 82; assinadas com aplicação além do limite de revisão — 68 (25/09), 69 e 70 (26/09).
    • Valores na planilha: a CargaCMZero.xlsx traz, para a clínica de teste (IdChave=6, Clínica Gama), as linhas de seed na aba IpParametroChave: PrescricaoTempoAssinatura = 7, TempoPacienteAtivoAgenda = 180, TempoPacienteAtivoPrescricao = 180 e NumeroDiasRevisaoPrescricoes = 1. Na ausência da linha do parâmetro, o sistema assume esses mesmos valores-padrão (Mapeamento de BD, Seção 4.6). CT-PRES-01 a 06 usam a massa como está; CT-PRES-07 exige N = 2; CT-PRES-08 exige retirar a linha de NumeroDiasRevisaoPrescricoes; CT-PRES-09 exige S = 3, 4 e 5; CT-PRES-10 exige retirar a linha de PrescricaoTempoAssinatura. Se a clínica de teste tiver outros valores configurados, as contagens da Seção 2 (KPI de Alertas) e as listas da Seção 4 precisam ser recalculadas. O KPI “Em Tratamento” (CT-KPI-02) depende também da janela de atividade de RN-CM-024 (TempoPacienteAtivoAgenda/TempoPacienteAtivoPrescricao, em dias) — valor esperado: 180 dias (padrão de RN-CM-024, também usado quando o parâmetro não existe para a clínica); as contagens esperadas de CT-KPI-02 foram calculadas com 180 dias.
  • Status da consulta (AppointmentStatus()): avaliado na ordem cancelado, finalizado, em atendimento, recepcionado, aguardando recepção, agendado (vale o primeiro que se aplicar). Conferido para as 21 agendas de consulta de hoje dos Drs. 11 e 9 — os status esperados das Seções 3 e 5 não mudam com a precedência. Nenhuma agenda da aba Agenda (nem de hoje, nem de outros dias) tem Situacao='V' com término preenchido e início vazio, a única combinação em que a precedência muda o resultado (ver Pendências de Massa de Dados).
  • Exclusão lógica (RemovidoEm): nenhum registro da massa está excluído — as colunas existem e estão vazias em Agenda, PEP, ProgramaApoio e ProgramaApoioPaciente; as abas Paciente e PEPDiagnostico não trazem a coluna. Por isso nenhum resultado esperado deste documento depende do filtro de exclusão lógica (ver Pendências de Massa de Dados).
  • Fuso e idioma da clínica: a aba ClienteEmpresa da massa traz FusoHorarioOficial (identificador IANA) e IdiomaOficial; a linha “Clinica Gama” — mesmo nome da Chave 6, que é o IdChClinica de todas as agendas — tem America/Sao_Paulo e pt-BR. A ligação entre a clínica das agendas e essa linha é só pelo nome (a massa não traz uma chave entre elas). Os horários deste documento estão no fuso da clínica (as datas da massa trazem o deslocamento −03:00). ScriptComplementarvCM.sql não cria ClienteEmpresa (tabela da base de segurança).

Pendências de Massa de Dados

  • Script UPDATE DATAS (aba da planilha CargaCMZero.xlsx): relida em 13/10/2026 (arquivo salvo às 14:50, UTC). (1) O UPDATE PEP traz DATEAD (sem o segundo “D”) em DataInicioUTC: o comando falha e o script para nesse ponto; os demais comandos usam DATEADD, inclusive o UPDATE PrescricaoVersao. (2) O script não desloca Agenda.DhInfusaoFimUTC: na planilha, a Agenda 138 (Roberto N. Alves) traz DhInfusaoFimUTC = 18/09/2026 11:50, cinco dias antes do início da infusão (23/09 09:15); as outras quatro agendas com fim de infusão (143, 156, 157 e 162) têm o fim no mesmo dia da agenda. (3) Agenda.Data não é deslocada, porque será descontinuada. (4) ScriptComplementarvCM.sql não contém DATEADD nem DATEDIFF (só getdate() como valor padrão de uma coluna). Este documento não altera a planilha; os resultados esperados valem para a massa já deslocada para a data-base.
  • CT-PRES-12 e CT-PRES-13 (virada do dia e borda da janela de revisão): CT-PRES-12 exige controlar o relógio do ambiente (23:59 de 23/09 e 00:00 de 24/09; o Demo do protótipo tem o relógio simulado); CT-PRES-13 exige uma massa auxiliar (duas prescrições do Dr. 11, assinadas em 20/09, sem revisão, com aplicação em 24/09 23:59 e em 25/09 00:00), [PROPOSTA] do Designer a validar — a massa atual não tem aplicação na borda.
  • Desempate por nome sem caso real na massa: a ordem é por minutesRemaining crescente, com desempate pelo nome do paciente (RN-CM-011, D-CM-047) e, para o mesmo nome, pelo id da prescrição (E-CM-027), mas nenhuma prescrição em andamento da massa tem a mesma hora de aplicação de outra. CT-PRES-18 usa massa [PROPOSTA]: duas prescrições auxiliares nunca assinadas, com a mesma Agenda.DhAgendaIniUTC da prescrição 65 (28/09 15:00, Helena D. Costa): a 90, para Sophia Muller (12), e a 91, para Carmen Garcia (14), ambas com IdPrescricao maior que 82. A ordem por nome (91, 65, 90) difere da ordem por id (65, 90, 91), o que é o objetivo do caso. Conferir se as duas pacientes não têm nome social, que mudaria a ordem.
  • Várias clínicas sem massa (RN-CM-032): a massa atual (CargaCMZero.xlsx) não tem agenda de médico em mais de uma clínica do cliente. Com a regra de D-CM-066, o médico vê só as clínicas em que atende; por isso os casos precisam de um cliente com três clínicas, das quais o Dr. 9 atende em duas, e de um segundo cliente com uma só clínica. CT-CONS-19, CT-PRES-19, CT-PROC-14 e CT-MSG-22 usam massa [PROPOSTA], que se soma à da carga: o cliente de três clínicas (A, B e C), com o Dr. 9 atendendo em A, onde está logado, e em B, e não atendendo em C; uma consulta, uma prescrição e um procedimento de hoje do Dr. 9 na clínica B, itens do Dr. 12 na clínica C, e uma conversa de cada clínica. CT-PRES-22 usa massa [PROPOSTA] com duas clínicas, ambas atendidas pelo Dr. 9, de janelas de assinatura diferentes. Para testar o fuso da clínica logada (D-CM-062), a clínica B deve ter outro FusoHorarioOficial (também proposta): o horário em CT-CONS-19 e a janela em CT-PRES-23. CT-MSG-22 usa também uma conversa do segundo cliente. CT-PRES-20 usa massa [PROPOSTA] própria (a carga atual não tem prescrição “a revisar” para o Dr. 9, ver CT-KPI-04.2) e a edição fica na tela de detalhe da prescrição, fora deste documento. CT-PRES-21 usa massa [PROPOSTA] própria: uma prescrição do Dr. 11, assinada no dia 22 às 11:14. O sistema sabe em que clínicas o médico atende pelo acesso do usuário às clínicas (D-CM-067); a clínica C da massa é uma clínica do cliente a que o Dr. 9 não tem acesso, e a consulta dele em C de CT-CONS-19 é de quando ele ainda tinha acesso (D-CM-068).
  • CT-PRES-09 (janela de assinatura diferente do padrão) usa a prescrição 65, sem massa nova: a 65 (Helena D. Costa, nunca assinada, aplicação em 28/09 15:00, o 5º dia de calendário depois de hoje) só entra em “a assinar” com S ≥ 5; o caso exige alterar IpParametroChave.Valor de PrescricaoTempoAssinatura na clínica de teste (3, 4 e 5). O Demo do protótipo oferece 3, 5 e 7; o valor 4 só se obtém no ambiente com banco.
  • Origem do vínculo vip↔paciente: ProgramaApoioPaciente; Paciente.PacienteVip não é lido por enquanto (decisão registrada no Mapeamento de BD da Agenda do Médico). A massa real já usa ProgramaApoioPaciente para os 2 pacientes VIP cadastrados (3 e 12), e é essa a origem adotada (Mapeamento de BD, 4.1: Paciente.PacienteVip não é lido); as demais tags com atribuição na massa vêm de PEPProgramaApoioPaciente (prontuário). As tags 3 e 6 não têm atribuição na massa. Nenhum caso de teste deste documento depende de Paciente.PacienteVip. Ver o Histórico de 04 - Mapeamento de Banco de Dados.
  • CT-PRES-06.2 (estado vazio do toggle ‘Todos’ em Prescrições Pendentes) não tem massa dedicada: a massa atual sempre tem ao menos uma prescrição “a revisar” de algum médico da clínica, então nenhum médico consegue ver o toggle “Todos” vazio hoje — precisaria de uma massa auxiliar sem nenhuma prescrição a revisar/a assinar em toda a clínica.
  • CT-PROC-07.2 (estado vazio do toggle ‘Todos’ em Pacientes em procedimento) não tem massa dedicada: a massa atual sempre tem pacientes na unidade vinculados a outros médicos, então o toggle “Todos” nunca fica vazio hoje — precisaria de uma massa auxiliar sem nenhum paciente presente na clínica.
  • CT-BUSCA-05 (busca sem nenhum resultado) depende do motor de correspondência aproximada, fora do escopo deste documento: a Especificação (§2.1) descreve esse motor como “mecanismo já existente no sistema”, sem detalhar seu algoritmo aqui — não há, neste documento, garantia de que um termo específico retorne zero resultados nesse motor. O termo de teste proposto no caso precisa ser validado (ou ajustado) pela QA contra o motor real antes da execução.
  • CT-SIS-01 a 09 e CT-MSG-16 (falhas de endpoint, queda de conexão, faixa de sem conexão, loading, falha ao enviar mensagem) não são reproduzíveis só com CargaCMZero.xlsx: exigem simular a falha em si (endpoint fora do ar, conexão interrompida, resposta lenta) — não é uma questão de massa de dados, mas de o ambiente de teste permitir desligar/atrasar um endpoint especificamente, ou simular perda de conexão. Os casos da faixa (CT-SIS-03, 05, 07, 08 e 09) pedem ainda controlar o instante em que a atualização automática de cada painel falha e volta, e anotar o horário da última atualização bem-sucedida de cada um, para conferir o {hh:mm} da faixa. Mecanismo de simulação a definir pela QA (ex.: proxy de rede, stub de backend, devtools).
  • RN-CM-025 — vigência e exclusão das tags sem caso dedicado na massa: os resultados esperados das Seções 3 e 5 foram conferidos contra todas as regras de tag (bit de agendas, vigência da tag, vigência da atribuição, exclusão lógica, exceção do VIP) e não mudam, mas a massa não permite testar cada regra isoladamente: (1) atribuição no prontuário com início futuro ou fim passado — o único início futuro entre as tags (PEP 1103, paciente 20, em 01/10/2026) é de Linha de Cuidados, que já fica oculta por MostrarEm=1, então não isola a vigência; nenhum PEP tem DataFimUTC; (2) atribuição no cadastro com início futuro ou fim passado — as atribuições de VIP (pacientes 3 e 12) têm início passado; a do paciente 3 tem fim exatamente no início de hoje (23/09/2026 00:00), que exercita o fim inclusivo por data (CT-CONS-16), não um fim já passado; (3) vigência da própria tag — só Uso de Anticoagulantes tem DataFim (01/10/2026, ainda em vigência na data-base): aparece para o paciente 19, mas a massa não tem tag já vencida; (4) exceção do VIP — VIP (MostrarEm=38) tem o bit 32 e nenhuma data de vigência, então aparece pelo critério comum, sem usar a exceção; (5) RemovidoEm em PEP, ProgramaApoioPaciente ou ProgramaApoio — nenhum registro excluído. [PROPOSTA] de massa, a validar (resultado esperado entre parênteses): atribuir IC (tag com o bit 32) a um paciente de hoje por um PEP com DataInicioUTC posterior a hoje (card sem a tag) e por outro com DataFimUTC anterior a hoje (card sem a tag); o mesmo no cadastro, com ProgramaApoioPaciente.DataInicio futuro e com DataFim passado (card sem a tag); atribuir Uso de Anticoagulantes a um paciente de hoje e antecipar o DataFim da tag para antes de hoje (card sem a tag); dar ao VIP um MostrarEm sem o bit 32 (ex.: 6) e um DataFim passado (VIP continua aparecendo — exceção); marcar RemovidoEm numa atribuição, numa tag e num PEP que carrega tag (card sem a tag em cada caso).
  • RemovidoEm sem caso na massa (Agenda, Paciente, PEP, PEPDiagnostico): nenhum registro está excluído, e as abas Paciente e PEPDiagnostico nem preenchem a coluna. Ficam sem cobertura: agenda excluída fora do painel de Consultas, do painel Pacientes em procedimento e dos números dos KPIs; paciente excluído fora de “Em Tratamento” e das prescrições pendentes; diagnóstico excluído (ou ligado a um PEP excluído) fora do card. [PROPOSTA] de massa, a validar: marcar RemovidoEm numa agenda de consulta de hoje do Dr. 11 (some do painel e dos quatro números do card “Consultas Hoje”) e num diagnóstico de um paciente de hoje (o card perde esse diagnóstico, ou mostra “sem diagnóstico” se era o único).
  • Precedência de AppointmentStatus() sem agenda na sobreposição: nenhuma agenda da massa tem Situacao='V' com DhAtendimentoFimUTC preenchido e DhAtendimentoIniUTC vazio — a única combinação em que a ordem de precedência muda o resultado (Finalizado em vez de Recepcionado). [PROPOSTA] de massa: uma agenda de consulta de hoje de um dos médicos com essa combinação; resultado esperado: card Finalizado (visível só no toggle “Todos”), contado em “finalizadas” e no total do card “Consultas Hoje”, e fora de “pendentes”.
  • ClienteEmpresa com identificador de fuso inválido na massa: a linha “Clinica A” traz Anerica/Manaus (não é um identificador IANA). Não é a clínica de teste deste documento (que é a “Clinica Gama”, America/Sao_Paulo), mas uma carga que use a “Clinica A” quebra a conversão de fuso.
  • Sem cobertura — tema e aparência: (1) a Especificação não diz se a escolha do seletor “Tema” é guardada entre sessões (o Design System, seção 6, só registra uma [PROPOSTA] de guardá-la no navegador); por isso nenhum caso verifica persistência; (2) o chip “Cancelado” de consulta não aparece na Central, que não exibe consultas canceladas; o procedimento cancelado tem caso próprio (CT-PROC-15).
  • Ícone “1ª Consulta” no painel Pacientes em procedimento — sem agenda de hoje com PrimeiraConsulta='S': o contrato de Procedimentos traz firstTime (D-CM-029), mas nenhuma agenda de procedimento (TipoAgenda='Q') de hoje tem PrimeiraConsulta='S' (as duas da massa, Agendas 16 e 52, são de 31/12/2025 e 12/08/2026). [PROPOSTA] de massa para CT-PROC-10: marcar PrimeiraConsulta='S' na Agenda 86 (Yuki Tanaka, prescrição 42, 14:30, Dr. 11); o card dela passa a mostrar o ícone ao lado do nome.
  • Prescricao.TempoAplicacao na massa — sem caso para barra ausente, e um valor atípico: nenhuma prescrição de procedimento de hoje tem TempoAplicacao vazio ou zero, então “sem tempo previsto” (RN-CM-016, D-CM-034) não tem caso com dado real. [PROPOSTA] de massa para CT-PROC-12: TempoAplicacao vazio na prescrição 71 (Rogério M. Santos) e zero na 82 (Elena Volkov), as duas “Em aplicação”. A prescrição 11 (Reed Richards) traz TempoAplicacao = 3600 (minutos, 60 horas) contra 90 minutos de Agenda.Tempo — valor atípico, sem efeito hoje porque o card está Recepcionado (sem barra); se o card entrar em aplicação, o progresso fica perto de 0%.
  • Diagnóstico e vigência do prontuário — só um caso na massa: o único diagnóstico cujo PEP começa depois de hoje é o do PEP 1101 (CT-CONS-13). A massa não exercita: (1) PEP com DataFimUTC anterior a hoje — pela regra, só o início é avaliado e o diagnóstico continuaria aparecendo; nenhum PEP da massa tem DataFimUTC; (2) PEP que começa hoje depois do instante atual — vale, porque o início é avaliado até o fim de hoje; (3) paciente com um diagnóstico vigente e outro de início futuro — o card mostraria só o vigente; a massa tem um diagnóstico por paciente. [PROPOSTA] de massa, a validar (resultado esperado entre parênteses): um segundo PEP com diagnóstico, de início futuro, para um paciente de hoje que já tenha outro diagnóstico (o card mostra só o vigente); e um PEP com diagnóstico e DataFimUTC anterior a hoje (o card mantém o diagnóstico).
  • CT-ACES-01 a 11 são verificações manuais ou visuais: usam a massa das Seções 3 a 6 e não têm dado de massa próprio. Dependem de ferramentas a definir pela QA: leitor de tela, medidor de contraste, simulação de movimento reduzido, janela de 360px e, em CT-ACES-05, a simulação de um aviso de erro (mesmo mecanismo de simulação das falhas de CT-SIS). Os botões seguem a seção 12 do Design System (D-CM-085): Assinar, Revisar, PEP e Resolvido com contorno; Responder e o “Resolver” da caixa de confirmação em verde escuro (--color-primary-strong); Descartado e “Descartar” no estilo destrutivo (E-CM-049). CT-ACES-07 mede os contrastes. O aviso de sucesso de CT-ACES-05 pode ser o da conversa resolvida (CT-MSG-19) ou, quando existir a tela de Assinar ou de Revisar, o retorno de CT-PRES-03 ou CT-PRES-04; o erro é o de envio de CT-MSG-16. O anel de foco de 2px e os chips de tempo “Crítico”/“Atenção” leves foram decididos em D-CM-046; CT-ACES-06 verifica o anel e, no campo de busca, a borda de 2px no lugar do anel (Especificação 2.8). Só os toggles ativos com texto neutral-darker (E-CM-004) seguem a confirmar.
  • Tag 8 (Particular, C.PI) e paciente 14 — alteração já salva na planilha (P-CM-034): a planilha relida em 13/10/2026 (arquivo salvo às 14:50, UTC) traz a tag 8 com sigla C.PI (não PARTIC, como em versões anteriores), finalidade D, MostrarEm = 38 (com o bit 32 de agendas, como o VIP) e ProgramaApoioPaciente com 4 linhas: a nova (IdProgramaApoioPaciente 4) atribui a tag 8 à paciente 14 (Carmen Garcia) desde 25/07/2026, sem fim; essa linha traz Committed vazio, enquanto as outras três têm 1 (sem efeito conhecido nos resultados). Com isso o card de Carmen (Agenda 70) mostra IC (assistencial, do prontuário) e depois C.PI (administrativa, do cadastro), e a ordem alfabética (C.PI, IC) é diferente da ordem por grupo: a massa já prova a regra “assistenciais antes das administrativas” (CT-CONS-18). Os cards de Carmen na Seção 3 e em CT-TEMA-03 mostram o chip da tag 8.
  • Datas da massa posteriores ao relógio das 12:00, e Id fora da sequência: as assinaturas PrescricaoAssinatura 21 (prescrição 11, 23/09 16:00:59) e 1024 (prescrição 67, 23/09 16:45) e a alta da Agenda 138 (23/09 12:02) têm data posterior à data-base. A regra de assinatura dentro da janela de revisão não tem limite superior, então as duas assinaturas contam e as prescrições 11 e 67 ficam fora das listas; se a QA exigir coerência temporal (assinatura só no passado), as duas datas precisam ser anteriores a 12:00 do mesmo dia — o resultado não muda. PrescricaoAssinatura.Id 1923 (assinatura da prescrição 74): fora da sequência (a numeração vai de 1022 a 1024, sem o 1023); provável erro de digitação de 1023, sem efeito sobre os resultados.
  • Status “Completo” sem massa, e verificação das 23 linhas: nenhuma agenda de procedimento da massa tem DhInfusaoFimUTC preenchido e DhAtendimentoFimUTC vazio. Das 60 agendas TipoAgenda ‘Q’ ou ‘R’ (todas as datas), 28 resolvem para Finalizado — 23 com alta e sem fim de infusão e 5 com alta e fim de infusão (a Agenda 138 é uma delas) — e nenhuma resolve para Completo. As 23 não aparecem no painel de hoje (são de outros dias). [PROPOSTA] de massa para CT-PROC-11: esvaziar DhAtendimentoFimUTC da Agenda 138 (Roberto N. Alves), que mantém DhInfusaoFimUTC preenchido, para obter o status Completo; para CT-PROC-13, a mesma agenda com DhAtendimentoFimUTC preenchido (12:02) e DhInfusaoFimUTC vazio, para obter Finalizado sem fim de infusão.
  • Bordas da assinatura na janela de revisão — sem massa: a massa tem assinaturas claramente dentro da janela (71/1030, 73/1022, 11 e 67) ou claramente fora (43 e 74), mas nenhuma exatamente à meia-noite de abertura nem um minuto antes. [PROPOSTA] de massa para CT-PRES-15: duas prescrições auxiliares do Dr. 11 com aplicação em 24/09, uma assinada em 23/09 00:00:00 (dispensa a revisão) e outra em 22/09 23:59:00 (continua “a revisar”), e uma terceira assinada só no par legado (DataAssinaturaPrescricao).
  • CT-BUSCA-06 e CT-BUSCA-07 (número de prontuário e chave id:): a aba Paciente não traz número de prontuário (nenhuma coluna), então os dois casos não têm um número real na massa; falta definir de onde vem o número de prontuário. A chave id: é um artifício que só será mostrado na certificação (D-CM-036). O protótipo não reflete a regra: a busca dele compara o texto digitado também com o número de prontuário e não tem a chave id:.
  • IpParametro com a definição de PrescricaoTempoRevisao: a aba IpParametro traz também a definição de PrescricaoTempoRevisao, sem linha em IpParametroChave e sem uso (a janela de revisão é NumeroDiasRevisaoPrescricoes, Mapeamento 4.6). Sem efeito nos resultados.
  • CT-MSG-19 a 21 (confirmação ao resolver e ao descartar): sem massa pré-carregada, como o resto da Seção 6; criam as próprias conversas. CT-MSG-21 precisa de clínicas com IdiomaOficial en-US e es-419 (a “Clinica Gama” é pt-BR); no protótipo, ?lang=en-US ou ?lang=es-419 na URL.

2. KPI Bar

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN Relacionada
CT-KPI-01.1Dr. Craig Evans (11) logado, Central aberta hojeObservar o card “Consultas Hoje”Finalizadas/Total: 2/8 · subtexto “6 pendentes (1 atrasada)” (varia com o horário; valor de referência supõe 12h — ver nota ⬇)Agenda 1, 62, 87, 101, 103, 105, 107, 109, 113, 148 (107=I, 109=T, excluídos do total). Às 12h só a Agenda 105 (Cecília R. Ferreira, Recepcionado, previsto 10:30, sem início do atendimento) é atrasada; a 103 (Beatriz A. Lima, previsto 09:30, início do atendimento 09:35, sem fim) está Em atendimento — pendente, mas não atrasadaSeção 4.2 (Mapeamento de BD)
CT-KPI-01.2Dr. Gilliard (9) logado, Central aberta hojeObservar o card “Consultas Hoje”Finalizadas/Total: 4/8 · subtexto “4 pendentes (1 atrasada)” (varia com o horário; valor de referência supõe 15h — ver nota ⬇)Agenda 65, 70, 102, 104, 106, 108, 110, 118, 132, 134, 151 (104=D, 106=F, 118=M, excluídos do total). Às 15h só a Agenda 108 (Marcelo T. Pinto, Recepcionado, previsto 14:30, sem início) é atrasada; a 132 (Otávio B. Lima, Situacao V, previsto 13:00, início do atendimento 12:54, sem fim) está Em atendimento — pendente, mas não atrasada, porque a fórmula da Seção 4.2 exige DhAtendimentoIniUTC vazioSeção 4.2
CT-KPI-02.1Dr. Craig Evans (11) logado, Central aberta hojeObservar o card “Em Tratamento”Em tratamento: 9 · Não aderentes: 2 (pac. 1: C7D1 realizado 34 dias após C6D1, 6 dias acima da tolerância de 1 sobre os 28 dias do protocolo; pac. 8: C1D1 atrasado 12 dias vs. planejado, C1D8/C1D15 do Ciclo 1 muito fora do padrão, e as transições de Ciclo 3→4, 4→5 e 5→6 cada uma 7 dias acima da tolerância de 1 sobre os 28 dias oficiais do protocolo, numa cadência real de 21 dias)Ver “Massa de dados” — planos terapêuticos dos pacientes 1, 8; paciente 16 conta para “Em tratamento” mas não tem PrescricaoProtocolo (não entra em “Não aderentes”); paciente 19 conta para “Em tratamento” mas não entra em “Não aderentes” (prescrição 61 com Situacao='F', fora do escopo de RN-CM-023/024)RN-CM-023, RN-CM-024
CT-KPI-02.2Dr. Gilliard (9) logado, Central aberta hojeObservar o card “Em Tratamento”Em tratamento: 10 · Não aderentes: 2 (pac. 21: C1D1 atrasado 10 dias vs. planejado, 17/08 real contra 07/08 planejado; pac. 22: C2D1 33 dias após C1D1, 5 dias acima da tolerância de 1 sobre os 28 dias do protocolo)Ver “Massa de dados” — planos terapêuticos dos pacientes 21, 22; paciente 18 conta para “Em tratamento” mas não tem PrescricaoProtocolo (não entra em “Não aderentes”)RN-CM-023, RN-CM-024
CT-KPI-03.1Dr. 11 logado, Central aberta hojeObservar o card “Procedimentos Hoje”Total do médico: 4 · Em atendimento: 0 · Aguardando: 2 · Previstos: 1. O total inclui o procedimento já finalizado (Roberto N. Alves, 138), por isso os três subtotais somam 3 e não 4 — esperado: o subtexto é um auxiliar das pendências do dia e não fecha a conta com o totalPrescrições 61 (Roberto, Finalizado), 11 (Reed, Recepcionado — conta em Aguardando), 77 (Isabella, paciente 16, Agenda 158, waiting — Aguardando) e 42 (Yuki, Agendado — Previstos) / Agenda tipo Q de hojeSeção 4.4; D-CM-038
CT-KPI-03.2Dr. 9 logado, Central aberta hojeObservar o card “Procedimentos Hoje”Total do médico: 4 · Em atendimento: 3 · Aguardando: 0 · Previstos: 1 (os subtotais somam 4: nenhum procedimento do Dr. 9 está Finalizado ou Completo hoje)Prescrições 82 (Elena, paciente 18, Agenda 163), 71 (Rogério) e 31 (Maria Silva), as três administering, e 37 (Maria Silva, prescrição livre, Agendado) / Agenda tipo Q de hojeSeção 4.4; D-CM-038
CT-KPI-04.1Dr. 11 logado, Central aberta hoje (12h)Observar o card de Alertas de PrescriçãoUrgentes: 0 (cor padrão, não vermelho) · P/revisar: 1 · P/assinar: 0 · rótulo “p/assinar (próx. 7 dias)“Prescrição 43 (Yuki Tanaka, amanhã 14:00, 26h restantes) é a única do Dr. 11: assinada antes da abertura da janela de revisão dela (23/09 00:00) e com a aplicação dentro da janela de “a revisar” em dias de calendário (hoje e amanhã, até 23:59; D-CM-023, D-CM-037). Saem: 11 (Reed, hoje 14:00 — a assinatura 21, de 23/09 16:00:59, está dentro da janela e dispensa a revisão; D-CM-040); 68 (25/09) e 70 (26/09) — assinadas, com aplicação depois do limite de revisão; 77 — já revisada (R); 61 — Situacao='F', fora do filtro P/G/A/O de RN-CM-020RN-CM-011, RN-CM-012, RN-CM-020, RN-CM-029
CT-KPI-04.2Dr. 9 logado, Central aberta hoje (12h)Observar o card de Alertas de PrescriçãoUrgentes: 0 · P/revisar: 0 · P/assinar: 1 · rótulo “p/assinar (próx. 7 dias)”. Com a massa alternativa da prescrição 71 (CT-PRES-11): Urgentes 1 · P/revisar 0 · P/assinar 2Prescrição 65 (Helena D. Costa, 28/09 15:00, nunca assinada, 123h restantes) é a única do Dr. 9. Saem: 71 (Rogério, hoje 09:00, administração iniciada às 09:02 — a assinatura 1030, de 22/09 11:14, está dentro da janela de revisão); 67 (Marcelo, amanhã 08:00 — a assinatura 1024, de 23/09 16:45, está dentro da janela); 69 (Otávio, 26/09 — assinada, depois do limite de revisão). As 73 (Benjamin Thompson, hoje 11:00) e 74 (amanhã 12:30) não são deste médico: prescritor 8 sem médico assistenteRN-CM-011, RN-CM-012, RN-CM-020, RN-CM-029
CT-KPI-05Qualquer médico logado, Central aberta hojeClicar em cada um dos 4 KPIsConsultas Hoje → Agenda do Médico · Em Tratamento → “Meus Pacientes” (ainda não criado) · Procedimentos Hoje → Pacientes em procedimento (ainda não criado) · Alertas → Prescrições Pendentes (ainda não criado)——
CT-KPI-06Dr. Ricardo Martins (12) logado, Central aberta hojeObservar o card de Alertas de PrescriçãoUrgentes: 0 (neutral-dark) · P/revisar: 0 · P/assinar: 1Prescrição 72 (única do médico; nunca assinada — cobre o caso “prescrição nunca assinada de um médico de terceiros” na visão “Todos”)RN-CM-011, RN-CM-012, RN-CM-020
CT-KPI-07Médico logado com 1 horário bloqueado pela Recepção hoje na própria Agenda do Médico (registro de agenda com o paciente reservado, Paciente.Paciente = 'B')Observar o card “Consultas Hoje”Nenhum dos 4 números do card (Total, Finalizadas, Pendentes, Atrasadas) inclui o horário bloqueado — mesmo resultado que se o bloqueio não existisseAgenda 164 (Dr. 11, hoje 08:00–08:45, TipoAgenda='C', Agenda.IdPaciente=0 → Paciente.Paciente='B')RN-CM-030

Nota — “Atrasadas” conforme o horário: o card conta as consultas pendentes ainda não iniciadas (DhAtendimentoIniUTC vazio) cujo horário previsto já passou; por isso esse número depende da hora do teste (Total, Finalizadas e Pendentes não dependem dela). Com os status da massa, as Atrasadas ao longo do dia são: Dr. 11 — 0 até as 10:30; 1 a partir das 10:30 (Cecília/105); 2 a partir das 13:30 (+ Maria Silva/62); 3 a partir das 14:00 (+ Yuki/87); 4 a partir das 15:45 (+ Reed/1); 5 a partir das 16:00 (+ Fatima/148). Dr. 9 — 0 até as 14:30; 1 a partir das 14:30 (Marcelo/108); 2 a partir das 15:30 (+ Sophia/134); 3 a partir das 16:00 (+ Alejandro/110). As consultas em atendimento (103 e 132) nunca entram: são pendentes, mas não atrasadas.

Observação — janelas em dias de calendário (D-CM-023, D-CM-037): o limite da janela de “a revisar” (N = 1) é 25/09 00:00 durante todo o dia 23/09, sem variar com a hora, e o de “a assinar” (S = 7) é 01/10 00:00. Às 12h estão em “a revisar” a prescrição 74 (Benjamin Thompson, FLOT C1D2, amanhã 12:30, 24h30 restantes) e a 43 (Yuki Tanaka, amanhã 14:00, 26h), ambas sem chip de urgência (RN-CM-011 só dá chip com menos de 24h); a 43 é do Dr. 11 (prescritor), então “P/revisar” do Dr. 11 é 1; a 74 só aparece na visão “Todos”. Estão em “a assinar” a 72 (Kenji Chen, amanhã 09:00, 21h, chip laranja) e a 65 (Helena D. Costa, 28/09 15:00, 123h). As prescrições 11, 67, 71 e 73 não aparecem porque têm assinatura dentro da janela de revisão delas (D-CM-040; CT-PRES-15). A 68 (Cecília R. Ferreira, 25/09 13:00) entra à 00:00 de 24/09 (CT-PRES-12); as 69 (Otávio B. Lima, 26/09) e 70 (Beatriz A. Lima, 26/09) entram nas viradas seguintes. Com a janela de revisão em 2 dias, a 68 já entra às 12h e a 74 sai (CT-PRES-07). A massa não tem aplicação exatamente na borda (25/09 00:00): ver CT-PRES-13.


3. Painel Consultas

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN Relacionada
CT-CONS-01.1Dr. 11 logado, hojeOlhar o painel Consultas (toggle em “Pendentes”)Badge: 6, em ordem — ver detalhamento ⬇ (CT-CONS-01.1)Agenda 1, 62, 87, 101, 103, 105, 107, 109, 113, 148 (inclusive finalizadas/canceladas)RN-CM-006 (ordenação), RN-CM-025 (tags)
CT-CONS-01.2Dr. 9 logado, hojeOlhar o painel Consultas (toggle em “Pendentes”)Badge: 4, em ordem — ver detalhamento ⬇ (CT-CONS-01.2)Agenda 65, 70, 102, 104, 106, 108, 110, 118, 132, 134, 151 (inclusive finalizadas/canceladas)RN-CM-006 (ordenação), RN-CM-025 (tags)
CT-CONS-02.1Dr. 11 logado, hojeTocar toggle para “Todos”Badge: 8, lista completa em ordem cronológica (RN-CM-006) — ver detalhamento ⬇ (CT-CONS-02.1)Mesma massa de CT-CONS-01.1RN-CM-006
CT-CONS-02.2Dr. 9 logado, hojeTocar toggle para “Todos”Badge: 8, lista completa em ordem cronológica (RN-CM-006) — ver detalhamento ⬇ (CT-CONS-02.2)Mesma massa de CT-CONS-01.2RN-CM-006
CT-CONS-03.1Dr. 11 logado, Painel Consultas visível (toggle “Pendentes”)Olhar o card da Cecília R. Ferreira (23) após as 10:30; depois das 14:00, olhar os cards de Maria Silva (4, Aguardando recepção — paciente já na clínica), de Yuki Tanaka (8, Agendado — sem chegada registrada) e de Beatriz A. Lima (20, Em atendimento)Cecília: o card ganha o selo “Atrasado · {tempo em atraso}” (tempo desde 10:30). Maria Silva (previsto 13:30) e Yuki (previsto 14:00): as duas com o mesmo selo “Atrasado · {tempo em atraso}”, igual em texto e cor — a Central não diferencia o paciente que já está na clínica do que ainda não chegou. Beatriz (previsto 09:30, atendimento iniciado às 09:35): sem selo, porque a consulta já foi iniciadaAgenda 105 (Recepcionado), 62 (chegada registrada), 87 (sem chegada), 103 (Em atendimento)§2.3 (Atraso)
CT-CONS-03.2Dr. 9 logado, Painel Consultas visível (toggle “Pendentes”)Olhar o card do Marcelo T. Pinto (22) após as 14:30; depois das 16:00, olhar os cards de Sophia Muller (12, Aguardando recepção — paciente já na clínica) e de Alejandro Ramirez (9, Agendado — sem chegada registrada); a qualquer hora depois das 13:00, olhar o de Otávio B. Lima (24, Em atendimento)Marcelo: o card ganha o selo “Atrasado · {tempo em atraso}” (tempo desde 14:30). Sophia (previsto 15:30) e Alejandro (previsto 16:00): as duas com o mesmo selo, igual em texto e cor. Otávio (previsto 13:00, atendimento iniciado às 12:54): sem seloAgenda 108 (Recepcionado), 134 (chegada registrada), 110 (sem chegada), 132 (Em atendimento)§2.3 (Atraso)
CT-CONS-04Painel Consultas visívelTocar em uma consulta com paciente (ex.: Beatriz A. Lima (20), Em atendimento)Abre o prontuário (PEP) do paciente——
CT-CONS-05Médico logado, Painel Consultas visívelTocar no título “Consultas”Abre a Agenda do Médico no dia de hoje, com as 8 agendas válidas do dia——
CT-CONS-06.1Dra. Aline Chen (17) logada, Painel de Consultas visível, toggle em “Pendentes” (default)Abrir o painelPainel vazio, mensagem “Nenhuma agenda pendente para o dia” (MSG_appointmentNonePending)— (nenhuma agenda hoje para este médico)—
CT-CONS-06.2Dra. Aline Chen (17) logada, Painel de Consultas visível, toggle em “Todos”Tocar o toggle para “Todos”Painel vazio, mensagem “Nenhuma agenda para o dia” (MSG_appointmentNoneAll)— (nenhuma agenda hoje para este médico)—
CT-CONS-07.1Dr. 11 logado, Painel de Consultas visívelObservar o card da Cecília R. Ferreira (23)Borda lateral esquerda de 3px azul (secondary-pure, #40C4FF) — não é o azul-claro #B7E3FF do chip de statusAgenda 105—
CT-CONS-07.2Dr. 9 logado, Painel de Consultas visívelObservar o card do Marcelo T. Pinto (22)Borda lateral esquerda de 3px azul (secondary-pure, #40C4FF) — não é o azul-claro #B7E3FF do chip de statusAgenda 108—
CT-CONS-08.1Dr. 11 logado, Painel de Consultas visívelObservar o card da Maria Silva (4)Borda lateral esquerda de 3px vermelho-claro (--color-status-waiting-border, #FF8A80) — não é o rosa #FFC5C1 do chip de statusAgenda 62—
CT-CONS-08.2Dr. 9 logado, Painel de Consultas visívelObservar o card da Sophia Muller (12)Borda lateral esquerda de 3px vermelho-claro (--color-status-waiting-border, #FF8A80) — não é o rosa #FFC5C1 do chip de statusAgenda 134—
CT-CONS-09.1Dr. 11 logado, Painel de Consultas visívelObservar o card da Fatima Al-Mansoori (6) e passar o mouse sobre o ícone ao lado do nomeÍcone “1ª Consulta” (Tabler circle-number-1) logo depois do nome do paciente: 18px, sem fundo, na cor --color-first-visit (#5E35B1 no tema claro). Não é chip nem tag — vem do campo firstTime, não da lista de tags. Rótulo e dica “1ª Consulta” (role="img" e aria-label; a dica abre ao toque e ao mouse, sem atributo title — CT-CONS-14). O card não mostra nenhuma tag de atençãoAgenda 148RN-CM-028
CT-CONS-09.2Dr. 9 logado, toggle “Todos”Observar o card do John Smith (3)Ícone “1ª Consulta” ao lado do nome, com as mesmas características de CT-CONS-09.1; a tag VIP (chip verde #80FF38, vinda do cadastro) fica na linha de tags — o ícone não é uma tag e não fica entre elasAgenda 102RN-CM-025, RN-CM-028
CT-CONS-10Médico logado com 1 horário bloqueado pela Recepção hoje na própria Agenda do Médico (registro de agenda com o paciente reservado, Paciente.Paciente = 'B')Olhar o painel Consultas nos dois estados do toggle (“Pendentes” e “Todos”)O horário bloqueado não aparece em nenhuma lista, em nenhum dos dois estados do toggleAgenda 164 (Dr. 11, hoje 08:00–08:45, TipoAgenda='C', Agenda.IdPaciente=0 → Paciente.Paciente='B')RN-CM-030
CT-CONS-11Dr. 11 logado e, em outra sessão, Dr. 9 logado; Painel de Consultas, toggle “Todos”Observar as tags dos cards de Beatriz A. Lima (20) e Yuki Tanaka (8), no Dr. 11, e de Carmen Garcia (14), no Dr. 9Tags atribuídas só no prontuário aparecem quando o registro de prontuário está em vigência hoje: Beatriz (20) — chip IC (#FFC400), registro com início em 01/01/2000; Yuki (8) — chip INT.MED (#FBF8AF), registro com início em 23/09/2026 11:56, no próprio dia da data-base (em vigência; a vigência é lida em PEP.DataInicioUTC — o campo PEP.DataInicio desse registro, 25/09/2026, não é lido e não altera o resultado); Carmen (14) — chip IC, registro com início em 07/07/2026 (o chip C.PI dela vem do cadastro e não é testado aqui; ver CT-CONS-18). Cada chip mostra a sigla e, na dica, a descrição do cadastroAgenda 103 (20), 87 (8) e 70 (14); PEP 1102, 1107 e 1119 (PEPProgramaApoioPaciente)RN-CM-025
CT-CONS-12Dr. 9 logado e, em outra sessão, Dr. 11 logado; Painel de Consultas, toggle “Todos”Observar os cards de Rogério M. Santos (2) e Marcelo T. Pinto (22), no Dr. 9, e de Beatriz A. Lima (20), no Dr. 11Tag atribuída no prontuário, mas sem o bit de agendas em MostrarEm, não aparece: Rogério (2) — card sem nenhuma tag (Linha de Cuidados em vigência desde 15/09/2026, com MostrarEm=1); Marcelo (22) — só IC (Linha de Cuidados em vigência desde 02/08/2026, oculta); Beatriz (20) — só IC (Linha de Cuidados oculta por MostrarEm=1, e o registro de prontuário nem começou: início em 01/10/2026)Agenda 151 (2), 108 (22) e 103 (20); PEP 1117, 1113 e 1103RN-CM-025
CT-CONS-13Dr. 11 logado, Painel de Consultas visívelObservar o card da Beatriz A. Lima (20) (toggle “Pendentes” ou “Todos”)Card sem diagnóstico: o único diagnóstico oncológico da paciente (C50.9 - Câncer de mama) pertence ao registro de prontuário PEP 1101, que só começa em 01/10/2026 (PEP.DataInicioUTC), depois do fim de hoje, e por isso não é exibido. O restante do card não muda (tag IC, Em atendimento, Presencial). Os pacientes do painel que têm diagnóstico (4, 8, 1 e 19) o exibem, pois seus registros de prontuário começam antes de hojeAgenda 103; PEP 1101 (PEPDiagnostico.IdPEP = 1101)Seção 4.1 (Mapeamento de BD, patient.diagnosis)
CT-CONS-14Dr. 9 logado, Painel de Consultas visível, numa janela de 360px com toque (ou no desktop com o mouse)Tocar (ou passar o mouse) no ícone “1ª Consulta” do card de John Smith (3); tocar fora; repetir e pressionar EscAbre uma dica com o texto “1ª Consulta”, sem abrir o card nem o PEP; fecha ao tocar fora, ao rolar a tela e com Esc. O ícone não recebe foco por Tab: a informação já está no nome acessível do card (o leitor de tela lê “1ª Consulta”) e não há dica ao foco (D-CM-035). Mesmo comportamento para os ícones de Sophia/134 (Consultas) e dos demais cards com o íconeAgenda 102 (John Smith, paciente 3); ver nota sobre o ícone na Massa de dadosRN-CM-028; D-CM-035
CT-CONS-15Dr. 11 logado, Painel de Consultas, toggle “Todos”Observar o card de Roberto N. Alves (19)Dois chips de tag, nesta ordem (D-CM-022: assistenciais antes das administrativas, alfabética pela sigla): ANTICOAG (#EED1EE, atribuída no prontuário pelo PEP 1127, desde 22/07/2026; a própria tag vale até 01/10/2026, portanto está em vigência) e INT.MED (#FBF8AF, PEP 1115). Dica de ANTICOAG: “Uso de anticoagulantes”Agenda 101 (19); PEP 1127 e 1115RN-CM-025
CT-CONS-16Dr. 9 logado, Painel de Consultas, toggle “Todos”Observar o card de John Smith (3)O chip VIP (#80FF38) aparece. A atribuição de VIP ao paciente 3 (ProgramaApoioPaciente 2) tem DataFim = 23/09/2026 00:00, o próprio dia da data-base: a vigência é comparada só pela data, e o fim é inclusivo (D-CM-021)Agenda 102 (3); ProgramaApoioPaciente 2RN-CM-025
CT-CONS-17Dr. 11 logado às 12h, Painel de Consultas, toggle “Todos”; depois Dr. 9 logado às 15h, toggle “Todos”Observar o card de Beatriz A. Lima (20) e, no Dr. 9, o de Otávio B. Lima (24); repetir com o relógio antes do fim do tempo previsto de Otávio (13:24)Beatriz (Agenda 103, previsto 09:30, 30 min, início do atendimento 09:35, sem fim): às 12h o card mostra, ao lado do status “Em atendimento”, o destaque “há 2h25” com o ícone clock-alert e cor de atenção; o nome acessível traz “em atendimento há 2h25, além do previsto”. Otávio (Agenda 132, 30 min, início 12:54): às 13:10 sem destaque (16 min, dentro do previsto); às 13:24 ainda sem destaque (30 min, não passou); às 13:25 aparece “há 31min”; às 15h, “há 2h06”. Consultas em outros estados nunca mostram o destaque (D-CM-017, RN-CM-031)Agenda 103 e 132RN-CM-031
CT-CONS-18Dr. 9 logado, Painel de Consultas, toggle “Todos”. Massa: tag 8 (ProgramaApoio 8, sigla C.PI, finalidade D, MostrarEm = 38) e ProgramaApoioPaciente 4 (paciente 14 com a tag 8 desde 25/07/2026, sem fim)Observar os chips do card de Carmen Garcia (14); observar o card de Sophia Muller (12)Ordem no card (D-CM-022; Especificação 2.3): primeiro o ícone de 1ª Consulta, junto ao nome; depois as tags assistenciais (Finalidade='A'); por fim as administrativas ('D'); dentro de cada grupo, ordem alfabética pela sigla. Carmen (Agenda 70): 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; por isso este resultado distingue “assistenciais primeiro” de “alfabética geral”. Com PrimeiraConsulta='S' na Agenda 70 [PROPOSTA], o ícone aparece ao lado do nome, antes de todos os chips. Sophia (Agenda 134): ícone de 1ª Consulta ao lado do nome e, na linha de tags, só VIP — o ícone não fica entre as tagsAgenda 70 (Carmen, paciente 14; PEP 1119, tag IC; ProgramaApoioPaciente 4, tag 8); Agenda 134 (Sophia, paciente 12; ProgramaApoioPaciente 1, VIP); ProgramaApoio 8RN-CM-025, RN-CM-028; D-CM-022
CT-CONS-19Massa auxiliar [PROPOSTA]: um cliente com três clínicas, A (a clínica em que o Dr. 9 está logado, fuso −03:00), B (fuso −04:00) e C; o Dr. 9 atende em A e B, e não em C. Consultas de hoje do Dr. 9: uma em A, outra em B (marcada para as 10:00 no relógio de B) e uma em C (agendamento antigo, de quando ele ainda tinha acesso a C); um segundo cliente, com uma só clínica (no Demo: a caixa “Médico atende em mais de uma clínica” desligada)Dr. 9 logado no cliente de três clínicas, Painel de Consultas, toggle “Todas”; observar os cards, o horário da consulta de B e o indicador “Consultas Hoje”; depois entrar como Dr. 11 no cliente de uma só clínica e observar os cardsDr. 9: (1) as consultas de A e de B aparecem na mesma lista cronológica, cada card com a linha de clínica (ícone building-2 e nome curto, 12px color-neutral-pure); (2) a consulta de C não aparece; (3) “Consultas Hoje” sobe em 1 em relação à carga (só a de B; a de C não conta); (4) a consulta de B mostra 11:00, o horário no fuso da clínica em que ele está logado (RN-AGM-018, D-CM-062), e não 10:00. Dr. 11 (cliente de uma só clínica): nenhum card mostra o nome da clínicaPendente — sem massa dedicada (ver Pendências de Massa de Dados)RN-CM-032; D-CM-062, D-CM-066; E-CM-028, D-CM-067, D-CM-068
CT-CONS-20Massa auxiliar [PROPOSTA]: o médico (Dr. 9) autorizado nos dois clientes de CT-CONS-19Dr. 9 logado no cliente de três clínicas, Painel de Consultas; depois trocar de clínica para a do segundo cliente (o que muda o cliente do login) e observar de novoAntes da troca: as consultas de hoje de A e de B. Depois: as das clínicas do segundo cliente em que ele atende; nenhuma consulta do primeiro cliente permanece; sem linha de clínica quando ele atende em uma sóPendente — sem massa dedicada (ver Pendências de Massa de Dados)RN-CM-032; D-CM-060, D-CM-066

Detalhamento — Resultado Esperado

Ordenação (RN-CM-006): a lista de Consultas é sempre cronológica pelo horário agendado, priorizando o próximo atendimento; consultas finalizadas permanecem na sua posição cronológica original. A ordem abaixo faz parte do resultado esperado, não é só o conjunto de cards.

Campos do card: Foto (sim/não — só Cecília R. Ferreira/23 e Otávio B. Lima/24 não têm, ver Massa de dados) e Tipo de Consulta (Presencial/Teleatendimento, Agenda.Atendimento). Tooltip das Tags de Atenção (ProgramaApoio.Descricao, um por tag — não repetido em cada card abaixo): VIP = “Paciente com tratamento administrativo diferenciado” · IC = “Paciente com CID de insuficiência cardíaca” · INT.MED = “Interação medicamentosa sinalizada” · C.PI = “Paciente paga o tratamento integral” · ESPECIAL = “Paciente portador de alguma condição física , cognitiva ou sensorial que requeira atenção multiprofissional para garantia dos seus direitos”. O ícone “1ª Consulta” não é uma tag ProgramaApoio (RN-CM-028): fica logo depois do nome, não na linha de tags, e sua dica é o próprio rótulo “1ª Consulta”. Diagnóstico: só aparece o de um PEP com DataInicioUTC até o fim de hoje — Beatriz A. Lima (20) fica sem diagnóstico (PEP 1101, início em 01/10/2026; CT-CONS-13). O texto das descrições é o do cadastro da massa, inclusive o espaço antes da vírgula em ESPECIAL (“física , cognitiva”).

Cores (tema claro; status.colors, valores de DomEstadoAgendaConsulta e do Design System, seção 4): os rótulos de cor das listas abaixo se referem ao fundo do chip de status — Agendado (laranja) #FFE0B3; Aguardando recepção (rosa) #FFC5C1; Recepcionado (azul-claro) #B7E3FF; Em atendimento (verde) #D1DF9D; Finalizado (roxo) fundo #EDE7FA com texto #6A4FC4. A borda lateral esquerda de 3px só existe em Recepcionado (azul, secondary-pure #40C4FF) e em Aguardando recepção (vermelho-claro, #FF8A80); nas listas, “borda azul” e “borda vermelho-claro” se referem a essas duas. Cores das tags (fundo do chip = ProgramaApoio.Cor): VIP #80FF38 (verde), IC #FFC400 (amarelo-ouro), INT.MED #FBF8AF (amarelo-claro), ESPECIAL #DEDAFF (lilás-claro). Comportamento nos dois temas: CT-TEMA-02 a 04.

CT-CONS-01.1 — cards esperados, em ordem (toggle “Pendentes”, Dr. 11)

  1. Beatriz A. Lima (20) — 09:30–10:00 · sem diagnóstico (PEP 1101 só começa em 01/10/2026) · tag IC (amarelo-ouro) · Em atendimento (verde) + destaque “há 2h25” (às 12h) · sem borda · Foto: sim · Presencial
  2. Cecília R. Ferreira (23) — 10:30–11:00 · sem diagnóstico · sem tag · Recepcionado (azul-claro) · borda azul · Foto: não · Presencial
  3. Maria Silva (4) — 13:30–14:00 · C50.2 - Câncer de mama (QSI) · tag INT.MED (amarelo-claro) · Aguardando recepção (rosa) · borda vermelho-claro · Foto: sim · Teleatendimento
  4. Yuki Tanaka (8) — 14:00–14:15 · C56.3 - Câncer de ovários (bi) · tag INT.MED (amarelo-claro) · Agendado (laranja) · sem borda · Foto: sim · Presencial
  5. Reed Richards / Amanda Peres (1) — 15:45–16:00 · C64 - Câncer do rim · sem tag · Agendado (laranja) · sem borda · Foto: sim · Presencial
  6. Fatima Al-Mansoori (6) — 16:00–17:00 · sem diagnóstico · ícone 1ª Consulta (roxo, ao lado do nome) · sem tag · Agendado (laranja) · sem borda · Foto: sim · Presencial

CT-CONS-01.2 — cards esperados, em ordem (toggle “Pendentes”, Dr. 9)

  1. Otávio B. Lima (24) — 13:00–13:30 · C61 - Câncer de Próstata · tag ESPECIAL (lilás-claro) · Em atendimento (verde) + destaque “há 2h06” (às 15h; sem destaque até 13:24) · sem borda · Foto: não · Presencial
  2. Marcelo T. Pinto (22) — 14:30–15:00 · C34.9 - Câncer de pulmão · tag IC (amarelo-ouro) · Recepcionado (azul-claro) · borda azul · Foto: sim · Presencial
  3. Sophia Muller (12) — 15:30–16:00 · sem diagnóstico · ícone 1ª Consulta (roxo, ao lado do nome) · tag VIP (verde) · Aguardando recepção (rosa) · borda vermelho-claro · Foto: sim · Presencial
  4. Alejandro Ramirez (9) — 16:00–16:30 · sem diagnóstico · sem tag · Agendado (laranja) · Foto: sim · Teleatendimento

CT-CONS-02.1 — lista completa, em ordem (toggle “Todos”, Dr. 11 — 8 cards)

  1. Roberto N. Alves (19) — 08:30–09:00 · C22.0 - Câncer de fígado · tags ANTICOAG (#EED1EE) e INT.MED (amarelo-claro) · Finalizado (roxo) · Foto: sim · Teleatendimento
  2. Anya Ivanova (10) — 09:00–09:30 · sem diagnóstico · ícone 1ª Consulta (roxo, ao lado do nome) · sem tag · Finalizado (roxo) · Foto: sim · Presencial
  3. Beatriz A. Lima (20) — 09:30–10:00 · sem diagnóstico (PEP 1101 só começa em 01/10/2026) · tag IC (amarelo-ouro) · Em atendimento (verde) + destaque “há 2h25” (às 12h) · sem borda · Foto: sim · Presencial
  4. Cecília R. Ferreira (23) — 10:30–11:00 · sem diagnóstico · sem tag · Recepcionado (azul-claro) · borda azul · Foto: não · Presencial
  5. Maria Silva (4) — 13:30–14:00 · C50.2 - Câncer de mama (QSI) · tag INT.MED (amarelo-claro) · Aguardando recepção (rosa) · borda vermelho-claro · Foto: sim · Teleatendimento
  6. Yuki Tanaka (8) — 14:00–14:15 · C56.3 - Câncer de ovários (bi) · tag INT.MED (amarelo-claro) · Agendado (laranja) · sem borda · Foto: sim · Presencial
  7. Reed Richards / Amanda Peres (1) — 15:45–16:00 · C64 - Câncer do rim · sem tag · Agendado (laranja) · sem borda · Foto: sim · Presencial
  8. Fatima Al-Mansoori (6) — 16:00–17:00 · sem diagnóstico · ícone 1ª Consulta (roxo, ao lado do nome) · sem tag · Agendado (laranja) · sem borda · Foto: sim · Presencial

CT-CONS-02.2 — lista completa, em ordem (toggle “Todos”, Dr. 9 — 8 cards)

  1. Rogério M. Santos (2) — 08:30–08:45 · C67.9 - Câncer de bexiga · sem tag · Finalizado (roxo) · Foto: sim · Presencial
  2. John Smith (3) — 09:00–09:30 · sem diagnóstico · ícone 1ª Consulta (roxo, ao lado do nome) · tag VIP (verde) · Finalizado (roxo) · Foto: sim · Presencial
  3. Carmen Garcia (14) — 09:30–10:00 · C16.8 - Câncer de estômago (+lesão) · tags IC (amarelo-ouro) e C.PI (azul-claro) · Finalizado (roxo) · Foto: sim · Teleatendimento
  4. Maria Silva (4) — 10:00–10:30 · C50.2 - Câncer de mama (QSI) · tag INT.MED (amarelo-claro) · Finalizado (roxo) · Foto: sim · Presencial
  5. Otávio B. Lima (24) — 13:00–13:30 · C61 - Câncer de Próstata · tag ESPECIAL (lilás-claro) · Em atendimento (verde) + destaque “há 2h06” (às 15h; sem destaque até 13:24) · sem borda · Foto: não · Presencial
  6. Marcelo T. Pinto (22) — 14:30–15:00 · C34.9 - Câncer de pulmão · tag IC (amarelo-ouro) · Recepcionado (azul-claro) · borda azul · Foto: sim · Presencial
  7. Sophia Muller (12) — 15:30–16:00 · sem diagnóstico · ícone 1ª Consulta (roxo, ao lado do nome) · tag VIP (verde) · Aguardando recepção (rosa) · borda vermelho-claro · Foto: sim · Presencial
  8. Alejandro Ramirez (9) — 16:00–16:30 · sem diagnóstico · sem tag · Agendado (laranja) · Foto: sim · Teleatendimento

Nota — Maria Silva (4) tem tipo de consulta diferente em cada agenda: Teleatendimento na consulta do Dr. 11 (Agenda 62, item 5 acima) e Presencial na consulta do Dr. 9 (Agenda 65, item 4 de CT-CONS-02.2) — são atendimentos distintos, não um erro de digitação.

Nota — Carmen Garcia (14): os cards dela acima (CT-CONS-02.2, item 3) mostram duas tags: IC (do prontuário, assistencial) e depois C.PI (do cadastro, administrativa); a ordem é a de CT-CONS-18 (D-CM-022). A tag C.PI vem da tag 8 da massa, que a planilha passou a mostrar nas agendas e a atribuir à paciente 14 (ver Pendências de Massa de Dados).


4. Painel Prescrições Pendentes

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN Relacionada
CT-PRES-01.1Dr. 11 logado, hoje às 12h, toggle em “Meus”Observar o painelBadge: 1 — ver detalhamento ⬇ (CT-PRES-01.1)Ver Seção 2 (mesma prescrição de CT-KPI-04.1)RN-CM-011, RN-CM-012, RN-CM-020, RN-CM-021, RN-CM-029
CT-PRES-01.2Dr. 9 logado, hoje às 12h, toggle em “Meus”Observar o painelBadge: 1 — ver detalhamento ⬇ (CT-PRES-01.2)Ver Seção 2 (mesma prescrição de CT-KPI-04.2)RN-CM-011, RN-CM-012, RN-CM-020, RN-CM-021, RN-CM-029
CT-PRES-02.1Dr. 11 logado, hoje às 12h, tocar toggle “Todos”Observar o painelBadge: 4, lista completa em ordem de urgência — ver detalhamento ⬇ (CT-PRES-02.1)IdPrescricao adicionais à de CT-PRES-01.1 (43): 72 (Kenji/15 — ação Assinar, ver nota ⬇), 74 (Benjamin/17, amanhã 12:30) e 65 (Helena/21 — ação Assinar)RN-CM-011, RN-CM-012, RN-CM-020, RN-CM-021, RN-CM-029
CT-PRES-02.2Dr. 9 logado, hoje às 12h, tocar toggle “Todos”Observar o painelBadge: 4, lista completa em ordem de urgência — ver detalhamento ⬇ (CT-PRES-02.2)IdPrescricao adicionais à de CT-PRES-01.2 (65): 72 (Kenji/15 — ação Assinar, ver nota ⬇), 74 (Benjamin/17) e 43 (Yuki/8)RN-CM-011, RN-CM-012, RN-CM-020, RN-CM-021, RN-CM-029
CT-PRES-03Médico logado, Painel de Prescrições Pendentes visívelClicar em “Assinar” num cardAbre a página de report da prescrição com o botão de Assinar (não implementado)——
CT-PRES-04Médico logado, Painel de Prescrições Pendentes visívelClicar em “Revisar” num cardAbre a página de report da prescrição com o botão de Revisar (não implementado)——
CT-PRES-05Médico logado, Painel de Prescrições Pendentes visívelTocar no título do painelAbre a página de Prescrições Pendentes (não implementado)——
CT-PRES-06.1Dra. Aline Chen (17) logada, Central aberta, toggle em “Meus” (default)Observar o painelSem cards, mensagem “Sem prescrições pendentes para você” (MSG_prescriptionNoneMine)— (nenhuma prescrição a assinar nem a revisar como preferencial para este médico)—
CT-PRES-06.2A partir do estado de CT-PRES-06.1Tocar o toggle para “Todos”Não reproduzível com a massa atual: a massa real sempre tem ao menos uma prescrição “a revisar” de algum médico da clínica hoje (CT-PRES-01.1/02.1 mostram 1 “Meus” contra 4 “Todos” para o Dr. 11 às 12h — a diferença são itens de outros médicos), então nenhum médico consegue ver o toggle “Todos” vazio com os dados de hoje; MSG_prescriptionNoneAll sem cobertura de dado realPendente — sem massa dedicada (ver Pendências de Massa de Dados)—
CT-PRES-07Linha de NumeroDiasRevisaoPrescricoes da clínica de teste (IpParametroChave, IdChave=6) com Valor = 2 (dias); Dr. 11 logado, hoje (12h), toggle em “Meus” (no Demo do protótipo: “Janela de revisão” = 2)Observar o painel e o card de Alertas de Prescrição; tocar o toggle para “Todos”; depois voltar o valor para 1 (padrão) e observar de novoCom 2: o limite vai a 26/09 00:00 (aplicações até 25/09 23:59) e a janela de revisão de cada prescrição passa a abrir 2 dias antes da aplicação. Entra Cecília R. Ferreira (68, PRESCRIÇÃO LIVRE C1D1, 25/09 13:00, “49h restantes”, sem chip): “Meus” passa de 1 para 2 cards (Yuki e, depois, Cecília) e “P/revisar” do Dr. 11 passa de 1 para 2 (“Urgentes” continua 0). Sai Benjamin Thompson (74, 24/09 12:30): a janela da 74 passa a abrir em 22/09 00:00, e a assinatura de 22/09 18:00 (PrescricaoAssinatura 1923) cai dentro dela e dispensa a revisão (D-CM-040). “Todos” continua com 4 cards: Kenji (72), Yuki (43), Cecília (68) e Helena (65). As 69 e 70 (26/09) continuam fora. Com o valor 1: voltam os resultados de CT-PRES-01.1 e CT-PRES-02.1Massa atual (a planilha já traz a linha com valor 1)RN-CM-011, RN-CM-020
CT-PRES-08Linha de NumeroDiasRevisaoPrescricoes ausente em IpParametroChave para a clínica (retirar a linha da clínica de teste); Dr. 11 logado, hoje (12h), toggle em “Meus”Observar o painel; tocar o toggle para “Todos”Mesmo resultado de CT-PRES-01.1 (1 card) e, em “Todos”, de CT-PRES-02.1 (4 cards, com a 74 dentro e a 68 fora) — o sistema assume a janela padrão de 1 dia de calendário (hoje e amanhã, até 23:59)Massa atual sem a linha do parâmetroRN-CM-020
CT-PRES-09Parâmetro PrescricaoTempoAssinatura da clínica alterado para 3, depois 4 e depois 5 (dias; no Demo do protótipo, “Janela de assinatura” oferece 3, 5 e 7); Dr. 9 logado, hoje (12h), toggle em “Meus”; prescrição 65 (Helena D. Costa), nunca assinada, com aplicação em 28/09 15:00Observar o painel (toggle “Meus”) e o card de Alertas de Prescrição em cada valor; depois voltar o parâmetro para 7 e observar de novoCom 3 (limite 27/09 00:00) e com 4 (limite 28/09 00:00): a 65 não aparece em nenhuma lista (a aplicação cai depois do limite), “Meus” fica vazio (“Sem prescrições pendentes para você”) e o card de Alertas mostra “0 p/revisar · 0 p/assinar (próx. 3 dias)” / “(próx. 4 dias)”. Com 5 (limite 29/09 00:00): a 65 aparece com ação Assinar e “123h restantes”, e o card mostra “0 p/revisar · 1 p/assinar (próx. 5 dias)”. Com 7 (padrão): idem, “(próx. 7 dias)”. O 5º dia de calendário só entra com S ≥ 5 mesmo que 123h passem de 5 × 24h = 120h: a janela é por dias de calendário, não por horas. O rótulo do card usa a janela da clínica (o backend envia toSignWindowDays; no singular, “próx. 1 dia”)Prescrição 65; alteração de IpParametroChave.Valor na clínica de teste (ver Pendências de Massa de Dados)RN-CM-020; D-CM-037
CT-PRES-10Linha de PrescricaoTempoAssinatura ausente em IpParametroChave para a clínica; Dr. 9 logado, hoje (12h), toggle em “Meus”Observar o painel e o card de AlertasMesmo resultado de CT-PRES-01.2 — o sistema assume a janela padrão de 7 dias de calendário: a prescrição 65 (28/09 15:00) aparece com ação Assinar, e o rótulo do card de Alertas mostra “p/assinar (próx. 7 dias)“Massa atual sem a linha (mesma prescrição de CT-PRES-01.2)RN-CM-020
CT-PRES-11Massa alternativa da prescrição 71 [PROPOSTA]: sem a assinatura PrescricaoAssinatura 1030 (a 71 fica nunca assinada; no Demo do protótipo: “Massa alternativa (prescrição 71)” = “Sem assinatura”); Dr. 9 logado, hoje (12h), toggle em “Meus”Observar o primeiro card da lista e o card de Alertas; avançar o relógio em 1 min e em 15 min; tocar o toggle para “Todos”O primeiro card é Rogério M. Santos (71, GENCITABINA+CISPLATINA C1D1, aplicação às 09:00, já passou, administração iniciada às 09:02): “3h00 atrasada”, chip vermelho, ação Assinar. Ela permanece na lista mesmo com a administração iniciada (D-CM-039, E-CM-018), conta em “Urgentes” e segue assim até ser assinada. Alertas do Dr. 9: Urgentes 1 · P/revisar 0 · P/assinar 2 (71 e 65); “Meus”: 71 e 65; “Todos”: 71, 72, 74, 43 e 65 (5 cards), com a 71 em 1º e a borda “Meu”. Às 12:01, “3h01 atrasada”; às 12:15, “3h15 atrasada” (minutos sempre com 2 dígitos). Com a massa como está, a 71 não aparece: a assinatura 1030 está dentro da janela de revisão (CT-PRES-15)Prescrição 71 (Agenda 152); PrescricaoAssinatura 1030 (retirar)RN-CM-011, RN-CM-020; D-CM-013, D-CM-041
CT-PRES-12Dr. 11 logado; relógio no dia 23/09 às 23:59 e depois à 00:00 de 24/09 (simulado; no Demo, “+1 h”, “+15 min”, “+1 min” e “Ir à meia-noite”)Observar o painel “Todos” e o card de AlertasJanela de “a revisar” em dias de calendário (D-CM-023, D-CM-037). 23:59 de 23/09: o limite é 25/09 00:00 e a lista tem 4 cards — Kenji (72, “9h restantes”, chip vermelho), Benjamin (74, “12h restantes”, laranja), Yuki (43, “14h restantes”, laranja) e Helena (65, “111h restantes”) —; “P/revisar” do Dr. 11 = 1. 00:00 de 24/09: o limite passa a 26/09 00:00 e entra Cecília R. Ferreira (68, 25/09 13:00): lista com 5 cards — 72 (“9h restantes”), 74 (“12h restantes”), 43 (“14h restantes”), 68 (“37h restantes”, sem chip) e 65 (“111h restantes”) —; “P/revisar” do Dr. 11 passa de 1 para 2Prescrição 68; requer controlar o relógio (ver Pendências de Massa de Dados)RN-CM-020; D-CM-037
CT-PRES-13Massa auxiliar [PROPOSTA]: duas prescrições do Dr. 11, em andamento, assinadas em 20/09/2026 (antes da abertura da janela de revisão das duas), sem revisão, uma com aplicação em 24/09 23:59 e outra em 25/09 00:00 (invenção do Designer, a validar); relógio em 23/09 12:00; N = 1Observar “Meus” do Dr. 11 e o card de AlertasA de 24/09 23:59 aparece (“35h restantes”, sem chip, ação Revisar), depois da Yuki (43); a de 25/09 00:00 não aparece (o limite é exclusivo, < 25/09 00:00). “P/revisar” do Dr. 11 = 2. A massa atual não tem caso real nessa bordaPendente — sem massa dedicada (ver Pendências de Massa de Dados)RN-CM-020
CT-PRES-14Massa alternativa da prescrição 71 [PROPOSTA]: a assinatura 1030 (22/09 11:14) trocada por uma de 20/09/2026 11:14, fora da janela de revisão da 71 (que abre em 22/09 00:00), e Agenda 152 com DhInfusaoIniUTC preenchido (09:02, como na massa). No Demo do protótipo: “Assinada 20/09” e a caixa “71: administração iniciada” marcada. Dr. 9 logado, hoje (12h), toggle em “Meus”(1) Observar o painel e o card de Alertas. (2) Limpar DhInfusaoIniUTC da Agenda 152 (Demo: desmarcar “administração iniciada”) e observar de novo. (3) Voltar a administração iniciada e retirar a assinatura (Demo: “Sem assinatura”) e observar. (4) Com “Sem assinatura”, limpar a administração iniciada(1) Com a administração iniciada, a 71 sai de “a revisar” (D-CM-039): “Meus” mostra só a Helena (65); Alertas 0 · 0 · 1. (2) Sem administração iniciada, a 71 entra em “a revisar”: primeiro card, “3h00 atrasada”, chip vermelho, ação Revisar; Alertas do Dr. 9: Urgentes 1 · P/revisar 1 · P/assinar 1; “Meus”: 71 e 65. (3) Sem assinatura e com a administração iniciada, a 71 permanece em “a assinar” (E-CM-018): “3h00 atrasada”, chip vermelho, ação Assinar, urgente — a falta de assinatura em procedimento é falha grave de processo e continua visível (D-CM-039, D-CM-033); Alertas: Urgentes 1 · P/revisar 0 · P/assinar 2. (4) Sem assinatura e sem administração iniciada: mesmo resultado de (3) — a administração iniciada não retira “a assinar”Prescrição 71 (Rogério M. Santos), Agenda 152; PrescricaoAssinatura 1030RN-CM-020; D-CM-039, E-CM-018
CT-PRES-15Dr. 11 logado, painel em “Todos” (e Dr. 9, para a 71); hoje (12h); N = 1Para cada prescrição abaixo, conferir se aparece em “a revisar” e comparar a data da assinatura com 00:00 do dia da aplicação menos 1 diaAssinatura dentro da janela (dispensa a revisão; fora das listas): 73 (Benjamin Thompson, FLOT C1D1, aplicação 23/09 11:00; assinaturas de 21/09 18:00 e 22/09 18:00; a janela da 73 abre em 22/09 00:00, então a de 22/09 18:00 basta) e 71 (Rogério, aplicação 23/09 09:00; assinatura 1030 de 22/09 11:14, também com administração iniciada). Assinatura fora da janela (continua em “a revisar”): 74 (Benjamin, FLOT C1D2, aplicação 24/09 12:30; assinaturas de 21/09 18:00 e 22/09 18:00; a janela da 74 abre em 23/09 00:00 e nenhuma das duas basta): “24h restantes”, sem chip, ação Revisar; 43 (Yuki; assinaturas de agosto): “26h restantes”. Qualquer assinatura que atenda vale: na 73 a primeira está fora e a segunda dentro, e a prescrição sai. Bordas [PROPOSTA]: duas prescrições auxiliares do Dr. 11 com aplicação em 24/09 (janela aberta em 23/09 00:00) — assinada em 23/09 00:00:00: sai (data igual ou posterior ao início); assinada em 22/09 23:59:00: continua em “a revisar”; mesmo resultado quando a assinatura vem só do par legado (DataAssinaturaPrescricao)Prescrições 71, 73, 74 e 43; PrescricaoAssinatura 1019, 1020, 1022, 1923 e 1030; bordas sem massa dedicada (ver Pendências de Massa de Dados)RN-CM-020, RN-CM-029; D-CM-040, E-CM-019
CT-PRES-16Hoje (12h); N = 1; S = 7. Dr. 12 logado para a 72 e Dr. 9 logado para a 65 (no Demo: “Médico logado”); painel em “Todos”Assinar a 72 (Kenji Chen, aplicação 24/09 09:00, dentro da janela de revisão) e, depois, a 65 (Helena D. Costa, aplicação 28/09 15:00, fora da janela de revisão); observar o painel e o card de Alertas de cada médico72: a assinatura de agora (23/09 12:00) é posterior à abertura da janela de revisão da 72 (23/09 00:00): a prescrição sai de toda a lista — não vira “a revisar” — e “P/assinar” do Dr. 12 diminui 1 (1 → 0); “Todos” passa de 4 para 3 cards. 65: a assinatura de agora é anterior à abertura da janela de revisão da 65 (27/09 00:00) e a aplicação (28/09) está depois do limite de revisão (25/09 00:00): sai de “a assinar” — “P/assinar” do Dr. 9 diminui 1 (1 → 0), e “Todos” passa a 2 cards — e ainda não aparece em “a revisar”; reaparece como “a revisar” (ação Revisar) quando a aplicação entra na janela, à 00:00 de 27/09 (no Demo: “Ir à meia-noite” 4 vezes). Nos dois casos o número de “Alertas” diminui em uma unidadePrescrições 72 e 65 (a tela de assinatura é simulada no protótipo; ver CT-PRES-03)RN-CM-020; D-CM-040, E-CM-019
CT-PRES-17Dr. 9 logado (Demo: “Médico logado” = Dr. 9) com a massa alternativa da 71 sem assinatura (aplicação 23/09 09:00, atraso crescente); idioma pt-BR, e en-US e es-419 para as chavesObservar o texto de tempo do card da 71 com o relógio em 12:00, 12:01, 12:15, 25/09 08:59, 25/09 09:00 e 25/09 20:00; o da 72 (aplicação 24/09 09:00) com o relógio em 24/09 01:00 e 08:15Texto montado pelos minutos reais (minutesRemaining), nunca pelo inteiro truncado de horas. Atrasada (minutos < 0): abaixo de 60 min, “{m}min atrasada” (“45min atrasada”); de 60 min a 47h59, “{h}h{mm} atrasada”, com os minutos sempre em 2 dígitos (“1h00 atrasada”, “1h59 atrasada”, “3h00 atrasada”, “3h01 atrasada”, “47h59 atrasada”); a partir de 48h, “{d} dias atrasada”, com d = piso de dias (48h00 → “2 dias atrasada”; 59h → “2 dias atrasada”; “30 dias atrasada”). Restante: abaixo de 60 min, “{m}min restantes” (“45min restantes”); a partir de 60 min, “{h}h restantes” (“8h restantes”, “26h restantes”, “123h restantes”). Chip: vermelho com menos de 12h (inclusive atrasada), laranja de 12h a 24h, sem chip a partir de 24h. Com o Demo: 71 às 12:00 “3h00 atrasada”, 12:01 “3h01 atrasada”, 12:15 “3h15 atrasada”, 25/09 08:59 “47h59 atrasada”, 25/09 09:00 e 20:00 “2 dias atrasada” (para “30 dias atrasada”: “Ir à meia-noite” 30 vezes e “+1 h” 12 vezes, até 23/10 12:00); 72 em 24/09 01:00 “8h restantes” e às 08:15 “45min restantes”. Os demais valores (“45min atrasada”, “1h59 atrasada”) pedem teste de unidade da formatação ou massa auxiliar. Chaves (pt-BR / en-US / es-419): presc-restante “{h}h restantes” / “{h}h left” / “{h}h restantes”; presc-restante-min “{m}min restantes” / “{m}min left” / “{m}min restantes”; presc-atrasada-hm “{h}h{mm} atrasada” / “{h}h{mm} overdue” / “{h}h{mm} de atraso”; presc-atrasada-min “{m}min atrasada” / “{m}min overdue” / “{m}min de atraso”; presc-atrasada-dias “{d} dias atrasada” / “{d} days overdue” / “{d} días de atraso”. A confirmar: o formato em minutos do tempo restante (D-CM-055) e o instante exato da aplicação (minutesRemaining = 0): o protótipo mostra “0min restantes”, e a Especificação diz que o valor é “menor ou igual a zero” depois da horaPrescrições 71 (massa alternativa) e 72RN-CM-011; D-CM-041, D-CM-055
CT-PRES-18Massa auxiliar [PROPOSTA]: duas prescrições nunca assinadas, do Dr. 9 como prescritor, com a mesma Agenda.DhAgendaIniUTC da 65 (28/09 15:00): a 90, para Sophia Muller (12), e a 91, para Carmen Garcia (14) (ids maiores que 82); Dr. 9 logado, hoje (12h)Observar “Meus” e “Todos”As três têm o mesmo minutesRemaining e aparecem juntas, nesta ordem: 91 (Carmen Garcia), 65 (Helena D. Costa), 90 (Sophia Muller) — ordem alfabética do nome do paciente (D-CM-047), que difere da ordem por id (65, 90, 91) —, em “Meus” e em “Todos”, qualquer que seja a ordem em que foram gravadas; as demais prescrições mantêm a posição pelo tempo restante. Para o mesmo nome de paciente, vale o menor id (E-CM-027)Pendente — sem massa dedicada (ver Pendências de Massa de Dados)RN-CM-011; D-CM-041; D-CM-047
CT-PRES-19Massa auxiliar [PROPOSTA], a mesma de CT-CONS-19, com três prescrições “a assinar” nunca assinadas: a do Dr. 9, com agenda em B e aplicação daqui a 8 horas; a do Dr. 12, com agenda em B e aplicação daqui a 30 horas; e outra do Dr. 12, com agenda em C (clínica que o Dr. 9 não atende) e aplicação daqui a 20 horas; o segundo cliente, de uma só clínicaDr. 9 logado no cliente de três clínicas, painel de Prescrições em “Meus” e depois em “Todos”; observar também “Alertas de Prescrição”; depois entrar como Dr. 11 no cliente de uma só clínicaDr. 9, “Meus”: aparece só a prescrição dele, com o nome de B no card; “Alertas de Prescrição” sobe em 1 em “Urgentes” (faltam menos de 12h) e em 1 em “p/assinar” em relação à carga. “Todos”: aparecem também a do Dr. 12 em B (30h, sem chip de urgência) e as demais prescrições da carga das clínicas dele, todas com o nome da clínica; a do Dr. 12 em C não aparece, nem entra em “Alertas de Prescrição”; a do Dr. 12 em B não entra no indicador do Dr. 9. Dr. 11 (cliente de uma só clínica): nenhum card mostra o nome da clínicaPendente — sem massa dedicada (ver Pendências de Massa de Dados)RN-CM-032; D-CM-066; E-CM-028; E-CM-029; D-CM-067, D-CM-068
CT-PRES-20Massa auxiliar [PROPOSTA]: uma prescrição do Dr. 9, assinada e ainda não revisada, com aplicação dentro da janela de revisão e assinatura anterior à abertura dela, portanto “a revisar” (a carga atual não tem “a revisar” para o Dr. 9); a tela de detalhe da prescrição fica fora deste documentoDr. 9 abre a prescrição pelo botão “Revisar”, edita e grava (gera nova versão); voltar à Central e atualizar; depois assinar a nova versão dentro da janela de revisãoDepois de gravar: a versão anterior fica cancelada e sai da lista; a nova, que é a única válida entre as versões, aparece uma só vez em “a assinar” (nunca assinada: sem PrescricaoAssinatura e sem os campos legados de assinatura), com o chip pelo tempo restante. “P/revisar” cai em 1 e “P/assinar” sobe em 1; “Urgentes” não muda, porque soma as duas categorias. Depois de assinada dentro da janela de revisão (D-CM-040), ela sai da lista: “P/assinar” volta ao valor anterior e “P/revisar” continua 1 abaixo do inicialPendente — sem massa dedicada (ver Pendências de Massa de Dados)RN-CM-020; D-CM-050; D-CM-052
CT-PRES-21Massa auxiliar [PROPOSTA]: prescrição do Dr. 11, assinada no dia 22 às 11:14, com aplicação no dia 23; janela de revisão N = 1; relógio simulado; depois a aplicação é reagendada para o dia 26(a) Hoje dia 22, depois das 11:14: observar o painel “Todos”. (b) Reagendar a aplicação (só a agenda; a prescrição não é editada) para o dia 26 e observar nos dias 22, 24 e 25(a) A prescrição não aparece (assinatura feita depois da abertura da janela do dia 23, às 00:00 do dia 22; D-CM-040). (b) Nos dias 22 e 24 continua fora das listas (aplicação além das janelas); no dia 25 aparece em “a revisar”: a janela da nova data abriu às 00:00 do dia 25 e a assinatura do dia 22 é anterior, então perdeu o efeito (D-CM-052, D-CM-059). Em nenhum momento a prescrição aparece em “a assinar”: ela já foi assinada e não precisa ser assinada de novo (D-CM-059)Pendente — sem massa dedicada (ver Pendências de Massa de Dados)RN-CM-020; D-CM-040; D-CM-052; D-CM-059
CT-PRES-22Massa auxiliar [PROPOSTA]: um cliente com duas clínicas, as duas atendidas pelo Dr. 9, S (a clínica em que ele está logado, janela de assinatura PrescricaoTempoAssinatura = 7 dias) e N (janela = 3 dias); uma prescrição nunca assinada em cada clínica, as duas com aplicação no dia 15; hoje é o dia 10. No Demo: janela principal em 7, caixa “Médico atende em mais de uma clínica” ligada e “Janela de assinatura da clínica Norte” em 3 dias (Sul = clínica logada; as prescrições da Norte têm ids pares)Dr. 9 logado, painel de Prescrições em “Todos”; observar o painel; depois voltar a janela da Norte para “Igual à da Sul” e observar de novoCom a Norte em 3 dias, a prescrição da Sul aparece em “a assinar” (aplicação dentro da janela de 7 dias da clínica dela) e a da Norte não (fora da janela de 3 dias da clínica dela); com a Norte igual à Sul, as duas aparecem. O rótulo do indicador de alertas mostra “p/assinar (próx. 7 dias)”, a janela da clínica em que o Dr. 9 está logado (D-CM-063), nos dois casosPendente — sem massa dedicada (ver Pendências de Massa de Dados)RN-CM-020, RN-CM-032; D-CM-060, D-CM-063; E-CM-032
CT-PRES-23Massa auxiliar [PROPOSTA]: um cliente com duas clínicas de fusos diferentes, as duas atendidas pelo Dr. 9, S (−03:00, a clínica em que ele está logado) e N (−04:00); janela de revisão de 1 dia nas duas; hoje é o dia 10 às 12:00 (relógio de S); uma prescrição do Dr. 9, já assinada no dia 8 e sem revisão, com agenda na clínica N e aplicação marcada para o dia 12 às 00:30 no relógio de S (dia 11 às 23:30 no relógio de N). O Demo do protótipo não reproduz este caso: tem um só relógio, o da clínica logadaDr. 9 logado na clínica S, painel de Prescrições em “Meus”; observar o painel e “Alertas de Prescrição”; depois levar o relógio de S para o dia 11 às 00:01 e observar de novoNo dia 10 a prescrição não aparece em “a revisar” nem em “p/revisar”: o fim da janela é o fim do dia 11 no relógio de S, e a aplicação cai às 00:30 do dia 12 (no relógio de N ela caberia, mas o “hoje” é o da clínica logada, D-CM-062). No dia 11 às 00:01 ela aparece em “a revisar” e conta em “p/revisar” (a assinatura do dia 8 é anterior à abertura da janela da prescrição, D-CM-040)Pendente — sem massa dedicada (ver Pendências de Massa de Dados)RN-CM-020, RN-CM-032; D-CM-062; E-CM-032

Detalhamento — Resultado Esperado

Ordenação (RN-CM-011/RN-CM-020): as prescrições são ordenadas por minutesRemaining crescente (a aplicação mais próxima, ou a mais atrasada, primeiro), com desempate pelo nome do paciente e, para o mesmo nome, pelo id da prescrição (D-CM-047, E-CM-027; CT-PRES-18). Chips: menos de 12h = crítica (chip vermelho, inclusive as atrasadas), 12h a 24h = atenção (chip laranja), 24h ou mais = sem chip. A ordem abaixo faz parte do resultado esperado. A massa atual não tem empate de horário entre prescrições pendentes (ver Pendências de Massa de Dados).

CT-PRES-01.1 — cards esperados, em ordem (toggle “Meus”, Dr. 11 — 1 card, às 12h)

  1. Yuki Tanaka (8) — PACLITAXEL+CARBOPLATINA C2D1 · amanhã 14:00 · “26h restantes”, sem chip · ação Revisar · borda Meu

Yuki Tanaka (8), prescrição 43 (Agenda 88), aparece mesmo a 26h: já assinada (RN-CM-029; PrescricaoAssinatura de 29/08 e par legado de 21/08), com assinatura anterior à abertura da janela de revisão dela (23/09 00:00) e sem confirmação de revisão, com aplicação amanhã — dentro da janela de 1 dia de calendário (hoje e amanhã, até 23:59; D-CM-023). Não há chip, porque o chip só existe com menos de 24h restantes (RN-CM-011). Ver CT-KPI-04.1 (Seção 2).

Amanda Peres / Reed Richards (1), prescrição 11 (Agenda 63, hoje 14:00), e Cecília R. Ferreira (23), prescrição 68, não aparecem: a 11 tem assinatura (PrescricaoAssinatura 21, 23/09 16:00:59) dentro da janela de revisão dela (aberta em 22/09 00:00), que dispensa a revisão (D-CM-040; a data é posterior ao relógio das 12h, ver Pendências de Massa de Dados); a 68 (Agenda 145, 25/09 13:00) está depois do limite de revisão (25/09 00:00) e entra à 00:00 de 24/09 (CT-PRES-12). Beatriz A. Lima (20), prescrição 70 (26/09), também fica fora. Ver Seção 10 (Matriz de rastreabilidade).

Isabella Santos (16), prescrição 77, e Elena Volkov (18), prescrição 82, não aparecem em nenhuma lista deste painel: ambas já assinadas (par legado, RN-CM-029) e já com confirmação de revisão (TipoAssinatura='R', datada de 23/09/2026, 07:11 e 07:12) — Precedência 2 de RN-CM-020 satisfeita como “já revisada”. Isabella é paciente do Dr. 11 (prescritor), Elena do Dr. 9 — nenhuma aparece em “Meus” nem em “Todos” de nenhum dos dois médicos.

CT-PRES-01.2 — cards esperados, em ordem (toggle “Meus”, Dr. 9 — 1 card, às 12h)

  1. Helena D. Costa (21) — DOCETAXEL+CARBOPLATINA C3D1 · 28/09 15:00 · “123h restantes”, sem chip · ação Assinar · borda Meu

Rogério M. Santos (2), prescrição 71, e Marcelo T. Pinto (22), prescrição 67, não aparecem: ambas assinadas dentro da janela de revisão delas — a 71 pela PrescricaoAssinatura 1030 (22/09 11:14; aplicação hoje 09:00, administração iniciada às 09:02), a 67 pela 1024 (23/09 16:45; aplicação amanhã 08:00, assinatura posterior ao relógio das 12h) —, o que dispensa a revisão (D-CM-040). Otávio B. Lima (24), prescrição 69, também não: já assinada (via DataAssinaturaPrescricao, RN-CM-029), o que basta para nunca aparecer em “a assinar” (sem verificação de vencimento); sem confirmação de revisão, mas a aplicação (26/09 10:00) está depois do limite de revisão (25/09 00:00) — sai de ambas as listas.

CT-PRES-02.1 — lista completa, em ordem (toggle “Todos”, Dr. 11 — 4 cards, às 12h)

  1. Kenji Chen (15) — PRESCRIÇÃO LIVRE C1D1 · amanhã 09:00 · chip laranja (“21h restantes”; vira vermelho com menos de 12h) · ação Assinar (prescrição nunca assinada — cobre o caso “médico de terceiros”, ver nota abaixo) · sem borda
  2. Benjamin Thompson (17) — FLOT C1D2 · amanhã 12:30 · “24h restantes”, sem chip · ação Revisar · sem borda
  3. Yuki Tanaka (8) — PACLITAXEL+CARBOPLATINA C2D1 · amanhã 14:00 · “26h restantes”, sem chip · ação Revisar · borda Meu
  4. Helena D. Costa (21) — DOCETAXEL+CARBOPLATINA C3D1 · 28/09 15:00 · “123h restantes”, sem chip · ação Assinar · sem borda

Benjamin Thompson (74, FLOT C1D2) e Yuki Tanaka (43) estão nesta lista às 12h: já assinadas (RN-CM-029), sem confirmação de revisão e com assinatura anterior à abertura da janela de revisão delas (23/09 00:00), com aplicação amanhã (24h30 e 26h) — dentro da janela de dias de calendário (D-CM-023). O chip só existe com menos de 24h restantes (RN-CM-011). Ver CT-PRES-15 e a observação em CT-KPI-04.1.

Rogério (71, hoje 09:00) e Benjamin (73, FLOT C1D1, hoje 11:00) não estão na lista: as duas aplicações já passaram, mas as duas prescrições têm assinatura dentro da janela de revisão delas (1030 e 1022), que dispensa a revisão; a 71 aparece “3h00 atrasada” na massa alternativa de CT-PRES-11. Amanda Peres/Reed (11) e Marcelo (67) também não: ver CT-PRES-01.1 e 01.2.

Cecília R. Ferreira (23, prescrição 68) e Beatriz A. Lima (20, prescrição 70) ficam de fora (aplicação em 25/09 e 26/09, depois do limite de revisão).

Helena D. Costa (21), prescrição 65, está nesta lista como em CT-PRES-02.2: a visão “Todos” mostra as mesmas prescrições da clínica para qualquer médico; só a borda “Meu” muda.

Kenji Chen (15), prescrição 72 — ação Assinar (não Revisar): a prescrição nunca foi assinada (PrescricaoAssinatura sem registro) — é o único caso real de “prescrição nunca assinada” pertencente a um médico de terceiros (Dr. Ricardo Martins/12, não Dr. 11 nem Dr. 9) na visão “Todos”. Agenda 153 (amanhã 09:00) define o chip e a posição na ordem; o enquadramento em RN-CM-020 é Precedência 1 (“a assinar”), não Precedência 2 (“a revisar”). Ver CT-KPI-06 (Seção 2).

CT-PRES-02.2 — lista completa, em ordem (toggle “Todos”, Dr. 9 — 4 cards, às 12h)

  1. Kenji Chen (15) — PRESCRIÇÃO LIVRE C1D1 · amanhã 09:00 · chip laranja (“21h restantes”; vira vermelho com menos de 12h) · ação Assinar (prescrição nunca assinada — mesmo motivo de CT-PRES-02.1 acima) · sem borda
  2. Benjamin Thompson (17) — FLOT C1D2 · amanhã 12:30 · “24h restantes”, sem chip · ação Revisar · sem borda
  3. Yuki Tanaka (8) — PACLITAXEL+CARBOPLATINA C2D1 · amanhã 14:00 · “26h restantes”, sem chip · ação Revisar · sem borda
  4. Helena D. Costa (21) — DOCETAXEL+CARBOPLATINA C3D1 · 28/09 15:00 · “123h restantes”, sem chip · ação Assinar · borda Meu

Otávio B. Lima (24, prescrição 69) não aparece nesta lista — mesmo motivo de CT-PRES-01.2 acima (já assinada, aplicação em 26/09, depois do limite de revisão). Benjamin Thompson (74) e Yuki Tanaka (43) aparecem sem borda “Meu” (não são prescrições deste médico), como em CT-PRES-02.1.

Com a massa alternativa da 71 (CT-PRES-11), a lista tem 5 cards e a prescrição 71/Rogério M. Santos aparece uma única vez, na posição 1, com destaque “Meu” (o prescritor é o Dr. 9).


5. Painel Pacientes em procedimento

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN Relacionada
CT-PROC-01.1Dr. 11 logado, hoje, toggle “Meus”Observar o painelBadge: 4, em ordem — ver detalhamento ⬇ (CT-PROC-01.1)Prescrição/Agenda de hoje, Dr. 11RN-CM-025 (tags), RN-CM-026 (horário do Finalizado), RN-CM-027 (ordenação)
CT-PROC-01.2Dr. 9 logado, hoje, toggle “Meus”Observar o painelBadge: 4, em ordem — ver detalhamento ⬇ (CT-PROC-01.2)Prescrição/Agenda de hoje, Dr. 9RN-CM-025, RN-CM-016, RN-CM-027
CT-PROC-02.1Dr. 11 logado, hoje, tocar toggle “Todos”Observar o painelBadge: 9, lista completa em ordem cronológica (RN-CM-027) — ver detalhamento ⬇ (CT-PROC-02.1)—RN-CM-025, RN-CM-016, RN-CM-026, RN-CM-027
CT-PROC-02.2Dr. 9 logado, hoje, tocar toggle “Todos”Observar o painelBadge: 9, lista completa em ordem cronológica (RN-CM-027) — ver detalhamento ⬇ (CT-PROC-02.2)—RN-CM-025, RN-CM-016, RN-CM-026, RN-CM-027
CT-PROC-04Qualquer médico logado, hojeObservar cards com status “Em aplicação”Barra de progresso inline (3px), calculada como o tempo decorrido desde o início do atendimento (Agenda.DhAtendimentoIniUTC) sobre o tempo de aplicação da prescrição (Prescricao.TempoAplicacao, em minutos), arredondada ao inteiro mais próximo, conforme a Seção 4.3 do Mapeamento (D-CM-015); fica vermelha acima de 100%. Prescrição sem tempo de aplicação (vazio ou zero): sem barra nem porcentagem, com o texto “sem tempo previsto” no lugar (CT-PROC-12, D-CM-034). A barra existe só no status “Em aplicação”: some quando o status muda para Completo ou Finalizado (CT-PROC-11, CT-PROC-13).Ver casos 01/02 acimaRN-CM-016
CT-PROC-08Acompanhar um mesmo procedimento antes e depois de ele passar para Finalizado (ex.: Roberto N. Alves, agenda 138)Observar o card antes do atendimento terminar, e novamente depoisAntes de Finalizado: horário exibido é o de início do atendimento. A partir de Finalizado: o horário exibido passa a ser o de término (12:02 no exemplo) — é um único valor que troca de sentido, não dois campos simultâneos (conferido no código do Protótipo: o horário entre parênteses é fim quando o status é Finalizado e inicio nos demais)Agenda 138 (real início 09:03, término 12:02)RN-CM-026
CT-PROC-05Qualquer médico logado, hojeTocar no cardAbre a página de report do procedimento (não implementado); ao fechar, volta para a Central atualizada——
CT-PROC-06Qualquer médico logado, hojeTocar no botão “PEP”Abre o Resumo do Prontuário do paciente——
CT-PROC-07.1Dra. Aline Chen (17) logada, Central aberta, toggle “Meus” (default)Observar o painelSem cards, mensagem “Sem pacientes seus para o dia” (MSG_proceduresNoneMine)— (nenhum paciente com vínculo direto com este médico hoje)—
CT-PROC-07.2A partir do estado de CT-PROC-07.1Desativar o toggle “Meus”Não reproduzível com a massa atual: há pacientes na unidade hoje vinculados a outros médicos (CT-PROC-02.1/02.2, badge 9 clínica-wide contra 4 do Dr. 11 sozinho em CT-PROC-01.1), então o toggle “Todos” nunca fica vazio hoje; MSG_proceduresNoneAll sem cobertura de dado realPendente — sem massa dedicada (ver Pendências de Massa de Dados)—
CT-PROC-09Dr. 9 logado, hoje, toggle “Todos”Observar as tags dos cards de Rogério M. Santos (2), Maria Silva (4, os dois cards), Roberto N. Alves (19) e Yuki Tanaka (8)Mesmas regras de tag do painel de Consultas: Rogério (2) — sem tag (Linha de Cuidados oculta por MostrarEm=1); Maria Silva (4, nos dois cards) e Yuki (8) — chip INT.MED (#FBF8AF, amarelo-claro; atribuído no prontuário, em vigência hoje); Roberto (19) — dois chips, ANTICOAG (#EED1EE) e INT.MEDLista de CT-PROC-02.2; PEP 1117 (oculto), 1105, 1115, 1127 e 1107RN-CM-025
CT-PROC-10Massa proposta (ver Pendências de Massa de Dados): PrimeiraConsulta='S' na Agenda 86 (Yuki Tanaka, prescrição 42, 14:30). Dr. 11 logado, hoje, toggle “Meus”; depois um teclado (Tab) ou leitor de telaObservar o card de Yuki Tanaka (8) e os demais; passar o mouse (ou tocar) no ícone ao lado do nome; percorrer o painel com TabO contrato traz firstTime: true só para a Yuki. O card dela mostra o ícone “1ª Consulta” (Tabler circle-number-1, 18px, sem fundo, --color-first-visit) logo depois do nome, com a dica “1ª Consulta” ao mouse e ao toque, como no painel de Consultas (CT-CONS-09.1, CT-CONS-14); a tag INT.MED continua na linha de tags e o ícone não é uma tag. Os outros três cards do painel não mostram o ícone. O ícone não recebe o foco do teclado: o leitor de tela lê “1ª Consulta” dentro do nome acessível do card, e não há dica ao foco (D-CM-035)Agenda 86 (massa proposta); lista de CT-PROC-01.1RN-CM-028; D-CM-029, D-CM-035
CT-PROC-11Massa proposta: Agenda 138 (Roberto N. Alves) com DhAtendimentoFimUTC vazio e DhInfusaoFimUTC preenchido (11:50). Dr. 11 logado, hoje, toggle “Meus”Observar o card de Roberto N. Alves (19) e o card “Procedimentos Hoje”Status Completo (infusão terminada, sem alta; D-CM-030): não é “Finalizado” nem “Em aplicação” (com DhInfusaoFimUTC preenchido o procedimento nunca está em aplicação). Chip “Completo” com as cores de administered (Design System, seção 4; D-CM-079). Sem barra de progresso. A posição no painel não muda (ordem por horário agendado, 09:00; RN-CM-027). No card “Procedimentos Hoje” nada muda em relação a CT-KPI-03.1: total 4, em atendimento 0, aguardando 2, previstos 1 (o Completo conta no total e em nenhum subtotal; D-CM-038). Valor de contrato status.domain: "administered" (D-CM-074); o texto exibido é status.name (TermoTraducao, Termo = ASD, Origem = DomEstadoAgendaProcedimento). A confirmar: (1) o horário entre parênteses: pela fórmula do Mapeamento (4.3) e pelo Protótipo seria o do início do atendimento (09:03), mas a Especificação (2.6, RN-CM-026) só diz “início enquanto o procedimento não termina; a partir de Finalizado, o de término”, sem tratar o CompletoAgenda 138 (massa proposta); Protótipo: mock Paulo Rocha (Completo)RN-CM-026; D-CM-030, D-CM-038, D-CM-042, D-CM-074, D-CM-079
CT-PROC-12Massa proposta: TempoAplicacao vazio na prescrição 71 (Rogério M. Santos) e zero na 82 (Elena Volkov); a 31 (Maria Silva) fica como está. Dr. 9 logado, hoje, toggle “Meus”Observar os cards de Elena Volkov (18), Rogério M. Santos (2) e Maria Silva (4, DOCETAXEL+CARBOPLATINA)Elena e Rogério (“Em aplicação”): sem barra e sem porcentagem; no lugar da barra, o texto discreto “sem tempo previsto” (D-CM-034), e o nome acessível do card também diz “sem tempo previsto”. Maria Silva continua com a barra (6% às 12h, 47% às 13h). Nenhuma divisão por zero nem “NaN%”: progress vem nulo no contrato. Textos: pt-BR “sem tempo previsto”, en-US “no planned time”, es-419 “sin tiempo previsto” (chave proc-sem-tempo)Prescrições 71 e 82 (massa proposta); 31RN-CM-016; D-CM-034
CT-PROC-13Massa proposta: Agenda 138 (Roberto N. Alves) com DhInfusaoFimUTC vazio e DhAtendimentoFimUTC preenchido (12:02), sem fim de infusão. Dr. 11 logado, hoje, toggle “Meus”Observar o card de Roberto N. Alves (19)Status Finalizado: a alta registrada vale mesmo com o fim da infusão vazio (D-CM-030; a ordem de ProcedureStatus() avalia o Finalizado antes do Completo e do Em aplicação), e o card mostra “Finalizado (12:02)”, o horário de término (RN-CM-026), como em CT-PROC-01.1. Sem barra. No card “Procedimentos Hoje”: total 4 e subtotais 0 · 2 · 1, como em CT-KPI-03.1. As 23 agendas de quimioterapia da massa que já têm essa combinação (alta sem fim de infusão) são de outros dias e não aparecem no painel de hojeAgenda 138 (massa proposta)RN-CM-026; D-CM-030, D-CM-038
CT-PROC-14Massa auxiliar [PROPOSTA]: o cliente de três clínicas de CT-CONS-19, com um procedimento de hoje do Dr. 9 em A, outro em B (os dois são dele) e um do Dr. 12 em C (clínica que o Dr. 9 não atende); o segundo cliente, de uma só clínicaDr. 9 logado, painel Pacientes em procedimento, primeiro em “Meus” e depois em “Todos”; observar os cards e “Procedimentos Hoje”; depois entrar como Dr. 11 no cliente de uma só clínicaDr. 9: em “Meus” aparecem os dois procedimentos dele, e os dois entram em “Procedimentos Hoje”; em “Todos” aparecem também os de outros médicos de A e de B, mas não o de C, que também não entra no indicador; cada card tem a linha de clínica (ícone building-2 e nome curto, 12px color-neutral-pure). Dr. 11 (cliente de uma só clínica): nenhum card mostra o nome da clínicaPendente — sem massa dedicada (ver Pendências de Massa de Dados)RN-CM-032; D-CM-061, D-CM-066
CT-PROC-15Agenda de procedimento de hoje com Agenda.Situacao de cancelamento (C, D, F, I, M, O ou T), com prescrição. Se a massa não tiver, [PROPOSTA] de massa: marcar uma agenda de procedimento de hoje como cancelada. Médico logado, toggle “Todos”; repetir nos dois temasObservar o card do procedimento cancelado; passar o leitor de tela pelo cardChip “Cancelado” (status.domain: "canceled", cinza preenchido), sem risco; nome do paciente, local, tags e clínica (quando visível) riscados; avatar neutro, sem risco; sem barra de progresso e sem horário entre parênteses. O leitor de tela lê o nome acessível do card com o status, sem anunciar o risco. Protótipo: mock Helena Duarte (toggle “Todos”)A definir na massa (ver Pré-condição); Protótipo: mock Helena DuarteD-CM-030, D-CM-076, D-CM-077, D-CM-079
CT-PROC-16Médico logado, toggle “Todos”; repetir nos temas claro e escuro, trocando o tema com a Central aberta; simular uma resposta sem status.colorsObservar o chip de status de cada card de procedimentoChip com status.name (em caixa alta, como todos os chips) e o par fundo/texto de status.colors do tema vigente: Agendado, Aguardando recepção, Recepcionado e Finalizado com as cores da consulta; Em preparo #B9F6CA/#0F762C (escuro #37484D/#B9F6CA); Em aplicação #00E676/#005F31 (escuro #12443C/#00E676); Completo #C9C3FD/#4C3FBD (escuro #3A3D57/#C9C3FD); Cancelado #E5EAF0/#526A90 (escuro #262F47/#9AA9C2). Ao trocar o tema, o chip muda de par sem recarregar. Horário entre parênteses logo depois do chip, quando houver. Avatar neutro. Sem colors: chip neutroMassa da Seção 5 (procedimentos); Em preparo, Completo e Cancelado conforme as Pendências de Massa de Dados. Protótipo: o mock não tem Em preparo nem RecepcionadoRN-CM-026; D-CM-073, D-CM-077, D-CM-079; E-CM-048

Detalhamento — Resultado Esperado

Ordenação (RN-CM-027): a lista é ordenada cronologicamente pelo horário agendado do procedimento (Agenda.DhAgendaIniUTC) — não pelo horário exibido no card (início real ou término, conforme RN-CM-026). Procedimentos no mesmo horário são desempatados em ordem alfabética pelo nome do paciente. Confirmada contra a massa real: reproduz exatamente a ordem abaixo, inclusive o empate Roberto N. Alves/Rogério M. Santos (ambos agendados às 09:00 — “Roberto” antes de “Rogério” alfabeticamente). Todos os pacientes deste painel têm foto (nenhum dos dois sem-foto da massa — Cecília R. Ferreira/23, Otávio B. Lima/24 — aparece aqui). Tooltip da tag INT.MED: ver legenda na Seção 3.

CT-PROC-01.1 — cards esperados, em ordem (toggle “Meus”, Dr. 11)

  1. Roberto N. Alves (19) — NIVOLUMAB+IPILIMUMAB C4D1 · Setor Verde/Verde B · tags ANTICOAG (#EED1EE) e INT.MED (amarelo-claro) · Finalizado (12:02) · sem barra · borda Meu · Foto: sim
  2. Reed Richards (1) — NIVOLUMAB C7D1 · Setor Rosa/Salmão B · sem tag · Recepcionado (14:00 agenda) · sem barra · borda Meu · Foto: sim
  3. Yuki Tanaka (8) — PACLITAXEL+CARBOPLATINA C1D15 · Setor Verde/Verde A · tag INT.MED (amarelo-claro) · Agendado (14:30 agenda) · sem barra · borda Meu · Foto: sim
  4. Isabella Santos (16) — GENCITABINA C1D15 · Setor Verde/Verde A · sem tag · Aguardando recepção (16:00 agenda) · sem barra · borda Meu · Foto: sim

CT-PROC-01.2 — cards esperados, em ordem (toggle “Meus”, Dr. 9)

  1. Elena Volkov (18) — CISPLATINA C2D1 · Setor Rosa/Salmão A · sem tag · Em aplicação · início 07:49 · progresso 93% (12h) / 115% vermelho (13h; cruza 100% às 12:19) · borda Meu · Foto: sim
  2. Rogério M. Santos (2) — GENCITABINA+CISPLATINA C1D1 · Setor Rosa/Limão A · sem tag · Em aplicação · início 08:52 · progresso 66% (12h) / 87% (13h) · borda Meu · Foto: sim
  3. Maria Silva (4) — DOCETAXEL+CARBOPLATINA C3D1 · Setor Verde/Verde A · tag INT.MED (amarelo-claro) · Em aplicação · início 11:52 · progresso 6% (12h) / 47% (13h), base de 145 min de TempoAplicacao · borda Meu · Foto: sim
  4. Maria Silva (4) — PRESCRIÇÃO LIVRE C1D1 · Setor Verde/Verde A · tag INT.MED (amarelo-claro) · Agendado (15:00 agenda) · sem barra · borda Meu · Foto: sim

CT-PROC-02.1 — lista completa, em ordem (toggle “Todos”, Dr. 11 — 9 cards)

  1. Elena Volkov (18) — CISPLATINA C2D1 · Setor Rosa/Salmão A · sem tag · Em aplicação · início 07:49 · progresso 93% (12h) / 115% vermelho (13h; cruza 100% às 12:19) · sem borda · Foto: sim
  2. Roberto N. Alves (19) — NIVOLUMAB+IPILIMUMAB C4D1 · Setor Verde/Verde B · tags ANTICOAG (#EED1EE) e INT.MED (amarelo-claro) · Finalizado (12:02) · sem barra · borda Meu · Foto: sim
  3. Rogério M. Santos (2) — GENCITABINA+CISPLATINA C1D1 · Setor Rosa/Limão A · sem tag · Em aplicação · início 08:52 · progresso 66% (12h) / 87% (13h) · sem borda · Foto: sim
  4. Benjamin Thompson (17) — FLOT C1D1 · Setor Verde/Salmão A · sem tag · Agendado (11:00 agenda) · sem barra · sem borda · Foto: sim
  5. Maria Silva (4) — DOCETAXEL+CARBOPLATINA C3D1 · Setor Verde/Verde A · tag INT.MED (amarelo-claro) · Em aplicação · início 11:52 · progresso 6% (12h) / 47% (13h), base de 145 min de TempoAplicacao · sem borda · Foto: sim
  6. Reed Richards (1) — NIVOLUMAB C7D1 · Setor Rosa/Salmão B · sem tag · Recepcionado (14:00 agenda) · sem barra · borda Meu · Foto: sim
  7. Yuki Tanaka (8) — PACLITAXEL+CARBOPLATINA C1D15 · Setor Verde/Verde A · tag INT.MED (amarelo-claro) · Agendado (14:30 agenda) · sem barra · borda Meu · Foto: sim
  8. Maria Silva (4, prescrição livre) — PRESCRIÇÃO LIVRE C1D1 · Setor Verde/Verde A · tag INT.MED (amarelo-claro) · Agendado (15:00 agenda) · sem barra · sem borda · Foto: sim
  9. Isabella Santos (16) — GENCITABINA C1D15 · Setor Verde/Verde A · sem tag · Aguardando recepção (16:00 agenda) · sem barra · borda Meu · Foto: sim

CT-PROC-02.2 — lista completa, em ordem (toggle “Todos”, Dr. 9 — 9 cards)

  1. Elena Volkov (18) — CISPLATINA C2D1 · Setor Rosa/Salmão A · sem tag · Em aplicação · início 07:49 · progresso 93% (12h) / 115% vermelho (13h; cruza 100% às 12:19) · borda Meu · Foto: sim
  2. Roberto N. Alves (19) — NIVOLUMAB+IPILIMUMAB C4D1 · Setor Verde/Verde B · tags ANTICOAG (#EED1EE) e INT.MED (amarelo-claro) · Finalizado (12:02) · sem barra · sem borda · Foto: sim
  3. Rogério M. Santos (2) — GENCITABINA+CISPLATINA C1D1 · Setor Rosa/Limão A · sem tag · Em aplicação · início 08:52 · progresso 66% (12h) / 87% (13h) · borda Meu · Foto: sim
  4. Benjamin Thompson (17) — FLOT C1D1 · Setor Verde/Salmão A · sem tag · Agendado (11:00 agenda) · sem barra · sem borda · Foto: sim
  5. Maria Silva (4) — DOCETAXEL+CARBOPLATINA C3D1 · Setor Verde/Verde A · tag INT.MED (amarelo-claro) · Em aplicação · início 11:52 · progresso 6% (12h) / 47% (13h), base de 145 min de TempoAplicacao · borda Meu · Foto: sim
  6. Reed Richards (1) — NIVOLUMAB C7D1 · Setor Rosa/Salmão B · sem tag · Recepcionado (14:00 agenda) · sem barra · sem borda · Foto: sim
  7. Yuki Tanaka (8) — PACLITAXEL+CARBOPLATINA C1D15 · Setor Verde/Verde A · tag INT.MED (amarelo-claro) · Agendado (14:30 agenda) · sem barra · sem borda · Foto: sim
  8. Maria Silva (4, prescrição livre) — PRESCRIÇÃO LIVRE C1D1 · Setor Verde/Verde A · tag INT.MED (amarelo-claro) · Agendado (15:00 agenda) · sem barra · borda Meu · Foto: sim
  9. Isabella Santos (16) — GENCITABINA C1D15 · Setor Verde/Verde A · sem tag · Aguardando recepção (16:00 agenda) · sem barra · sem borda · Foto: sim

Nota: só existe um horário exibido por card, dentro do parêntese ao lado do status — ele é o de início do atendimento enquanto o card não vira Finalizado, e passa a ser o de término a partir daí (RN-CM-026). Não são dois campos simultâneos; se a intenção for mostrar os dois horários (início e término) ao mesmo tempo, é uma mudança de UI que ainda não está em nenhuma especificação. Os cards de Rogério M. Santos acima (Seção 5) não exibem a tag Linha de Cuidados — ProgramaApoio.MostrarEm para essa tag é 1 (só o bit do prontuário), sem o bit 32 (Agendas) que IC/INT.MED têm; por isso ela nunca aparece nos cards de Consultas/Procedimentos, só no prontuário, mesmo quando o paciente tem o vínculo em PEPProgramaApoioPaciente.


6. Painel Mensagens

Estes casos não têm massa pré-carregada (ver “Pendências de Massa de Dados”) — são roteiros de ações que a QA executa em sequência; vários casos dependem do estado deixado pelos anteriores (ex.: CT-MSG-08 supõe que CT-MSG-01 a 07 já rodaram). Rode nesta ordem numa mesma sessão de teste. CT-MSG-17 e CT-MSG-18 criam conversas novas para a equipe Onco (usuários 1 e 4, ambos médicos) e CT-MSG-19 a CT-MSG-21 criam as suas próprias conversas; os cinco devem rodar depois dos demais, que supõem a lista do Mateo com 4 cards (CT-MSG-08). CT-MSG-23 roda no estado de CT-MSG-08 (antes de CT-MSG-09) e CT-MSG-24 logo depois de CT-MSG-09; CT-MSG-25 e CT-MSG-26 criam as próprias conversas e rodam por último. Resolver e descartar uma conversa pedem sempre uma confirmação (D-CM-032): nos roteiros abaixo, “Resolvido” e “Descartado” incluem o passo de confirmar (“Resolver” ou “Descartar”); o comportamento da confirmação em si está em CT-MSG-19 a CT-MSG-21.

Equipes de referência: Onco (Dr. Craig Evans=IdUsuario 1, Dr. Gilliard=4) · Enfermagem (Claire Vance=5, Mateo Perez=7) · Farmácia (Ingrid Jorgensen=6, Li Wei=8)

IDPré-condiçãoPassosResultado EsperadoRN Relacionada
CT-MSG-01Mateo Perez logadoNova mensagem → destinatário Ingrid Jorgensen → Assunto “Atraso” → corpo “Ingrid, vou chegar 30 minutos atrasado…” → EnviarMensagem enviada, aparece no painel da Ingrid como não lida (borda azul)RN-CM-015
CT-MSG-02Mateo Perez logadoNova mensagem → destinatário equipe Farmácia → Assunto “Encontro de fim de ano” → corpo “Pessoal, queria fazer um encontro…” → EnviarCompartilhada com Ingrid e Li Wei, ambas não lida (borda azul)RN-CM-015, RN-CM-022
CT-MSG-03Mateo Perez logadoNova mensagem → equipe Farmácia → Assunto “Paciente Sra. Maria” → corpo citando a paciente → linkar paciente 4 (Maria Silva) → EnviarCompartilhada com Ingrid e Li Wei, não lida; card tem botão com nome do paciente, que abre o ProntuárioRN-CM-015, RN-CM-022
CT-MSG-04Mateo Perez logadoNova mensagem → Dr. Craig Evans → Assunto “Paciente Sr. Ahmed pediu receita” → linkar paciente 5 (Ahmed Khan) → prazo 25/09 10:14 → EnviarCompartilhada com Dr. Evans, não lida; botão do paciente + prazo estampado no cardRN-CM-015
CT-MSG-05Ingrid Jorgensen logada, com a mensagem de CT-MSG-01 recebidaAbrir card “Atraso” → responder “OK” → EnviarNo painel da Ingrid: card sem borda, linha 1 “Atraso”, linha 2 “Você: OK” e ícone check (Enviada) antes do horário. No painel do Mateo: não lida, linha 2 com o nome da Ingrid e “OK”.RN-CM-015; D-CM-087
CT-MSG-06Ingrid Jorgensen logada, com a mensagem de CT-MSG-02 recebidaAbrir card “Encontro de fim de ano” → responder “sim, adoro lá” → EnviarCard sem borda, mostra a resposta/Ingrid; painéis de Mateo e Li ficam não lidos com o textoRN-CM-015, RN-CM-022
CT-MSG-07Li Wei logada, parte da equipe que recebeu a mensagem de CT-MSG-02Abrir card “Encontro de fim de ano” → responder “Tchado. Tem que ser antes da semana de natal…” → EnviarCard sem borda, mostra a resposta/Li; painéis de Mateo e Ingrid ficam não lidos com o texto de LiRN-CM-015, RN-CM-022
CT-MSG-08Mateo Perez logado, após rodar CT-MSG-01 a 07Visualizar a lista do painelOrdem esperada (4 cards) — ver detalhamento ⬇ (CT-MSG-08)RN-CM-015
CT-MSG-09Li Wei logada, com card “Paciente Sra. Maria” não lidoAbrir o card → fechar sem digitar nadaMensagem cai de prioridade, fica “Lido” (sem borda)RN-CM-015
CT-MSG-10Ingrid Jorgensen logada, com mensagem “Paciente Sra. Maria” ainda não resolvidaAbrir o card → “Resolvido” → na confirmação “Resolver conversa?”, “Resolver”Some do painel da Ingrid; a conversa passa a Resolvida (fica no histórico da conversa — o histórico completo é da tela dedicada de Mensagens, fora do escopo desta versão). Também some dos painéis de Mateo e Li — o estado pertence à conversa: uma conversa resolvida sai da lista de todos os destinatários, lida ou nãoRN-CM-015
CT-MSG-11Li Wei logada, após CT-MSG-10 (conversa “Paciente Sra. Maria” resolvida pela Ingrid)Observar o painelCard “Paciente Sra. Maria” não aparece; a conversa continua registrada como ResolvidaRN-CM-015
CT-MSG-12Mateo Perez resolveu o card “Encontro de fim de ano” (Abrir → “Resolvido” → “Resolver” na confirmação); Ingrid Jorgensen logada, com esse card ainda não lido (resposta da Li, CT-MSG-07)Observar o painelCard não aparece mais no painel, mesmo sem ter sido aberto; a conversa continua registrada como ResolvidaRN-CM-015
CT-MSG-13Mateo Perez logado, com o card “Atraso” abertoAbrir “Atraso” → “Descartado” → na confirmação “Descartar conversa?”, “Descartar”Some do painel do Mateo; a conversa continua registrada como DescartadaRN-CM-015
CT-MSG-14Ingrid Jorgensen logada, mensagem “Atraso” descartada por outroObservar o painelCard não aparece mais; a conversa continua registrada como DescartadaRN-CM-015
CT-MSG-15Mateo Perez logado, a partir do estado deixado por CT-MSG-05 (card “Atraso” já com status = responded, respondido pela Ingrid); executar antes de CT-MSG-13 (depois dele o card “Atraso” está Descartado e não aparece mais no painel)Reabrir o card “Atraso” (dispara novo POST /conversations/{id}/read)status permanece responded — não regride para read (comportamento idempotente, Especificação §2.9). No painel da Ingrid, o card “Atraso” passa de check (Enviada) para check-check (Lida) na atualização seguinte (D-CM-087)RN-CM-015
CT-MSG-16Mateo Perez logado, endpoint POST /conversations/{id}/reply simulando falha — ver notaNova mensagem → destinatário Ingrid Jorgensen → preencher assunto/corpo → EnviarExibe MSG_endpointFail (“Dados temporariamente indisponíveis. Tente novamente”); a mensagem não é adicionada à thread; card não muda de estado até uma nova tentativa bem-sucedida§2.7, §2.9, RN-CM-015
CT-MSG-17Dr. Craig Evans (usuário 1) logado numa sessão e Dr. Gilliard (usuário 4) em outra, ambos membros da equipe Onco, com a Central aberta; executar depois de CT-MSG-01 a 16Mateo Perez: Nova mensagem → equipe Onco → Assunto “Alinhamento de protocolo” → corpo “Pessoal, podemos alinhar o protocolo esta semana?” → Enviar. Aguardar a atualização do painel (até 1 min) e observar os dois médicos. Dr. Craig: abrir o card → “Resolvido” → “Resolver” na confirmação. Aguardar a próxima atualização do painel do Dr. Gilliard (até 1 min), sem que ele abra a conversaA conversa chega como uma só thread aos dois médicos, não lida (borda azul). Depois que o Dr. Craig resolve, ela some do painel dele e, na atualização seguinte, também do painel do Dr. Gilliard, mesmo sem ter sido aberta por ele — resolver vale para todos os destinatários, inclusive os de uma equipe; a conversa passa a ResolvidaRN-CM-015
CT-MSG-18Mesma preparação de CT-MSG-17, com outra conversa enviada pelo Mateo à equipe Onco (Assunto “Troca de plantão”)Dr. Craig: abrir o card e fechá-lo sem digitar nada (a conversa fica lida para ele). Dr. Gilliard: abrir o card → “Descartado” → “Descartar” na confirmação. Aguardar a próxima atualização do painel do Dr. Craig (até 1 min)A conversa some do painel do Dr. Gilliard e, na atualização seguinte, também do painel do Dr. Craig, apesar de já lida por ele — descartar também vale para todos os destinatários; a conversa passa a DescartadaRN-CM-015
CT-MSG-19Mateo Perez logado; dados de teste propostos (invenção do Designer): duas conversas novas enviadas por ele à Ingrid Jorgensen, “Confirmar 1” e “Confirmar 2”, e a Central da Ingrid aberta em pt-BR. Executar depois de CT-MSG-01 a 18Ingrid: (a) abrir o card “Confirmar 1” (modal) e tocar em “Resolvido”; observar o diálogo; teclar Tab, Shift+Tab e Esc; (b) repetir e tocar em “Cancelar”; (c) com “Confirmar 2” aberta no modal, tocar em “Resolvido” e depois Esc; (d) repetir (c) e tocar em “Resolver”Em (a): abre uma caixa de confirmação (role="alertdialog", modal) com o título “Resolver conversa?”, o texto “A conversa será marcada como resolvida para todos os destinatários.” e os botões “Cancelar” e “Resolver”; o foco inicial está em “Cancelar” e Tab/Shift+Tab ficam entre os dois botões; Esc fecha só a caixa. Em (a) e (b), cancelar (botão ou Esc) não muda nada: a conversa continua na lista, com o mesmo status, o mesmo contador e a mesma ordem. Em (c): com o modal da conversa aberto, o diálogo abre por cima; Esc cancela só a confirmação e o modal continua aberto. Em (d): ao confirmar, a conversa passa a Resolvida, o modal fecha, o card some do painel, o contador diminui em 1 e aparece o aviso MSG_conversationResolved (“Conversa marcada como resolvida”). Nenhuma ação é gravada antes da confirmação. Cada conversa é criada no próprio caso. Não há botão de desfazer (D-CM-014). A confirmar: (1) o aviso após confirmar, na Especificação, é só o texto da tabela de i18n, sem regra de quando aparece; (2) para onde o foco volta (ao botão que abriu, se cancelar; ao próximo card ou ao título do painel, se confirmar) e o “Esc cancela só a confirmação” sobre o modal são comportamentos do Protótipo que a Especificação (2.5 e 2.8) não descreve; (3) os textos do diálogo são escolha do Designer (E-CM-021)RN-CM-015; D-CM-032, E-CM-021
CT-MSG-20Mateo Perez logado; dados de teste propostos: duas conversas novas enviadas por ele à Ingrid, “Descartar 1” e “Descartar 2”. Central da Ingrid em pt-BR. Executar depois de CT-MSG-19Ingrid: (a) abrir o card “Descartar 1” (modal) e tocar em “Descartado”; observar o diálogo; tocar em “Cancelar”; (b) repetir e tocar em “Descartar”; (c) verificar o painel do Mateo na atualização seguinteEm (a): diálogo (role="alertdialog") com o título “Descartar conversa?”, o texto “A conversa será descartada para todos os destinatários.” e os botões “Cancelar” e “Descartar”; foco inicial em “Cancelar”; cancelar não muda nada e o modal continua aberto. Em (b): a conversa passa a Descartada sem ser excluída (o registro fica no histórico da conversa), o modal fecha, o card some do painel, o contador diminui em 1 e aparece MSG_conversationDiscarded (“Conversa descartada”). Em (c): como em CT-MSG-18, a conversa também sai do painel do Mateo. O card não tem botão “Descartado”: o descarte só existe no modal da conversa (Especificação 2.5). Mesma ressalva de “a confirmar” de CT-MSG-19 para o foco e para os textos. Cada conversa é criada no próprio casoRN-CM-015; D-CM-032, E-CM-021
CT-MSG-21Clínicas de teste com IdiomaOficial en-US e es-419 (a “Clinica Gama” é pt-BR; ver Pendências de Massa de Dados), uma conversa aberta para a Ingrid em cada uma. No protótipo: ?lang=en-US e ?lang=es-419 na URLEm cada idioma, abrir o diálogo de resolver e o de descartar e ler título, texto e botõesen-US: “Resolve conversation?” / “The conversation will be marked as resolved for all recipients.” / “Cancel” · “Resolve”; “Discard conversation?” / “The conversation will be discarded for all recipients.” / “Cancel” · “Discard”. es-419: “¿Resolver la conversación?” / “La conversación se marcará como resuelta para todos los destinatarios.” / “Cancelar” · “Resolver”; “¿Descartar la conversación?” / “La conversación se descartará para todos los destinatarios.” / “Cancelar” · “Descartar”. Chaves: MSG_resolveConfirmTitle, MSG_resolveConfirmBody, MSG_resolveConfirmOk, MSG_discardConfirmTitle, MSG_discardConfirmBody, MSG_discardConfirmOk, MSG_confirmCancel. O idioma a apresentar na certificação SBIS é pt-BR (D-CM-036); en-US e es-419 ficam na Especificação, fora da avaliação. Traduções: escolha do Designer (E-CM-021), a confirmarRN-CM-015; D-CM-032, D-CM-036, E-CM-021
CT-MSG-22Massa auxiliar [PROPOSTA]: o cliente de três clínicas de CT-CONS-19; uma conversa aberta endereçada ao Dr. 9 e originada na clínica A, em que ele está logado; outra, também aberta e endereçada a ele, originada em B; e uma terceira, aberta e endereçada a ele, originada em C (clínica que ele não atende); o segundo cliente, de uma só clínica, com uma conversa aberta endereçada ao Dr. 11Dr. 9 logado, Painel de Mensagens; observar os cards; abrir e responder a conversa de B; depois entrar como Dr. 11 no cliente de uma só clínica e observar o cardDr. 9: as conversas de A e de B aparecem na mesma lista, cada card com a linha de clínica (ícone building-2 e nome curto, 12px color-neutral-pure; D-CM-064); a conversa de C não aparece; abrir e responder a conversa de B funciona como na de A, e a resposta fica gravada na clínica de origem da conversa. Uma ação sobre a conversa de C, feita direto na API com o id dela, é recusada (4.8). Dr. 11: o card não mostra o nome da clínica. A restrição dos demais profissionais à clínica escolhida (DT-013) não é testada aqui: a Central é do médico, e essa regra pertence às outras funcionalidadesRN-CM-015, RN-CM-032; D-CM-064, D-CM-066; E-CM-033, D-CM-067, D-CM-068
CT-MSG-23Mateo Perez logado, no estado de CT-MSG-08 (depois de CT-MSG-01 a 07; antes de CT-MSG-09)Observar os 4 cards; estreitar a janela até 360pxLinha 1 de cada card: o assunto (“Encontro de fim de ano”, “Atraso”, “Paciente Sr. Ahmed pediu receita”, “Paciente Sra. Maria”), em uma linha, com reticências quando não cabe, e o horário relativo à direita. Linha 2: “autor: texto da última mensagem” — em “Encontro de fim de ano”, o nome de exibição da Li com “(Farmácia)” e o texto dela; em “Atraso”, o nome da Ingrid e “OK”; em “Paciente Sr. Ahmed pediu receita” e “Paciente Sra. Maria”, “Você:” e o texto do Mateo. Nenhum card mostra o selo “Respondida”. Os dois cards cuja última mensagem é do Mateo mostram check (Enviada), porque ninguém os abriu aindaRN-CM-015, RN-CM-022; D-CM-087
CT-MSG-24Mateo Perez logado; executar logo depois de CT-MSG-09 (a Li abriu “Paciente Sra. Maria”)Observar “Paciente Sra. Maria” na atualização seguinte do painel; passar o leitor de tela pelo card”Paciente Sra. Maria” passa de check para check-check, que é azul (--color-secondary-dark) e tem dois vistos — a forma muda, não só a cor; o leitor de tela lê “Lida” no nome do card (antes, “Enviada”). Os cards cuja última mensagem é de outra pessoa não mostram íconeRN-CM-015; D-CM-087
CT-MSG-25Dados de teste propostos (invenção do Designer): o Mateo envia à Ingrid, nesta ordem e com alguns minutos entre elas, “Ordem A” (sem prazo), “Ordem B” (prazo amanhã às 10:00) e “Ordem C” (sem prazo). Executar depois de CT-MSG-22Ingrid: observar a ordem dos três cards, todos não lidos; abrir “Ordem C” e fechar; observar de novoAntes de abrir: “Ordem B” (a data dela é o prazo, mais recente que qualquer mensagem), “Ordem C”, “Ordem A”. Depois de abrir “Ordem C”: “Ordem B”, “Ordem A” (não lidas) e só então “Ordem C” (lida). O empate (mesma data) se resolve pela conversa criada mais recentemente; não há caso de empate na massa — conferir no teste da APIRN-CM-015; D-CM-087
CT-MSG-26Dados de teste propostos (invenção do Designer): o Mateo envia uma conversa a si mesmo, assunto “Lembrete”. Executar depois de CT-MSG-25Observar o card “Lembrete”; depois abri-lo e resolvê-lo (no modal: “Resolvido” → “Resolver”), para não deixar conversa aberta. No protótipo (ou na resposta da API), observar também o alerta do sistema “Prescrição sem assinatura""Lembrete” (autoenvio, sem outro participante) mostra check-check (Lida) desde o envio. O alerta do sistema não mostra ícone de leitura (readByOthers nulo); a massa de teste não tem alerta do sistema, por isso esta parte se confere no protótipo ou na APIRN-CM-015; D-CM-087
CT-MSG-27Dados de teste propostos (invenção do Designer): o Mateo envia à Ingrid, com a tela de Mensagens (Mensageria v1.8), cinco conversas: “Grau A” com routine, “Grau B” com urgent, “Grau C” com asap, “Grau D” com stat e “Grau E” sem grau. Executar depois de CT-MSG-26Ingrid: observar os cinco cards, todos não lidos; passar o leitor de tela pelo chip de “Grau D”; abrir “Grau D”Ordem: “Grau D” (Imediato), “Grau C” (Quanto antes), “Grau B” (Urgente), “Grau A” (Rotina), “Grau E” (sem grau). Cada chip mostra só o nome, com flag; “Grau E” não tem chip; “Rotina” aparece com contorno neutro. O chip de “Grau D” é lido como “Grau de urgência: Imediato”. No modal, o grau aparece ao lado do horário e do autorRN-CM-015; D-CM-088
CT-MSG-28Ingrid logada, com uma conversa de pessoa e um alerta do sistema abertos (o alerta se confere no protótipo ou na API; a massa não tem alerta)Tab pelo painel de Mensagens; procurar botões dentro dos cards; abrir cada conversaNenhum card tem botão de ação; o Tab para só nos cards, um por conversa, e Enter abre o modal. O modal da conversa de pessoa tem o campo de resposta, “Resolvido” e “Descartado”; o do alerta tem só “Resolvido” e “Descartado”RN-CM-015; D-CM-089
CT-MSG-29Relógio da clínica conhecido; três conversas com a última mensagem enviada há 10 minutos, há 2 horas (no mesmo dia) e no dia anterior; e uma enviada há 20 segundosObservar o horário de cada card; esperar 1 minuto sem recarregar; abrir o modal”Há 10 min”, “Há 2 h”, data e hora (dia anterior) e “Há 1 min” (mínimo de 1 min, E-CM-051). Depois de 1 minuto, os textos relativos são recalculados. No modal, as mensagens mostram data e horaRN-CM-015; D-CM-088

Nota sobre CT-MSG-16: a Especificação não define uma mensagem de erro específica para falha ao enviar/resolver/descartar uma mensagem — só a MSG_endpointFail genérica de “Qualquer painel” (§2.7). Este caso assume essa mesma mensagem até que se confirme (ou não) uma mensagem dedicada para esta ação — ver Pendências de Massa de Dados.

Detalhamento — Resultado Esperado

CT-MSG-08 — ordem esperada da lista (painel do Mateo)

Regra (D-CM-087): não lidas primeiro; dentro de cada grupo, a data mais recente entre a última mensagem e o prazo; empate pela conversa criada mais recentemente. Com a massa dos casos 01 a 07, a ordem é a mesma da regra anterior: entre as lidas, “Paciente Sr. Ahmed” vem antes de “Paciente Sra. Maria” porque a última mensagem dele (13:13) é mais recente que a dela (12:36); o prazo de 25/09 10:14 só pesaria se fosse posterior à última mensagem.

  1. “Encontro de fim de ano” — não lida, resposta 14:28 (Li)
  2. “Atraso” — não lida, resposta 13:26 (Ingrid)
  3. “Paciente Sr. Ahmed…” — lida, 13:13 (Mateo)
  4. “Paciente Sra. Maria” — lida, 12:36 (Mateo)

7. Busca Inteligente

IDPassosResultado EsperadoRN Relacionada
CT-BUSCA-01Digitar “Rob” na buscaApós 1s sem digitação, retorna Roberto Nascimento Alves (19)RN-CM-004
CT-BUSCA-02Digitar “21” na buscaReconhece como padrão de CPF (não nome), retorna Rogério Mendes Santos (CPF 20668319216) e Kenji Chen (CPF 63213055026)RN-CM-004
CT-BUSCA-03Digitar “1958”Reconhece como data de nascimento, retorna Antonio Rossi (28/05/1958) e Roberto Nascimento Alves (14/03/1958)RN-CM-004
CT-BUSCA-04Digitar 1 caractere (ex.: “R”) na buscaBusca não é disparada; dropdown exibe MSG_searchMin (“Digite pelo menos 2 caracteres para iniciar a busca.”) no rodapéRN-CM-004
CT-BUSCA-05Digitar um termo sem nenhuma correspondência (nem aproximada) na massa de pacientes — ver notaDropdown exibe MSG_searchNone (“Nenhum paciente encontrado com os dados informados.”)RN-CM-004
CT-BUSCA-06Digitar um número de prontuário de um paciente conhecido (ex.: “0012345”, a definir: a massa atual não traz número de prontuário — ver Pendências de Massa de Dados) e esperar 1sO número de prontuário não é critério da busca comum (D-CM-036): como a entrada começa com dígito, a busca vale só para CPF e data de nascimento, e o paciente não aparece por causa do prontuário. Os resultados que a busca devolve por outros critérios (nome, nome da mãe, CPF, data de nascimento) mostram o número de prontuário junto de nome completo, sexo, data de nascimento, nome da mãe e CPF (SBIS ECF.03.14). A confirmar: quando nada corresponde, se o dropdown mostra MSG_searchNone ou resultados aproximados (a Especificação diz que a busca “sempre retorna uma lista” e também define MSG_searchNone)RN-CM-004; D-CM-036
CT-BUSCA-07Na demonstração de certificação, digitar id: seguido do número de prontuário de um paciente conhecido (ex.: id:0012345, a definir, como em CT-BUSCA-06)A chave id: localiza o paciente pelo prontuário; é um artifício para a certificação e não faz parte da busca comum (D-CM-036). Fora da certificação, a chave não entra na busca normal por enquanto, até se avaliar se ela é útil ao médico. A confirmar (a Especificação diz só que “localiza o paciente pelo prontuário”): formato do número, o que mostra quando o número não existe, e se o resultado traz os mesmos campos do ECF.03.14. O protótipo não implementa a chave id:RN-CM-004; D-CM-036

Nota sobre CT-BUSCA-05: a Especificação (§2.1) descreve o motor de correspondência aproximada (“se não encontrar ‘ay’, retorna ‘ai’, ‘aj’…”) como um mecanismo já existente no sistema, fora do escopo deste documento — este Cenários de Teste não tem visibilidade do algoritmo exato para garantir, de antemão, que um termo específico retorne zero resultados nele. O termo de teste precisa ser validado (ou ajustado) pela QA contra o motor real antes da execução — ver Pendências de Massa de Dados.


8. Volume (regressão de performance/paginação)

IDPré-condiçãoResultado Esperado
CT-VOL-01Gerar 100 agendas e 100 prescrições no dia (100 futuras pendentes)Painel carrega, ordena por horário, sem travar ou apresentar erro

9. Estados de Exceção, Falhas, Aparência e Acessibilidade (Transversal)

Casos que não pertencem a um painel específico. Exceções e falhas (CT-SIS): cobrem o comportamento definido em 02-Especificação §2.7 (“Fluxos de Exceção e Estados (Consolidado)”) para falha de endpoint, queda de conexão (faixa de sem conexão, padrão do sistema — Design System, seção 7) e estados de carregamento, aplicável a qualquer painel ou KPI da Central. Nenhum destes casos é reproduzível só com CargaCMZero.xlsx — todos exigem simular a falha (endpoint fora do ar, conexão interrompida, resposta lenta), não um dado de massa; ver Pendências de Massa de Dados para o mecanismo de simulação, ainda a definir pela QA. Tema e aparência (CT-TEMA): cobrem o seletor de tema (02-Especificação §2.1) e a aparência de status, tags e sinalizadores nos temas claro e escuro (§2.3 e §2.8; Design System, seções 4, 4a, 5 e 6). São verificações visuais feitas com a massa das Seções 3 e 5. Acessibilidade (CT-ACES): cobrem os requisitos transversais de 02-Especificação §2.8 (“Acessibilidade (transversal)”) — teclado, foco visível, nome acessível dos cards, modal de conversa, avisos, busca, contraste, alvos de toque, movimento reduzido e celular de 360px —, nos temas claro e escuro. São verificações manuais, com a massa das Seções 3 a 6.

Exceções e falhas

IDEscopoPré-condiçãoPassosResultado EsperadoEspecificação relacionada
CT-SIS-01Qualquer painel (ex.: Prescrições Pendentes)Endpoint do painel (ex.: GET /prescriptions) simulando falha desde o carregamento inicial (painel ainda sem dados)Abrir a CentralPainel exibe MSG_endpointFail (“Dados temporariamente indisponíveis. Tente novamente”); os demais painéis continuam operando normalmente, sem serem afetados pela falha§2.7
CT-SIS-02KPI Bar (ex.: card “Alertas de Prescrição”)Endpoint do KPI (ex.: GET /kpis/prescription-alerts) simulando falha desde o carregamento inicial (card ainda sem valores)Abrir a Central e observar o card afetadoCard exibe ”—” nos valores; os demais 3 KPIs continuam exibindo seus valores normalmente§2.7, §2.2
CT-SIS-03Qualquer painelCentral aberta e carregada (ex.: painel de Consultas com dados na tela); a atualização automática desse painel (RN-CM-017) passa a falhar — conexão interrompida ou erro do servidor; anotar o horário da última atualização bem-sucedida do painelAguardar a próxima atualização automática do painel e observar a telaOs últimos dados do painel continuam na tela (a lista não é limpa e MSG_endpointFail não aparece). Logo abaixo do cabeçalho aparece uma faixa de largura total, com o ícone wifi-off e o texto MSG_connectionLost — “Sem conexão — dados atualizados às {hh:mm}” —, em que {hh:mm} é o horário anotado, no fuso da clínica. A faixa não tem botão de fechar, não pisca nem anima e é anunciada uma vez ao aparecer (região role="status"). Nenhum painel mostra indicador próprio de queda de conexão. Aparência (Design System, seção 7): fundo --color-highlight-light, texto e ícone --color-neutral-dark§2.7; Design System seção 7
CT-SIS-04Qualquer painel / campo de buscaCentral recém-aberta (ou resposta do endpoint propositalmente lenta)Observar o painel durante o carregamento; digitar na busca durante a consulta à APICada painel exibe skeleton loading independente enquanto carrega; o campo de busca exibe um spinner interno enquanto a consulta está em andamento§2.7
CT-SIS-05Qualquer painelEstado de CT-SIS-03: faixa de sem conexão visívelRestabelecer a conexão (ou o endpoint) e aguardar a próxima atualização automática bem-sucedidaA faixa some sozinha, sem ação do médico, e o painel passa a mostrar os dados atualizados§2.7
CT-SIS-06Qualquer painel (ex.: Mensagens)Central sendo aberta com o endpoint de um painel simulando falha, sem nenhuma atualização anterior bem-sucedida; os demais painéis funcionandoAbrir a Central e aguardar uma atualização automática dos demais painéisO painel que falhou exibe MSG_endpointFail; a faixa de sem conexão não aparece por causa dele; os demais painéis continuam operando§2.7
CT-SIS-07KPI Bar (ex.: card “Alertas de Prescrição”)Central carregada, com valores nos 4 KPIs; a atualização automática de um KPI (ex.: GET /kpis/prescription-alerts) passa a falhar; anotar o horário da última atualização bem-sucedida desse KPIAguardar a próxima atualização automática e observar o cardO card mantém os últimos valores (não mostra ”—”), os demais KPIs seguem atualizando, e aparece a faixa “Sem conexão — dados atualizados às {hh:mm}” com o horário anotado§2.7
CT-SIS-08Vários painéis e KPIs. A regra do horário (o da atualização bem-sucedida mais antiga entre os que falham) foi confirmada em D-CM-027 (E-CM-001)Central carregada; a atualização automática de dois painéis (ex.: Consultas e Mensagens) falha a partir de momentos diferentes; anotar o horário da última atualização bem-sucedida de cada umObservar a faixa com os dois falhando; restabelecer um deles; depois restabelecer o outroCom os dois falhando, aparece uma só faixa, com o horário da atualização bem-sucedida mais antiga entre os dois. Ao voltar um deles, a faixa permanece enquanto o outro falha, com o horário do que continua falhando; ao voltar o segundo, a faixa some§2.7
CT-SIS-09Qualquer painel; janela de até 1024px de largura (tablet ou celular); Central com lista longa (ex.: Dr. 9, Painel de Consultas, toggle “Todos”)Estado de CT-SIS-03: faixa de sem conexão visívelRolar a página para baixo até o cabeçalho original sair da área visível; observar o topo da tela; rolar de volta ao inícioCabeçalho e faixa de sem conexão ficam presos no topo durante a rolagem, com a faixa logo abaixo do cabeçalho e os dois visíveis o tempo todo. Ao voltar ao início, o primeiro card continua inteiro e alcançável, sem ficar escondido atrás da faixa. A faixa mantém uma só linha de região role="status", sem ser anunciada de novo a cada rolagem§2.7; §2.8 (Celular)

Tema e aparência

IDPré-condiçãoPassosResultado EsperadoDados de TesteEspecificação relacionada
CT-TEMA-01Médico logado, Central aberta, preferência de tema do aparelho em claroClicar no avatar e observar o menu; escolher “Escuro”; depois “Claro”; depois “Automático” e mudar a preferência do aparelho para escuroO menu mostra o seletor “Tema” (MSG_themeOptions: Automático — segue o sistema do aparelho —, Claro, Escuro) e “Sair”. “Escuro” leva toda a Central (cabeçalho, KPIs, painéis e menu) ao tema escuro e “Claro” ao claro; “Automático” acompanha a preferência do aparelho (a tela troca junto com ela). Sem escolha prévia, vale “Automático”. As fotos dos pacientes são iguais nos dois temas e nenhum texto ou ícone fica ilegível—§2.1; Design System seções 1 e 6
CT-TEMA-02Dr. 11 logado, Painel de Consultas, toggle “Todos”; repetir nos dois temasObservar o chip de status e o avatar dos cards de Roberto N. Alves (19), Beatriz A. Lima (20), Cecília R. Ferreira (23, sem foto), Maria Silva (4) e Yuki Tanaka (8)Cada chip usa o par fundo/texto de status.colors do seu status (valores de DomEstadoAgendaConsulta, iguais aos do Design System, seção 4; o card Finalizado não é esmaecido por opacidade — §2.8, Acessibilidade). Tema claro — Finalizado #EDE7FA/#6A4FC4; Em atendimento #D1DF9D/#3E4D00; Recepcionado #B7E3FF/#004D7A; Aguardando recepção #FFC5C1/#8B0000; Agendado #FFE0B3/#855D00. Tema escuro — Finalizado #302F52/#C0AFED; Em atendimento #3B4344/#D1DF9D; Recepcionado #364458/#B7E3FF; Aguardando recepção #453E4B/#FFC5C1; Agendado #454349/#FFE0B3. Cecília (sem foto) mostra avatar de iniciais com o fundo do status dela (Recepcionado) e as iniciais em color-neutral-darker nos dois temas (D-CM-075; detalhe em CT-TEMA-05); os demais mostram a fotoAgenda 101 (Finalizado), 103 (Em atendimento), 105 (Recepcionado, Cecília), 62 (Aguardando), 87 (Agendado)§2.3; §2.8; Design System seção 4; D-CM-073, D-CM-075
CT-TEMA-03Dr. 9 logado, Painel de Consultas, toggle “Todos”; repetir nos dois temasObservar os chips de tag dos cards de John Smith (3), Carmen Garcia (14), Maria Silva (4), Otávio B. Lima (24) e Sophia Muller (12), e o ícone “1ª Consulta” de John Smith e Sophia MullerO chip de tag mostra a sigla e, na dica, a descrição do cadastro. Tema claro — fundo = a própria cor do cadastro (VIP #80FF38, IC #FFC400, INT.MED #FBF8AF, ESPECIAL #DEDAFF, C.PI #AED1F6) e texto --color-neutral-darker. Tema escuro — fundo = 20% da cor do cadastro sobre a superfície escura e texto = a cor do cadastro clareada; a sigla permanece legível. O ícone “1ª Consulta” (Tabler circle-number-1, 18px, sem fundo) usa a cor --color-first-visit (#5E35B1 no claro, #9E86D0 no escuro) nos dois temas e continua visível ao lado do nome (§2.8; Design System, seção 4a)Agenda 102 (3), 70 (14), 65 (4), 132 (24) e 134 (12)§2.3; §2.8; Design System seções 4a e 5
CT-TEMA-04Dr. 11 logado, Painel de Consultas, toggle “Pendentes”, depois das 10:30; faixa de sem conexão visível (estado de CT-SIS-03); repetir nos dois temasObservar o selo “Atrasado” de Cecília R. Ferreira (23), a borda lateral dos cards de Cecília (Recepcionado) e de Maria Silva (4, Aguardando recepção) e a faixa de sem conexãoO selo “Atrasado · {tempo em atraso}” é leve (D-CM-054, D-CM-058): fundo --color-error-light, texto e ponto --color-error-dark, sem contorno, com contraste do texto de 5,6:1 no claro e 6,3:1 no escuro; só o ponto pulsa. As bordas laterais de 3px são iguais nos dois temas: Recepcionado secondary-pure (#40C4FF) e Aguardando recepção --color-status-waiting-border (#FF8A80). A faixa mantém fundo --color-highlight-light e texto --color-neutral-dark, legível nos dois temas. Nesse mesmo estado, o número do indicador “Alertas de Prescrição” (quando maior que zero) usa --color-error-dark (6,3:1 no claro e 7,4:1 no escuro). A cor do selo está na Especificação (2.3, Atraso) e no Protótipo; a Agenda do Médico mantém o selo preenchido com --color-alert-fillAgenda 105 (Cecília) e 62 (Maria Silva)§2.3; Design System seções 4, 4a e 7
CT-TEMA-05Dr. 11 logado, Painel de Consultas, toggle “Todas”; repetir nos temas claro e escuro, trocando o tema com a Central abertaObservar chip e avatar de cada status; trocar o tema pelo menu do avatar; simular uma resposta sem status.colors e outra com cor fora do formato #RRGGBBChip: fundo e texto = status.colors.{tema} do status (valores de DomEstadoAgendaConsulta, iguais aos do Design System, seção 4); texto = status.name. Avatar sem foto: fundo = status.colors.{tema}.background e iniciais em color-neutral-darker nos dois temas. Ao trocar o tema, chip e avatar mudam de par sem recarregar. Sem colors ou com cor inválida: chip e avatar neutros (Design System, seção 4)Massa das Seções 3 (consultas); respostas simuladas para os casos sem colors e com cor inválidaRN-CM-005; D-CM-073, D-CM-075

Acessibilidade

IDPré-condiçãoPassosResultado EsperadoDados de TesteEspecificação relacionada
CT-ACES-01Dr. 11 logado, Central aberta, navegação só com o teclado (sem mouse); Painel de Consultas em “Pendentes”Pressionar Tab a partir do topo da página, anotando a ordem em que o foco passa pelos indicadores, pelo título e pelo filtro de cada painel e pelos cards; focar o card de Beatriz A. Lima (20) e pressionar Enter; voltar à Central e repetir com a barra de espaçoTodo card e todo controle recebe o foco por Tab, na ordem: indicadores, depois o título e o filtro de cada painel, depois os cards. Enter e Espaço no card fazem o que o clique faz: abrem o prontuário (PEP) da paciente (CT-CONS-04). Nenhum elemento clicável fica fora da sequência de TabAgenda 103 (Beatriz A. Lima, Em atendimento)§2.8 (Teclado)
CT-ACES-02Dr. 11 logado, Painel de Consultas em “Todos” e Painel de Prescrições Pendentes em “Meus”; leitor de tela ou árvore de acessibilidade do navegadorFocar o card de Fatima Al-Mansoori (6) e ler o nome acessível; focar o card de Yuki Tanaka (8) em Prescrições e depois o botão “Revisar” dela; pressionar Tab a partir do nome de Fatima para conferir se o foco para no ícone “1ª Consulta”; pressionar Enter em cada umO nome acessível do card de Fatima é o próprio conteúdo do card: horário, nome, “1ª Consulta” (do ícone, role="img" e aria-label), status, modo de atendimento e, quando existirem, diagnóstico, atraso e tags. O ícone “1ª Consulta” não recebe o foco do teclado: o leitor de tela lê “1ª Consulta” dentro do nome do card, e não há dica ao foco (D-CM-035). No card de Yuki (prescrição 43), o botão “Revisar” é um controle à parte: o card e o botão são dois pontos de parada de Tab, o botão não fica dentro do elemento clicável do card, e Enter no botão faz a ação do botão (CT-PRES-04), não a do cardAgenda 148 (Fatima, Dr. 11); prescrição 43 (Yuki Tanaka)§2.8 (Teclado); D-CM-035
CT-ACES-03Dr. Craig Evans (1) logado, com uma conversa não lida na lista de Mensagens — criada para este caso: Mateo Perez envia à equipe Onco, Assunto “Revisão de escala”; Central aberta, navegação só com o tecladoChegar ao card com Tab e pressionar Enter; pressionar Tab e Shift+Tab várias vezes; pressionar Esc. Repetir: abrir o card de novo e acionar “Resolvido”, depois “Resolver” na confirmação (CT-MSG-19)Ao abrir, o diálogo tem role="dialog" e aria-modal="true", com nome acessível pelo título da conversa; o foco entra no diálogo. Tab e Shift+Tab circulam só entre os elementos do diálogo, sem sair dele. Esc fecha e o foco volta ao card que o abriu. Na repetição, “Resolvido” abre antes a caixa de confirmação (CT-ACES-11); depois de confirmar, com a conversa saindo da lista, o foco vai para o próximo elemento do painel (não se perde no início da página)Conversa criada na pré-condição (sem massa pré-carregada)§2.8 (Modal de conversa)
CT-ACES-04Central aberta, navegação só com o teclado; leitor de tela ou árvore de acessibilidade do navegadorNo campo de busca, digitar “Rob” e aguardar 1s; navegar pelos resultados com as setas; pressionar Enter no resultado Roberto Nascimento Alves. Voltar, digitar “Rob” de novo e pressionar Esc. Limpar e digitar “Cecilia” (sem acento). Limpar e digitar 1 caractere (“R”); depois o termo sem resultado de CT-BUSCA-05O campo tem role="combobox", com aria-expanded="true" enquanto a lista está aberta e aria-controls apontando para a lista (role="listbox", itens role="option"). Seta para baixo e para cima movem a seleção, e aria-activedescendant acompanha o item. Enter seleciona e abre o PEP de Roberto (19). Esc fecha a lista (aria-expanded="false"). “Cecilia” encontra Cecília R. Ferreira (23): a comparação ignora acentos. MSG_searchMin (com 1 caractere) e MSG_searchNone (sem resultado) são anunciadas por uma região aria-livePacientes 19 e 23; termo de CT-BUSCA-05 (a validar pela QA)§2.1; §2.8 (Busca de pacientes)
CT-ACES-05Central aberta; leitor de tela ou árvore de acessibilidade do navegador; mecanismo de simulação de falha de CT-SIS (ver Pendências de Massa de Dados)Provocar um aviso de erro (ex.: a falha de envio de CT-MSG-16) e um aviso de sucesso (ex.: MSG_conversationResolved, ao confirmar a resolução de uma conversa em CT-MSG-19; quando a tela de Assinar ou de Revisar existir, também o retorno de CT-PRES-03 ou CT-PRES-04)O aviso de sucesso fica numa região role="status" com aria-live="polite"; o de erro, em role="alert". Os dois são anunciados ao aparecer, sem o foco sair de onde estavaSem massa dedicada§2.8 (Avisos)
CT-ACES-06Dr. 11 logado, Central aberta, navegação só com o teclado; repetir nos dois temasPressionar Tab por: um card de Consultas, o filtro (toggle) de um painel, o botão “Revisar” de Yuki Tanaka (8), o botão “PEP” de um card de Procedimentos, o campo de busca, o avatar do menu e, com o diálogo de confirmação aberto (CT-MSG-19), os botões “Cancelar” e “Resolver”Cada controle focado mostra o indicador de foco: anel de 2px em --color-neutral-dark, afastado 2px do controle (recuado para dentro só no item do menu do usuário, que o menu corta), com contraste de pelo menos 3:1 contra o fundo ao redor, nos temas claro e escuro. No campo de busca não há anel: aparece a borda de 2px --color-neutral-dark. Nenhum controle perde o indicador de foco (D-CM-046; Design System, seção 11)Prescrição 43; Agenda 103§2.8 (Foco visível); D-CM-046
CT-ACES-07Dr. 11 logado, Painel de Consultas em “Todos” e Painel de Prescrições Pendentes em “Todos”; medidor de contraste; repetir nos dois temasMedir o contraste do texto dos chips de status (CT-TEMA-02), do texto e do contorno do botão “Assinar” do card de Kenji Chen (15, prescrição 72), do botão “Resolver” da caixa de confirmação (CT-MSG-19), do texto de informação dos cards, do placeholder do campo de busca e dos chips de tempo da prescrição 72 (Atenção, 21h) e, para o Crítico, com o relógio em 23/09 23:59 (CT-PRES-12) ou com a massa alternativa da 71 (CT-PRES-11); observar o card Finalizado de Roberto N. Alves (19)Texto de informação com razão de pelo menos 4,5:1 (3:1 em texto grande e em componentes gráficos), nos dois temas. Botões (Design System, seção 12; D-CM-085): “Assinar” é secundário — fundo transparente, contorno de 1px neutral-pure (5,5:1 no claro, 7,1:1 no escuro) e texto neutral-dark (14,6:1 e 11,2:1); “Resolver” é primário — fundo primary-strong #007A13 com texto branco (5,5:1 nos dois temas). Exceção aceita (D-CM-057): a borda de repouso do campo de busca (neutral-light, 1,7:1 no claro e 1,8:1 no escuro) não precisa atingir 3:1. Os chips “Crítico”/“Atenção” têm texto em peso regular, 400 (D-CM-056). Os chips de tempo “Crítico”/“Atenção” (D-CM-046) não têm contorno e têm texto e ícone na cor -dark sobre o fundo -light da família: 5,6:1 (Crítico) e 5,0:1 (Atenção) no tema claro; 6,3:1 e 8,9:1 no escuro. --color-neutral-medium não aparece como texto de informação nem como placeholder. O card Finalizado se distingue por cor de fundo e borda, sem redução de opacidadeAgenda 101 (Finalizado); prescrição 72 (ação Assinar); conversa de CT-MSG-19§2.8 (Contraste); D-CM-085
CT-ACES-08Dr. 11 logado, Central aberta; repetir com a janela em 360pxMedir a área clicável do filtro (toggle) de um painel, do botão “Revisar” de Yuki Tanaka (8), do botão “PEP” de um card de Procedimentos, do avatar do menu, dos botões “Resolvido” e “Descartado” no diálogo de uma conversa e dos botões “Cancelar” e “Resolver”/“Descartar” da caixa de confirmaçãoToda área clicável tem pelo menos 44x44px (a área pode ser maior que o desenho do controle), em 360px e na largura normalPrescrição 43; conversa de CT-ACES-03§2.8 (Alvos de toque)
CT-ACES-09Dr. 11 logado depois das 10:30, Painel de Consultas em “Pendentes”, com o card de Cecília R. Ferreira (23) e o selo “Atrasado”; preferência do sistema “reduzir movimento” ativadaObservar o selo “Atrasado” de Cecília e provocar um aviso (como em CT-ACES-05); depois desativar a preferência e observar de novoCom movimento reduzido, o ponto do selo “Atrasado” não pulsa e o aviso aparece sem animação de entrada; o texto e a cor do selo continuam iguais. Sem a preferência, o ponto do selo pulsaAgenda 105§2.8 (Movimento)
CT-ACES-10Dr. 9 logado, Central aberta numa janela de 360px de largura, Painel de Consultas em “Todos”Rolar toda a Central, painel por painel; olhar os cards de John Smith (3, VIP e ícone “1ª Consulta”), Carmen Garcia (14) e Maria Silva (4)A página não tem rolagem horizontal. Chips e tags quebram de linha dentro do card, sem ultrapassar a borda dele. O ícone “1ª Consulta” continua ao lado do nome. Em janela de até 1024px, cabeçalho (e, se visível, a faixa de sem conexão) ficam presos no topo (CT-SIS-09)Agenda 102, 70 e 65§2.8 (Celular)
CT-ACES-11Ingrid Jorgensen logada, com uma conversa para resolver e outra para descartar (as de CT-MSG-19 e CT-MSG-20); navegação só com o teclado; leitor de tela ou árvore de acessibilidade do navegador; repetir nos dois temasNo modal da primeira conversa, acionar “Resolvido”; ler a caixa que abre; Tab e Shift+Tab; Esc. Abrir o modal da outra conversa, acionar “Descartado” e pressionar Esc. Repetir e confirmarA caixa de confirmação tem role="alertdialog" e aria-modal="true", nome acessível pelo título (“Resolver conversa?”) e descrição pelo texto (“A conversa será marcada como resolvida para todos os destinatários.”), lidos ao abrir. O foco inicial está em “Cancelar”; Tab e Shift+Tab circulam só entre “Cancelar” e o botão de confirmar; o resto da tela fica inerte (fora do alcance do teclado e do leitor). Esc cancela a confirmação sem fechar o modal da conversa que está por baixo. O anel de foco, o contraste do texto e a área de toque de 44x44px seguem CT-ACES-06 a CT-ACES-08. A confirmar: a Especificação (2.5) fixa o alertdialog, o foco inicial em “Cancelar” e o Esc; o restante (nome e descrição acessíveis, fundo inerte, foco circular, Esc sobre o modal e para onde o foco volta) é comportamento do Protótipo que a Especificação 2.8 ainda não descreveConversas de CT-MSG-19 e CT-MSG-20§2.5; §2.8 (Modal de conversa); D-CM-032, E-CM-021

10. Matriz de rastreabilidade

Painel/KPICasosRN cobertasCobertura de dadosDecisões (D-CM / E-CM)
KPI BarCT-KPI-01 a 07RN-CM-011, 012, 020, 023, 024, 029, 030Caminho feliz completo; “Atrasadas” conta só as consultas pendentes ainda não iniciadas (CT-KPI-01.1/01.2 e a nota com a evolução ao longo do dia); “a revisar” com a janela padrão de 1 dia de calendário (hoje e amanhã, até 23:59; D-CM-023): só a prescrição 43 no Dr. 11 às 12h (CT-KPI-04.1; a 11 sai porque a assinatura de 16:00 está dentro da janela de revisão, D-CM-040), e a virada do dia em CT-PRES-12; as prescrições 71 e 73, com a hora de aplicação já passada, não aparecem na massa atual (assinadas dentro da janela de revisão, D-CM-040; a 71 também tem administração iniciada, D-CM-039) e voltam como “atrasada” nas massas alternativas de CT-PRES-11 e CT-PRES-14 (a 71 então conta como urgente do Dr. 9, CT-KPI-04.2); a 73 (prescritor 8, sem médico assistente) não conta no KPI de nenhum médico; o total de “Procedimentos Hoje” inclui os finalizados e os subtotais não fecham a conta (CT-KPI-03.1; D-CM-038); 1 caso real de “a assinar nunca assinada” de um médico de terceiros (prescrição 72, Dr. Ricardo Martins/12); Precedência 2 de RN-CM-020 (“já revisada”) coberta pelas prescrições 77/82 (Isabella/Elena), que saem de ambas as listas por já estarem revisadas; CT-KPI-07 (RN-CM-030, horário bloqueado pela Recepção não conta no KPI “Consultas Hoje”) coberto por Agenda 164 (Dr. 11)D-CM-023, 037, 038, 039, 040, 041; E-CM-018, 019, 020 (a confirmar); D-CM-058, D-CM-060, D-CM-062
ConsultasCT-CONS-01 a 06.2, 07 a 20RN-CM-006, 025, 028, 030, 031, 032Caminho feliz completo; consulta em atendimento além do previsto com destaque “há 2h25” (Beatriz/103 às 12h) e “há 2h06” (Otávio/132 às 15h) em CT-CONS-17; ordem das tags (Roberto, ANTICOAG antes de INT.MED, CT-CONS-15); vigência por data (VIP do paciente 3, fim no próprio dia, CT-CONS-16); ícone “1ª Consulta” (CT-CONS-09.1 e 09.2) confirmado como Agenda.PrimeiraConsulta='S' (RN-CM-028), sem foco de teclado (CT-CONS-14; D-CM-035); ordem dos chips — ícone, assistenciais, administrativas, cada grupo por sigla (CT-CONS-18; D-CM-022), provada pela massa com a tag 8 (C.PI) da paciente 14, já salva na planilha (P-CM-034); selo “Atrasado” igual para Aguardando recepção e Agendado, e ausente em consulta em atendimento (CT-CONS-03.1 e 03.2); diagnóstico de prontuário com início futuro fora do card (CT-CONS-13); tags de Atenção conferidas contra a massa real (com o filtro MostrarEm), com tooltip documentado (legenda na Seção 3) e cor de VIP verde (#80FF38, ProgramaApoio.Cor); ordenação (RN-CM-006) explicitada em listas numeradas nas Seções CT-CONS-01/02; Foto e Tipo de Consulta (Agenda.Atendimento) em cada card, incluindo Teleatendimento de Maria Silva com o Dr. 11; estado vazio do painel (CT-CONS-06) dividido em 2 casos, um por estado do toggle; CT-CONS-10 (RN-CM-030, horário bloqueado pela Recepção não aparece no painel) coberto por Agenda 164 (Dr. 11); tags atribuídas no prontuário (RN-CM-025) cobertas por CT-CONS-11 (tag em vigência, inclusive com início no próprio dia) e CT-CONS-12 (tag sem o bit de agendas, oculta), com o critério de exibição das tags conferido tag a tag contra a massa; vigência da tag e da atribuição, exceção do VIP e exclusão lógica sem caso dedicado na massa (ver Pendências de Massa de Dados); status conferidos pela ordem de precedência de AppointmentStatus() — nenhuma agenda da massa cai na sobreposição que a precedência resolveD-CM-022, 027 (E-CM-017), 035, 050 (E-CM-028); D-CM-060; D-CM-066; D-CM-067; D-CM-068
Prescrições PendentesCT-PRES-01 a 06.2, 07 a 23RN-CM-011, 012, 020, 021, 029, 032Caminho feliz completo; RN-CM-020 com 2 precedências (“a assinar”: nunca assinada dentro da janela PrescricaoTempoAssinatura; “a revisar”: assinada sem confirmação de revisão, com aplicação até o fim do dia (hoje + NumeroDiasRevisaoPrescricoes) — padrão de 1 dia de calendário — e sem limite inferior) e filtro Prescricao.Situacao IN ('P','G','A','O'); 43 (26h) e 74 (24h30) estão dentro da janela às 12h, sem chip de urgência; 68, 69 e 70 (25/09 e 26/09) ficam fora — a 68 entra à 00:00 de 24/09 (CT-PRES-12); as prescrições 71 e 73, com a hora de aplicação já passada, saem da lista porque a assinatura está dentro da janela de revisão (CT-PRES-15; D-CM-040), e a 71 volta como “atrasada” nas massas alternativas (CT-PRES-11 e CT-PRES-14, esta com a administração iniciada: sai de “a revisar” mas permanece em “a assinar”; D-CM-039, E-CM-018); assinar dentro da janela de revisão tira a prescrição de todas as listas (CT-PRES-16; E-CM-019); textos e chips do tempo restante e do atraso (CT-PRES-17; D-CM-041, D-CM-055); 1 caso real de “a assinar nunca assinada” de médico de terceiros (prescrição 72, Dr. Ricardo Martins/12); Precedência 2 (“já revisada”) coberta pelas prescrições 77/82 (Isabella/Elena); janela de revisão: padrão de 1 dia em CT-PRES-08 (linha ausente) e valor alterado para 2 dias em CT-PRES-07 (a planilha já traz a linha, com valor 1); janela de assinatura: padrão em CT-PRES-10 (massa atual) e valor alterado em CT-PRES-09 (sem massa dedicada); desempate pelo nome do paciente e, depois, por id (RN-CM-011; D-CM-047, E-CM-027) sem caso real na massa — CT-PRES-18 usa massa proposta (ver Pendências de Massa de Dados); estado vazio do painel (CT-PRES-06) dividido por estado do toggle — “Meus” coberto com dado real (CT-PRES-06.1), “Todos” sem massa dedicada (CT-PRES-06.2, ver Pendências de Massa de Dados)D-CM-023, 028, 033, 037, 039, 040, 041, 047, 050, 052; E-CM-018, 019 (a confirmar), 027, 028, 029; D-CM-055, D-CM-059, D-CM-060, D-CM-062, D-CM-063, D-CM-066, E-CM-032, D-CM-067, D-CM-068
ProcedimentosCT-PROC-01 a 07.2, 08 a 16RN-CM-016, 025, 026, 027, 028, 032Caminho feliz completo; ícone “1ª Consulta” no painel (firstTime; D-CM-029, D-CM-035) em CT-PROC-10, com massa proposta (nenhuma agenda de procedimento de hoje tem PrimeiraConsulta='S'); status avaliado em ordem (D-CM-030): chip de status nos dois temas em CT-PROC-16 (D-CM-079); Completo em CT-PROC-11 e Finalizado com alta e sem fim de infusão em CT-PROC-13, os dois com massa proposta; “sem tempo previsto” (D-CM-034) em CT-PROC-12, também com massa proposta; RN-CM-026 com caso dedicado (CT-PROC-08); tags de Atenção conferidas contra os critérios de exibição de RN-CM-025 (bit de agendas, vigências, exclusão lógica), com caso dedicado em CT-PROC-09; ordenação do painel confirmada (RN-CM-027) contra a massa real; estado vazio do painel (CT-PROC-07) dividido por estado do toggle — “Meus” coberto com dado real (CT-PROC-07.1), “Todos” sem massa dedicada (CT-PROC-07.2, ver Pendências de Massa de Dados)D-CM-029, 030, 034, 035, 038, 042; D-CM-060, D-CM-061, D-CM-066; D-CM-073, D-CM-074, D-CM-076, D-CM-077, D-CM-079
MensagensCT-MSG-01 a 29RN-CM-015, 022, 032Sem massa pré-carregada — roteiro manual sequencial (ver Pendências de Massa); “Resolvido” e “Descartado” valem para todos os destinatários da conversa, inclusive os de equipe (CT-MSG-10 a 14, 17 e 18), e os dois pedem confirmação (CT-MSG-19 a 21: diálogo, cancelar sem efeito, avisos de conversa resolvida e descartada, textos em pt-BR, en-US e es-419; D-CM-032, E-CM-021 a confirmar); CT-MSG-15 (idempotência de /conversations/{id}/read numa conversa já respondida — reaproveita o roteiro, sem massa adicional) e CT-MSG-16 (falha ao enviar mensagem — requer simular a falha do endpoint, não é dado de massa, ver Pendências de Massa de Dados); card com assunto, “autor: texto” e aviso de leitura, sem selo “Respondida”, e nova ordem em CT-MSG-23 a 26D-CM-014, 032, 042; E-CM-021 (a confirmar); D-CM-064, D-CM-066; E-CM-033, D-CM-067, D-CM-068; D-CM-087
Busca InteligenteCT-BUSCA-01 a 07RN-CM-004Caminho feliz completo (01-03); CT-BUSCA-04 (menos de 2 caracteres, MSG_searchMin) coberto sem dado de massa — regra independe de paciente específico; CT-BUSCA-06 (número de prontuário não é critério da busca comum) e CT-BUSCA-07 (chave id:, só na certificação) sem número de prontuário na massa (D-CM-036; ver Pendências de Massa de Dados); CT-BUSCA-05 (sem resultado, MSG_searchNone) com termo de teste a validar pela QA contra o motor de correspondência real, ver Pendências de Massa de DadosD-CM-036
VolumeCT-VOL-01—Pendente de execução—
Estados de Exceção e FalhasCT-SIS-01 a 09— (ver Especificação §2.7)Nenhum caso reproduzível só com CargaCMZero.xlsx — todos exigem simular a falha (endpoint fora do ar, conexão interrompida, resposta lenta); mecanismo de simulação a definir pela QA, ver Pendências de Massa de Dados; faixa de sem conexão coberta por CT-SIS-03, 05, 07, 08 e 09 (o 08 cobre o horário da atualização bem-sucedida mais antiga, D-CM-027; o 09 cobre a faixa presa no topo em até 1024px) e falha no carregamento inicial, sem faixa, por CT-SIS-06D-CM-027 (E-CM-001)
Tema e aparênciaCT-TEMA-01 a 05— (ver Especificação §2.1, §2.3 e §2.8; Design System seções 4, 4a, 5, 6 e 7)Verificação visual com a massa das Seções 3 e 5; cores dos tokens do Design System e das tags (ProgramaApoio.Cor); a cor do ícone “1ª Consulta” vem da Especificação (2.8) e do Design System (4a), e a do selo “Atrasado” vem do Protótipo e do Design System, não da Especificação; cores de status vindas da API (status.colors) em CT-TEMA-05; procedimento cancelado com risco em CT-PROC-15; persistência da escolha de tema sem caso (ver Pendências de Massa de Dados)D-CM-027 (E-CM-002, 008); D-CM-056, D-CM-058; D-CM-073, D-CM-075
AcessibilidadeCT-ACES-01 a 11— (ver Especificação §2.8, “Acessibilidade (transversal)”; §2.1 para a busca)Verificações manuais com a massa das Seções 3 a 6, nos dois temas: teclado (01 e 02; o ícone “1ª Consulta” sem foco, D-CM-035), modal de conversa (03), busca (04), avisos (05), foco (06), contraste (07), alvos de toque (08), movimento reduzido (09) celular de 360px (10) e caixa de confirmação de resolver e descartar (11). Dependem de leitor de tela, medidor de contraste e simulação de falha; CT-ACES-03 cria a própria conversa; os botões seguem a seção 12 do Design System (D-CM-085); os toggles com texto neutral-darker (E-CM-004) e o comportamento da caixa de confirmação além do que a Especificação diz (E-CM-021) estão a confirmar (ver Pendências de Massa de Dados)D-CM-027 (E-CM-002), 032, 035, 046; E-CM-004, 021, 049 (a confirmar); D-CM-056, D-CM-057, D-CM-085

11. Histórico de Versões

  • v6.0 (29/10/2026) — Abertura da versão 6.0 a pedido do solicitante: a série v5 foi fechada na v5.20, que foi para desenvolvimento, e fica em Histórico/ sem alterações. Esta versão é, por ora, cópia da v5.20: nenhuma mudança de regra, tela, contrato ou schema. As mudanças da v6 serão descritas para o time de desenvolvimento em Para Desenvolvedores/Central do Médico - mudanças da v6 - guia para desenvolvimento.md. Acompanha 01-Definição v6.0, 02-Especificação v6.0, 03-Protótipo v6.0, 04-Mapeamento v6.0, Cenários de Teste v6.0 e 05-Registro de Decisões v1.20.

  • v5.20 (29/10/2026) — Acompanha as versões v5.20 dos demais documentos e 05-Registro de Decisões v1.19. Decisão D-CM-090: sem mudança de caso nem de resultado.

  • v5.19 (29/10/2026) — Acompanha 01-Definição v5.19, 02-Especificação v5.19, 03-Protótipo v5.19, 04-Mapeamento v5.19 e 05-Registro de Decisões v1.18. Decisões D-CM-088 e D-CM-089. (1) CT-MSG-19, 26 e CT-ACES-11: “Resolvido” passa a ser acionado no modal, e não no card. (2) Novos CT-MSG-27 (grau e ordem pelo grau), 28 (card sem botão) e 29 (horário relativo). Os resultados dos demais casos não mudam.

  • v5.18 (28/10/2026) — Acompanha 01-Definição v5.18, 02-Especificação v5.18, 03-Protótipo v5.18, 04-Mapeamento v5.18 e 05-Registro de Decisões v1.17. Decisões D-CM-086 e D-CM-087 (05 - Registro de Decisões v1.17). (1) CT-MSG-05: card com “Você: OK” e check, depois check-check; CT-MSG-15: responded. (2) Novos CT-MSG-23 (assunto, “autor: texto”, sem selo), CT-MSG-24 (aviso de leitura), CT-MSG-25 (nova ordem) e CT-MSG-26 (autoenvio e alerta do sistema), com dados propostos; a passagem de check a check-check da Ingrid fica em CT-MSG-15. Revisão por crítico técnico (subagente) aplicada antes de fechar. (3) Detalhamento de CT-MSG-08 com a regra nova (a ordem esperada não muda).

  • v5.17 (28/10/2026) — Acompanha 01-Definição v5.17, 02-Especificação v5.17, 03-Protótipo v5.17, 04-Mapeamento v5.17 e 05-Registro de Decisões v1.16. Decisões D-CM-084 e D-CM-085 (05 - Registro de Decisões v1.16). (1) CT-ACES-07: contrastes dos botões pela seção 12 do Design System — “Assinar” com contorno e “Resolver” em verde escuro (D-CM-085). (2) Pendências e matriz: o botão Assinar não usa mais --color-on-primary; E-CM-004 fica restrita aos toggles; nova E-CM-049. (3) nome “Aguardando recepção”, como cadastrado em TermoTraducao (antes “Aguardando Recepção”; D-CM-084).

  • v5.16 (27/10/2026) — Acompanha 01-Definição v5.16, 02-Especificação v5.16, 03-Protótipo v5.16, 04-Mapeamento v5.16 e 05-Registro de Decisões v1.15. Decisões D-CM-077 a D-CM-083 (05 - Registro de Decisões v1.15). (1) CT-PROC-11 e CT-PROC-15: o status do procedimento é chip (D-CM-079); sai a pendência de P-CM-054. (2) Novo CT-PROC-16: chip de status de procedimento com as cores de status.colors nos dois temas. (3) nomes de status como cadastrados em TermoTraducao — “Em atendimento”, “Em preparo” e “Em aplicação” (antes “Em Atendimento”, “Preparo” e “Em administração”; D-CM-082). (4) menções de proveniência de decisões (“solicitante”) retiradas do corpo, que passam a existir só aqui e no Registro de Decisões (D-CM-083).

  • v5.15 (27/10/2026) — Acompanha 01-Definição v5.15, 02-Especificação v5.15, 03-Protótipo v5.15, 04-Mapeamento v5.15 e 05-Registro de Decisões v1.14. Decisões D-CM-073 a D-CM-076 (05 - Registro de Decisões v1.14). (1) CT-PROC-11: valor de contrato administered (D-CM-074), nome do status vindo de status.name; a pendência da cor do chip “Completo” vira a questão P-CM-054 (o painel mostra o status em texto). (2) Novo CT-PROC-15: procedimento cancelado com os textos riscados, exceto o status e o avatar (D-CM-076, E-CM-046), com proposta de massa. (3) Novo CT-TEMA-05: chip e avatar com as cores de status.colors nos dois temas, troca de tema sem recarregar e queda para o neutro (D-CM-073, D-CM-075). (4) Pendências e matriz de rastreabilidade atualizadas.

  • v5.14 (26/10/2026) — Acompanha 01-Definição v5.14, 02-Especificação v5.14, 03-Protótipo v5.14, 04-Mapeamento v5.14 e 05-Registro de Decisões v1.13. Decisões D-CM-070 a D-CM-072: quem perde o acesso a uma clínica perde as agendas e as prescrições dela, mas não os pacientes. Nenhum caso muda de passo ou de resultado.

  • v5.13 (26/10/2026) — Acompanha 01-Definição v5.13, 02-Especificação v5.13, 03-Protótipo v5.13, 04-Mapeamento v5.13 e 05-Registro de Decisões v1.12. Decisões D-CM-067 a D-CM-069: a proposta E-CM-034 vira decisão (“atende” = clínicas a que o usuário tem acesso) e a perda de acesso tira da tela agendas e pacientes da clínica (D-CM-068). Nenhum caso muda de passo ou de resultado; só a rastreabilidade e a nota da massa passam a citar D-CM-067 e D-CM-068.

  • v5.12 (26/10/2026) — Acompanha 01-Definição v5.12, 02-Especificação v5.12, 03-Protótipo v5.12, 04-Mapeamento v5.12 e 05-Registro de Decisões v1.11. Decisão D-CM-066: o médico vê só as clínicas em que atende. Cenários reescritos: CT-CONS-19, CT-CONS-20, CT-PRES-19, CT-PROC-14 e CT-MSG-22 passam a usar um cliente de três clínicas, das quais o Dr. 9 atende em duas, e verificam que os itens da clínica que ele não atende (consulta, prescrição, procedimento e conversa) não aparecem nem entram nos indicadores, inclusive com o toggle “Todos”; CT-MSG-22 inclui a recusa de ação direta na API sobre conversa dessa clínica. CT-PRES-22 e CT-PRES-23 só declaram que o Dr. 9 atende nas duas clínicas. A nota sobre a massa foi reescrita; toda a massa dos casos de várias clínicas segue [PROPOSTA].

  • v5.11 (26/10/2026) — Acompanha 01-Definição v5.11, 02-Especificação v5.11, 03-Protótipo v5.11, 04-Mapeamento v5.11 e 05-Registro de Decisões v1.10. Decisões em 05 - Registro de Decisões v1.10 (D-CM-061 a D-CM-065). (1) Novo CT-PRES-23: o “hoje” das janelas de prescrição é o da clínica logada, com duas clínicas de fusos diferentes (D-CM-062); massa proposta. (2) CT-MSG-22: o card de mensagem mostra a clínica (D-CM-064) e há um caso com o cliente de uma só clínica. (3) CT-PRES-22: o rótulo do indicador de alertas deixa de ser provisório e passa a critério de aprovação (D-CM-063). (4) Resultados esperados reescritos sem condicionais soltos: CT-CONS-19 (horário em outro fuso, com os valores 10:00 e 11:00), CT-PRES-19 (massa com a prescrição do Dr. 12, resultado em “Meus” e em “Todos”) e CT-PROC-14 (os dois procedimentos são do Dr. 9, nos dois toggles). O toggle “Todas” de CT-CONS-19 está correto (é o nome do toggle do painel de Consultas, 2.3). (5) Grafia dos rótulos padronizada em “p/revisar” e “p/assinar”. (6) Matriz de cobertura e nota de massa atualizadas.

  • v5.10 (26/10/2026) — Acompanha 01-Definição v5.10, 02-Especificação v5.10, 03-Protótipo v5.10, 04-Mapeamento v5.10 e 05-Registro de Decisões v1.9. Decisões em 05 - Registro de Decisões v1.9 (D-CM-055 a D-CM-060). (1) CT-CONS-19 e CT-PRES-19 reescritos para o escopo do cliente (dois clientes: um de duas clínicas e outro de uma só). (2) CT-PRES-21: a prescrição já assinada não volta a “a assinar” (D-CM-059). (3) Novos casos: CT-PRES-22 (janelas por clínica), CT-PROC-14 (clínica no procedimento) e CT-MSG-22 (mensagens de todas as clínicas). (4) Quadro de cobertura atualizado; nova CT-CONS-20 (troca de cliente). (5) CT-PRES-21: o reagendamento é só da agenda e o dia 24 passa a ser observado; CT-PRES-22 e CT-MSG-22 corrigidos para o que o Demo e a Central do médico permitem. (6) CT-ACES-07: a borda de repouso do campo é exceção aceita (D-CM-057), chips em peso regular (D-CM-056). (7) Saiu o “a confirmar” de E-CM-020 (agora D-CM-055); selo e número do KPI aprovados (D-CM-058).

  • v5.9 (26/10/2026) — Acompanha 01-Definição v5.9, 02-Especificação v5.9, 03-Protótipo v5.9, 04-Mapeamento v5.9 e 05-Registro de Decisões v1.8. Decisões D-CM-047 a D-CM-054. Para a QA: (1) CT-PRES-18: o desempate passa a ser pelo nome do paciente (91 Carmen Garcia, 65 Helena D. Costa, 90 Sophia Muller), não pelo id; a massa auxiliar proposta mudou (a 90 é de Sophia e a 91, de Carmen). (2) Novos: CT-CONS-19 e CT-PRES-19 (todas as clínicas do cliente e nome da clínica no card só com mais de uma clínica), CT-PRES-20 (editar, gravar e reassinar: a nova versão nasce sem assinaturas e é a única válida) e CT-PRES-21 (assinatura que dispensou a revisão perde o efeito se a aplicação for adiada; interpretação do Designer, P-CM-047). Os quatro dependem de massa proposta, ainda inexistente (ver Pendências de Massa de Dados). (3) CT-TEMA-04: o selo “Atrasado” é leve (error-light/error-dark); medir os contrastes indicados. O número do KPI de Alertas passa a color-error-dark.

  • v5.8 (26/10/2026) — Acompanha 01-Definição v5.8, 02-Especificação v5.8, 03-Protótipo v5.8, 04-Mapeamento v5.8 e 05-Registro de Decisões v1.7. Decisão em 05 - Registro de Decisões v1.7 (D-CM-046). Nenhum cenário, massa ou resultado de dados muda. Para a QA: (1) CT-ACES-06: o indicador de foco é o anel de 2px (não mais 3px) e o campo de busca mostra borda de 2px no lugar do anel; saiu a observação “a confirmar (E-CM-003)” do CT-ACES-06, do preâmbulo de CT-ACES e da tabela de cobertura. (2) CT-ACES-07: os chips de tempo são leves (fundo -light, sem contorno, texto e ícone -dark); medir os contrastes indicados. Onde os cenários dizem “chip laranja” ou “chip vermelho” (prescrições), a cor continua sendo a mesma família, agora em tom leve.

  • v5.7 (21/10/2026) — Acompanha 01-Definição v5.7, 02-Especificação v5.7, 03-Protótipo v5.7, 04-Mapeamento v5.7 e 05-Registro de Decisões v1.6. Decisão em 05 - Registro de Decisões v1.6 (D-CM-045). Nenhum cenário, massa ou resultado esperado muda. Para a QA: a “borda azul” de conversa não lida (CT-MSG-01, 02 e seguintes) é --color-secondary-dark (azul escuro), e o ícone do card não lido usa a mesma cor; o percentual ao lado da barra de progresso tem 10px.

  • v5.6 (21/10/2026) — Acompanha 01-Definição v5.6, 02-Especificação v5.6, 03-Protótipo v5.6, 04-Mapeamento v5.6 e 05-Registro de Decisões v1.5. Decisão em 05 - Registro de Decisões v1.5 (D-CM-044, decisões transversais DT-011 e DT-012). Nenhum caso, massa ou resultado esperado muda. Para a QA: (1) o idioma de toda a tela é o da clínica (ClienteEmpresa.IdiomaOficial), nunca uma escolha do usuário — CT-MSG-21 já usa clínicas em en-US e es-419; (2) se um rótulo traduzido pelo banco (ex.: modo de atendimento) não tiver tradução no idioma da clínica, aparece o código do termo e o back-end registra anomalia; não há queda para pt-BR. Esse comportamento é testado no Menu Lateral (Cenários de Teste do Épico 5, CT-E5-EST-15 e 17).

  • v5.5 (14/10/2026) — Acompanha 01-Definição v5.5, 02-Especificação v5.5, 03-Protótipo v5.5, 04-Mapeamento v5.5 e 05-Registro de Decisões v1.4. Decisão em 05 - Registro de Decisões v1.4 (D-CM-043). Nenhum cenário, massa de dados ou resultado esperado muda: a versão só troca valores de cor dos tokens (Design System de 14/10/2026). Para a QA: (1) --color-on-primary já está no Design System; (2) no tema claro, textos em -dark e texto secundário ficam um pouco mais escuros — os mínimos de contraste de CT-ACES-07 continuam os mesmos e passam com folga maior; (3) o contador de cada painel é um badge neutro (fundo neutral-lighter), não verde, e o número de alertas do KPI é texto vermelho (error-pure, 24px) — a Especificação 2.8 foi corrigida para dizer isso, como o protótipo já fazia.

  • v5.4 (13/10/2026) — Acompanha 01-Definição v5.4, 02-Especificação v5.4, 03-Protótipo v5.4 e 04-Mapeamento v5.4. Decisões em 05 - Registro de Decisões v1.3 (D-CM-027 a D-CM-042, E-CM-018 a E-CM-021). Todos os resultados de prescrições e de procedimentos foram recalculados por script contra CargaCMZero.xlsx (lida em 13/10/2026, arquivo salvo às 14:50 UTC), reproduzindo antes a regra anterior para conferir; variantes calculadas: N = 1, 2 e 3; S = 3, 4, 5 e 7; relógio às 12:00, 23:59 e 00:00; as três massas alternativas da prescrição 71. (1) Janelas em dias de calendário (D-CM-037), assinatura feita depois de a janela de revisão abrir dispensa a revisão (D-CM-040, E-CM-019) e administração iniciada retira só de “a revisar” (D-CM-039, E-CM-018): CT-KPI-04.1 de 1 · 2 · 0 para 0 · 1 · 0 (sai a 11); CT-KPI-04.2 de 1 · 1 · 2 para 0 · 0 · 1 (saem a 67 e a 71); CT-PRES-01.1, 02.1 e 02.2 de 2, 8 e 8 cards para 1, 4 e 4 (saem 11, 67, 71 e 73); CT-PRES-01.2 de 3 para 1 card. As assinaturas 21 (prescrição 11, 16:00:59) e 1024 (prescrição 67, 16:45) são posteriores ao relógio das 12:00 e contam mesmo assim, porque a regra não tem limite superior (ver Pendências de Massa de Dados). (2) Texto e ordem do tempo (D-CM-041, E-CM-020): “{m}min atrasada”, “{h}h{mm} atrasada”, “{d} dias atrasada”, “{m}min restantes” e “{h}h restantes”, pelos minutos reais; chaves presc-restante, presc-restante-min, presc-atrasada-hm, presc-atrasada-min e presc-atrasada-dias (saem as chaves antigas de atraso em horas inteiras e de chip do tempo restante); desempate por id. CT-PRES-11 reescrito (massa alternativa da 71, sem assinatura); CT-PRES-12 e 13 refeitos; novos CT-PRES-14 (administração iniciada), 15 (assinatura dentro e fora da janela de revisão, com bordas em massa proposta), 16 (assinar dentro e fora da janela), 17 (formatos de tempo, chips e chaves em três idiomas) e 18 (desempate por id, massa proposta). (3) “Procedimentos Hoje” (D-CM-038): o total inclui os finalizados e os subtotais não fecham a conta (CT-KPI-03.1 e 03.2 reescritos). (4) Pacientes em procedimento: novos CT-PROC-10 (ícone de 1ª Consulta, firstTime, D-CM-029 e D-CM-035), 11 (status Completo), 12 (“sem tempo previsto”, D-CM-034) e 13 (Finalizado com alta e sem fim de infusão), os quatro com massa proposta; status avaliado em ordem (D-CM-030); CT-PROC-04 remete a CT-PROC-12. (5) Mensagens (D-CM-032, E-CM-021): resolver e descartar pedem confirmação; CT-MSG-10, 12, 13, 17 e 18 incluem o passo; novos CT-MSG-19 (resolver), 20 (descartar) e 21 (textos em pt-BR, en-US e es-419). (6) Busca (D-CM-036): novos CT-BUSCA-06 (prontuário não é critério da busca comum) e CT-BUSCA-07 (chave id:, só na certificação). (7) Consultas: CT-CONS-14 passa a citar D-CM-035 (ícone sem foco de teclado); novo CT-CONS-18 (ordem dos chips por grupo, D-CM-022), conferido contra a massa com a tag 8 (sigla C.PI) da paciente 14, já salva na planilha — o Registro v1.3 (P-CM-034) ainda a dá como não salva. (8) Transversais: CT-SIS-08 deixa de ser proposta (E-CM-001 aceito em D-CM-027); CT-ACES-02, 03, 05, 06, 07 e 08 atualizados (a prescrição 11 sai das listas e dá lugar à 43) e novo CT-ACES-11 (caixa de confirmação). Os itens E-CM-001, 002, 006, 007, 008, 009, 016 e 017 perderam a ressalva “a confirmar”; seguem a confirmar E-CM-003 (anel de foco), E-CM-004 (chips de tempo) e E-CM-018 a E-CM-021. (9) Contrato (D-CM-042): tipo de mensagem Response, origem User | System, startTime em “HH:mm” no fuso da clínica e status completed para a infusão terminada sem alta (valor anterior substituído). Os casos deste documento são de tela: só CT-PROC-11 cita o valor de contrato (completed); nenhum verifica o corpo das respostas da API de mensagens. (10) Casos marcados “a confirmar” por divergência ou lacuna entre os documentos: horário e cor do chip no status Completo (CT-PROC-11), foco e Esc da caixa de confirmação (CT-MSG-19 e CT-ACES-11), formato e comportamento da chave id: (CT-BUSCA-07) e resposta da busca sem correspondência (CT-BUSCA-06). (11) Pendências de massa: reescritas e ampliadas, incluindo o erro DATEAD no UPDATE PEP do script UPDATE DATAS, o DhInfusaoFimUTC da Agenda 138 deslocado para cinco dias antes, e a ausência de número de prontuário na aba Paciente.

  • v5.3 (10/10/2026) — Acompanha 01-Definição v5.3, 02-Especificação v5.3, 03-Protótipo v5.3 e 04-Mapeamento v5.3. Decisões em 05 - Registro de Decisões v1.2 (D-CM-017 a D-CM-026, E-CM-016 e E-CM-017). Revisão por Dois Críticos (técnico e negócio/UX) antes de fechar: ver o Histórico do Registro. Resultados recalculados contra a planilha (relida, com o parâmetro corrigido), replicando primeiro a regra anterior para conferir (as seis prescrições e os KPIs da v5.2 foram reproduzidos). (1) Janela de “a revisar” em dias de calendário (D-CM-023): CT-KPI-04.1 passa a 1 · 2 · 0 (entra a 43); CT-PRES-01.1 de 1 para 2 cards; CT-PRES-02.1 e 02.2 de 6 para 8 cards (entram 74 e 43); CT-PRES-07 (valor 2) entra a 68; novos CT-PRES-12 (virada do dia) e CT-PRES-13 (borda, massa proposta). Os casos-limite de horário (43 às 14:00 e 74 às 12:30) deixam de existir. (2) “3h atrasada” no lugar de “-3h restantes” (E-CM-016). (3) “6 pendentes (1 atrasada)” em CT-KPI-01 (D-CM-018). (4) Painel “Pacientes em procedimento” (D-CM-019). (5) Vigência por data (D-CM-021): CT-CONS-16 deixa de ser caso pendente e passa a esperar o chip VIP. (6) Ordem das tags (D-CM-022): CT-CONS-15. (7) Novo CT-CONS-17 (destaque “há 2h25” de Beatriz e “há 2h06” de Otávio) e os cards correspondentes. (8) Pendências de massa: parâmetro corrigido na planilha (saiu a pendência); script UPDATE DATAS: o arquivo lido ainda traz os erros, confirmar se a versão corrigida foi salva; Agenda.Data será descontinuada.

  • v5.2 (09/10/2026) — Acompanha 01-Definição v5.2, 02-Especificação v5.2, 03-Protótipo v5.2 e 04-Mapeamento v5.2. Decisões em 05 - Registro de Decisões v1.1. Revisão por Dois Críticos (técnico e negócio/UX) antes de fechar: achados aplicados; os que dependem do solicitante estão em P-CM-019 a P-CM-027. (1) Janela de “a revisar” de 1 dia: CT-KPI-04.1/04.2, CT-PRES-01.1 a 02.2 (6 cards), CT-PRES-07/08/10 e casos-limite (74 entra às 12:30; 43 às 14:00). (2) Prescrição vencida na lista e em “Urgentes” (D-CM-013): novo CT-PRES-11 (às 15h, “P/ revisar” do Dr. 11 é 2). (3) Progresso por TempoAplicacao (D-CM-015): CT-PROC-04, Maria Silva 6% (12h) e 47% (13h). (4) Dica do ícone: CT-CONS-09.1 e novo CT-CONS-14. (5) CT-MSG-10 sem texto de auditoria. (6) A planilha mudou depois da v5.1 e foi relida: 12 vínculos de prontuário (ANTICOAG para os pacientes 19 e 21), VIP do paciente 3 com DataFim no início do dia, IC de finalidade A no cadastro do paciente 20 (não conta). Novos CT-CONS-15 (Roberto, duas tags) e CT-CONS-16 (caso-limite, E-CM-014); cards de Roberto atualizados. (7) Pendências de massa: nome singular do parâmetro na planilha (P-CM-018) e erros do script UPDATE DATAS.

  • v5.1 (09/10/2026) — Acompanha 01-Definição v5.1, 02-Especificação v5.1, 03-Protótipo v5.1 e 04-Mapeamento de BD v5.1. Partiu da v5.0 deste documento; a data-base não mudou (23/09/2026 12:00, fuso -03:00) e CargaCMZero.xlsx não foi alterada. Todo resultado esperado novo ou alterado foi recalculado contra a massa, agenda a agenda e prescrição a prescrição; o que não foi possível conferir está em “Pendências de Massa de Dados” ou marcado [PROPOSTA]. Este documento não tem contagem total de casos a atualizar.

    1. “Atrasadas” só conta consultas não iniciadas (D-CM-008): o card passa a contar as consultas pendentes cujo horário previsto já passou e cujo atendimento ainda não começou. CT-KPI-01.1 (Dr. 11): Atrasadas 2 → 1 às 12h — saiu a Beatriz A. Lima (103), que está em atendimento; CT-KPI-01.2 (Dr. 9): hora de referência 14h → 15h, valor 1 (Marcelo/108; Otávio/132 está em atendimento e não conta). Total, Finalizadas e Pendentes não mudam (pendentes = total − finalizadas, o que inclui as atrasadas e as em atendimento). Nova nota com a evolução das atrasadas ao longo do dia, para os dois médicos.
    2. Selo “Atrasado” sem distinção entre Esperando e Não chegou (D-CM-004): CT-CONS-03.1 e 03.2 reescritos — Aguardando Recepção e Agendado mostram o mesmo selo “Atrasado · {tempo em atraso}”, e a consulta em atendimento não mostra selo. Corrigido um erro herdado: CT-CONS-03.2 dizia 13:30 para a Marcelo T. Pinto (108); o horário é 14:30.
    3. Janela de revisão de prescrições (D-CM-006): a janela é contínua, até NumeroDiasRevisaoPrescricoes dias à frente, sem piso, com padrão de 2 dias se a linha não existir (antes: 1 dia, lido de PrescricaoTempoRevisao). Números: CT-KPI-04.1 “P/ revisar” 1 → 2 (entra a Yuki Tanaka/43, a 26h); CT-PRES-01.1 de 1 para 2 cards; CT-PRES-02.1 de 5 para 8 (entram 43, 74 e a Helena/65, que a lista anterior omitia por engano); CT-PRES-02.2 de 6 para 8 (entram 74 e 43). O caso-limite passa a ser a prescrição 68 (Cecília, 49h, fora por 1h); 43 e 74 ficam dentro da janela e sem chip de urgência. CT-PRES-07 reescrito (parâmetro com valor 1 — saem a 43 e a 74) e CT-PRES-08 reescrito (linha ausente = padrão de 2 dias). Pendência nova: a planilha ainda traz só a linha obsoleta PrescricaoTempoRevisao.
    4. Diagnóstico oncológico e vigência do prontuário (D-CM-010): diagnóstico de PEP com DataInicioUTC depois de hoje não aparece no card. Novo CT-CONS-13 (Beatriz A. Lima/20: o C50.9 é do PEP 1101, que começa em 01/10/2026); as listas de Beatriz em Consultas passam a ficar sem diagnóstico. Os demais pacientes do painel não mudam (conferidas as 13 linhas de PEPDiagnostico). Pendências novas para o que a massa não exercita, com [PROPOSTA] de massa.
    5. DataInicioUTC é o campo válido (D-CM-009): retiradas as dúvidas sobre DataInicio × DataInicioUTC das Pendências e da nota da Yuki Tanaka (CT-CONS-11, Massa de dados); PEP.DataInicio e DataFim não são lidos.
    6. Painel “Procedimentos hoje” (D-CM-005): nome do painel, escopo (Seção 1) e título da Seção 5 deixam de dizer “na Clínica”. Corrigido um erro herdado em CT-PROC-07.2: dizia 7 contra 3; são 9 (clínica) contra 4 (Dr. 11).
    7. Ícone “1ª Consulta” (D-CM-003): deixa de ser chip de texto e passa a ser o ícone circle-number-1 (Tabler), 18px, sem fundo, --color-first-visit, ao lado do nome, com role="img", aria-label e title. Ajustados CT-CONS-09.1 e 09.2, a nota de Massa de dados e CT-TEMA-03 (a cor agora vem da Especificação 2.8 e do Design System 4a). Procedimentos hoje: o contrato não traz firstTime e nenhuma agenda de procedimento de hoje tem PrimeiraConsulta='S'; nenhum caso espera o ícone ali — Pendência.
    8. Faixa de sem conexão (D-CM-007): CT-SIS-03 a 08 conferidos contra a Especificação 2.7 v5.1 (texto, wifi-off, role="status", horário no fuso da clínica, sem botão de fechar). CT-SIS-08 segue [PROPOSTA]: a regra do horário da atualização mais antiga é escolha do Designer, a confirmar. Novo CT-SIS-09: em até 1024px, cabeçalho e faixa ficam presos no topo.
    9. “Resolvido” e “Descartado” valem para todos os destinatários (D-CM-011): o estado pertence à conversa, inclusive para equipes. CT-MSG-10 a 14 ajustados (os botões se chamam “Resolvido” e “Descartado”; a conversa continua registrada como Resolvida ou Descartada — a tela dedicada de Mensagens está fora do escopo); retirado de CT-MSG-10 o passo de digitar texto, que a Especificação não diz ser enviado ao resolver. Novos CT-MSG-17 (resolver para a equipe Onco) e CT-MSG-18 (descartar uma conversa já lida pelo outro membro), com os usuários 1 e 4, ambos médicos da equipe Onco; não exigem massa nova.
    10. Acessibilidade (Especificação 2.8): novos CT-ACES-01 a 10 na Seção 9 (teclado, nome acessível e botão de ação separado, modal de conversa, busca em combobox, avisos, foco, contraste, alvos de 44px, movimento reduzido e celular de 360px) e nova linha “Acessibilidade” na matriz. CT-TEMA-02 passa a dizer que o card Finalizado não é esmaecido por opacidade. Seção 9 renomeada para “Estados de Exceção, Falhas, Aparência e Acessibilidade (Transversal)”.
    11. Prescrição com aplicação já passada (P-CM-001) — não aplicado: a decisão segue em aberto; nenhum resultado foi mudado por ela. Os casos que dependem dela (prescrições 71 e 73 nas listas de CT-PRES-01.2, 02.1 e 02.2, e a contagem de “Urgentes” de CT-KPI-04.2) estão listados em “Pendências de Massa de Dados”.
    12. Cabeçalho, escopo e matriz: a Seção 1 passa a citar “Procedimentos hoje” e a Seção 9; matriz de rastreabilidade atualizada (CT-CONS-13, CT-MSG-17 e 18, CT-SIS-09, CT-ACES-01 a 10 e as notas de cobertura de KPI Bar, Prescrições, Procedimentos e Tema). Os parâmetros de configuração da Seção 1 foram reescritos com NumeroDiasRevisaoPrescricoes e o padrão de 2 dias.
    13. Revisão por Dois Críticos (09/10/2026): crítico técnico e crítico de negócio/UX sobre o pacote v5.1; o Designer conferiu cada achado contra os arquivos antes de aplicar. Aplicado: valores de progresso dos procedimentos recalculados pela fórmula do Mapeamento 4.3 (Elena 93%/115% às 13h, Rogério 66%/87%, Maria Silva 4%/32%); Reed Richards (Agenda 63, status checked) passa a “Recepcionado”; “Em Infusão” trocado por “Em Administração”; CT-PROC-08 cita a Agenda 138.
  • v5.0 (08/10/2026) — Acompanha 01-Definição v5.0, 02-Especificação v5.0, 03-Protótipo v5.0 e 04-Mapeamento de BD v5.0 (pedido do solicitante: atualizar os pontos pendentes derivados das outras funcionalidades). Partiu da v1.29 deste documento; massa de conferência: CargaCMZero.xlsx, cuja data-base (“hoje”) é 23/09/2026 — a Agenda 1 está em 23/09/2026 15:45 (−03:00), igual à data-base deste documento, que não mudou. Todo resultado esperado novo ou alterado foi conferido contra a massa; o que não foi possível conferir está em “Pendências de Massa de Dados” ou marcado [PROPOSTA]. Este documento não tem contagem total de casos a atualizar.

    1. Cabeçalho e RN-CM-030 (bloqueio pela Recepção): “Versão de referência da especificação” aponta para a v5.0 dos quatro documentos. O bloqueio de horário passa a ser descrito como o feito pela Recepção (RN-AGM-019, Agenda do Médico): descrição da Agenda 164 (Seção 1), pré-condição de CT-KPI-07 e CT-CONS-10 e matriz de rastreabilidade. Resultado esperado inalterado (o bloqueio continua fora do painel e dos quatro números do KPI). Conferido na massa: a Agenda 164 continua com IdPaciente=0 (Paciente.Paciente='B'), TipoAgenda='C', 08:00–08:45, Dr. 11; a massa não registra quem a criou (IdUsuario=0). Corrigida também a grafia Agenda.Paciente.Paciente para Paciente.Paciente nas duas pré-condições.
    2. Tags (RN-CM-025, Mapeamento 4.1 e 4.3) — critério corrigido, resultado inalterado: o documento dizia que o filtro de MostrarEm era o bit de valor 8 (Central do Médico) e que o valor 32 era “da Agenda do Médico, fora do escopo”; o Mapeamento v5.0 (4.1 e 4.3) e a Definição (RN-CM-025, “habilitadas para agendas”) usam o bit 6, valor 32 (Agendas) — corrigido na Seção 1 (Massa de dados) e na nota final da Seção 5. Conferido na aba ProgramaApoio: MostrarEm = VIP 38, LC 1, ANTICOAG 61, IC 61, INT.MED 57, EXT 17, ESPECIAL 63, PARTIC 6; só LC (e EXT/PARTIC, sem paciente) não tem o bit 32 — o conjunto de tags que passa é o mesmo que passava com o bit 8. Reaplicadas todas as regras (bit 32, vigência da tag, vigência da atribuição no cadastro e no prontuário, RemovidoEm, exceção do VIP) às tags dos 16 cards de Consultas (Dr. 11 e Dr. 9, toggle “Todos”) e dos 9 cards de Procedimentos: nenhuma tag esperada mudou. Evidência: PEPProgramaApoioPaciente × aba PEP — IC (pacientes 14, 20, 22), INT.MED (4, 8, 19) e ESPECIAL (24), todas com início até 23/09/2026 e sem fim; LC (2, 20, 22) oculta por MostrarEm=1; VIP (3 e 12) por ProgramaApoioPaciente, início 25/07/2026 e 10/09/2026, sem fim; nenhum registro excluído. Destaque: o vínculo de Yuki Tanaka (8, PEP 1107) começa em 23/09/2026 11:56 — no próprio dia, em vigência. Texto da Seção 1 reescrito com a lista dos critérios, as cores do cadastro (VIP #80FF38, IC #FFC400, INT.MED #FBF8AF, ESPECIAL #DEDAFF) e o contrato {código, descrição, cor} (chip mostra a sigla na cor do cadastro; a descrição vai na dica — a descrição de ESPECIAL na massa tem um espaço antes da vírgula, “física , cognitiva”, e a legenda da Seção 3 passou a reproduzi-la). A nota antiga de que VIP é exceção “mesmo com MostrarEm=38 (sem o bit 8)” foi retirada: 38 tem o bit 32 (38 = 32+4+2), então VIP passa pelo critério comum e a massa não exercita a exceção. Casos novos: CT-CONS-11 (tag do prontuário em vigência, inclusive a de Yuki), CT-CONS-12 (tag do prontuário sem o bit de agendas, oculta) e CT-PROC-09 (mesmas regras no painel de Procedimentos). Sem cobertura de massa (Pendências de Massa de Dados): início futuro e fim passado de tag do prontuário e do cadastro (o único início futuro, PEP 1103, é de LC e já oculto), vigência da própria tag (só ANTICOAG tem fim, 01/10/2026, e não está atribuída), exceção do VIP e RemovidoEm — com [PROPOSTA] de massa e resultado esperado para cada um. Dúvida registrada: PEP.DataInicio × PEP.DataInicioUTC divergem nos PEP 1107 (25/09/2026 × 23/09/2026 11:56) e 1103; e o PEP 1101 (diagnóstico da Beatriz A. Lima) começa em 01/10/2026 sem que a regra de diagnóstico olhe a vigência.
    3. Status (AppointmentStatus(), precedência): conferidos os status esperados das 21 agendas de consulta de hoje dos Drs. 11 e 9 pela nova ordem (cancelado, finalizado, em atendimento, recepcionado, aguardando, agendado) — nenhum muda. Varrida toda a aba Agenda (nem só hoje): nenhuma agenda tem Situacao='V' com DhAtendimentoFimUTC preenchido e DhAtendimentoIniUTC vazio, a única combinação que a precedência resolve (Finalizado); sem caso, vira Pendência de Massa com [PROPOSTA] de massa e resultado esperado (Finalizado).
    4. RemovidoEm: Agenda, PEP, ProgramaApoio e ProgramaApoioPaciente têm a coluna e nenhum registro preenchido; Paciente e PEPDiagnostico não preenchem a coluna na aba. Nenhuma contagem de KPI, lista, diagnóstico ou tag esperada muda; sem caso de teste do filtro — Pendência de Massa, com [PROPOSTA].
    5. Fuso: a massa traz ClienteEmpresa.FusoHorarioOficial (aba ClienteEmpresa); “Clinica Gama” (mesmo nome da Chave 6, IdChClinica das agendas) = America/Sao_Paulo, pt-BR. Registrado em Massa de dados; nenhuma pendência de campo ausente. Achado: a linha “Clinica A” tem Anerica/Manaus (identificador inválido), fora da clínica de teste — Pendências de Massa. A ligação entre a clínica das agendas e essa linha é só pelo nome.
    6. Faixa de sem conexão (Especificação 2.7, MSG_connectionLost): CT-SIS-03 reescrito — antes: cada painel mantinha os últimos dados e exibia um ícone discreto de “Offline” no canto do painel; agora: os últimos dados ficam na tela e aparece uma só faixa abaixo do cabeçalho, com wifi-off e “Sem conexão — dados atualizados às {hh:mm}”. CT-SIS-01 e 02 passam a dizer “carregamento inicial” (a falha na atualização, com dados já exibidos, é outro caso). Novos: CT-SIS-05 (faixa some ao recuperar), CT-SIS-06 (falha no carregamento inicial usa MSG_endpointFail e não aciona a faixa), CT-SIS-07 (falha de KPI na atualização mantém os últimos valores e aciona a faixa), CT-SIS-08 ([PROPOSTA]: vários painéis falhando, uma só faixa com o horário da atualização bem-sucedida mais antiga — é proposta do Designer na Especificação, ainda a confirmar). Nenhum reproduzível só com a massa; pendência do mecanismo de simulação atualizada para CT-SIS-01 a 08.
    7. Tema e aparência: nova subseção “Tema e aparência” na Seção 9 (agora “Estados de Exceção, Falhas e Aparência”), com CT-TEMA-01 (seletor “Tema” no menu do avatar, MSG_themeOptions), CT-TEMA-02 (chips de status e avatar de iniciais nos dois temas — valores do Design System, seção 4), CT-TEMA-03 (chips de tag e de “1ª Consulta” nos dois temas — seções 5 e 4a) e CT-TEMA-04 (selo “Atrasado”, bordas de destaque e faixa nos dois temas). Todos visuais, só com valores do Design System e do cadastro de tags; a cor do chip “1ª Consulta” e a do selo “Atrasado” vêm do Protótipo (a Especificação não as define) e estão marcadas como a confirmar. Ajustes de cor nas Seções 3 e 5, conferidos contra a Especificação 2.3 e o Design System: (a) a borda lateral de Recepcionado é azul secondary-pure (#40C4FF) e a de Aguardando Recepção é --color-status-waiting-border (#FF8A80) — CT-CONS-07 e 08 diziam “azul-claro” e “rosa, cor do status”, o que não batia com a Especificação 2.3 (que já era assim antes da v5.0); (b) “Em atendimento (verde-claro)” de Otávio B. Lima passou a “(verde)”, igual ao dos demais cards do mesmo status; (c) legenda de cores na Seção 3 — o Finalizado é fundo #EDE7FA com texto #6A4FC4 (não mais o roxo saturado #9679E1, que hoje é só a cor de referência do token). Sem cobertura: persistência da escolha de tema (a Especificação não define) e chip “Cancelado” (não aparece na Central).
    8. Contrato (id/patient.id inteiros, tags como objetos, 1ª Consulta por firstTime): este documento não afirmava o contrário; só a nota da “Tag 1ª consulta” passou a dizer que o chip vem do campo firstTime, não da lista tags. Nenhum resultado esperado mudou.
    9. Corpo atemporal e conferências: retiradas do corpo as referências a versão e a arquivos antigos (“desde a v4.26/v4.27”, “01-Definição v4.35”, “01-Definição v4.39”, “Mapeamento v4.44”, “03 - Protótipo v3.16.html, linha 754” — a regra do horário do Finalizado foi reconferida no código do Protótipo v5.0 —, “Cenários de Teste v1.0” e “agora formalizado”); a Agenda do Médico deixa de ser descrita como “sem Protótipo/Mapeamento de BD” (tem os dois). Em Massa de dados, o item “Não conferido se a carga traz os parâmetros” foi resolvido: IpParametroChave traz, para a Clínica Gama (IdChave=6), PrescricaoTempoAssinatura=7, PrescricaoTempoRevisao=1, TempoPacienteAtivoAgenda=180 e TempoPacienteAtivoPrescricao=180 — mesmos valores usados nos resultados esperados. Matriz de rastreabilidade atualizada (CT-CONS-11/12, CT-PROC-09, CT-SIS-05 a 08, nova linha “Tema e aparência”). Corrigido também CT-PRES-07, que mandava “voltar o parâmetro para 24” apesar de o parâmetro ser em dias e de o resultado esperado já dizer “Com 1” (padrão de 1 dia). Revisão por Dois Críticos (técnico e de negócio/UX, esta edição): 1 correção neste documento — CT-KPI-01.2 dizia Atrasadas: 0, mas a Agenda 132 (Dr. 9, em atendimento desde 12:54, agendada 13:00) conta pela fórmula da Seção 4.2, como a Agenda 103 em CT-KPI-01.1; corrigido para 1 (a regra “consulta já em atendimento é atrasada?” fica como dúvida para o solicitante). Pendências de Massa corrigidas: a origem do vínculo VIP está fechada (ProgramaApoioPaciente); PEP.DataInicioUTC/DataFimUTC existem na DDL (afirmação anterior era falsa); as tags 3, 6 e 8 não têm atribuição na massa e só o VIP vem de ProgramaApoioPaciente.
  • v1.29 (08/10/2026) — Pedido do solicitante: o ScriptComplementarvCM.sql (adicionado por ele à pasta da funcionalidade) passa a ser citado no cabeçalho do documento, com a descrição por ele informada: “Script complementar para criação de bancos de testes automatizados da pipeline”. CargaCMZero.xlsx (idêntica à versão já usada nos casos, com a Agenda 164) foi copiada para a mesma pasta, a pedido do solicitante, ao lado do documento e do script. O conteúdo do script não foi analisado nesta rodada — a descrição vem integralmente do solicitante. Nenhum caso de teste, dado ou resultado esperado mudou. Revisão por Dois Críticos: não aplicável — só referência a arquivo.

  • v1.28 (07/10/2026) — Dois achados do solicitante na Seção 6 (Painel Mensagens), ambos confirmados contra a Especificação antes de corrigir. (1) “Estoque de gaze” sem origem: a conversa aparecia no detalhamento de CT-MSG-08 (lida, 12:53, Mateo), mas nenhum CT da Seção 6 a cria — vinha da massa do documento original (v1.0), e a massa de Mensagens começa vazia por design. Decisão do solicitante: remover; CT-MSG-08 passa a ter 4 cards (Encontro de fim de ano, Atraso, Paciente Sr. Ahmed, Paciente Sra. Maria), todos gerados por CT-MSG-01 a 07. (2) Incoerência entre CT-MSG-10/11 e CT-MSG-12/14: desde a v1.1, CT-MSG-10 dizia que, ao Ingrid resolver “Paciente Sra. Maria”, os painéis de Mateo e Li ficavam “não lidos + tarja Resolvido”, e CT-MSG-11 que o card só sumia do painel da Li depois de aberto; já CT-MSG-12 e 14 diziam que a conversa resolvida/descartada por outro não aparece mais. Conferido em 01-Definição v4.42 (RN-CM-015) e 02-Especificação v4.37 (§2.5, §2.9): Conversa.Status é único por conversa, Resolvida/Descartada sai da lista e GET /conversations só devolve Sent/Read/Responded — não existe “tarja Resolvido” nem “some só depois de abrir”. Decisão do solicitante: seguir a Especificação. Alterações: CT-MSG-10 (resultado: some também dos painéis de Mateo e Li, sem tarja), CT-MSG-11 (agora só observa o painel da Li após CT-MSG-10 — não exige abrir o card) e CT-MSG-12 (passa a testar o caso que motivou o achado: observador Ingrid, que ainda não leu a resposta da Li; o passo “Mateo resolve” ficou explícito na pré-condição, pois nenhum CT anterior o executava). Achado adicional, corrigido na mesma rodada: CT-MSG-15 reabre o card “Atraso”, mas CT-MSG-13 (anterior na ordem de execução) o descarta — o caso não era executável na sequência; a pré-condição agora manda executá-lo antes de CT-MSG-13. Nenhuma regra nova e nenhuma mudança na Especificação. Revisão por Dois Críticos: não aplicável — correção de texto de teste para alinhar à Especificação já vigente, decisões confirmadas diretamente pelo solicitante.

  • v1.27 (05/10/2026) — Dois pedidos do solicitante nesta rodada. (1) Massa dedicada para RN-CM-030: o solicitante criou o registro Agenda 164 em CargaCMZero.xlsx — bloqueio de horário na Agenda do Médico do Dr. 11 (IdChRecurso=11), hoje 08:00–08:45 (TipoAgenda='C'), vinculado ao paciente reservado “BLOQUEIO” (IdPaciente=0 → Paciente.Nome='BLOQUEIO', Paciente.Paciente='B'). Conferido contra a aba Agenda e a aba Paciente: registro correto e sem sobreposição com nenhuma agenda já contada nos totais de CT-KPI-01.1/CT-CONS-01.1/02.1. Resolve a pendência de massa de CT-KPI-07 e CT-CONS-10 (RN-CM-030, horário bloqueado não conta no KPI “Consultas Hoje” nem aparece no painel Consultas) — os dois casos deixam de estar marcados “Pendente — sem massa dedicada” e passam a citar a Agenda 164 diretamente; removida a entrada correspondente de “Pendências de Massa de Dados”. (2) Reestruturação de disciplina documental, a pedido do solicitante: “toda anotação referente a modificações nas versões [deve ficar] anexada no Histórico, não no corpo do documento… Quero um documento limpo e objetivo para o QA usar como checklist.” Todas as anotações de mudança de versão foram removidas do corpo (tabelas, blockquotes de nota, cabeçalhos de Detalhamento, Massa de dados e Matriz de rastreabilidade) — frases como “corrigido na vX”, “novo na vX”, “desde a vX”, “nesta versão”, “recalculado em vX” — preservando sempre a substância técnica (o dado, a regra, o motivo atual), nunca a informação em si: onde o corpo só continha uma referência cruzada para um achado “resolvido nesta versão” em Pendências (v1.22, v1.23), o detalhamento completo foi incorporado às próprias entradas de Histórico correspondentes antes da remoção, para nada se perder. “Pendências de Massa de Dados” foi reduzida a pendências abertas apenas — os 6 parágrafos de “pendência resolvida na vX” (v1.9 a v1.24) foram removidos do corpo; o conteúdo de cada um já está, por completo, na entrada de Histórico da versão em que foi resolvido (abaixo). Três rodapés sobre a prescrição 61 (Roberto N. Alves) foram removidos por inteiro, não apenas reescritos — a correção de Situacao para 'F' que os motivava é hoje só um fato de dado corrente (a prescrição simplesmente não aparece em nenhuma lista), sem necessidade de explicar o “antes” para a QA. Duas correções factuais encontradas durante a limpeza, não pedidas pelo solicitante, feitas agora para o documento não carregar informação errada adiante: (a) a nota de “Ordenação” da Seção 4 e a pendência de RN-CM-011 ainda descreviam o empate Roberto N. Alves (19, prescrição 61) × Rogério M. Santos (2) às “hoje 09:00” como se existisse hoje — esse empate não existe desde a v1.24 (prescrição 61 saiu de RN-CM-020 por completo); reescritas para descrever o estado atual (nenhum empate real na massa, regra de desempate ainda sem definição caso um surja); (b) a linha “KPI Bar” da Matriz de rastreabilidade (Seção 10) ainda afirmava que “nenhum caso real de TipoAssinatura='R' existe na massa” — isso deixou de ser verdade desde a v1.21 (prescrições 77/82, Isabella Santos/Elena Volkov); reescrita para citar essas duas prescrições como a cobertura real da Precedência 2 (“já revisada”) de RN-CM-020. Revisão por Dois Críticos: não aplicável — (1) é dado de teste novo fornecido pelo próprio solicitante, conferido por consulta direta à massa; (2) é reorganização documental sem mudança de regra, dado ou resultado esperado de nenhum caso de teste, mais as 2 correções de texto descritas acima, ambas de conferência direta contra o estado atual da massa, não de interpretação de regra de negócio.

  • v1.26 (01/10/2026) — Pedido do solicitante, a partir de uma pergunta sobre cobertura: “fizemos o caminho feliz… há necessidade de pensarmos em caminhos alternativos e/ou caminhos de exceção?” — levantamento contra 02-Especificação v4.37 (§2.7 “Fluxos de Exceção e Estados”, §2.1 “Busca”, §2.9 “Integração com Backend”) e 01-Definição v4.42 (RN-CM-030) encontrou 7 comportamentos já especificados sem nenhum caso de teste cobrindo-os; o solicitante pediu a redação dos novos CT, deixando concorrência (dois médicos agindo sobre a mesma prescrição/conversa ao mesmo tempo — não especificada em nenhum dos 4 arquivos) para depois de validar estes. Casos novos, todos rastreáveis a uma RN ou seção já existente — nenhuma regra nova, só cobertura:

    1. Nova Seção 9 — “Estados de Exceção e Falhas (Transversal)” (empurra a antiga Seção 9 “Matriz de rastreabilidade” para 10, e “Histórico de Versões” para 11): CT-SIS-01 (falha de endpoint de um painel, MSG_endpointFail), CT-SIS-02 (falha de endpoint de um KPI, exibe ”—”), CT-SIS-03 (queda de conexão, mantém últimos dados + ícone “Offline”), CT-SIS-04 (skeleton loading por painel + spinner da busca) — todos de §2.7, nenhum reproduzível só com CargaCMZero.xlsx (exigem simular a falha, não um dado de massa).
    2. CT-CONS-10 e CT-KPI-07 (RN-CM-030, horário bloqueado): o próprio Histórico da Especificação v4.37 já registrava que o Cenários de Teste tinha ficado pendente de atualização para esta regra — conferido contra CargaCMZero.xlsx (aba Agenda): nenhum registro tem Paciente.Paciente = 'B' (o paciente reservado que marca um bloqueio) até esta versão; os 2 casos novos ficam marcados “Pendente — sem massa dedicada”.
    3. CT-BUSCA-04 e CT-BUSCA-05 (RN-CM-004): menos de 2 caracteres (MSG_searchMin) e busca sem resultado (MSG_searchNone) — ambos critérios de aceitação já escritos em 02-Especificação §2.1, sem CT correspondente até esta versão. CT-BUSCA-05 fica com uma ressalva: o motor de correspondência aproximada é descrito na Especificação como mecanismo já existente, fora do escopo documentado aqui — o termo de teste proposto precisa ser validado pela QA contra o motor real, este documento não pode garantir de antemão que ele retorne zero resultados.
    4. CT-MSG-15 e CT-MSG-16: idempotência de POST /conversations/{id}/read numa conversa já “Respondida” (comportamento explícito em §2.9 — não regride para “lida”) e falha ao enviar mensagem (reaproveita a mensagem genérica MSG_endpointFail de §2.7, já que a Especificação não define uma mensagem de erro própria para esta ação).

    Matriz de rastreabilidade (agora Seção 10) atualizada com os 6 casos acima e a nova linha “Estados de Exceção e Falhas”; “Pendências de Massa de Dados” ganhou 4 novas entradas (bloqueio de horário, termo de busca sem resultado, e o mecanismo de simulação de falha ainda não definido pela QA). Única referência cruzada corrigida no corpo do documento: a nota de CT-PRES-01.2 (prescrição 70) apontava para “Seção 9”, agora “Seção 10” (demais menções a “Seção 9” no documento são do Histórico, descrevendo a numeração vigente em cada versão passada — não foram alteradas). Revisão por Dois Críticos: não aplicável — cobertura de teste para comportamento já especificado em versões anteriores da Especificação e da Definição, sem decisão de modelagem nova; cada caso novo cita a RN ou seção exata de onde veio, sem nenhuma regra inventada para esta rodada.

  • v1.25 (30/09/2026) — Pedido do solicitante: “adicione os casos limites como observação na tabela do CT-KPI-04.1 e todos os lugares onde aparece a prescrição 41 e 74 (que é o mesmo caso)” — nota de interpretação: não existe prescrição 41 no documento nem na massa; lido como referência à prescrição 43 (Yuki Tanaka), a única tratada em versões anteriores como “caso-limite” e conceitualmente pareada com a 74 (mesmo fenômeno — aplicação muito perto do limite de 24h de PrescricaoTempoRevisao — em lados opostos do limite: 43 a 2h de entrar em “a revisar”, 74 a 30 min de ter saído). Alteração puramente documental, sem mudança de dado, classificação ou badge: adicionada uma observação explícita de “caso-limite” (I) na tabela de CT-KPI-04.1 (Seção 2), com um novo bloco de observação logo abaixo explicando as duas prescrições e a relação entre elas; (II) na nota de CT-PRES-01.1 (prescrição 43); (III) nas notas de CT-PRES-02.1 e CT-PRES-02.2 (prescrições 43 e 74, com referências cruzadas); (IV) na linha “Prescrições Pendentes” da matriz de rastreabilidade (Seção 9), quantificando as duas distâncias (2h e 30 min) e referenciando as seções acima; (V) na linha “KPI Bar” da mesma matriz, para a prescrição 74. Os valores em si (26h de distância para 43, 24h30 para 74, ambos contra a mesma janela de 24h de PrescricaoTempoRevisao) já estavam registrados em versões anteriores (v1.19, v1.23) — nesta versão apenas se tornam visíveis como observação explícita nos pontos pedidos, sem recálculo. Revisão por Dois Críticos: não aplicável — adição de observação textual sobre dado e regra já verificados em rodadas anteriores, sem decisão de modelagem nova.

  • v1.24 (30/09/2026) — Pedido do solicitante: 2 correções diretas em CargaCMZero.xlsx, comunicadas em conversa e verificadas linha a linha contra a regra já documentada, sem decisão de modelagem nova. (1) Prescrição 61 (Roberto N. Alves, C4D1) — Situacao corrigida de 'G' para 'F', a pedido do solicitante (“o terceiro item de não aderente não entra pois ainda não se completou e está dentro da tolerância do protocolo”). Conferido contra TreatmentPlanAdherenceCount() (04-Mapeamento de BD §4.5): Condição 1 (C1D1, diferença de 1 dia — igual à tolerância, não excede), Condição 2 (deixa de se aplicar com Situacao='F') e Condição 3b (todas as transições de ciclo em exatamente 21 dias) — nenhuma flagra o paciente 19. Resultado: CT-KPI-02.1 “Não aderentes” 3→2 (sai o paciente 19); a mesma correção retira a prescrição 61 de RN-CM-020 por inteiro (F fora do filtro de Situacao) — Roberto N. Alves sai de CT-PRES-01.1 (badge 2→1), CT-PRES-02.1 (badge 6→5) e CT-PRES-02.2 (badge 7→6), e de CT-KPI-04.1 (Urgentes 2→1, P/ assinar 1→0); o empate Roberto/Rogério (RN-CM-011, pendência desde a v1.2/v1.8) perde a cobertura de dado real. (2) Prescrição 72 (Kenji Chen, Dr. Ricardo Martins/12) — assinatura removida de PrescricaoAssinatura, a pedido do solicitante, para cobrir um caso real de “prescrição nunca assinada de médico de terceiros” na visão “Todos”. Resultado: a prescrição passa de Precedência 2 (“a revisar”) para Precedência 1 (“a assinar”) em RN-CM-020 — ação do card muda de Revisar para Assinar em CT-PRES-02.1/02.2 (badge e Agenda 153 inalterados) e em CT-KPI-06 (P/ revisar 1→0, P/ assinar 0→1); matriz de rastreabilidade da Seção 9 atualizada (3 casos reais de “a revisar”, 1º caso real de “a assinar” de terceiros). Revisão por Dois Críticos: não aplicável — correção de dado de teste comunicada diretamente pelo solicitante, conferida contra regra já documentada.

  • v1.23 (30/09/2026) — Pedido do solicitante: “faça a conferência completa”, pedindo a reconferência de Consultas (Seção 3), Prescrições Pendentes (Seção 4) e Procedimentos (Seção 5) contra a nova data-base (23/09/2026 12:00), deixada em aberto pela v1.22. As 23 agendas “de hoje” rastreadas nas Seções 3 e 5 (Agenda 1, 62, 65, 70, 87, 101-110, 113, 118, 132, 134, 148, 151, 158, 163) foram reconferidas campo a campo (horário, Situacao, recepção, atendimento, infusão) contra CargaCMZero.xlsx. Resultado: Seções 3 e 5 confirmadas sem alteração de conteúdo (23 agendas “de hoje” reconferidas campo a campo, só o rótulo do dia mudou). Seção 4 teve 4 achados corrigidos: badge de Roberto N. Alves (19) de “−6h” para “−3h atrasado” (já estava errado antes desta rodada); rótulo de Beatriz A. Lima (20) de “hoje+2” para “hoje+3”; rótulo de Benjamin Thompson C1D1 (prescrição 73) de “ontem” para “hoje” (a Agenda 154 não havia se deslocado com o resto da massa); e saída da prescrição 74 (Benjamin Thompson C1D2) das listas “Todos” — sua Agenda 155 também não se deslocou e a aplicação passou a ficar fora da janela de 1 dia de “a revisar” (badges CT-PRES-02.1 7→6, CT-PRES-02.2 8→7; matriz de rastreabilidade da Seção 9 de 5 para 4 casos reais de “a revisar”). Revisão por Dois Críticos: não aplicável — conferência de dado de teste contra regra já documentada (04-Mapeamento de BD §4.5/4.6), sem decisão de modelagem nova.

  • v1.22 (30/09/2026) — Pedido do solicitante: reformulou as datas dos planos terapêuticos dos pacientes 1, 8, 19, 21 e 22 em CargaCMZero.xlsx e pediu reconferência dos casos de “Não aderentes” (CT-KPI-02, RN-CM-023/024). Três achados no processo, todos esclarecidos com o solicitante antes de recalcular: (1) Deslocamento não anunciado da data-base: junto com a reformulação, as agendas “de hoje” da massa original (1 a 151) deslocaram de 24/09/2026 para 23/09/2026, sem que isso tivesse sido pedido explicitamente — só os planos terapêuticos deveriam ter mudado. O solicitante confirmou a nova data-base (23/09/2026 12:00) e ajustou também as agendas 158/163 (pacientes 16/18, da v1.21) para o mesmo dia. (2) Divergência de intervalo entre ciclos no paciente 8: o protocolo Paclitaxel+Carboplatina tem Protocolo.IntervaloCiclosEmDias=28, mas o plano terapêutico do paciente tinha seu próprio campo com 21 dias, e as datas reais lançadas seguiam a cadência de 21 dias a partir do Ciclo 3 — batendo com o plano, não com o protocolo. O solicitante confirmou usar o valor do Protocolo (28 dias), como já documentado em 04-Mapeamento de BD. (3) Erro de carga no paciente 22: a prescrição 67 (deveria ser o C2D1) estava gravada em PrescricaoProtocolo com Ciclo=1/Sessao=1 — idêntica à prescrição 66 (o C1D1 real) — em vez de Ciclo=2, impedindo a condição “início de novo ciclo” de TreatmentPlanAdherenceCount() de reconhecer a prescrição como tal. O solicitante confirmou corrigir a planilha (Ciclo=2). Resultado: CT-KPI-02.1 (Dr. 11) mantém 3 não aderentes (pacientes 1, 8, 19 — 2 deles por motivo diferente das datas antigas: paciente 1 agora via desvio de intervalo de ciclo (C6→C7, 34 dias vs. tolerância de 29 sobre 28 dias), paciente 19 via prescrição vencida sem confirmação (C4D1, hoje 09:00); paciente 8 segue não aderente, agora com C1D1 atrasado 12 dias — antes 20 — e as transições de Ciclo 3 em diante fora da tolerância de 28 dias do protocolo, mesmo caindo numa cadência limpa de 21 dias). CT-KPI-02.2 (Dr. 9) sobe de 1 para 2 não aderentes: paciente 22 confirmado (33 dias entre C1D1 e C2D1, só detectável após a correção do erro de carga) e paciente 21, novo nesta versão (C1D1 atrasado 10 dias vs. planejado). Nenhuma mudança nas demais seções do documento além da linha de data-base no cabeçalho (ver ressalva ali sobre não terem sido reconferidas item a item). Revisão por Dois Críticos: não aplicável — recálculo de dado de teste fornecido pelo próprio solicitante, com as decisões de modelagem (data-base, fonte do intervalo de ciclo, correção do erro de carga) confirmadas diretamente com ele, não por interpretação autônoma.

  • v1.21 (29/09/2026) — Acompanha 01-Definição v4.42, 02-Especificação v4.37, 03-Protótipo v3.19 e 04-Mapeamento de BD v4.48 (só sincronização de cabeçalho com esses 4 arquivos — nenhuma mudança de RN motivou esta versão). Pedido do solicitante: 2 casos de teste com confirmação de revisão real (PrescricaoAssinatura.TipoAssinatura='R'), cobrindo pela primeira vez com dado real a Precedência 2 de RN-CM-020 no caminho “já revisada” — lacuna registrada desde 04-Mapeamento de BD v4.40/v4.45 (“nenhum registro TipoAssinatura='R' existe na massa hoje”). Dois pacientes novos criados pelo solicitante na CargaCMZero.xlsx: Isabella Santos (16), Dr. 11, e Elena Volkov (18), Dr. 9, cada um com uma prescrição de hoje (77, 82) já assinada (par legado DataAssinaturaPrescricao/IdChProfissionalAssinou, RN-CM-029) e já revisada (TipoAssinatura='R', datada de 23/09/2026, antes da data-base). Processo: a primeira carga enviada tinha 3 problemas, verificados e reportados antes de aceitar o dado — (1) as prescrições do paciente 18 estavam sem Prescricao.IdAgenda, o que as tornaria invisíveis às queries de 4.6 (INNER JOIN Agenda); (2) o IdUsuario das assinaturas 'R' apontava para Profissional.IdUsuario de não-médicos (categoria P/F) em vez do médico revisor pretendido; (3) as datas de 'R' inicialmente ficavam depois da data-base do documento (24/09/2026 12:00), o que faria a revisão não ter “acontecido ainda” no instante de referência. O solicitante corrigiu os 3 pontos na planilha; reconferido diretamente contra a massa após a correção. Reconciliação de efeitos colaterais (pacientes novos, com Agenda de hoje) em painéis que não tinham sido tocados pelo pedido original: KPI “Em Tratamento” (Seção 2) +1 para cada médico (PatientInTreatmentCount() conta os dois via janela de atividade de 180 dias; nenhum dos dois entra em “Não aderentes” — não têm PrescricaoProtocolo); KPI “Procedimentos Hoje” (Seção 2) — paciente 16 soma a “Aguardando” (status waiting, Agenda 158), paciente 18 soma a “Em atendimento” (status administering, Agenda 163); painel Procedimentos na Clínica (Seção 5) — Isabella entra em CT-PROC-01.1 (Dr. 11, último da ordem cronológica, 16:00) e em CT-PROC-02.1/02.2 (último, 9 cards); Elena entra em CT-PROC-01.2 (Dr. 9, primeiro, 08:00) e em CT-PROC-02.1/02.2 (primeiro, 9 cards) — setor resolvido via Recurso→Chave (Verde A/Salmão A) e Agenda.IdUAtendimento→UnidadeAtendimento (Setor Verde/Setor Rosa); fotos confirmadas via nova aba PacienteFoto da massa (000000000016.png, 000000000018.jpg, ambas Padrao='S'). Sem impacto em Consultas/KPI Consultas Hoje (TipoAgenda='C' apenas — as agendas novas são 'Q'). Prescrições 75, 76, 81 (ciclos já Situacao='F', faturados) também ganharam TipoAssinatura='R' na mesma leva, mas já saíam do painel só pelo filtro de Situação (P/G/A/O) — não têm efeito de teste adicional, registrado por completude. Revisão por Dois Críticos: não aplicável — dado de teste novo fornecido e corrigido pelo próprio solicitante, verificado por consulta direta à massa, não por interpretação de regra de negócio.

  • (sincronização, 29/09/2026) — sem mudança de conteúdo deste documento (nenhum Cenário de Teste aqui cobre a compatibilidade legada de assinatura em nível de campo, nem a resolução do nome da equipe); apenas a linha “Versão de referência da especificação” atualizada para apontar Definição v4.41 e Mapeamento de BD v4.47 (esclarecimento sobre o par IdChProfissionalAssinou/DataAssinaturaPrescricao, e decisão sobre o vínculo histórico de equipe na resolução do nome do autor — ver Histórico desses documentos).

  • v1.20 (29/09/2026) — Acompanha 01-Definição v4.40, 02-Especificação v4.36 e 04-Mapeamento de BD v4.46: 3 correções do solicitante sobre achados que a v1.19/v4.45 haviam deixado em aberto para decisão dele. (1) Escopo de “a assinar” corrigido: a restrição documentada até a v4.45 (“só o próprio prescritor assina”, citando RN-CM-012) estava errada — qualquer médico pode assinar uma prescrição, tipicamente quando a aplicação está próxima e o prescritor não está disponível; não é uma questão de prioridade entre médicos. O toggle “Meus/Todos” passa a afetar as duas categorias (a assinar e a revisar) da mesma forma, com o mesmo critério de “Meus” (prescritor ou médico assistente do paciente) — mudança de RN-CM-021 (01-Definição), Seção 2.4 (Especificação) e Seções 4.6/4.7 (Mapeamento de BD, incluindo isPreferredReviewer agora presente para to_sign também). Isso resolve, sem mudança de dado nem de badge, o “achado” da v1.19 sobre as prescrições 61 e 71 aparecerem na lista “Todos” de um médico diferente do prescritor — esse comportamento sempre esteve correto; a documentação é que estava errada. (2) Badge do cartão de Benjamin Thompson corrigido: confirmado pelo solicitante que não existe badge de atraso para uma aplicação futura. Os cartões de Benjamin Thompson (paciente 17) em CT-PRES-02.1/02.2 tinham datas relativas erradas, herdadas de uma reformatação anterior (v1.6) que não preservou os cálculos originais da v1.5: item 3 (C1D1, prescrição 73) estava rotulado “hoje 11:00” quando a v1.5 já havia calculado “aplicação 23/09 (distância 1 dia)” a partir da mesma data-base — corrigido para “ontem 11:00” (badge vermelho, aplicação já passou — rótulo mantido, pois esse item está de fato atrasado); item 7 (C1D2, prescrição 74) estava rotulado “hoje+1 12:30” quando a v1.5 já havia calculado “aplicação 24/09 (distância 0)” — corrigido para “hoje 12:30” (badge vermelho, sem o qualificador “atrasado”, já que a aplicação ainda não ocorreu — o vermelho reflete só a proximidade, <12h). Nenhuma mudança de contagem ou de lista — os dois itens já estavam corretamente incluídos em “a revisar”, só as legendas estavam erradas. (3) TreatmentPlanAdherenceCount() não deve mais contar prescrições canceladas — mudança em 04-Mapeamento de BD (Seção 4.5), sem impacto neste documento (nenhum Cenário de Teste aqui cobre esse KPI ainda). Nenhum critico externo rodado nesta rodada — as 3 correções vieram de esclarecimento direto do solicitante sobre achados já verificados/relatados na rodada anterior, não de interpretação nova.

  • v1.19 (28/09/2026) — Acompanha 01-Definição v4.39, 02-Especificação v4.35 e 04-Mapeamento de BD v4.45: RN-CM-020 simplificada, abolindo por completo o conceito de “assinatura vencida” que a v1.10 havia formalizado (2 precedências com validade de 7 dias). Nova regra: (1) “a assinar” = nunca assinada + aplicação dentro de PrescricaoTempoAssinatura (novo parâmetro [PROPOSTA], padrão 7 dias, substituindo PrescricaoValidadeAssinatura — nunca aplicado em produção, sem custo de migração); (2) “a revisar” = assinada (qualquer época) + nenhuma confirmação de revisão jamais registrada + aplicação dentro de PrescricaoTempoRevisao (padrão 1 dia, sem mudança); (3) novo pré-requisito para as duas: Prescricao.Situacao IN ('P','G','A','O'). Reconferido contra CargaCMZero.xlsx (mesma data-base, 24/09/2026 12:00): as prescrições 43 (Yuki Tanaka), 68 (Cecília R. Ferreira) e 69 (Otávio B. Lima), que a v1.10 confirmara como “permanecem a assinar” por assinatura vencida, saem de “a assinar” nesta versão — 68 e 69 saem de ambas as listas (aplicação além da janela de revisão), 43 é um caso-limite que depende do horário de observação (mesma ambiguidade já registrada no seu badge de urgência). A prescrição 70 (Beatriz A. Lima), já fora de ambas as listas desde a v1.10, permanece fora, por um motivo mais simples. Achado quantificado, motivador do novo filtro de Situacao: sem esse filtro, e sem mais expiração para “limpar” o histórico, a lista “a revisar” da clínica (toggle “Todos”) passaria de ~7 para 34 prescrições — incluindo registros de dez/2025 já aplicados há meses — porque nenhum registro PrescricaoAssinatura.TipoAssinatura = 'R' existe em toda a massa hoje. Confirmados 3 exemplos reais (prescrições 31, 37, 66, todas Situacao = 'Q', Dr. 9) que qualificariam para “a revisar” sem o filtro e ficam corretamente de fora com ele. Badges recalculados: CT-KPI-04.1 (Dr. 11) “P/ assinar” 3→1; CT-KPI-04.2 (Dr. 9) “P/ assinar” 3→2; CT-KPI-06 (Dr. 12) sem mudança; CT-PRES-01.1 4→2, CT-PRES-02.1 9→7, CT-PRES-01.2 4→3, CT-PRES-02.2 10→8. Novos casos CT-PRES-09/10 (janela de PrescricaoTempoAssinatura alterada/ausente), mesmo padrão de CT-PRES-07/08 para PrescricaoTempoRevisao — CT-PRES-09 pendente de massa dedicada, CT-PRES-10 coberto pela massa atual. Precedente, verificado antes de iniciar esta rodada: entre 25-27/09/2026, uma simplificação semelhante (2 estados sem validade) já havia sido tentada e revertida a pedido do solicitante (“me precipitei” — ver Histórico/Cenários de Teste v1.10 - REVERTIDA); confirmado explicitamente com o solicitante que o pedido atual (parâmetros nomeados, filtro de situação, janela de “a assinar” parametrizada) é deliberado, e que o achado do backlog de 34 prescrições era esperado e aceitável dado o novo filtro de Situacao (prescricao.situacao = A, G, P, O — confirmado pelo solicitante nesta rodada). Revisão por Dois Críticos (crítico técnico): 1 correção — pré-condição de CT-PRES-07 ainda citava o critério de validade abolido (“assinada há 7 dias ou menos”), corrigida para “assinada (qualquer época)”, alinhando com a própria entrada de Pendências do mesmo caso. Achados adicionais fora do escopo desta rodada, registrados para decisão do solicitante: possível inconsistência entre a restrição de to_sign ao próprio prescritor e o toggle “Todos” (prescrições 61/71 cruzando entre médicos em CT-PRES-02.1/02.2); badge do cartão de Benjamin Thompson C1D2 (item 7 de CT-PRES-02.1/02.2) a conferir contra a massa real — ver relatório completo do crítico técnico.

  • v1.18 (28/09/2026) — Generalizando a divisão de mensagem de estado vazio por toggle (Painel de Consultas, v1.16) para os outros 2 painéis com toggle, a pedido do solicitante: (1) Prescrições Pendentes: CT-PRES-06 dividido em CT-PRES-06.1 (toggle ‘Meus’, default — coberto com dado real: Dra. Aline Chen/17 não tem prescrição a assinar nem a revisar como preferencial, painel exibe “Sem prescrições pendentes para você”, MSG_prescriptionNoneMine) e CT-PRES-06.2 (toggle ‘Todos’ — achado desta rodada: não reproduzível com a massa atual, porque sempre existe ao menos uma prescrição “a revisar” de algum médico da clínica hoje — CT-PRES-01.1/02.1 mostram um total “Todos” de 9 contra 4 “Meus” para o Dr. 11, ou seja, há itens de outros médicos no pool clínica-wide — então nenhum médico consegue ver o toggle ‘Todos’ vazio com os dados de hoje; marcado “Pendente — sem massa dedicada”, mesmo padrão de CT-PRES-07). (2) Procedimentos na Clínica: CT-PROC-07 dividido em CT-PROC-07.1 (toggle ‘Meus’, default — coberto com dado real: Dra. Aline Chen/17 sem paciente vinculado, painel exibe “Sem pacientes seus para o dia”, MSG_proceduresNoneMine) e CT-PROC-07.2 (toggle ‘Todos’ — mesmo achado: não reproduzível com a massa atual, porque há pacientes na unidade hoje vinculados a outros médicos — CT-PROC-02.1/02.2, badge 7 clínica-wide contra 3 do Dr. 11 sozinho; marcado “Pendente — sem massa dedicada”). Adicionadas 2 pendências em “Pendências de Massa de Dados” para os dois estados “Todos” vazios sem cobertura. Diferente do Painel de Consultas (onde “Todos” é sempre por agenda do próprio médico, então o mesmo médico sem agenda fica vazio nos dois estados), aqui “Todos” é clínica-wide nos dois painéis — por isso a mesma pré-condição de CT-CONS-06 não pôde ser reaproveitada. As mensagens “Meus” (MSG_prescriptionNoneMine/MSG_proceduresNoneMine) são propostas do Designer confirmadas pelo solicitante, não frases informadas literalmente por ele (diferente da mensagem de Consultas, ditada palavra por palavra). Acompanha 02-Especificação v4.34 (mensagens/critérios de aceitação/i18n dos dois painéis) e 03-Protótipo v3.18 (renderPrescricoes()/renderClinica() agora usam a mensagem correta por scope/onlyMe). Matriz de rastreabilidade (Seção 9) atualizada.

  • v1.17 (28/09/2026) — Contexto do solicitante incorporado ao achado em aberto sobre a origem do vínculo vip↔paciente (registrado na v1.16): Paciente.PacienteVip é, na visão do solicitante, um conceito legado de uso futuro incerto — não uma confirmação de mecanismo. Nenhum caso de teste desta versão muda; adicionada pendência própria em “Pendências de Massa de Dados” para deixar explícito que a QA não deve assumir Paciente.PacienteVip como fonte de dado de teste — a massa já usa ProgramaApoioPaciente para os 2 pacientes VIP cadastrados (3 e 12), como descrito desde a v1.1. Acompanha 04-Mapeamento de Banco de Dados v4.44 (nota da Seção 4.1 reescrita com o mesmo contexto).

  • v1.16 (28/09/2026) — Duas decisões esclarecidas pelo solicitante nesta rodada, registradas aqui de forma objetiva para a QA (nova prática adotada a partir desta versão — ver Skill Designer, Lição #24): (1) Cor da tag VIP corrigida: #80FF38 (verde), confirmada pelo solicitante e conferida em ProgramaApoio.Cor (IdProgramaApoio=1, Nome=‘VIP’, cadastro real em CargaCMZero.xlsx). As 3 ocorrências de VIP na Seção 3 (Sophia Muller/12, 2x, e John Smith/3) traziam “VIP (lilás-claro)” — mesma cor da tag “1ª consulta”, nunca conferida contra a massa real — corrigidas para “VIP (verde)”. O Protótipo (03 - Protótipo v3.17.html, .chip-vip) usava uma terceira cor (azul, --color-secondary-light), também nunca confirmada, e foi corrigido na mesma rodada. O Mapeamento de Banco de Dados (04, v4.43) trazia a suposição equivocada de que vip não vem de ProgramaApoio para fins de cor — corrigida; ver Histórico desse documento para o achado em aberto, não resolvido nesta rodada, sobre a origem real do vínculo vip↔paciente (Paciente.PacienteVip vs. ProgramaApoioPaciente — a massa real já usa o segundo mecanismo, igual às outras 7 tags). (2) Mensagem de painel vazio do Painel de Consultas diferenciada por estado do toggle: até esta versão, CT-CONS-06 usava uma única mensagem (“Nenhuma agenda para este dia”) para os dois estados do toggle ‘Pendentes’/‘Todos’ — o solicitante definiu duas mensagens distintas: toggle ‘Pendentes’ → “Nenhuma agenda pendente para o dia” (MSG_appointmentNonePending); toggle ‘Todos’ → “Nenhuma agenda para o dia” (MSG_appointmentNoneAll; nota: a palavra “este” foi removida da mensagem original por decisão do solicitante, não é erro de digitação). CT-CONS-06 dividido em CT-CONS-06.1 (Pendentes) e CT-CONS-06.2 (Todos), reaproveitando a mesma pré-condição (Dra. Aline Chen/17 — confirmado contra a massa que nenhuma das 21 agendas de hoje pertence a ela, então os dois estados do toggle ficam vazios). Acompanha 02-Especificação v4.33 (mensagens/critérios de aceitação/i18n) e 03-Protótipo v3.17 (renderConsultas() agora usa a mensagem correta por filter). Matriz de rastreabilidade (Seção 9) atualizada.

  • v1.15 (28/09/2026) — Confirmação do solicitante: as contagens esperadas do KPI “Em Tratamento” (CT-KPI-02) foram calculadas com a janela de atividade de 180 dias (RN-CM-024) — não precisam ser reconferidas. Removida do item de parâmetros em “Massa de dados” a ressalva de reconferência registrada na v1.14. Nenhum resultado esperado mudou.

  • v1.14 (28/09/2026) — Acompanha 01-Definição v4.38 e 04-Mapeamento de BD v4.42: a janela de atividade de RN-CM-024 é de 180 dias (o seed de referência com 120 dias estava errado e foi corrigido), com o mesmo padrão quando o parâmetro não existe para a clínica. Item de parâmetros em “Massa de dados” atualizado; registrado que as contagens de CT-KPI-02 precisam ser reconferidas se a massa tiver sido carregada com o seed antigo. Nenhum resultado esperado mudou.

  • v1.13 (28/09/2026) — Acompanha 01-Definição v4.37, 02-Especificação v4.32 e 04-Mapeamento de BD v4.41 (pedido do solicitante: parâmetros de janela em dias). (1) PrescricaoTempoRevisao passa a ser em dias: item de parâmetros em “Massa de dados” (padrão 1 dia), CT-PRES-07 (valor alterado 48 horas → 2 dias; volta ao padrão 24 → 1), CT-PRES-08 (padrão de 1 dia) e a pendência de massa de CT-PRES-07. Resultados esperados inalterados — 1 dia equivale às 24 horas usadas antes. (2) Registrado no mesmo item de “Massa de dados” que o KPI “Em Tratamento” (CT-KPI-02) depende da janela de atividade de RN-CM-024, sem registro de com qual valor as contagens foram calculadas (seed de referência: 120 dias; padrão de RN-CM-024: 180 dias).

  • v1.12 (28/09/2026) — Pedido do solicitante: lista de pendências abertas em “Pendências de Massa de Dados” ajustada — removido o item “Ordenação do Painel de Procedimentos não é documentada”, que continuava listado como aberto apesar de já resolvido pela RN-CM-027 (registrado como resolvido na v1.9), e a lista ganhou o rótulo “Pendências abertas”. Seguem abertos: critério de desempate de prescrições com mesmo horário (RN-CM-011) e massa dedicada para CT-PRES-07. Nenhum caso de teste nem resultado esperado mudou. Nota de processo: este ajuste chegou a ser aplicado dentro da própria v1.11; por decisão do solicitante (toda atualização gera nova versão), a v1.11 original foi reconstituída e arquivada em Histórico/ e o ajuste passou a ser a v1.12.

  • v1.11 (28/09/2026) — Pedido do solicitante, acompanhando 02-Especificação v4.31: a janela de antecedência em que uma prescrição assinada entra em “a revisar” (RN-CM-020) é um parâmetro por clínica (IpParametro.PrescricaoTempoRevisao, padrão 24h), e este documento não registrava isso — todos os resultados esperados assumiam 24h sem dizer. (1) Novo item em “Massa de dados” explicitando que os resultados esperados dependem dos valores-padrão dos dois parâmetros de RN-CM-020 (24h e 7 dias). (2) Dois casos novos na Seção 4: CT-PRES-07 (parâmetro alterado para 48h — valor de exemplo) e CT-PRES-08 (parâmetro ausente, cai no padrão de 24h). (3) Nova pendência de massa para CT-PRES-07. (4) Matriz de rastreabilidade atualizada. Nenhum resultado esperado existente mudou.

  • v1.10 (28/09/2026) — Fecha o achado em aberto da v1.9 (regra de compatibilidade legada de assinatura), corrigindo a estimativa que a v1.9 havia registrado. Contexto: entre a v1.9 e esta versão houve uma rodada intermediária (25-27/09/2026) que simplificou a regra de assinar/revisar para só 2 estados, eliminando por completo a janela de validade de 7 dias — essa rodada foi revertida a pedido do solicitante, por ser precipitada (“me precipitei”); a regra real tem 2 níveis de precedência, não 2 estados sem vencimento. Com a regra corrigida e formalizada (RN-CM-020 reescrita — Precedência 1 “a assinar”/Precedência 2 “a revisar” — e nova RN-CM-029, ambas em 01-Definição v4.36; lógica correspondente em 04-Mapeamento de BD v4.40), reconferida a mesma pergunta da v1.9 contra a massa real (CargaCMZero.xlsx, data-base 24/09/2026 12:00): das 4 prescrições “para assinar” com Prescricao.DataAssinaturaPrescricao preenchido, só a prescrição 70 (Beatriz A. Lima) de fato muda de classificação — sua assinatura mais recente (DataAssinaturaPrescricao, 18/09/2026, idade 6,2 dias) está dentro da validade de 7 dias, mas a aplicação agendada (26/09, hoje+2) está a mais de 24h de distância, então ela não entra em “a revisar” — simplesmente sai de ambas as listas (nem “a assinar”, nem “a revisar”). As prescrições 43 (Yuki Tanaka), 68 (Cecília R. Ferreira) e 69 (Otávio B. Lima) — que a v1.9 havia estimado que também sairiam, citando apenas a existência de DataAssinaturaPrescricao sem comparar qual data é a mais recente — permanecem “a assinar”: a data mais recente de cada uma, entre PrescricaoAssinatura tipo A e DataAssinaturaPrescricao, já passou dos 7 dias de validade (43: 29/08, 25,7 dias; 68: 12/09, 12,2 dias; 69: 12/09, 12,2 dias — nas três, DataAssinaturaPrescricao coincide ou é mais antiga que o registro em PrescricaoAssinatura, então não muda nada). Nenhum registro PrescricaoAssinatura.TipoAssinatura = 'R' existe na massa hoje — a Precedência 2 de RN-CM-020 (confirmação de revisão vencendo em 7 dias) segue sem um caso de teste real, mesma lacuna já registrada para outros pontos deste documento. Badges recalculados: CT-KPI-04.1 “P/ assinar” 4→3 (CT-KPI-04.2 sem mudança — prescrição 70/paciente 20 pertence ao painel do Dr. 11, não ao do Dr. 9); CT-PRES-01.1 Badge 5→4; CT-PRES-02.1 Badge 10→9 (“adicionais aos 5” → “aos 4”). CT-PRES-01.2 e CT-PRES-02.2 sem mudança. Nenhuma outra prescrição rastreada neste documento muda de classificação. Seção 9 (KPI Bar e Prescrições Pendentes) atualizada com RN-CM-029 e a descrição corrigida. Revisão por Dois Críticos (crítico de negócio): 1 correção — a primeira redação desta entrada comparava a idade de DataAssinaturaPrescricao isoladamente contra a validade, sem checar se PrescricaoAssinatura tipo A não seria a fonte mais recente nas 3 prescrições que permanecem “a assinar”; corrigido para explicitar a comparação das duas datas em cada uma das 4 prescrições, evitando repetir o erro de raciocínio já cometido (sem querer) na estimativa original da v1.9.

  • v1.9 (25/09/2026) — Correções a partir de novos apontamentos do solicitante sobre a v1.8, com autorização explícita para atualizar a Especificação em 2 pontos: (1) Ordenação do Painel de Procedimentos formalizada. O solicitante informou a regra real (cronológica pelo horário agendado da agenda, Agenda.DhAgendaIniUTC; empate desempatado em ordem alfabética pelo nome do paciente) — registrada como RN-CM-027 em 01-Definição v4.35 e no parágrafo “Ordenação” de 02-Especificação §2.6 (v4.30). Conferida contra a massa real (CargaCMZero.xlsx) e contra Cenários de Teste v1.0: reproduz exatamente a ordem já publicada na v1.8 para CT-PROC-02.1/02.2, inclusive o empate Roberto N. Alves/Rogério M. Santos (ambos agendados às 09:00, “Roberto” antes de “Rogério”/ordem alfabética) — nenhuma lista precisou ser reordenada, só a nota de Ordenação e a pendência (agora resolvida). (2) Tag “1ª Consulta” formalizada como regra própria — RN-CM-028 (01-Definição v4.35): diferente das demais Tags de Atenção (RN-CM-025, cadastro ProgramaApoio), vem de Agenda.PrimeiraConsulta='S'; RN-CM-025 e a lista de campos do card de Consultas (02-Especificação §2.3) ajustadas para remover o exemplo indevido e apontar para a nova regra. (3) Foto e Tipo de Consulta adicionados a cada card das Seções 3 e 5 — Foto (sim/não; só Cecília R. Ferreira/23 e Otávio B. Lima/24 não têm) e Tipo de Consulta (Presencial/Teleatendimento). Achado no processo: o campo real é Agenda.Atendimento (P/T), não Agenda.TipoConsulta (N/E, sem relação com teleatendimento) como vinha sido assumido; conferindo contra a massa real, a consulta de Maria Silva com o Dr. 11 (Agenda 62) é Teleatendimento e não tinha sido sinalizada na v1.8 — corrigida (a consulta dela com o Dr. 9, Agenda 65, é Presencial; são atendimentos distintos). (4) Tooltip das Tags de Atenção documentado, a pedido do solicitante — texto de ProgramaApoio.Descricao (fonte primária, cruzado com o texto do documento original v1.0: coincide para VIP, IC, INT.MED e Especial) reunido numa legenda na Seção 3, referenciada também na Seção 5; a tag “1ª Consulta” não tem tooltip próprio (RN-CM-028). Achado em aberto, não aplicado nesta versão: o solicitante confirmou uma regra de compatibilidade legada para to_sign — quando Prescricao.DataAssinaturaPrescricao é mais recente que o registro correspondente em PrescricaoAssinatura, aquela data vale como assinatura — citando a prescrição 70 (Beatriz A. Lima) como exemplo. Conferindo a regra contra todas as prescrições “para assinar” das Seções 2 e 4, ela também se aplica às prescrições 43 (Yuki Tanaka), 68 (Cecília R. Ferreira) e 69 (Otávio B. Lima), não só a 70 — mudaria 5 badges (CT-PRES-01.1/01.2/02.1/02.2 e os KPIs de “P/ assinar”) e a Seção 9. Como o pedido original citou só a prescrição 70, essas outras três não foram alteradas — registradas como pendência aguardando confirmação, para não editar números de teste sem checar antes com o solicitante. Nenhuma mudança de classificação assinar/revisar, card ou badge nesta versão.

  • v1.8 (25/09/2026) — Correções a partir de 3 apontamentos diretos do solicitante sobre a v1.7: (1) Ordem dos cards passa a ser resultado esperado explícito. Confirmado na Especificação que Consultas segue RN-CM-006 (cronológica) e Prescrições segue RN-CM-011/020 (por urgência de aplicação); as listas de Detalhamento de CT-CONS-01/02 e CT-PRES-01/02 foram convertidas de bullets para listas numeradas, com uma nota indicando a RN aplicável logo acima. As subseções “Todos”/“Todos” (CT-CONS-02.1/02.2, CT-PRES-02.1/02.2, CT-PROC-02.1/02.2), que antes só listavam os cards “adicionais” além da visão “Meus/Minhas”, passaram a mostrar a lista completa em ordem, a pedido do solicitante. Achado no processo: a Especificação (§2.6) não define regra de ordenação para o Painel de Procedimentos — diferente dos outros 3 painéis, que têm “Ordenação:” documentada; a ordem usada na Seção 5 (Finalizado primeiro, depois cronológica pelo horário exibido) é um padrão observado na carga de referência, não uma regra confirmada — registrado como pendência para a Especificação (02). Outro achado: RN-CM-011 não define critério de desempate para prescrições com o mesmo horário de aplicação (caso de Roberto N. Alves/19 e Rogério M. Santos/2, ambos “hoje 09:00”) — também registrado como pendência. Efeito colateral positivo: reconstruir CT-PRES-02.2 como lista única ordenada eliminou por construção a dúvida de duplicidade da prescrição 71/Rogério M. Santos entre os dois toggles, sinalizada desde a v1.2 e carregada como nota inline até a v1.7 — o item duplicado era um erro de montagem do formato antigo (“cards adicionais”), não um comportamento real do sistema; pendência considerada resolvida. (2) Termos de diagnóstico corrigidos para literais, conforme o documento original (Cenarios de Teste - Central do Medico v1.0.md): o formato real é sempre “CID - Descrição (modificador)”, não “CID (modificador)” — corrigidas as 9 ocorrências na Seção 3 (ex.: “C50.2 (QSI)” → “C50.2 - Câncer de mama (QSI)”). Erro ortográfico do documento original (“Cancer do rim”, sem acento) corrigido para “Câncer do rim”, a pedido do solicitante. (3) Tag Linha de Cuidados, adicionada indevidamente na v1.7, agora removida dos cards de Beatriz A. Lima (20), Marcelo T. Pinto (22) e Rogério M. Santos (2) nas Seções 3 e 5 — a v1.7 tratou o vínculo em PEPProgramaApoioPaciente como suficiente para exibir a tag, mas ProgramaApoio.MostrarEm é um bitmask de 6 telas já documentado em DOC-006/Agenda do Médico (prontuário=1, cadastro do paciente=2, recepção=4, Central do Médico=8, confirmação de quimio=16, agendas=32): Linha de Cuidados tem MostrarEm=1, sem o bit 8 (Central do Médico) que IC e INT.MED têm — por isso essa tag nunca aparece nos cards de Consultas/Procedimentos, só no prontuário. VIP é exceção a essa regra (sempre exibida, mesmo sem o bit 8). Confirmado contra o documento original v1.0, que já mostrava Rogério “sem tags” nesses mesmos cards. Revertido nas 5 ocorrências (Seções 3 e 5); nota final da Seção 5 reescrita para explicar o motivo real. Bullet “Tags de Atenção” da Massa de dados atualizado com a explicação do MostrarEm. Nenhuma mudança de classificação assinar/revisar nesta versão — apenas ordenação, literalidade de diagnóstico e correção da tag Linha de Cuidados.

  • v1.7 (25/09/2026) — Verificação completa da seção “Massa de dados” contra a CargaCMZero.xlsx real e correções aplicadas: (1) “Craige Evans” era erro de digitação — nome real é Craig Evans (corrigido em toda a Seção 2 e no bullet “Médicos”); (2) especialidade do Dr. 9 (Gilliard) corrigida de “Oncologista” para Cirurgião Oncológico (IdEspecialidade=2) — só o Dr. 11 é Oncologista (IdEspecialidade=1); (3) bullet “Pacientes” (vinculados) corrigido — a base real (Paciente.IdChProfissional) vincula os pacientes 4 e 14 ao Dr.9, não ao Dr.11 como constava; lista correta: Dr.9 = 3,4,6,9,12,14,21,22,24, Dr.11 = 1,7,10,13,19,20,23; (4) bullet “Agenda de hoje” reescrito — a massa cobre 7 dos 9 estados do domínio hoje (não os 9): faltam C e O, e por decisão do solicitante isso não é uma lacuna a corrigir (cancelamento representado genericamente via D/M/F/I, sem necessidade de cobrir cada subtipo); (5) “Agenda passada” corrigida — intervalo real é de 5 dias a ~420 dias atrás (não “7 a 60”), com apenas C/D/F entre os cancelamentos (não C/D/M/F/I/O/T); (6) “Agenda futura” corrigida — intervalo real é de 3 a 65 dias à frente (não “7 a 60”); (7) adicionada uma data-base explícita (24/09/2026 12:00) logo no cabeçalho do documento, com nota de que a CargaCMZero.xlsx recalcula suas datas a cada carga (UPDATE DATAS/GETDATE()) — as datas de calendário da Massa de dados valem para essa data-base e precisam ser reconferidas se a massa for recarregada em outro dia; (8) datas dos 3 planos terapêuticos recalculadas para essa data-base — Plano #1 (pac.19): C1D1 13/07→23/07/2026, C5D1 05/10→15/10/2026; Plano #2 (pac.21): C1D1 14/08→18/08/2026; Plano #3 (pac.8): C1D1 21/08→27/08/2026 (os valores antigos estavam congelados de quando o documento foi escrito, ~10 dias antes da data-base atual); (9) bullet “Prescrições avulsas” (pacientes 20, 22, 23, 24) corrigido — nenhuma está finalizada ou cancelada na data-base; todas estão futuras, uma em curso (paciente 22, ciclo 1) — não há exemplo de finalizada/cancelada nessas 5 prescrições, ao contrário do que constava. Tags das Seções 3 e 5 reconferidas (pendência aberta desde a v1.1): 3 erros encontrados e corrigidos na Seção 3 — Beatriz A. Lima (20) e Marcelo T. Pinto (22) tinham só a tag IC exibida quando também têm Linha de Cuidados (2 tags cada); Rogério M. Santos (2) estava marcado “sem tag” quando tem Linha de Cuidados. Tags também adicionadas ao Detalhamento da Seção 5 (Procedimentos), que citava RN-CM-025 mas não exibia nenhuma tag nos cards. Pendência “Tag 1ª consulta” mantida em aberto — reescrita para deixar explícito que precisa de menção própria na Especificação (02), a pedido do solicitante. Restaurada uma observação que havia sido perdida na reformatação da v1.6: a nota da Seção 5 sobre RN-CM-026 (horário único que troca de sentido) tinha, na v1.5, uma ressalva de que mostrar início e término simultaneamente seria uma mudança de UI ainda não especificada — essa ressalva não sobreviveu ao resumo da v1.6 e foi reincorporada na Nota da Seção 5. Revisão completa do restante do Detalhamento (Seções 3, 4, 5 e 6) contra a v1.5 não encontrou outra perda de conteúdo. Nenhuma mudança de classificação assinar/revisar ou de card nesta versão — apenas correções da seção “Massa de dados” e das tags.

  • v1.6 (25/09/2026) — Reformatado o documento a pedido do solicitante, com apoio de um agente de QA sênior, por dois problemas relatados: a tabela ficava difícil de ler (célula “Resultado Esperado” às vezes concatenava 4-6 itens com <br> numa única linha) e notas de decisão/correção misturadas no corpo (blockquotes após cada tabela) atrapalhavam a execução do teste. Aplicado: a tabela de cada seção continua sendo a interface de execução para todos os casos; para os que têm resultado esperado com 3+ itens (CT-CONS-01.1/01.2/02.1/02.2, CT-PRES-01.1/01.2/02.1/02.2, CT-PROC-01.1/01.2/02.1/02.2, CT-MSG-08), a célula passa a trazer um resumo com link e o detalhamento completo (lista real, um item por linha) fica numa subseção “Detalhamento” logo após a tabela — casos simples (a maioria) não mudam. Colunas “Prioridade” e “Status” removidas de todas as tabelas, a pedido do solicitante — o documento deixou de ser preenchido pela própria QA durante a execução. Todos os blockquotes de decisão/correção que estavam nas Seções 2 e 4 foram removidos do corpo — o conteúdo já estava (ou passou a estar, nesta mesma versão) registrado nas entradas de versão abaixo; a única pendência realmente aberta (possível duplicidade de Rogério M. Santos, prescrição 71, entre CT-PRES-01.2 e CT-PRES-02.2) foi preservada como nota inline no Detalhamento de CT-PRES-02.2, por ser relevante para quem executa o teste hoje, não só um registro histórico. Nenhuma mudança de dado de teste ou de resultado esperado nesta versão — só de formato.

  • v1.5 (25/09/2026) — Corrigida a fonte de verdade do teste “assinada”: deve vir de PrescricaoAssinatura (última assinatura por prescrição com TipoAssinatura = 'A'), não de Prescricao.IdChProfissionalAssinou (que pode ficar nulo mesmo com assinatura registrada) — esse foi o caso das prescrições 73 e 74, tratadas erradamente como “nunca assinadas” nas versões v1.2 a v1.4 apesar de já terem registro em PrescricaoAssinatura. O solicitante atualizou PrescricaoAssinatura para as prescrições 11, 67, 72, 73 e 74; verificado com data-base 24/09/2026 contra a CargaCMZero.xlsx: prescrição 11 (Reed Richards) assinatura 23/09 16:00:59 (idade 1 dia), aplicação 23/09 (distância 1 dia); prescrição 67 (Marcelo T. Pinto) assinatura 23/09 16:45:00 (idade 1 dia), aplicação 24/09 (distância 0); prescrição 72 (Kenji Chen) assinatura 24/09 18:00:00 (idade 0 dia), aplicação 24/09 (distância 0); prescrição 73 (Benjamin Thompson, C1D1) assinatura 22/09 18:00:00 (idade 2 dias), aplicação 23/09 (distância 1 dia); prescrição 74 (Benjamin Thompson, C1D2) assinatura 22/09 18:00:00 (idade 2 dias), aplicação 24/09 (distância 0). Todas as 5 com assinatura válida (≤7 dias) e aplicação a 1 dia ou menos — reclassificadas de “Assinar” para “Revisar” em CT-PRES-01.1, CT-PRES-01.2, CT-PRES-02.1 e CT-PRES-02.2 (conforme cada prescrição aparece). KPIs recalculados: CT-KPI-04.1 (P/ revisar 0→1, P/ assinar 5→4), CT-KPI-04.2 (P/ revisar 0→1, P/ assinar 4→3), CT-KPI-06 (P/ revisar 0→1, P/ assinar 1→0). Resolve o achado da v1.4 (falta de um caso real de “a revisar” na massa) — agora há 5. Nenhuma outra prescrição rastreada no documento muda de classificação.

  • v1.4 (25/09/2026) — Correção da regra de prioridade assinar/revisar registrada na v1.3: o solicitante esclareceu que ela tem 2 níveis, não 3 — assinatura vencida (mais de 7 dias) joga para “a assinar” mesmo com a aplicação dentro de 1 dia; “a revisar” só ocorre quando a assinatura ainda é válida (≤7 dias) e a aplicação está a 1 dia ou menos. A v1.3 tinha isso invertido (achava que a proximidade da aplicação bastava para manter “a revisar” mesmo com assinatura velha). Reclassificadas: prescrições 11 (Reed Richards, assinatura de 18/07) e 43 (Yuki Tanaka, assinatura de 29/08) — ambas de “Revisar” para “Assinar” em CT-PRES-01.1 e CT-PRES-02.2; CT-KPI-04.1 recalculado (P/ revisar 2→0, P/ assinar 3→5). Limpeza de ⚠️ remanescentes (Cecília/68, Beatriz/70, Otávio/69) que já estavam corretos desde a v1.2/v1.3 mas não tinham o marcador removido da tabela. Achado: com a regra corrigida, nenhuma prescrição da massa atual demonstra o caminho “a revisar” — as duas que ilustravam esse caso (11 e 43) migraram para “a assinar”; RN-CM-020 fica sem cobertura de dado real, recomendado pedir um caso de teste dedicado numa próxima carga. Confirmado pelo solicitante: a assinatura da prescrição 43 datada de 29/09/2026 (depois da data-âncora) foi corrigida na planilha para 29/08/2026 — anomalia da v1.3 totalmente resolvida.

  • v1.3 (25/09/2026) — Correções a partir de esclarecimentos diretos do solicitante sobre 4 pontos levantados na v1.2: (1) regra completa de classificação confirmada — “a revisar” exige assinatura existente e aplicação (Agenda.DhAgendaIniUTC) a 1 dia ou menos de distância; fora dessa janela, assinatura com mais de 7 dias volta a ser “a assinar”. Isso confirma que 68, 69, 70 (sinalizadas como dúvida na v1.2) e 11/43 (assinatura velha, mas aplicação dentro da janela de 1 dia) já estavam corretas — ⚠️ da v1.2 removidos, sem mudança de número nos cards; (2) prescrição 43 corrigida pelo solicitante na carga (ainda resta uma data de assinatura depois da data-âncora, não afeta a classificação, registrado como nota solta); (3) tag “1ª consulta” confirmada como calculada a partir de Agenda.PrimeiraConsulta='S', não uma tag de ProgramaApoio — conferido contra a carga, bate nas 4 ocorrências já usadas no documento; (4) IDs reais da visão “Todos” corrigidos (CT-PRES-02.1/02.2): paciente 2→71, 17→73/74, 15→72, 22→67 (antes trocados pelo IdPaciente) — reconferindo essas prescrições, todas estão sem assinatura, então a ação nessas linhas passa de “Revisar” para “Assinar”. Sinalizado, não corrigido: possível duplicidade entre CT-PRES-01.2 e CT-PRES-02.2 (prescrição 71/Rogério aparece nas duas, mesmo dentro do “Todos” do próprio Dr. 9); se a Seção 4.7 do Mapeamento de BD documenta uma regra diferente da confirmada aqui, pode precisar de atualização — não verificado nesta rodada.

  • v1.2 (25/09/2026) — Aplicada a correção confirmada pelo solicitante: prescrição nunca assinada é sempre “a assinar”, mesmo quando também qualifica por tempo como “a revisar” (assinar antes de revisar). Corrigido: CT-KPI-04.1 (P/ revisar 3→2, P/ assinar 2→3 — prescrição 61/Roberto N. Alves); CT-KPI-04.2 (P/ revisar 2→0, P/ assinar 2→4 — as prescrições 67/71 já estavam certas linha a linha em CT-PRES-01.2, só o card agregado estava desatualizado); CT-PRES-01.1 (Roberto N. Alves, ação Revisar→Assinar). Removidos os ⚠️ de confirmação já resolvidos (Marcelo T. Pinto/22 e Helena D. Costa/21 em CT-PRES-01.2). Atualizada a seção “Pendências de Massa de Dados”: a CargaCMZero.xlsx agora traz Tags (ProgramaApoio, ProgramaApoioPaciente, PEPProgramaApoioPaciente) e Equipes de mensageria (Mensageria.Equipe/EquipeMembro) — lacuna da v1.1 resolvida nesses dois pontos; confirmado que as demais tabelas (Conversa/Mensagem) começam vazias por design, geradas pelos próprios casos da Seção 6, não uma lacuna de carga. Sinalizado, não corrigido (pendente de confirmação do solicitante): (1) três prescrições assinadas há mais de 7 dias — 68, 69, 70 — estão classificadas “a assinar” quando, pela regra da Seção 4.7, deveriam cair em “a revisar” (o oposto do problema já corrigido); (2) prescrição 43 tem assinatura datada depois da data-âncora de hoje desta carga, possível inconsistência; (3) a tag “1ª consulta” citada nas Seções 3/5 não existe no domínio real ProgramaApoio (8 tags carregadas, nenhuma com esse nome); (4) as prescrições “adicionais” da visão “Todos” em CT-PRES-02.1/02.2 (IDs 2, 15, 17, 19, 1, 8) pertencem todas ao paciente 1 na massa real, não aos pacientes citados nos nomes das linhas — precisa de nova reconferência, fora do escopo desta correção.

  • v1.1 (25/09/2026) — Reformatado de prosa em bullets aninhados para tabela (uma linha por caso, coluna “Status” para a QA preencher), a pedido do solicitante. Correções aplicadas após conferência contra a CargaCMZero.xlsx: (1) CT-KPI-01.1, Agenda 68 corrigido para 62 (não existe Agenda 68 na agenda de hoje do Dr. 11); (2) CT-KPI-01.2, lista de “Agenda IdAgenda” que na verdade eram IDs de paciente, substituída pelos IDs de Agenda reais; (3) CT-CONS-01.1, horário do card da Beatriz A. Lima corrigido de “09:30–09:00” para “09:30–10:00”; (4) removida a menção a um campo “Início” separado nos cards Finalizados de Procedimentos (Seção 5) — conferido no 03 - Protótipo v3.16.html que só existe um horário exibido por card. Adicionado: seção “Pendências de Massa de Dados” (ausência de ProgramaApoio/tags e de Conversa/Mensagem/mensageria na planilha); caso novo CT-PROC-08 dedicado a RN-CM-026; referências de RN por caso na matriz de rastreabilidade; renomeado “Comunicação” para “Mensagens” ao longo do documento, para bater com a Especificação (02) desde a v4.26/v4.27. Sinalizado, não corrigido: possível inconsistência de classificação “a revisar” vs. “a assinar” para prescrições nunca assinadas (61, 67, 71 e outras) — ver ⚠️ nas Seções 2 e 4; aguardando confirmação do solicitante antes de alterar os números.

  • v1.0 (14/09/2026) — Primeira versão, gerada a partir de uma massa de dados anterior (CargaPrescricaoZero_massa_teste.xlsx), menor e sem cobertura de Mensagens/Tags. Substituída nesta v1.1 por uma massa mais completa (CargaCMZero.xlsx) — arquivada em Histórico/.


Arquivo de dados: CargaCMZero.xlsx