Agente de IA para Gestão de Recursos em Tempo Real

19 de December de 2025 • Tempo de leitura: 5 min

Como criar um agente de IA que monitora a ocupação de leitos e disponibilidade de profissionais em tempo real para otimizar a alocação de recursos.

1. Propósito e Escopo

Este documento define todos os prompts, configurações de memória, transição entre estados e demais requisitos funcionais para o Fluxo de Agentes "Gestão de Recursos em Tempo Real", uma solução projetada para monitorar a ocupação de leitos e a disponibilidade de profissionais em tempo real, otimizando a alocação de recursos em ambientes hospitalares. 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 a eficiência na gestão de recursos hospitalares, permitindo uma resposta rápida e precisa às necessidades de pacientes e profissionais.

2. Contexto e Problema

Cenário Atual

Em hospitais, a gestão eficiente de leitos e de profissionais é crítica para garantir um atendimento de qualidade e para maximizar o uso dos recursos disponíveis. No entanto, muitos hospitais enfrentam desafios como:

  • Dificuldade em monitorar a ocupação de leitos em tempo real.
  • Falta de dados precisos sobre a disponibilidade de profissionais de saúde.
  • Complexidade na alocação de recursos de forma eficiente e em tempo hábil.

Esses desafios impactam diretamente na capacidade de resposta dos hospitais, podendo levar a atrasos no atendimento e a uma utilização ineficaz dos recursos.


Problemas Identificados

  • Falta de visibilidade em tempo real: Os sistemas atuais muitas vezes não oferecem dados atualizados, o que dificulta a tomada de decisão rápida e informada.
  • Inconsistência nos dados: A integração inadequada entre diferentes sistemas hospitalares pode resultar em dados inconsistentes ou desatualizados.
  • Subutilização de recursos: Sem uma visão clara da disponibilidade de leitos e profissionais, os hospitais podem não utilizar seus recursos de forma otimizada.

3. Impactos Esperados

A implementação deste agente de IA visa alcançar os seguintes resultados:

  • Melhorar a eficiência na alocação de recursos, reduzindo o tempo de resposta às necessidades dos pacientes.
  • Aumentar a precisão dos dados sobre a ocupação de leitos e disponibilidade de profissionais.
  • Otimizar o uso dos recursos hospitalares, garantindo que leitos e profissionais sejam alocados de forma adequada.

4. Visão Geral da Solução

O agente de IA para gestão de recursos em tempo real processa dados de ocupação de leitos e disponibilidade de profissionais, integrando-se com sistemas hospitalares para garantir a precisão dos dados e otimizar a alocação de recursos. 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 recursos hospitalares em tempo real.

A solução consiste em um fluxo de automação composto por 7 agentes de IA. O processo inicia com a preparação de payloads de consulta e termina com a geração de recomendações práticas de alocação de recursos.

A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.

Agentes Função Principal
Agente de Preparação de Payloads de Consulta (RF 1) Construir payloads para chamadas às APIs de ocupação de leitos e disponibilidade de profissionais.
Agente de Execução de Chamada à API - Ocupação de Leitos (RF 2) Obter dados brutos de ocupação de leitos.
Agente de Normalização e Cálculo de Indicadores de Leitos (RF 3) Transformar dados brutos de leitos em métricas operacionais padronizadas.
Agente de Execução de Chamada à API - Disponibilidade de Profissionais (RF 4) Obter dados brutos de disponibilidade de profissionais.
Agente de Normalização e Cálculo de Indicadores de Profissionais (RF 5) Transformar dados brutos de profissionais em métricas operacionais padronizadas.
Agente de Consolidação Operacional (RF 6) Unificar os indicadores de leitos e profissionais em um quadro único padronizado.
Agente de Otimização de Alocação de Recursos (RF 7) Gerar recomendações práticas de realocação de profissionais e gestão de leitos.

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 de Preparação de Payloads de Consulta

1.1 Tarefa do Agente

Construir, a partir das configurações recebidas, os payloads prontos para as chamadas às APIs de ocupação de leitos e disponibilidade de profissionais.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo configurações que incluem hospital_id, unidades, periodo_referencia e endpoints para consulta de leitos e profissionais.

# 2. Objetivo
Construir payloads prontos para chamadas às APIs de ocupação de leitos e disponibilidade de profissionais.

