Cenários de Teste — Central do Médico (Cockpit)
Funcionalidade: [DOC-004] Central do Médico (Cockpit)
Versão de referência da especificação: 01-Definição v4.26 / 02-Especificação v4.25 / 04-Mapeamento de BD v4.28
Autor: Gerado por IA (Claude), a pedido do usuário, para uso da equipe de QA do Gemed 2.1
Data: 14/09/2026
Massa de dados de referência: CargaPrescricaoZero_massa_teste.xlsx (entregue junto com este documento)
Nota de proveniência: este documento não foi lido a partir de um template de “cenários de teste” já existente no projeto — não foi localizado nenhum no Índice estruturado de documentos. A estrutura de casos (ID / Pré-condição / Passos / Resultado Esperado / Prioridade / Dados de Teste) segue convenção usual de QA, não um padrão já definido pela Skill Designer (que cobre Definição/Especificação/Protótipo/Mapeamento de BD, não casos de teste). Ajustes de formato são bem-vindos.
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, Comunicação e Procedimentos na Clínica — além da Busca Inteligente de pacientes.
Fora de escopo deste documento: Agenda do Médico (DOC-006, tela dedicada, especificação própria ainda sem Protótipo/Mapeamento de BD) 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.
Endpoints envolvidos (referência)
| Endpoint | Painel/KPI |
|---|---|
GET /api/v1/patients/search | Busca Inteligente |
GET /api/v1/cockpit/doctor/kpis/appointments-today | KPI Consultas Hoje |
GET /api/v1/cockpit/doctor/kpis/in-treatment | KPI Em Tratamento |
GET /api/v1/cockpit/doctor/kpis/procedures-today | KPI Procedimentos Hoje |
GET /api/v1/cockpit/doctor/kpis/prescription-alerts | KPI Alertas de Prescrição |
GET /api/v1/cockpit/doctor/appointments | Painel Consultas |
GET /api/v1/cockpit/doctor/prescriptions | Painel Prescrições Pendentes |
GET /api/v1/cockpit/doctor/conversations | Painel Comunicação |
GET /api/v1/cockpit/doctor/procedures | Painel Procedimentos |
Massa de dados criada para estes testes
- Médicos: IdChProfissional 11 (Craige Evans) e 9 (Gilliard Onório Santos), especialidade Oncologista.
- Pacientes novos: IdPaciente 19-24 (3 vinculados ao Dr. 11, 3 ao Dr. 9), com convênio próprio cadastrado.
- Agenda de hoje (14/09/2026): 10+ registros cobrindo todos os 9 estados do domínio
Agenda.Situacao(A=Aberta, V=Confirmada, C=Cancelada pelo usuário, D=Cancelada pelo paciente, M=Cancelada pelo médico, F=Falta, I=Cancelado por internação, O=Cancelada por óbito, T=Transferido), distribuídos entre os dois médicos. - Agenda passada: confirmadas/realizadas (V) e canceladas (C/D/M/F/I/O/T variados), de 5 a 60 dias atrás.
- Agenda futura: todas em estado Agendado (A), de 7 a 45 dias à frente.
- **Plano terapêutico completo 1 — Paciente 19 (Roberto Nascimento Alves), Dr. 11, protocolo NIVOLUMAB + IPILIMUMAB, C1D1 em 13/07/2026 (~2 meses atrás) até C5D1 em 05/10/2026 (próximo mês): 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 14/08/2026 (~1 mês atrás), programação de 6 ciclos: apenas as prescrições até o próximo ciclo foram geradas (C1-C2 finalizadas, C3 é o próximo ciclo em 25/09/2026) — as demais (C4-C6) existem só na programação (
PEPProjetoTerapeuticoProtocoloP), sem prescrição ainda gerada. - 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, em estados variados (finalizada, cancelada, futura).
2. KPI Bar
CT-KPI-01 — KPI “Consultas Hoje” reflete a contagem correta
Pré-condição: Logado como Dr. Craige Evans (IdChProfissional 11).
Passos: Abrir o Cockpit na data de hoje (14/09/2026).
Resultado esperado: O card “Consultas Hoje” mostra a contagem de agendas do Dr. 11 com Data = hoje, incluindo todos os estados (não apenas as confirmadas) — conferir contra a massa de teste (5 consultas do Dr. 11 hoje: pacientes 19/A, 20/C, 23/M, 7/I, 13/T).
Prioridade: Alta
Dados de teste: Agenda IdAgenda 101, 103, 105, 107, 109.
CT-KPI-02 — KPI “Em Tratamento” (aderência ao protocolo)
Pré-condição: Logado como Dr. Gilliard Onório Santos (IdChProfissional 9).
Passos: Abrir o Cockpit; observar o KPI “Em Tratamento”.
Resultado esperado: A paciente 21 (Helena Duarte Costa) deve aparecer como “em tratamento” (tem PEPProjetoTerapeuticoProtocolo ativo, C1/C2 finalizados dentro do intervalo de 21 dias esperado). Validar também o critério de desvio: se o QA alterar manualmente a DataEstimada do próximo ciclo para simular atraso, o indicador de aderência deve refletir a mudança (regra “OU” entre desvio de C1D1 e desvio de intervalo entre sessões).
Prioridade: Alta
Dados de teste: PEPProjetoTerapeuticoProtocolo (paciente 21), PEPProjetoTerapeuticoProtocoloP linhas C1-C3.
Observação: este KPI depende da coluna Protocolo.ToleranciaDiasAdesao, listada em DOC-004 como [PROPOSTA] — confirmar com o time se já foi criada antes de rodar este caso; se não, o caso deve ficar bloqueado/pendente.
CT-KPI-03 — KPI “Procedimentos Hoje”
Pré-condição: Logado como Dr. 11. Passos: Abrir o Cockpit hoje. Resultado esperado: Deve contar a sessão de quimioterapia do paciente 19 agendada para hoje (Agenda tipo ‘Q’, ciclo C4D1 do protocolo NIVOLUMAB+IPILIMUMAB). Prioridade: Média Dados de teste: Prescrição IdPrescricao 61 / Agenda vinculada (tipo Q, hoje).
CT-KPI-04 — KPI “Alertas de Prescrição”
Pré-condição: Logado como Dr. 9. Passos: Abrir o Cockpit; verificar o KPI de alertas. Resultado esperado: Prescrições com aplicação agendada dentro de 24h e ainda sem assinatura de revisão por outro médico (RN-CM-020) devem gerar alerta — chip vermelho se <12h, laranja se 12-24h. A prescrição C3D1 da paciente 21 (25/09/2026, sem assinatura ainda — situação ‘G’) não deve alertar ainda (está a mais de 24h); usar para caso negativo. Para caso positivo, o QA deve criar (ou o Dev de apoio deve disponibilizar) uma prescrição G com aplicação em menos de 24h. Prioridade: Alta Dados de teste: Prescrição IdPrescricao 65 (caso negativo).
CT-KPI-05 — Clique no KPI navega para o painel/filtro correspondente
Pré-condição: Qualquer médico logado. Passos: Clicar em cada um dos 4 KPIs. Resultado esperado: Navega para o painel relacionado já filtrado pelo critério do KPI (ex.: clicar em “Consultas Hoje” abre o painel Consultas filtrado no dia de hoje). Prioridade: Média
3. Painel Consultas
CT-CONS-01 — Exibição de todos os estados de agenda do dia
Pré-condição: Logado como Dr. 11 ou Dr. 9, data de hoje.
Passos: Abrir o painel Consultas.
Resultado esperado: As 10 consultas de hoje aparecem, cada uma com o chip de status correspondente ao código em Agenda.Situacao (Aberta, Confirmada, Cancelada pelo usuário, Cancelada pelo paciente, Cancelada pelo médico, Falta, Cancelado por internação, Cancelada por óbito, Transferido). Validar que os 9 rótulos existem e correspondem ao código certo — este é o teste mais importante da massa gerada, pois cobre o domínio completo de uma só vez.
Prioridade: Alta
Dados de teste: Agenda IdAgenda 101-110 (ver tabela no §1).
CT-CONS-02 — Toque na consulta abre o PEP
Pré-condição: Painel Consultas aberto. Passos: Tocar em uma consulta com paciente (ex.: paciente 19, estado Aberta). Resultado esperado: Abre o prontuário (PEP) do paciente em no máximo 2 toques (herdado da Agenda do Médico). Prioridade: Média
CT-CONS-03 — Paciente “1ª consulta”
Pré-condição: —
Resultado esperado: Nenhum registro da massa gerada tem PrimeiraConsulta='S'; este caso deve ser testado com dado adicional (fora desta massa) ou o QA pode alterar manualmente um registro de teste para S e validar a tag correspondente no card.
Prioridade: Baixa
Observação: gap conhecido da massa gerada — sinalizado explicitamente aqui.
CT-CONS-04 — Bloco recolhido de consultas já realizadas/canceladas
Pré-condição: Dia de hoje com mistura de estados. Passos: Abrir o painel; verificar que consultas com estado final (V já atendida, C/D/M/F/I/O/T) aparecem agrupadas em bloco recolhido, com linha “AGORA” ancorando a posição atual do dia. Resultado esperado: Conforme RN-AGM-010 (herdada visualmente pela Central do Médico via painel “Consultas”). Prioridade: Média
4. Painel Prescrições Pendentes
CT-PRES-01 — Prescrição finalizada não aparece como pendente
Pré-condição: Dr. 11 logado. Passos: Abrir painel Prescrições Pendentes. Resultado esperado: As prescrições C1-C3 do paciente 19 (situação ‘F’, já finalizadas e assinadas) não devem aparecer na lista de pendentes. Prioridade: Alta Dados de teste: Prescrição IdPrescricao 58-60.
CT-PRES-02 — Prescrição futura (G) aparece como pendente de assinatura
Pré-condição: Dr. 11 logado.
Passos: Abrir painel Prescrições Pendentes.
Resultado esperado: As prescrições C4D1 (hoje) e C5D1 (futura) do paciente 19 — situação ‘G’, sem IdChProfissionalAssinou — aparecem na lista, com indicação de urgência conforme proximidade da aplicação (RN-CM-020).
Prioridade: Alta
Dados de teste: Prescrição IdPrescricao 61 (hoje) e 62 (futura).
CT-PRES-03 — Prescrição cancelada não aparece como pendente
Pré-condição: Dr. 11 logado. Passos: Abrir painel Prescrições Pendentes. Resultado esperado: A prescrição de “Prescrição Livre” cancelada da paciente 23 (situação ‘C’) não deve aparecer na lista. Prioridade: Média Dados de teste: Prescrição avulsa da paciente 23 (protocolo 187).
CT-PRES-04 — Assinatura com/sem certificado digital
Pré-condição: Prescrição pendente aberta.
Passos: Assinar com certificado digital e, em outro caso, sem certificado.
Resultado esperado: Ambos os fluxos concluem e o registro correspondente é criado em PrescricaoAssinatura (TipoAssinatura=‘A’ para médico — corrigido na v4.28, não mais ‘M’).
Prioridade: Alta
Observação: validar especificamente que a assinatura do médico grava 'A', não 'M' — bug já documentado e corrigido na especificação (Log de Mudanças, v4.28); é um bom caso de regressão.
5. Painel Procedimentos na Clínica
CT-PROC-01 — Barra de progresso de infusão em andamento
Pré-condição: Existir uma sessão de quimioterapia com DtHrIniAtend/DtHrInicioInfusao preenchidos e DtHrFimAtend vazio (infusão em curso).
Passos: Abrir o painel Procedimentos.
Resultado esperado: Barra de progresso inline (3px) calculada a partir do tempo decorrido vs. Prescrição/ProtocoloDetalhe.TempoAplicacao; fica vermelha se ultrapassar 100%.
Prioridade: Alta
Dados de teste: A massa gerada não deixou nenhuma sessão “em andamento” no momento exato da execução do teste — como os horários são fixos, este caso deve ser testado ajustando o relógio do ambiente de teste (ou gerando uma sessão com início “agora”) para o horário coincidir com uma sessão de quimio de hoje. Sinalizado como gap.
CT-PROC-02 — Procedimento do dia listado por médico
Pré-condição: Dr. 11 logado. Passos: Abrir painel Procedimentos. Resultado esperado: Mostra a sessão de quimioterapia de hoje do paciente 19 (C4D1, NIVOLUMAB+IPILIMUMAB). Prioridade: Alta
6. Painel Comunicação
A massa gerada não inclui dados de mensageria (Conversa/Mensagem, schema mensageria) — fora do escopo explícito do pedido original. Os casos abaixo ficam registrados como pendentes de massa de dados adicional.
CT-COM-01 — Conversas lidas e não lidas juntas, não lidas com prioridade
Status: Bloqueado — requer massa de Conversa/Mensagem (schema mensageria), não gerada nesta rodada.
CT-COM-02 — Conversa endereçada a uma equipe (recepção/farmácia/enfermagem)
Status: Bloqueado — mesma razão acima.
Recomendação: se a equipe de QA precisar homologar este painel, peça uma nova rodada de massa de dados específica para
Conversa/Mensagem/Equipe/EquipeMembro.
7. Busca Inteligente
CT-BUSCA-01 — Busca por nome (mínimo 2 caracteres, debounce 1s)
Passos: Digitar “Rob” na busca. Resultado esperado: Após 1s sem digitação, retorna o paciente 19 (Roberto Nascimento Alves) entre os resultados. Prioridade: Média
CT-BUSCA-02 — Detecção de CPF
Passos: Digitar o CPF do paciente 21 (58273049166). Resultado esperado: Sistema reconhece o padrão como CPF (não nome) e busca por igualdade. Prioridade: Média Dados de teste: Paciente 21.
CT-BUSCA-03 — Detecção de data de nascimento
Passos: Digitar “14/03/1958” (nascimento do paciente 19). Resultado esperado: Sistema reconhece como data de nascimento e retorna o paciente correspondente. Prioridade: Baixa
8. Cenários de KPI/painel com volume (regressão de performance/paginação)
CT-VOL-01 — Painel Consultas com muitos registros no dia
Pré-condição: Dia de hoje com 11 agendas (10 consultas + 1 sessão de quimio simultânea do paciente 19). Resultado esperado: Painel carrega, ordena por horário e não trava/pagina incorretamente com esse volume (ainda modesto — recomenda-se replicar a massa por 5-10x para um teste de carga real antes de produção). Prioridade: Baixa
9. Matriz de rastreabilidade (resumo)
| Painel/KPI | Casos | Cobertura de dados |
|---|---|---|
| KPI Bar | CT-KPI-01 a 05 | Completa, exceto CT-KPI-02 (depende de coluna proposta) |
| Consultas | CT-CONS-01 a 04 | Completa para estados de agenda; gap em “1ª consulta” |
| Prescrições Pendentes | CT-PRES-01 a 04 | Completa |
| Procedimentos | CT-PROC-01 a 02 | Gap em “infusão em andamento” (depende de horário real) |
| Comunicação | CT-COM-01 a 02 | Bloqueado — sem massa de mensageria |
| Busca Inteligente | CT-BUSCA-01 a 03 | Completa |
10. Premissas e observações desta rodada de geração de dados
Estas são decisões tomadas pela IA ao gerar a massa, sem confirmação prévia do solicitante — sinalizadas explicitamente conforme as Regras de Conduta do projeto:
- [PROPOSTA] Estado “V” (Confirmada) foi usado, com
DtHrChegada/DtHrIniAtend/DtHrFimAtendtodos preenchidos, para representar visualmente uma consulta “Finalizada” no passado — o domínio oficial deAgenda.Situacao(Log de Mudanças Estruturais, 10/09/2026) não tem um código literal “Finalizada”; V=Confirmada foi o mais próximo semanticamente e é o mesmo padrão observado nos dados reais já existentes na planilha. - [PROPOSTA] Campos de auditoria/UTC (
DhAgendaIniUTC,DhChegadaUTC,DhAtendimentoIniUTCetc.) foram deixados em branco nas linhas novas — são campos de reconciliação legada cuja regra de preenchimento não está documentada nas especificações consultadas; preencher exigiria inventar uma lógica não confirmada. - [PROPOSTA]
Agenda.IdChRecursopara consultas foi definido como igual aoIdChProfissionaldo médico (padrão consistente com a tabelaRecurso, IDs 7-21); para quimioterapia, foi usado um dos recursos 22-29 (poltronas/leitos dos Setores Verde/Rosa) — a planilha original também tem alguns registros legados que usam o ID do médico como recurso mesmo em sessões de quimio, mas a Biblioteca de Schema (DDL) modela os recursos 22-29 como a estrutura correta. - A coluna final “INSERT INTO … VALUES (…)” de cada aba (fórmula do Excel) não foi replicada nas linhas novas — é uma conveniência de geração de SQL específica da planilha original, cuja fórmula usa referências de tabela (
[#This Row]) que a IA optou por não recriar manualmente para não arriscar corromper a fórmula original. As colunas de dados estruturados (que são o que importa para os testes) estão todas preenchidas. - Os nomes de pacientes e médicos são fictícios, como já era o padrão dos dados existentes na planilha.
Arquivo de dados: CargaPrescricaoZero_massa_teste.xlsx