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
- 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 - Ocupação de Leitos (RF 2) e o Agente de Execução de Chamada à API - Disponibilidade de Profissionais (RF 4).
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
- 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 Cálculo de Indicadores de Leitos (RF 3).
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
- 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 Cálculo de Indicadores de Profissionais (RF 5).
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
- 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 Otimização de Alocação de Recursos (RF 7).
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.