# 3. Regras que você deve seguir para gerar sua resposta
- Calcular inicio_iso como fim_iso menos janela_minutos; usar timezone informado, convertendo para ISO UTC.
- Replicar fielmente headers e método fornecidos em endpoints.
- Incluir hospital_id e lista de unidades exatamente como recebidas.
- Garantir que query_or_body sempre contenha chaves: hospital_id, unidades, periodo{inicio_iso, fim_iso}.
- Validar que fim_iso > inicio_iso; se não, ajustar recomputando com janela_minutos.
- Se unidades vier vazia, definir como ["TODAS"]. 
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 configurações 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 são as configurações para chamadas às APIs, incluindo hospital_id, unidades, periodo_referencia e endpoints.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 10.000 caracteres.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo os payloads prontos para as chamadas às APIs de leitos e profissionais. Cada payload deve incluir URL, método, headers e query_or_body com as chaves exigidas.
  • Exemplo de Estrutura de Output:
     {
      "payload_leitos": {"url": "string", "metodo": "GET|POST", "headers": {"Authorization": "string", "Content-Type": "string"}, "query_or_body": {"hospital_id": "string", "unidades": ["string"], "periodo": {"fim_iso": "YYYY-MM-DDTHH:MM:SSZ", "inicio_iso": "YYYY-MM-DDTHH:MM:SSZ"}}},
      "payload_profissionais": {"url": "string", "metodo": "GET|POST", "headers": {"Authorization": "string", "Content-Type": "string"}, "query_or_body": {"hospital_id": "string", "unidades": ["string"], "periodo": {"fim_iso": "YYYY-MM-DDTHH:MM:SSZ", "inicio_iso": "YYYY-MM-DDTHH:MM:SSZ"}}} 
    }
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 2.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 cálculo de datas e horários.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

1.3.5 Memória

1.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 - Ocupação de Leitos (RF 2).

RF 2. Agente de Execução de Chamada à API - Ocupação de Leitos

2.1 Tarefa do Agente

Realizar chamada à API do sistema hospitalar para obter dados brutos de ocupação de leitos.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um payload pronto para a chamada à API de ocupação de leitos.

# 2. Objetivo
Realizar a chamada à API para obter dados brutos de ocupação de leitos.

# 3. Regras que você deve seguir para gerar sua resposta
- Execute a chamada à API usando o payload recebido, que contém todas as informações necessárias.
- Não é necessário modificar o payload ou adicionar informações adicionais.
- Em caso de falha na chamada da API, registre o erro para análise manual.

# 4. Exemplo de Output que você deve produzir
{
  "dados_leitos_raw": [ {"unidade": "string", "leito_id": "string", "status": "OCUPADO|LIVRE|RESERVADO|MANUTENCAO", "tipo": "UTI|ENF|APOIO", "ultima_atualizacao": "ISO"} ],
  "meta": {"retorno_em": "ISO", "fonte": "SIS-Leitos"} 
}
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 JSON contendo o payload para a chamada à API de ocupação de leitos.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 5.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo os dados brutos de ocupação de leitos, conforme o formato exigido pelo sistema hospitalar.
  • Exemplo de Estrutura de Output:
     {
      "dados_leitos_raw": [ {"unidade": "string", "leito_id": "string", "status": "OCUPADO|LIVRE|RESERVADO|MANUTENCAO", "tipo": "UTI|ENF|APOIO", "ultima_atualizacao": "ISO"} ],
      "meta": {"retorno_em": "ISO", "fonte": "SIS-Leitos"} 
    }
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 3.000 caracteres.

2.3.3 Parâmetros de Geração

  • Modelo: Não se aplica (uso de ferramenta)

2.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: O agente deverá enviar o payload recebido para a API externa e retornar os dados brutos como resposta.

2.3.5 Memória

2.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Normalização e Cálculo de Indicadores de Leitos (RF 3).

RF 3. Agente de Normalização e Cálculo de Indicadores de Leitos

3.1 Tarefa do Agente

Transformar os dados brutos de leitos em métricas operacionais padronizadas e detectar condições de alerta.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo dados brutos de ocupação de leitos obtidos da API do sistema hospitalar.

# 2. Objetivo
Transformar os dados brutos em métricas operacionais padronizadas e detectar condições de alerta.

