A análise é escrita
Cada seção do painel tem texto: o que o Squad olhou, o que encontrou e o que recomenda olhar primeiro. É a parte em que o raciocínio dele agrega — e é a única parte que ele redige.
O painel não é uma tela que alguém precisa lembrar de abrir. É um documento escrito, que chega pronto no começo da manhã, com a conta aberta atrás de cada número — e com o que mudou desde ontem já nomeado.
Quem escreve é um Squad — o agente orquestrador da plataforma. Ele acorda no horário, lê os sistemas do hospital pela API e publica em PDF e HTML.
Todo hospital já tem painel. O problema raramente é falta de tela: é que a tela só existe quando alguém abre, filtra o período certo e sabe o que procurar. Às sete da manhã, com a recepção enchendo, ninguém abre.
A diferença não é o gráfico ser mais bonito. É o documento ter sido escrito por alguém que leu os dados.
Cada seção do painel tem texto: o que o Squad olhou, o que encontrou e o que recomenda olhar primeiro. É a parte em que o raciocínio dele agrega — e é a única parte que ele redige.
Tabela e gráfico são declarados por referência: o Squad diz de qual chamada de API vêm os dados e como agrupá-los. O servidor lê o retorno, faz a aritmética e desenha. O número não passa pelo modelo.
Documento sem conteúdo é recusado antes de publicar, e um bloco cuja conta não pôde ser feita não vira eixo bonito com nada dentro. Nada de reticências, nada de "demais itens omitidos".
O Squad é o agente orquestrador da plataforma: não tem canal próprio e não conversa com paciente. Ele acorda no horário, consulta as APIs do hospital, decide o que é digno de nota, escreve o documento, publica em PDF e HTML e envia para a lista de destinatários. Todo dia, sem ninguém pedir.
A agenda é cadastrada pelo gestor — de segunda a sexta às 05:40, por exemplo, antes de a recepção abrir. Acordar não é ordem de agir: o Squad lê o próprio contexto e decide se aquela execução exige documento.
Chama as ferramentas que recebeu — api_get_agenda_ocupacao, api_get_agendamentos, api_get_demonstrativo_operadora — e pede, na mesma chamada, a janela histórica que vai servir de comparação.
Nem tudo que variou merece parágrafo. Ele separa a oscilação normal do que saiu do padrão da janela e escreve sobre o segundo — nomeando a especialidade, o turno ou a operadora onde aquilo aconteceu.
O servidor monta o documento com a folha de estilo da casa, gera o PDF, guarda o HTML e dispara o e-mail para os endereços cadastrados. A execução fica registrada com o que foi consultado, o que foi decidido e o que foi enviado.
Do lado de dentro, a execução tem log. É por ele que o gestor confere de onde veio cada bloco do documento que chegou na caixa de entrada.
O cabeçalho declara a rotina e o recorte. No log, cada linha em fonte mono é uma chamada de ferramenta de verdade; as linhas de raciocínio contam o que o Squad concluiu daquele retorno. A tentativa que expirou no HIS não foi escondida — virou linha amarela com o tempo da segunda chamada.
O rodapé fecha com as parcelas da execução: quantos horários foram lidos, quantos agendamentos e quantas faltas entraram na classificação.
Uma automação agendada dispara porque o relógio bateu e entrega o que o fluxo previu. Aqui o orquestrador decide o que aquela execução exige — inclusive concluir que não há nada de novo e não publicar nada.
É a marca da casa e vale para todo documento que a plataforma publica: nenhuma conta agregada aparece sozinha. Se o número não fecha, o leitor vê exatamente onde ele deixou de fechar — sem abrir o sistema, sem pedir para alguém refazer a consulta.
Uma especialidade ofertou 159 horários na semana. O painel nunca escreve só isso. Ele escreve 159 = 118 marcados + 41 livres, e quando o leitor desce para a tabela encontra os 118 abertos por turno e os 41 abertos por dia.
Parece capricho tipográfico. Não é: é o que permite conferir o documento em dez segundos em vez de meia hora. Se a soma das parcelas não bate com o total, o erro tem endereço — uma parcela a mais, uma a menos, ou duas janelas de tempo diferentes na mesma tabela. Sem as parcelas, o número errado tem exatamente a mesma cara do número certo.
Este é um detalhe técnico da plataforma que vale entender, porque muda o que se pode pedir ao Squad. Ele não guarda arquivo entre execuções e não tem memória da rodada anterior. Não existe a pasta em que o painel de ontem ficou salvo esperando o de hoje.
A comparação histórica vem da própria consulta: quando o Squad chama a API da agenda, pede junto a janela dos últimos trinta dias. A base de comparação chega no mesmo retorno que o dado do dia, e é contra ela que a leitura é feita.
Se a janela não vier na resposta, não há comparação naquele documento — e o documento diz isso, em vez de inventar uma referência.
Do lado do console, isso tudo é configuração de uma rotina — e a janela de comparação é um parâmetro da própria consulta, não um arquivo guardado em algum lugar.
Cada um é uma rotina própria, com a sua agenda, a sua fonte e a sua lista de destinatários. São os mesmos assuntos das outras páginas desta seção — aqui eles aparecem do lado de quem lê o resultado.
O que a grade ofertou, o que foi marcado, o que virou consulta realizada e onde a vaga se perdeu — por turno e por especialidade. É o painel que abre a manhã da coordenação de agenda.
fonte: api_get_agenda_ocupacao
Quanto foi glosado no período, agrupado pela causa que originou a glosa e não pelo código devolvido pela operadora. Traz o prazo de recurso de cada caso e o que vence primeiro.
fonte: api_get_demonstrativo_operadora
Lotes enviados, lotes aceitos, protocolos importados e o que travou na crítica técnica — as operadoras contratadas num painel só, sem abrir portal por portal.
fonte: api_get_lote_tiss
Audita a conta contra o prontuário antes de o lote sair: item faturado sem registro que o sustente, evolução que não cobre o procedimento cobrado, item cobrado abaixo do contrato. Cada achado sai com a referência que o originou e com a evidência que está faltando.
fonte: api_get_conta_paciente
Volume no número oficial, proporção resolvida sem ninguém da equipe entrar, tempo até a primeira resposta e quanto chegou fora do horário da recepção.
fonte: api_get_conversas_canal
Marcações, remarcações e cancelamentos feitos pelo agente na agenda oficial, com a proporção concluída na primeira tentativa e o que precisou de transbordo para a recepção.
fonte: api_post_agendamento
Seria mais simples juntar tudo num documento só. Seria também inútil: o faturamento não lê funil de agenda e a coordenação de agenda não abre glosa por causa raiz. Cada rotina tem horário próprio, fonte própria e lista de destinatários própria — e pode ser ligada sozinha, sem depender das outras.
É também o que permite começar pequeno. Um hospital costuma ligar o Funil do Dia primeiro, porque a fonte já existe e o resultado aparece na primeira semana, e só depois acrescenta as rotinas do ciclo de receita.
Quando a leitura pede uma conversa com o paciente — chamar a fila de espera para a vaga que sobrou, por exemplo —, quem fala é o agente de canal, no número oficial do hospital. O Squad conversa com ele em linguagem natural e recebe a resposta de volta, inclusive quando a resposta é esta pessoa já foi abordada ontem, não repeti.
São seis documentos diferentes, escritos pelo mesmo tipo de agente, lendo os sistemas que o hospital já tem.
Abaixo, uma representação do Funil do Dia para o hospital do exemplo — rede de médio-grande porte, 28 especialidades ambulatoriais, cerca de 2.500 horários de consulta ofertados por semana. A folha é clara e serifada de propósito: o entregável não se parece com o painel, ele se parece com um relatório.
Funil do Dia · execução #312
Documento publicado pelo Squad ao fim da execução das 05:40, sobre a grade ambulatorial do dia anterior, comparado com a janela dos trinta dias que veio na mesma consulta.
A grade ofertou 498 horários na quarta — 214 na manhã, 186 na tarde e 98 na noite. 428 foram marcados, o que dá 86% de ocupação, e 304 viraram consulta realizada: 61% de conversão de horário ofertado em atendimento. Dos 428 marcados, 103 pessoas faltaram e 21 cancelaram no mesmo dia; outros 70 horários nunca chegaram a ser marcados.
Nos cinco dias úteis da janela sobraram 346 horários sem marcação, uma média de 69 por dia. A quarta ficou em 70, dentro do esperado. O ponto fora da curva é a sexta anterior, com 82 — e a sexta é o dia em que a fila de espera das especialidades de maior demanda mais cresce.
Figura 1 — 74 + 82 + 62 + 58 + 70 somam os 346 horários livres dos cinco dias úteis; a média de 69 é 346 ÷ 5.
A noite é o turno com a menor ocupação e a maior proporção de falta sobre o marcado. A manhã sustenta a grade: 190 dos 428 agendamentos do dia estão nela.
| Turno | Ofertados | Marcados | Realizados | Faltas | Estado |
|---|---|---|---|---|---|
| Manhã | 214 | 190 | 138 | 44 | ocupação 89% |
| Tarde | 186 | 158 | 112 | 38 | ocupação 85% |
| Noite | 98 | 80 | 54 | 21 | ocupação 82% |
| Total do dia | 498 | 428 | 304 | 103 |
Tabela 1 — mesma chamada de api_get_agenda_ocupacao da Figura 1, agrupada por turno. Os 21 cancelamentos do próprio dia (8 + 8 + 5) não têm coluna: em cada linha, marcados = realizados + faltas + cancelados.
As 103 faltas não se distribuem por igual ao longo do tempo de espera. Mais da metade — 52 de 103 — vem de horários marcados com mais de trinta dias de antecedência. Proporcionalmente ao volume de cada faixa, quem marcou com mais de trinta dias falta cerca de duas vezes mais que quem marcou para o mesmo dia. A antecedência é o preditor mais barato que esta grade tem.
Figura 2 — 52 + 33 + 14 + 4 somam as 103 faltas da quarta, distribuídas pela antecedência com que o horário foi marcado.
Esta leitura é comparada com os trinta dias anteriores porque a janela veio no mesmo retorno de api_get_agenda_ocupacao. Contra ela, a quarta fecha acima da média em ocupação e em conversão, e a distribuição das faltas por antecedência repete o padrão do mês. Se a consulta não tivesse trazido o histórico, não haveria comparação neste documento — a rotina não guarda arquivo entre execuções e não tem como recuperar o painel de ontem.
Cabeçalho com o período, a chamada de API que alimentou a peça e o número da execução. Cinco seções numeradas, cada uma com o texto escrito pelo Squad antes do bloco de dados. A Figura 1 e a Tabela 1 leem o mesmo retorno — uma agrupada por dia, a outra por turno.
O bloco que fecha o documento é o único que não relata: separa o que a rotina já resolveu do que depende de uma pessoa decidir.
498 aparece como 214 + 186 + 98. 194 aparece como 70 + 103 + 21. 86% aparece como 428 sobre 498. As cinco barras da Figura 1 somam os 346 horários livres da janela, e os quatro medidores da Figura 2 somam exatamente as 103 faltas da tabela.
Conferir a peça é olhar duas parcelas na tela — não refazer a consulta no sistema.
A coordenação de agenda abre a caixa de entrada às sete e já sabe onde olhar: a vaga ociosa está nomeada por turno, a falta está explicada pela antecedência e a decisão pendente está separada do resto.
Como a estrutura é a mesma toda manhã, o documento de hoje é comparável com o de ontem sem ninguém refazer conta para alinhar as duas leituras.
O documento é o entregável; o e-mail é só a porta de entrada dele. Por isso o corpo da mensagem é curto e obedece a uma regra dura: nenhum número aparece no e-mail se não estiver no documento anexo. Quem lê no celular a caminho do hospital recebe o essencial; quem precisa do detalhe abre o PDF.
O anexo volta também para o chat da execução, como arquivo clicável — é por ali que o gestor abre a peça sem sair da conversa com o orquestrador.
Balão do documento publicado, como ele aparece no chat da execução do Squad.
A lista de destinatários é do hospital e fica no painel. Durante a execução o Squad escolhe dentro dela — não digita endereço novo, não edita a lista e não improvisa encaminhamento. Cada endereço é conferido antes do disparo.
direcao@hospital.exemplo agenda.ambulatorio@hospital.exemplo faturamento@hospital.exemplo auditoria@hospital.exemplo · pausadoTirar uma pessoa da lista é uma alteração de cadastro, não uma reescrita do prompt do agente — e um endereço fora da lista é barrado antes do envio.
Painel diferente, destinatário diferente. Não adianta mandar glosa para a coordenação de agenda nem funil do dia para o faturamento: cada rotina tem a sua lista.
| Quem recebe | Painel | Por que aquele documento |
|---|---|---|
| Direção | Funil do Dia e o consolidado da semana | Precisa da leitura curta do que mudou, com a decisão pendente já separada do relato. |
| Coordenação de agenda | Funil do Dia, com o recorte por especialidade | Age no mesmo dia: chama a fila de espera para a vaga que sobrou e redistribui a grade da semana seguinte. |
| Faturamento | Glosa por causa raiz e Status de transmissão | Trabalha contra prazo contratual: precisa saber o que vence primeiro e qual lote travou na crítica. |
| Comercial e relacionamento | Atendimento no canal | Acompanha o volume no número oficial, o tempo de resposta e a reclamação que virou transbordo. |
| Auditoria interna | Trilha das execuções, sem o documento | Não precisa do indicador: precisa saber o que foi consultado, o que foi decidido e o que foi enviado. |
O painel responde à pergunta que se repete todo dia. Para a pergunta que nasceu agora — por que a ocupação caiu na quarta? — o caminho é outro: o Copiloto HAL, o assistente interno de quem administra.
Ele consulta os dados do próprio hospital em modo somente leitura e responde com texto, tabela e gráfico na tela. O gestor pode exportar em PDF, pedir uma verificação recorrente ou simplesmente fechar a página: a missão continua rodando no servidor e o resultado chega por notificação.
Mesma memória, mesmas ferramentas de leitura. Muda quem puxa o gatilho: aqui, o gestor; no painel, a agenda do Squad.
A pergunta de hoje vira rotina amanhã: quando a mesma consulta se repete toda semana, ela deixa de ser pergunta e vira painel agendado.
Um painel diário que promete ser tudo acaba não sendo usado para nada. Vale dizer com todas as letras o que esta peça não substitui — e o que a plataforma se recusa a fazer.
O BI é onde se olha a série longa, se cruza dimensão com dimensão e se investiga a hipótese que ninguém formulou ainda. O painel diário é outra coisa: é a leitura do que mudou desde ontem, escrita para ser lida em três minutos antes de a operação começar.
Os dois convivem. Quando a pergunta do painel exige a série inteira, ela vai para o BI — ou para o Copiloto, que lê em linguagem natural.
Nenhum painel agregado carrega nome, documento, telefone ou qualquer identificador de paciente. O Squad lê agenda, conta e demonstrativo; na rotina de conformidade, lê também o prontuário — para conferir se o registro sustenta o que foi faturado e apontar, item a item, onde não sustenta. Até aí vai a leitura clínica: ele não escreve uma linha sobre conduta, diagnóstico ou orientação médica.
O painel entrega o achado sustentado: a vaga ociosa, a glosa que vence primeiro, o lote que travou e o item que a documentação não sustenta — cada um com a causa provável e o prazo. O que ele não faz é executar: não remaneja grade, não cancela lote, não abre exceção contratual e não chama paciente por conta própria. Quem assina a correção é o hospital, num bloco à parte no fim do documento; o trabalho de achar já está feito.
Falhar na entrega é ruim. Entregar um eixo bonito com nada dentro é pior, porque passa despercebido.
Um painel serve para decidir. Decidir sobre número aproximado é pior do que não ter painel.
Não. O painel chega como documento: PDF anexo no e-mail e versão HTML no link, para quem preferir ler na tela. Não há login novo para a direção nem para a coordenação de agenda — quem quiser navegar no console tem acesso, mas ninguém precisa dele para receber a leitura da manhã.
Não. Tabela e gráfico são declarados por referência: o Squad diz de qual chamada de API vêm os dados, qual lista usar e como agrupar. O servidor lê o retorno, calcula soma, percentual e escala, e desenha o bloco. O modelo escreve o texto de análise e escolhe o recorte — a aritmética não é trabalho dele.
É por isso que toda conta agregada sai com as parcelas ao lado: elas vêm do mesmo retorno que o total, e discordar entre si significaria que o dado mudou na fonte.
A comparação vem da própria consulta. Quando o Squad chama a API da agenda, pede junto a janela histórica — os últimos trinta dias, por exemplo — e a base de comparação chega no mesmo retorno que o dado do dia. Ele não tem disco, não mantém arquivo de uma execução para a outra e não "lembra" da rodada anterior.
A consequência prática é útil de saber na hora de desenhar a rotina: se a API não devolve histórico, o documento daquele dia sai sem comparação, e diz isso. Nada é reconstruído de memória.
O hospital. A lista é cadastro no painel, mantida por quem o hospital autorizar, e cada rotina tem a sua. O agente escolhe dentro da lista durante a execução; ele não cria endereço, não edita a lista e não encaminha o documento para fora dela. Endereço fora da lista é barrado antes do disparo, e o envio fica registrado com quantos destinatários foram alcançados.
A tentativa que falhou vira linha no log, com o horário e o resultado da repetição. Se a fonte continuar indisponível, o bloco que dependia dela não é preenchido com estimativa: ele sai nomeado como não apurado, e o documento explica qual leitura ficou faltando naquele dia.
Uma execução que conclui não haver nada digno de nota também é um desfecho declarado, não uma falha para o supervisor investigar — ela registra a verificação e não publica documento.
Mostramos como o Squad lê os sistemas do hospital, escreve o documento com a conta aberta e o entrega no horário — para a lista de destinatários que o hospital definir.