1. Propósito e Escopo
Este documento define todos os prompts e detalhes de requisitos para um agente de IA que utiliza dados clínicos e históricos para prever quando os leitos de observação estarão disponíveis. 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 é melhorar o planejamento de recursos hospitalares, fornecendo previsões precisas de alta de pacientes em leitos de observação, baseando-se em padrões de dados clínicos e históricos.
2. Contexto e Problema
Problemas Específicos
O sistema atual enfrenta dificuldades em prever com precisão quando os leitos de observação serão liberados, o que resulta em um planejamento inadequado de recursos. As incertezas na liberação de leitos afetam negativamente a eficiência operacional e a capacidade de resposta do hospital.
Problemas Identificados
- Incapacidade de prever com precisão: A falta de previsões precisas sobre a disponibilidade de leitos dificulta o planejamento e a alocação de recursos.
- Planejamento inadequado de recursos: As incertezas na liberação de leitos levam a um planejamento ineficaz, impactando a qualidade do atendimento.
3. Impactos Esperados
A implementação deste agente de IA visa alcançar os seguintes resultados:
- Melhoria na precisão das previsões de alta e, consequentemente, na gestão de leitos.
- Otimização do planejamento de recursos com base em dados clínicos e históricos.
- Redução de ineficiências operacionais e melhoria na qualidade do atendimento ao paciente.
4. Visão Geral da Solução
O agente de IA para previsão de alta de leitos de observação analisa dados clínicos e históricos dos pacientes para prever quando os leitos estarão disponíveis, permitindo um planejamento de recursos mais eficiente. 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 útil e autônomo na gestão de leitos hospitalares.
A solução consiste em um fluxo de automação composto por múltiplos agentes de IA. O processo inicia com a preparação dos dados de consulta e termina com a geração de um plano operacional e comunicação proativa com as equipes médicas.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo. O fluxo inclui etapas condicionais que são executadas apenas se critérios específicos forem atendidos.
| Agentes | Função Principal |
|---|---|
Agente Preparador de Consulta a Dados de Leitos de Observação | Preparar o payload de consulta para recuperar dados históricos e correntes de pacientes em leitos de observação. |
Agente de Execução de Consultas em Banco de Dados | Realizar conexão com o banco de dados clínico para obter os datasets conforme parâmetros pré-formatados. |
Agente de Tratamento e Engenharia de Atributos para Previsão de Alta | Tratar dados brutos, consolidar linhas por paciente e gerar features para o serviço de predição de alta. |
Agente Preparador de Payload para Serviço de Previsão de Alta | Formatar o payload de scoring contendo as features para o serviço de previsão de alta. |
Agente de Execução de Chamada à API - Serviço de Previsão de Alta | Realizar chamada ao serviço externo de predição para obter probabilidades de alta por paciente. |
Agente de Geração de Plano Operacional e Comunicação Proativa | Transformar as predições em um plano de liberação de leitos e mensagens prontas para comunicação com as equipes médicas. |
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 o cliente receberá. Explore os links abaixo para entender melhor a solução em ação.
6. Requisitos Funcionais
RF 1. Agente Preparador de Consulta a Dados de Leitos de Observação
1.1 Tarefa do Agente
Preparar o payload de consulta para recuperar dados históricos e correntes de pacientes em leitos de observação a partir do data warehouse hospitalar (internações/observação, sinais vitais, prescrições e movimentações).
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um conjunto de parâmetros para consulta de dados históricos e correntes de pacientes em leitos de observação. # 2. Objetivo Preparar o payload de consulta para recuperar dados históricos e correntes de pacientes em leitos de observação a partir do data warehouse hospitalar. # 3. Regras que você deve seguir para gerar sua resposta - Construa a query com filtros obrigatórios por unidade, intervalo temporal e status. - Liste explicitamente colunas necessárias por dataset. - Calcule :inicio e :fim no fuso UTC com designador de timezone (Z). - Retorne o mapeamento de datasets sem realizar junções no SQL. - Retorne exclusivamente o JSON conforme esperado sem comentários adicionais.
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 objeto JSON com os parâmetros de consulta via API. Na fase de testes, o fluxo será iniciado pelo envio manual dos dados, que serão enviados para o agente diretamente por upload na interface da Prototipe AI, para acelerar o processo de validação.
- Tipo do input: O input inicial para o fluxo é um objeto JSON com os parâmetros de consulta.
-
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 texto com até 5.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo a query SQL preparada e os parâmetros associados.
-
Exemplo de Estrutura de Output:
{"sql": "SELECT ... FROM ... WHERE unidade = :unidade AND admissao_ts >= :inicio AND admissao_ts <= :fim", "params": {"unidade": "OBS-01", "inicio": "2025-11-01T00:00:00Z", "fim": "2025-11-30T23:59:59Z"}, "datasets": ["historico_observacao","estado_atual_pacientes","sinais_vitais","prescricoes","movimentacoes"], "formato_retorno": "jsonl"} - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 1.000 caracteres.
1.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
1.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Utiliza lógica interna para calcular timestamps e parâmetros de consulta.
- Busca Online: Não utiliza.
- Sistemas Externos: Não se conecta a sistemas externos.
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 Execução de Consultas em Banco de Dados.
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Execução de Consultas em Banco de Dados.
RF 2. Agente de Execução de Consultas em Banco de Dados
2.1 Tarefa do Agente
Realizar conexão com o banco de dados clínico/assistencial para obter os datasets históricos e correntes conforme parâmetros pré-formatados.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um objeto JSON com a consulta preparada para execução no banco de dados clínico. # 2. Objetivo Realizar conexão com o banco de dados clínico/assistencial para obter os datasets históricos e correntes conforme parâmetros pré-formatados. # 3. Regras que você deve seguir para gerar sua resposta - Execute a consulta no banco de dados com o payload recebido. - Retorne os dados brutos no formato JSON conforme especificado.
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 do agente anterior (RF 1).
- Tipo do input: Este agente deve ser apto a receber como input um objeto JSON contendo a consulta SQL preparada e os parâmetros associados.
-
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 texto com até 5.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo os datasets históricos e correntes recuperados do banco de dados.
-
Exemplo de Estrutura de Output:
{"historico_observacao": [{...}], "estado_atual_pacientes": [{...}], "sinais_vitais": [{...}], "prescricoes": [{...}], "movimentacoes": [{...}]} - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 10.000 caracteres.
2.3.3 Parâmetros de Geração
- Modelo: Não se aplica (uso de sistema externo)
- Temperatura: Não se aplica
2.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Realiza conexão com o banco de dados clínico/assistencial para execução da consulta.
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 Tratamento e Engenharia de Atributos para Previsão de Alta.
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Tratamento e Engenharia de Atributos para Previsão de Alta.
RF 3. Agente de Tratamento e Engenharia de Atributos para Previsão de Alta
3.1 Tarefa do Agente
Tratar dados brutos, consolidar linhas por paciente e gerar features temporais e clínicas para alimentar o serviço de predição de alta de leitos de observação.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um objeto JSON com os datasets brutos recuperados do banco de dados clínico. # 2. Objetivo Tratar dados brutos, consolidar linhas por paciente e gerar features temporais e clínicas para alimentar o serviço de predição de alta. # 3. Regras que você deve seguir para gerar sua resposta - Converta todos os timestamps para ISO 8601 UTC. - Remova registros duplicados mantendo o de timestamp mais recente. - Calcule métricas para janelas de 6h, 12h, 24h, 48h. - Resuma diagnósticos e extraia indicadores binários. - Gere campos como eventos_criticos_24h e 48h. - Delimite episódio por paciente a partir de admissão até alta/transferência. - Aplique forward-fill para séries faltantes com limite máximo de 6h.
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 um objeto JSON contendo os datasets brutos recuperados do banco de dados.
-
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 texto com até 10.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo a tabela de features consolidada e o dicionário de campos.
-
Exemplo de Estrutura de Output:
{"tabela_features": [{"id_paciente":"123","episodio_id":"E-987","tempo_desde_admissao_h": 14.5, "var_sinais_vitais": {"FR_media_6h": 18.2, "SpO2_min_24h": 93}, "uso_oxigenio": 1, "ultima_variacao_risco": -0.12, "eventos_criticos_24h": 0, "diagnostico_resumido":"asma exacerb", "intervencoes_chave": {"bronco_dilatador":1}, "turno_atual":"diurno", "dia_semana": "domingo"}], "dicionario_campos": {"tempo_desde_admissao_h":"float", "uso_oxigenio":"binary", "turno_atual":"category"}} - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 5.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 documentos externos.
- Calculadora: Utiliza lógica interna para cálculo de métricas e agregações.
- Busca Online: Não utiliza.
- Sistemas Externos: Não se conecta a sistemas externos.
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 Preparador de Payload para Serviço de Previsão de Alta.
3.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente Preparador de Payload para Serviço de Previsão de Alta.
RF 4. Agente Preparador de Payload para Serviço de Previsão de Alta
4.1 Tarefa do Agente
Formatar o payload de scoring contendo as features por paciente/episódio e os metadados necessários para o serviço de previsão de alta.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um objeto JSON com a tabela de features consolidada para previsão de alta. # 2. Objetivo Formatar o payload de scoring contendo as features por paciente/episódio e os metadados necessários para o serviço de previsão de alta. # 3. Regras que você deve seguir para gerar sua resposta - Inclua campos obrigatórios: unidade, referencia_ts e linhas. - Exclua quaisquer identificadores diretos além de id_paciente e episodio_id. - Converta categorias para strings em minúsculas do domínio listado. - Retorne somente o JSON com endpoint, payload e headers.
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 um objeto JSON contendo a tabela de features consolidada.
-
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 texto com até 5.000 caracteres.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo o endpoint, payload e headers para o serviço de previsão de alta.
-
Exemplo de Estrutura de Output:
{"endpoint": "predict_discharge_service", "payload": {"unidade": "OBS-01", "referencia_ts": "2025-11-30T14:54:00Z", "linhas": [{"id_paciente":"123","episodio_id":"E-987","features": {"tempo_desde_admissao_h":14.5,"uso_oxigenio":1, "ultima_variacao_risco": -0.12, "turno_atual":"diurno", "dia_semana":"domingo"}}]}, "headers": {"content_type": "application/json"}} - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 1.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 documentos externos.
- Calculadora: Utiliza lógica interna para formatação de payload e headers.
- Busca Online: Não utiliza.
- Sistemas Externos: Não se conecta a sistemas externos.
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 - Serviço de Previsão de Alta.
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 - Serviço de Previsão de Alta.
RF 5. Agente de Execução de Chamada à API - Serviço de Previsão de Alta
5.1 Tarefa do Agente
Realizar chamada ao serviço externo de predição para obter probabilidades de alta por paciente e estimativas de data/hora.
5.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um objeto JSON contendo o endpoint, payload e headers para a chamada ao serviço de previsão de alta. # 2. Objetivo Realizar chamada ao serviço externo de predição para obter probabilidades de alta por paciente e estimativas de data/hora. # 3. Regras que você deve seguir para gerar sua resposta - Execute a chamada à API com o payload recebido. - Retorne as predições no formato JSON conforme especificado.
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 um objeto JSON contendo o endpoint, payload e headers para a chamada ao serviço de previsão de alta.
-
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 texto com até 5.000 caracteres.
5.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo as predições de alta por paciente e estimativas de data/hora.
-
Exemplo de Estrutura de Output:
{"predicoes": [{"id_paciente":"123","episodio_id":"E-987","prob_alta_6h":0.42,"prob_alta_12h":0.63,"prob_alta_24h":0.81,"estimativa_alta_ts":"2025-11-30T22:00:00Z","confianca":0.76,"top_drivers":["tendencia_FR_desc","estavel_oxigenacao","sem_evento_critico_24h"]}]} - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 5.000 caracteres.
5.3.3 Parâmetros de Geração
- Modelo: Não se aplica (uso de sistema externo)
- Temperatura: Não se aplica
5.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Realiza chamada ao serviço externo de predição de alta.
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 Plano Operacional e Comunicação Proativa.
5.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Geração de Plano Operacional e Comunicação Proativa.
RF 6. Agente de Geração de Plano Operacional e Comunicação Proativa
6.1 Tarefa do Agente
Transformar as predições em um plano de liberação de leitos com janelas estimadas de alta, impactos em recursos e mensagens prontas para comunicação com as equipes médicas.
6.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um objeto JSON com as predições do serviço de previsão de alta, incluindo probabilidades e estimativas de data/hora.
# 2. Objetivo
Transformar as predições em um plano de liberação de leitos com janelas estimadas de alta, impactos em recursos e mensagens prontas para comunicação com as equipes médicas.
# 3. Regras que você deve seguir para gerar sua resposta
- Converta probabilidades em janelas discretas {0_6h, 6_12h, 12_24h, 24_48h, 48_72h}.
- Some pacientes atribuídos a cada janela e calcule piso e teto de liberação.
- Ordene pacientes por probabilidade de alta e destaque drivers traduzidos para linguagem acessível.
- Gere mensagens proativas para pacientes com janela até 24h.
- Inclua campo confiança e sinalizadores de revisão clínica quando necessário. 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 um objeto JSON com as predições do serviço de previsão de alta.
-
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 texto com até 5.000 caracteres.
6.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo o plano operacional e mensagens proativas, além de um documento em Markdown para comunicação interna.
-
Exemplo de Estrutura de Output:
{"resumo_unidade": {"capacidade_total": 20, "ocupacao_atual": 18, "previsao_liberacao_por_janela": {"0_6h": 2, "6_12h": 3, "12_24h": 4, "24_48h": 3, "48_72h": 2}}, "lista_pacientes": [{"id_paciente":"123","episodio_id":"E-987","estimativa_alta_ts":"2025-11-30T22:00:00Z","janela_prevista":"6_12h","confianca":0.76,"acoes_recomendadas":["Revisar prescrições para descalonamento","Solicitar validação médica"], "mensagem_proativa":"Paciente 123 com 63% de probabilidade de alta até 12h; confirmar critérios e preparar documentos."}]} - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 5.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 documentos externos.
- Calculadora: Utiliza lógica interna para cálculo de janelas e priorização de pacientes.
- Busca Online: Não utiliza.
- Sistemas Externos: Não se conecta a sistemas externos.
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 plano gerado deve ser comunicado às equipes médicas conforme configurado na interface da Prototipe AI.