# 3. Regras que você deve seguir para gerar sua resposta
- Considerar total = contagem de leitos com qualquer status.
- Ocupados = status==OCUPADO; Disponíveis = status==LIVRE; Reservados = status==RESERVADO; Manutenção = status==MANUTENCAO.
- taxa_ocupacao = ocupados / (total - manutencao); se denominador for 0, definir 0.0.
- Calcular por_unidade agregando pelas mesmas regras do resumo_geral.
- Definir alerta_taxa_ocupacao_acima_90 como true se resumo_geral.taxa_ocupacao >= 0.90.
- unidades_criticas: unidades com taxa_ocupacao >= 0.95 listadas pelo nome.
- Ignorar registros com ultima_atualizacao inválida; se houver mais de 10% inválidos, adicionar campo extra em sinais: {"qualidade_dados_leitos_baixa": true}. 
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 JSON contendo os dados brutos de ocupação de leitos.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 5.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo as métricas operacionais de leitos e os sinais de alerta identificados.
  • Exemplo de Estrutura de Output:
     {
      "leitos": {"resumo_geral": {"total": 0, "ocupados": 0, "disponiveis": 0, "reservados": 0, "manutencao": 0, "taxa_ocupacao": 0.0}, "por_unidade": [ {"unidade": "string", "total": 0, "ocupados": 0, "disponiveis": 0, "reservados": 0, "manutencao": 0, "taxa_ocupacao": 0.0} ] },
      "sinais": {"alerta_taxa_ocupacao_acima_90": true|false, "unidades_criticas": ["string"]},
      "timestamp_calculo": "ISO" 
    }
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 3.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 alertas.
  • 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 de Consolidação Operacional (RF 6).

3.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 - Disponibilidade de Profissionais (RF 4).

RF 4. Agente de Execução de Chamada à API - Disponibilidade de Profissionais

4.1 Tarefa do Agente

Realizar chamada à API do sistema de RH/escala para obter dados brutos de disponibilidade de profissionais.

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um payload pronto para a chamada à API de disponibilidade de profissionais.

# 2. Objetivo
Realizar a chamada à API para obter dados brutos de disponibilidade de profissionais.

# 3. Regras que você deve seguir para gerar sua resposta
- Execute a chamada à API usando o payload recebido, que contém todas as informações necessárias.
- Não é necessário modificar o payload ou adicionar informações adicionais.
- Em caso de falha na chamada da API, registre o erro para análise manual.

# 4. Exemplo de Output que você deve produzir
{
  "dados_profissionais_raw": [ {"profissional_id": "string", "categoria": "MEDICO|ENFERMEIRO|TECNICO|FISIOTERAPEUTA|OUTROS", "unidade": "string", "status": "DISPONIVEL|EM_ATENDIMENTO|AFASTADO|EM_PAUSA", "inicio_turno": "ISO", "fim_turno": "ISO"} ],
  "meta": {"retorno_em": "ISO", "fonte": "SIS-RH"} 
}
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 1).
  • Tipo do input: Este agente deve ser apto a receber como input um JSON contendo o payload para a chamada à API de disponibilidade de profissionais.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 5.000 caracteres.

4.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo os dados brutos de disponibilidade de profissionais, conforme o formato exigido pelo sistema de RH.
  • Exemplo de Estrutura de Output:
     {
      "dados_profissionais_raw": [ {"profissional_id": "string", "categoria": "MEDICO|ENFERMEIRO|TECNICO|FISIOTERAPEUTA|OUTROS", "unidade": "string", "status": "DISPONIVEL|EM_ATENDIMENTO|AFASTADO|EM_PAUSA", "inicio_turno": "ISO", "fim_turno": "ISO"} ],
      "meta": {"retorno_em": "ISO", "fonte": "SIS-RH"} 
    }
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 3.000 caracteres.

4.3.3 Parâmetros de Geração

  • Modelo: Não se aplica (uso de ferramenta)

4.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: O agente deverá enviar o payload recebido para a API externa e retornar os dados brutos como resposta.

4.3.5 Memória

4.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Normalização e Cálculo de Indicadores de Profissionais (RF 5).

RF 5. Agente de Normalização e Cálculo de Indicadores de Profissionais

5.1 Tarefa do Agente

Transformar os dados brutos de profissionais em métricas operacionais padronizadas e detectar condições de alerta.

5.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo dados brutos de disponibilidade de profissionais obtidos da API do sistema de RH.

# 2. Objetivo
Transformar os dados brutos em métricas operacionais padronizadas e detectar condições de alerta.

