1. Propósito e Escopo
Este documento define todos os prompts, configurações de memória, transição entre estados, ferramentas como chamadas a sistemas externos e demais requisitos funcionais para o Fluxo de Agentes "Seguimento de Admissões Pendentes", uma solução projetada para monitorar admissões hospitalares pendentes e notificar a equipe responsável sobre atrasos ou documentos faltantes. Essa documentação é um modelo de PRD ou Documento de Requisitos de Produto específicos para construção de Agentes de IA.
O objetivo principal é garantir um acompanhamento eficiente das admissões, minimizando atrasos e melhorando a comunicação entre a equipe envolvida no processo de admissão hospitalar.
2. Contexto e Problema
Cenário Atual
O processo de admissões hospitalares enfrenta desafios significativos, como o acompanhamento ineficiente de admissões pendentes, que leva a atrasos no processo e falta de comunicação entre a equipe sobre o status das admissões.
Atualmente, as admissões pendentes não são monitoradas de forma contínua, resultando em atrasos que podem impactar negativamente o atendimento ao paciente. Além disso, a ausência de notificações automáticas dificulta a comunicação efetiva entre os membros da equipe responsável.
Problemas Identificados
- Acompanhamento ineficiente: Admissões pendentes não são monitoradas continuamente, resultando em atrasos no processo.
- Falta de comunicação: A ausência de notificações automáticas causa falhas na comunicação entre a equipe sobre o status das admissões.
3. Impactos Esperados
A implementação deste fluxo de automação visa alcançar os seguintes resultados:
- Melhorar o acompanhamento das admissões ao garantir que todas as admissões pendentes sejam monitoradas continuamente.
- Aumentar a eficiência da comunicação entre a equipe responsável através de notificações automáticas sobre atrasos e documentos faltantes.
- Reduzir atrasos no processo de admissão, assegurando que todos os documentos necessários sejam coletados em tempo hábil.
4. Visão Geral da Solução
O agente de IA para seguimento de admissões pendentes monitora continuamente o status das admissões hospitalares, envia notificações automáticas à equipe responsável sobre atrasos e documentos faltantes, e fornece relatórios diários para melhorar a gestão do fluxo de pacientes. A seguir são detalhadas todas as regras de negócio e especificações funcionais necessárias para que esse agente atue como um assistente eficiente e autônomo no acompanhamento de admissões pendentes.
A solução consiste em um fluxo de automação composto por vários agentes de IA. O processo inicia com a chamada à API do Sistema Hospitalar (HIS) para obter a lista de admissões pendentes e termina com a geração de um relatório diário sobre o status das admissões.
| Agentes | Função Principal |
|---|---|
Agente de Execução de Chamada à API (HIS - Admissões) | Realizar chamada à API do HIS para obter a lista de admissões pendentes e seus metadados. |
Agente de Normalização e Enriquecimento de Admissões | Padronizar o payload do HIS e preparar dados para análise de pendências. |
Agente de Detecção de Pendências e Criticidade | Identificar admissões com atraso, documentos faltantes ou bloqueios e classificar a criticidade. |
Agente de Preparação de Notificações | Gerar mensagens e payloads de notificação prontos para envio. |
Agente de Execução de Chamada à API (Envio de Notificações) | Executar o envio das notificações preparadas para os canais configurados. |
Agente de Geração de Relatório Diário de Admissões | Consolidar indicadores diários de admissões pendentes, atrasos e documentos faltantes. |
5. Protótipos
Para proporcionar uma visão clara e tangível da solução proposta, criamos protótipos interativos que demonstram tanto o fluxo de trabalho dos agentes quanto o resultado final que a equipe receberá. Explore os links abaixo para entender melhor a solução em ação.
6. Requisitos Funcionais
RF 1. Agente de Execução de Chamada à API (HIS - Admissões)
1.1 Tarefa do Agente
Realizar chamada à API do Sistema Hospitalar (HIS) para obter a lista de admissões pendentes e seus metadados.
1.2 Prompt ou Instruções do Agente
Este agente não requer instruções de LLM; sua função é exclusivamente executar a chamada à API recebendo o payload já pronto.
1.3 Configurações do Agente
1.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente é o ponto de partida do fluxo e deve ser acionado pelo envio de um payload pronto para execução da chamada à API. Na fase de testes, o fluxo será iniciado pelo envio manual dos dados, que serão enviados para o agente diretamente por upload do payload na interface da Prototipe AI, para acelerar o processo de validação.
- Tipo do input: O input inicial para o fluxo é um payload JSON pronto para execução da chamada à API.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 5.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo os dados brutos de admissões pendentes conforme o HIS.
-
Exemplo de Estrutura de Output:
[{"admissao_id":"A123","paciente_id":"P001","tipo_internacao":"eletiva","data_solicitacao":"2025-12-05T08:00:00Z","previsao_checkin":"2025-12-05T10:00:00Z","status":"pendente","unidade":"Clínica Médica","documentos":{"rg":true,"cpf":true,"cartao_sus":false,"comprovante_residencia":false,"guia_convênio":true,"autorizacao_convenio":false,"termo_consentimento":null},"responsavel_setor":"internacao.cm@hospital.com"}] - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 3.000 caracteres.
1.3.3 Parâmetros de Geração
- Modelo: Não se aplica (uso de ferramenta)
1.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: O agente deve se conectar ao HIS para obter os dados de admissões pendentes.
1.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Normalização e Enriquecimento de Admissões.
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Normalização e Enriquecimento de Admissões.
RF 2. Agente de Normalização e Enriquecimento de Admissões
2.1 Tarefa do Agente
Padronizar o payload do HIS, assegurar coerência de campos, calcular prazos de SLA por tipo de internação e preparar dados para análise de pendências.
2.2 Prompt ou Instruções do Agente
- Converta todas as datas para UTC no formato ISO 8601 e preencha campos faltantes com null explicitamente.
- Mapas de status: aceite como pendente qualquer um em {"pendente","pré-admissão","aguardando_documentos","aguardando_autorizacao"}; demais status manter em status_atual para rastreio.
- SLA por tipo_internacao: {"emergencia":15, "urgencia":30, "eletiva":120} minutos; se não informado, usar 120.
- Defina prazo_limite_utc como min(previsao_checkin_utc quando houver, data_solicitacao_utc + sla_minutos).
- Lista de documentos requeridos padrão: [rg, cpf, cartao_sus, comprovante_residencia, guia_convenio (se convênio), autorizacao_convenio (se convênio), termo_consentimento (se procedimento cirúrgico)]
• Se não houver indicador de convênio, considere convênio = true quando existir qualquer um de guia_convênio ou autorizacao_convenio no payload.
• Se tipo_internacao contiver "cirurg" (case-insensitive), inclua termo_consentimento como requerido.
- Normalize chaves de documentos para snake_case: {"RG"->"rg","CPF"->"cpf","Cartão SUS"->"cartao_sus","Comprovante de Residência"->"comprovante_residencia","Guia/Guia do Convênio"->"guia_convenio","Autorização do Convênio"->"autorizacao_convenio","Termo de Consentimento"->"termo_consentimento"}.
- Preencha documentos_status ausentes como false quando requerido e null quando não aplicável.
- Defina responsavel_contato usando a prioridade: e-mail do setor > usuário responsável > distribuição da unidade (padrão: "internacao@hospital.com").
- Garanta que cada registro contenha: admissao_id, paciente_id, unidade, tipo_internacao, status_atual, data_solicitacao_utc, previsao_checkin_utc (ou null), sla_minutos, prazo_limite_utc, documentos_requeridos, documentos_status, responsavel_contato. 2.3 Configurações do Agente
2.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão bem-sucedida do agente anterior (RF 1).
- Tipo do input: Este agente deve ser apto a receber como input a lista bruta de admissões oriunda do HIS.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 10.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo a lista normalizada de admissões preparada para análise de pendências.
-
Exemplo de Estrutura de Output:
[{"admissao_id":"A123","paciente_id":"P001","tipo_internacao":"eletiva","unidade":"Clínica Médica","status_atual":"pendente","data_solicitacao_utc":"2025-12-05T08:00:00Z","previsao_checkin_utc":"2025-12-05T10:00:00Z","sla_minutos":120,"prazo_limite_utc":"2025-12-05T10:00:00Z","documentos_requeridos":["rg","cpf","cartao_sus","comprovante_residencia","guia_convenio","autorizacao_convenio","termo_consentimento_condicional"],"documentos_status":{"rg":true,"cpf":true,"cartao_sus":false,"comprovante_residencia":false,"guia_convenio":true,"autorizacao_convenio":false,"termo_consentimento":null},"responsavel_contato":"internacao.cm@hospital.com"}] - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 6.000 caracteres.
2.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
2.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Utiliza lógica interna para calcular prazos de SLA.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
2.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Detecção de Pendências e Criticidade.
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Detecção de Pendências e Criticidade.
RF 3. Agente de Detecção de Pendências e Criticidade
3.1 Tarefa do Agente
Identificar admissões com atraso, documentos faltantes ou bloqueios e classificar a criticidade para acionar notificações.
3.2 Prompt ou Instruções do Agente
- Calcule minutos_em_atraso = max(0, now_utc - prazo_limite_utc em minutos). Considere atraso = true se minutos_em_atraso > 0.
- documentos_faltantes = todos em documentos_requeridos cujo documentos_status == false.
- bloqueio_autorizacao = true se "autorizacao_convenio" em documentos_requeridos e documentos_status.autorizacao_convenio == false.
- Defina criticidade:
• crítica: atraso >= 60 min OU bloqueio_autorizacao == true.
• alta: 30 <= atraso < 60 OU >=2 documentos faltantes.
• média: 10 <= atraso < 30 OU 1 documento faltante essencial em {"autorizacao_convenio","guia_convenio","rg","cpf"} sem atraso.
• baixa: atraso < 10 e sem documentos essenciais faltantes.
- status_notificavel = true quando (atraso == true) OU (documentos_faltantes.length > 0).
- Preencha motivos como lista textual específica: exemplo "SLA estourado", "RG pendente", "Autorização do convênio pendente".
- Garanta presença dos campos: admissao_id, atraso, minutos_em_atraso, documentos_faltantes, bloqueio_autorizacao, criticidade, motivos, responsavel_contato, status_notificavel.
- Defina flag de agregação "ha_pendencias_notificaveis" = true se existir pelo menos 1 item com status_notificavel == true (inclua no output como metadado no primeiro índice: {"meta":{"ha_pendencias_notificaveis":true,"total_avaliadas":N}}). 3.3 Configurações do Agente
3.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 2).
- Tipo do input: Este agente deve ser apto a receber como input a lista normalizada de admissões preparada pelo agente anterior.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 10.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo a lista de admissões com pendências e suas respectivas criticidades.
-
Exemplo de Estrutura de Output:
[{"admissao_id":"A123","status_notificavel":true,"atraso":true,"minutos_em_atraso":45,"documentos_faltantes":["cartao_sus","comprovante_residencia","autorizacao_convenio"],"bloqueio_autorizacao":true,"criticidade":"alta","motivos":["SLA estourado","Autorização do convênio pendente"],"responsavel_contato":"internacao.cm@hospital.com"}] - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 6.000 caracteres.
3.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
3.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Utiliza lógica interna para calcular atrasos e criticidades.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
3.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Preparação de Notificações.
3.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Preparação de Notificações.
RF 4. Agente de Preparação de Notificações
4.1 Tarefa do Agente
Gerar mensagens e payloads de notificação por responsável, canal e criticidade, prontos para envio.
4.2 Prompt ou Instruções do Agente
- Se meta.ha_pendencias_notificaveis != true, gere output com ha_pendencias_notificaveis=false e payloads=[]. - Agrupe admissões por responsavel_contato e por criticidade. - Defina canal padrão: "email"; para criticidade "crítica" adicione também um payload para "chat_ops" (ex.: tópico "#internacao-alertas"). - Assunto do e-mail: "[] Admissão com " onde TAG ∈ {URGENTE (crítica/alta), Atenção (média), Info (baixa)} e descritor prioriza atraso ("atraso de X min") e/ou "documentos pendentes". - Mensagem deve conter: admissao_id, paciente_id quando disponível, unidade, atraso em minutos (se >0), lista de documentos faltantes em ordem: autorizacao_convenio, guia_convenio, rg, cpf, cartao_sus, comprovante_residencia, termo_consentimento, e motivos. - Para múltiplas admissões no mesmo destinatário+criticidade, crie mensagem sumária com tabela textual (linhas por admissao_id) e inclua até 10 referências por payload; se >10, gere múltiplos payloads paginados. - Inclua no payload os campos: canal, destinatario, assunto, mensagem, criticidade, referencias (lista de admissao_id), prioridade (numérica: crítica=1, alta=2, média=3, baixa=4).
4.3 Configurações do Agente
4.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 3).
- Tipo do input: Este agente deve ser apto a receber como input a lista classificada com pendências e metadados.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 10.000 caracteres.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo os payloads de notificação prontos para envio.
-
Exemplo de Estrutura de Output:
{"ha_pendencias_notificaveis":true,"payloads":[{"canal":"email","destinatario":"internacao.cm@hospital.com","assunto":"[URGENTE] Admissão A123 com atraso de 45 min e documentos pendentes","mensagem":"Admissão A123 (Paciente P001) na Clínica Médica. Atraso: 45 min. Pendências: cartao_sus, comprovante_residencia, autorizacao_convenio. Motivos: SLA estourado; Autorização do convênio pendente.","criticidade":"alta","referencias":["A123"]}]} - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 5.000 caracteres.
4.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
4.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
4.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Execução de Chamada à API (Envio de Notificações).
4.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Execução de Chamada à API (Envio de Notificações).
RF 5. Agente de Execução de Chamada à API (Envio de Notificações)
5.1 Tarefa do Agente
Executar o envio das notificações preparadas para os canais configurados.
5.2 Prompt ou Instruções do Agente
Este agente não requer instruções de LLM; sua função é exclusivamente executar o envio usando os payloads recebidos.
5.3 Configurações do Agente
5.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 4).
- Tipo do input: Este agente deve ser apto a receber como input a lista de payloads prontos para envio.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 5.000 caracteres.
5.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo o status do envio das notificações.
-
Exemplo de Estrutura de Output:
[{"canal":"email","destinatario":"internacao.cm@hospital.com","status_envio":"sucesso","id_transacao":"NTF-20251205-0001"}] - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 3.000 caracteres.
5.3.3 Parâmetros de Geração
- Modelo: Não se aplica (uso de ferramenta)
5.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: O agente deve se conectar aos canais configurados para enviar as notificações.
5.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Geração de Relatório Diário de Admissões.
5.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Geração de Relatório Diário de Admissões.
RF 6. Agente de Geração de Relatório Diário de Admissões
6.1 Tarefa do Agente
Consolidar indicadores diários de admissões pendentes, atrasos e documentos faltantes, produzindo um relatório estruturado.
6.2 Prompt ou Instruções do Agente
- A data_referencia_utc é o dia UTC corrente do processamento. - KPIs obrigatórios: total_avaliadas, pendentes_notificaveis, com_atraso, sem_atraso_com_pend_doc, por_criticidade (critica, alta, media, baixa), tempo_medio_atraso_min (apenas entre itens com atraso), p95_atraso_min. - Calcule top_motivos a partir do campo motivos, agregando textos idênticos; inclua até 10 itens ordenados por ocorrencias desc. - por_unidade: agregue pendentes e com atraso por unidade; inclua todas as unidades presentes no input. - documentos_faltantes_rank: conte por chave normalizada; inclua top 10. - envios: agregue por canal com totais, sucesso e falha quando recibos forem fornecidos; se ausentes, retorne valores 0. - Forme output em objeto único com chaves estáveis conforme o exemplo; quaisquer campos adicionais devem ser aninhados sob "extras".
6.3 Configurações do Agente
6.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 5).
- Tipo do input: Este agente deve ser apto a receber como input os dados normalizados, classificação de pendências e recibos de notificação.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 15.000 caracteres.
6.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado contendo o relatório diário de admissões.
-
Exemplo de Estrutura de Output:
{"data_referencia_utc":"2025-12-05","kpis":{"total_avaliadas":120,"pendentes_notificaveis":34,"com_atraso":21,"sem_atraso_com_pend_doc":13,"por_criticidade":{"critica":5,"alta":12,"media":10,"baixa":7},"tempo_medio_atraso_min":38,"p95_atraso_min":85},"top_motivos":[{"motivo":"Autorização do convênio pendente","ocorrencias":14},{"motivo":"Cartão SUS pendente","ocorrencias":9}],"por_unidade":[{"unidade":"Clínica Médica","pendentes":10,"atraso":6},{"unidade":"Ortopedia","pendentes":8,"atraso":5}],"documentos_faltantes_rank":[{"documento":"autorizacao_convenio","ocorrencias":14},{"documento":"cartao_sus","ocorrencias":9}],"envios":[{"canal":"email","total":6,"sucesso":6,"falha":0}]} - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 10.000 caracteres.
6.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
6.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Utiliza lógica interna para calcular KPIs e agregações.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
6.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
- Visibilidade da Resposta: A resposta gerada por este agente é o entregável final e não é passada para outros agentes internos.
6.3.6 Regras de Orquestração e Transição
A execução deste agente finaliza o fluxo. O relatório gerado é o resultado que deve ser disponibilizado ao usuário.