# 3. Regras que você deve seguir para gerar sua resposta
- Considerar em turno quem possuir agora entre inicio_turno e fim_turno.
- total_em_turno = contagem de profissionais em turno.
- Disponíveis = status==DISPONIVEL; em_atendimento = status==EM_ATENDIMENTO; afastados = status==AFASTADO (não contam em turno); em_pausa = status==EM_PAUSA (contam em turno, não disponíveis).
- taxa_disponibilidade = disponiveis / total_em_turno; se denominador 0, definir 0.0.
- Agregar por unidade; mix por unidade é contagem por categoria dos profissionais em turno.
- alerta_disponibilidade_abaixo_20 = true se resumo_geral.taxa_disponibilidade < 0.20.
- unidades_criticas: unidades com taxa_disponibilidade < 0.15.
- Se tempos de turno inválidos >10%, adicionar em sinais {"qualidade_dados_profissionais_baixa": true}. 
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 JSON contendo os dados brutos de disponibilidade de profissionais.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (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 as métricas operacionais de profissionais e os sinais de alerta identificados.
  • Exemplo de Estrutura de Output:
     {
      "profissionais": {"resumo_geral": {"total_em_turno": 0, "disponiveis": 0, "em_atendimento": 0, "afastados": 0, "em_pausa": 0, "taxa_disponibilidade": 0.0}, "por_unidade": [ {"unidade": "string", "total_em_turno": 0, "disponiveis": 0, "em_atendimento": 0, "taxa_disponibilidade": 0.0, "mix": {"MEDICO": 0, "ENFERMEIRO": 0, "TECNICO": 0, "FISIOTERAPEUTA": 0, "OUTROS": 0}} ] },
      "sinais": {"alerta_disponibilidade_abaixo_20": true|false, "unidades_criticas": ["string"]},
      "timestamp_calculo": "ISO" 
    }
  • 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: GPT-5
  • Temperatura: 0.6

5.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Utiliza lógica interna para cálculo de métricas e alertas.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

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 Consolidação Operacional (RF 6).

5.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Consolidação Operacional (RF 6).

RF 6. Agente de Consolidação Operacional

6.1 Tarefa do Agente

Unificar os indicadores de leitos e profissionais em um quadro único padronizado por unidade e geral.

6.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo métricas operacionais de leitos e de profissionais, cada qual com seus respectivos sinais de alerta.

# 2. Objetivo
Unificar os indicadores de leitos e profissionais em um quadro único padronizado, gerando um resumo operacional e identificando riscos gerais.

# 3. Regras que você deve seguir para gerar sua resposta
- Para geral: usar taxas dos resumos gerais.
- Risco: ALTO se taxa_ocupacao>=0.95 ou taxa_disponibilidade<0.15; MEDIO se taxa_ocupacao>=0.90 ou taxa_disponibilidade<0.20; caso contrário BAIXO.
- Para cada unidade, casar pelo nome; se unidade existir em um conjunto e não no outro, preencher faltantes com zeros.
- ratio_paciente_por_enfermeiro = ocupados_enfermaria_unidade / max(1, profissionais_enfermeiros_em_turno_unidade). Se não houver detalhe de ocupados por unidade, usar taxa_ocupacao*total_unidade aproximado quando disponível; se não, definir como 0.0.
- classificacao por unidade: CRITICO se taxa_ocupacao>=0.95 ou taxa_disponibilidade<0.15; ATENCAO se taxa_ocupacao>=0.90 ou taxa_disponibilidade<0.20; senão OK.
- congestao = true se mais de 30% das unidades estiverem em CRITICO.
- escassez_profissionais = true se média das taxas de disponibilidade por unidade < 0.20. 
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 3).
  • Tipo do input: Este agente deve ser apto a receber como input dois artefatos: métricas operacionais de leitos e métricas operacionais de profissionais.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input combinado de até 10.000 caracteres.

6.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo o quadro unificado de indicadores operacionais e os riscos gerais identificados.
  • Exemplo de Estrutura de Output:
     {
      "situacao_operacional": {"geral": {"taxa_ocupacao": 0.0, "taxa_disponibilidade": 0.0, "risco": "BAIXO|MEDIO|ALTO"}, "por_unidade": [ {"unidade": "string", "taxa_ocupacao": 0.0, "taxa_disponibilidade": 0.0, "ratio_paciente_por_enfermeiro": 0.0, "classificacao": "OK|ATENCAO|CRITICO"} ] },
      "sinais_globais": {"congestao": true|false, "escassez_profissionais": true|false},
      "timestamp_consolidacao": "ISO" 
    }
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 4.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 métricas e alertas.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

6.3.5 Memória

6.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Otimização de Alocação de Recursos (RF 7).

RF 7. Agente de Otimização de Alocação de Recursos

7.1 Tarefa do Agente

Gerar recomendações práticas de realocação de profissionais e gestão de leitos para maximizar a eficiência do atendimento.

7.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um quadro unificado de indicadores operacionais e riscos gerais identificados, incluindo restrições operacionais.

# 2. Objetivo
Gerar recomendações práticas de realocação de profissionais e gestão de leitos para maximizar a eficiência do atendimento.

# 3. Regras que você deve seguir para gerar sua resposta
- Priorizar ações nas unidades classificadas como CRITICO, depois ATENCAO.
- Realocação: propor mover profissionais ociosos (DISPONIVEIS) de unidades OK para unidades CRITICO mantendo categoria compatível. quantidade = min(disponiveis_origem, necessidade_destino), onde necessidade_destino visa elevar taxa_disponibilidade destino para >=0.25.
- Transferência de pacientes: se transferencia_pacientes_permitida=true e houver unidades com taxa_ocupacao>0.95 e outras <0.80, sugerir mover min(ocupados_excesso, capacidade_folga_destino) pacientes, limitado por max_transferencias_por_janela.
- Ajuste de escala: quando média de taxa_disponibilidade <0.18, recomendar acionar plantão extra para categorias com maior déficit.
- Abertura/fechamento de leitos: sugerir abertura se taxa_ocupacao>0.95 e houver leitos em MANUTENCAO passíveis de retorno; sugerir fechamento temporário apenas se taxa_ocupacao<0.50 e falta de profissionais não for o gargalo.
- Calcular impacto_esperado de forma coerente com as quantidades sugeridas, estimando nova taxa pós-ação.
- Definir prioridade: ALTA se ação reduz risco de ALTO para MEDIO/BAIXO; MEDIA se melhora dentro do mesmo nível; BAIXA para ajustes marginais.
- Se nenhuma recomendação cumprir restrições, definir flags.nenhuma_acao_necessaria=true e retornar lista vazia. 
7.3 Configurações do Agente

7.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 6).
  • Tipo do input: Este agente deve ser apto a receber como input um JSON contendo o quadro unificado de indicadores operacionais e restrições operacionais.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 10.000 caracteres.

7.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo as recomendações práticas de alocação de recursos e a priorização de ações.
  • Exemplo de Estrutura de Output:
     {
      "recomendacoes": [ {"tipo": "REALOCACAO_PROFISSIONAIS|TRANSFERENCIA_PACIENTES|ABERTURA_FECHAMENTO_LEITOS|AJUSTE_ESCALA", "descricao": "string", "unidade_origem": "string|null", "unidade_destino": "string|null", "quantidade": 0, "justificativa": "string", "impacto_esperado": {"delta_taxa_ocupacao": 0.0, "delta_taxa_disponibilidade": 0.0, "melhora_ratio": 0.0} } ],
      "priorizacao": [ {"id_recomendacao": 0, "prioridade": "ALTA|MEDIA|BAIXA"} ],
      "flags": {"nenhuma_acao_necessaria": true|false} 
    }
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 5.000 caracteres.

7.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

7.3.4 Ferramentas do Agente

  • Documentos: O conteúdo do documento "Políticas de Gestão Hospitalar" é inserido integralmente na janela de contexto, ao final do prompt principal, para garantir que o agente tenha acesso às informações mais atualizadas sobre políticas e restrições durante a geração da resposta.
  • Calculadora: Utiliza lógica interna para cálculo de impacto esperado.
  • Busca Online: Não utiliza.
  • Sistemas Externos: O output pode ser encaminhado ao sistema de gestão hospitalar para registro/execução das recomendações conforme políticas locais.

7.3.5 Memória

  • Visibilidade das Instruções (Prompt): As instruções deste agente podem ser acessadas posteriormente para fins de auditoria.
  • Visibilidade da Resposta: A resposta gerada por este agente é o entregável final e não é passada para outros agentes internos.

7.3.6 Regras de Orquestração e Transição

A execução deste agente finaliza o fluxo. As recomendações geradas são o resultado que deve ser disponibilizado ao usuário.

© 2025 prototipe.ai. Todos os direitos reservados.