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 Acomodações Hospitalares", uma solução de automação projetada para gerenciar a alocação de pacientes em leitos disponíveis, considerando preferências de acomodação e necessidades médicas. 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 é otimizar a gestão de leitos hospitalares, garantindo que as preferências dos pacientes e suas necessidades médicas sejam atendidas de forma eficiente e em tempo real.
2. Contexto e Problema
Cenário Atual
A gestão de acomodações hospitalares enfrenta desafios significativos, como a falta de visibilidade em tempo real sobre a ocupação de leitos, o que leva a alocações ineficientes. Além disso, é necessário considerar as preferências de acomodação dos pacientes, como quartos privados ou compartilhados, e integrar informações médicas para garantir que as necessidades específicas de saúde dos pacientes sejam atendidas. A coordenação entre diferentes departamentos é crucial para otimizar a gestão de leitos.
Problemas Identificados
- Falta de visibilidade em tempo real: A ausência de dados atualizados sobre a ocupação de leitos dificulta a alocação eficiente.
- Consideração inadequada das preferências dos pacientes: As preferências de acomodação dos pacientes nem sempre são levadas em conta.
- Integração insuficiente de dados médicos: A falta de integração dos dados médicos pode levar a acomodações inadequadas.
- Coordenação deficiente entre departamentos: A comunicação ineficiente entre departamentos pode resultar em uso inadequado dos recursos hospitalares.
3. Impactos Esperados
A implementação deste fluxo de automação visa alcançar os seguintes resultados:
- Melhorar a visibilidade em tempo real da ocupação de leitos, permitindo alocações mais eficientes.
- Garantir que as preferências de acomodação dos pacientes sejam atendidas sempre que possível.
- Integrar dados médicos para priorizar a acomodação baseada em necessidades críticas de saúde.
- Facilitar a comunicação entre departamentos para otimizar a utilização de recursos hospitalares.
4. Visão Geral da Solução
O agente de IA para gestão de acomodações hospitalares monitora continuamente a disponibilidade de leitos, considera as preferências dos pacientes e integra dados médicos para otimizar a alocação de leitos em tempo real. 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 acomodações hospitalares.
A solução consiste em um fluxo de automação composto por 11 agentes de IA. O processo inicia com a preparação de parâmetros de consulta e termina com a atualização do status dos leitos e pacientes no sistema.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Preparador de Parâmetros de Consulta (RF 1)
| Construir parâmetros e payloads para recuperar disponibilidade de leitos e dados de pacientes. |
Agente de Execução de Chamada à API - Leitos (RF 2)
| Obter a disponibilidade e atributos dos leitos. |
Agente de Execução de Chamada à API - Pacientes/EMR (RF 3)
| Obter pacientes aguardando leito e suas necessidades clínicas. |
Normalizador e Consolidador de Dados (RF 4)
| Normalizar e consolidar datasets de leitos e pacientes. |
Avaliador de Elegibilidade de Leitos (RF 5)
| Determinar leitos elegíveis para cada paciente. |
Priorizador de Pacientes (RF 6)
| Calcular a prioridade final de atendimento. |
Alocador Otimizado de Leitos (RF 7)
| Gerar plano de alocação paciente→leito. |
Validador de Conformidade e Preferências (RF 8)
| Auditar o plano de alocação para assegurar conformidade. |
Coordenador Departamental e Notificações (RF 9)
| Preparar comunicações estruturadas para execução do plano. |
Agente de Execução de Chamada à API - Atualização de Status (RF 10)
| Atualizar o status dos leitos e pacientes no sistema. |
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 hospital receberá. Explore os links abaixo para entender melhor a solução em ação.
6. Requisitos Funcionais
RF 1. Preparador de Parâmetros de Consulta
1.1 Tarefa do Agente
Construir os parâmetros e payloads padronizados para recuperar disponibilidade de leitos e dados de pacientes (fila de internação, preferências e necessidades clínicas) a partir dos sistemas do hospital.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um json com o contexto operacional do hospital, incluindo unidades alvo e filtros de status de leitos e pacientes.
# 2. Objetivo
Construir os parâmetros e payloads padronizados para recuperar disponibilidade de leitos e dados de pacientes a partir dos sistemas do hospital.
# 3. Regras que você deve seguir para gerar sua resposta
- Preencher sempre hospital_id e unidades_alvo; se ausente, definir unidades_alvo = todas_unidades.
- Incluir apenas status de leito relevantes ao processo de alocação: livre, em_limpeza, bloqueado_motivo_agendado (excluir ocupado).
- Em payload_api_pacientes, solicitar campos mínimos: id, sexo, idade, diagnósticos (CID), isolamento (tipo), preferências (privativo/compartilhado, ala, acompanhante), prioridade_triagem (numérico), restrições (ex.: oxigênio, monitorização contínua, diálise, bariátrico, acessibilidade).
- Definir janela_horaria_minutos >= 2 e <= 15; se valor de entrada fora do intervalo, ajustar para 5.
- Garantir que todos os arrays sejam únicos e ordenados alfabeticamente para previsibilidade.
# 4. Exemplo de Output que você deve produzir
Parâmetros prontos: {"payload_api_leitos": {"hospital_id": "HSP-001", "unidades": ["UTI Adulto", "Clínica Médica"], "status_incluidos": ["livre", "em_limpeza", "bloqueado"], "atualizados_desde_min": 5}, "payload_api_pacientes": {"hospital_id": "HSP-001", "status_pacientes": ["aguardando_leito"], "campos": ["id","sexo","idade","diagnosticos","isolamento","preferencias","prioridade_triagem","restricoes"], "limite": 500}} 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 JSON com o contexto operacional do hospital 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 do JSON na interface da Prototipe AI, para acelerar o processo de validação.
- Tipo do input: O input inicial para o fluxo é um JSON com o contexto operacional do hospital.
-
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.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON com os parâmetros prontos para a consulta de leitos e pacientes.
-
Exemplo de Estrutura de Output:
Parâmetros prontos: {"payload_api_leitos": {"hospital_id": "HSP-001", "unidades": ["UTI Adulto", "Clínica Médica"], "status_incluidos": ["livre", "em_limpeza", "bloqueado"], "atualizados_desde_min": 5}, "payload_api_pacientes": {"hospital_id": "HSP-001", "status_pacientes": ["aguardando_leito"], "campos": ["id","sexo","idade","diagnosticos","isolamento","preferencias","prioridade_triagem","restricoes"], "limite": 500}} - 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: Não utiliza.
- 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 - Leitos (RF 2) e o Agente de Execução de Chamada à API - Pacientes/EMR (RF 3).
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 - Leitos (RF 2).
RF 2. Agente de Execução de Chamada à API - Leitos
2.1 Tarefa do Agente
Realizar chamada à API do Sistema de Gestão de Leitos para obter a disponibilidade e atributos dos leitos.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o payload_api_leitos pronto, conforme saída do Preparador de Parâmetros de Consulta.
# 2. Objetivo
Realizar chamada à API do Sistema de Gestão de Leitos para obter a disponibilidade e atributos dos leitos.
# 3. Regras que você deve seguir para gerar sua resposta
- Este agente apenas executa a chamada e retorna os dados sem transformação.
# 4. Exemplo de Output que você deve produzir
Dados brutos de leitos: [{"leito_id":"L-101","unidade":"UTI Adulto","status":"livre","sexo_permitido":"indiferente","tipo_quarto":"privativo","equipamentos":["ventilador","monitor"],"isolamento_suportado":["gotículas","contato"],"capacidade":"padrão","acessibilidade":true}] 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 o payload_api_leitos pronto.
-
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é 1.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo os dados brutos de leitos.
-
Exemplo de Estrutura de Output:
Dados brutos de leitos: [{"leito_id":"L-101","unidade":"UTI Adulto","status":"livre","sexo_permitido":"indiferente","tipo_quarto":"privativo","equipamentos":["ventilador","monitor"],"isolamento_suportado":["gotículas","contato"],"capacidade":"padrão","acessibilidade":true}] - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 1.500 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: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Este agente realiza chamadas à API do Sistema de Gestão de Leitos.
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 Normalizador e Consolidador de Dados (RF 4).
2.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 - Pacientes/EMR (RF 3).
RF 3. Agente de Execução de Chamada à API - Pacientes/EMR
3.1 Tarefa do Agente
Realizar chamada à API do prontuário/EMR e fila de internação para obter pacientes aguardando leito, preferências e necessidades clínicas.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o payload_api_pacientes pronto, conforme saída do Preparador de Parâmetros de Consulta.
# 2. Objetivo
Realizar chamada à API do prontuário/EMR e fila de internação para obter pacientes aguardando leito, preferências e necessidades clínicas.
# 3. Regras que você deve seguir para gerar sua resposta
- Este agente apenas executa a chamada e retorna os dados sem transformação.
# 4. Exemplo de Output que você deve produzir
Dados brutos de pacientes: [{"paciente_id":"P-555","sexo":"F","idade":68,"diagnosticos":["J18"],"isolamento":"gotículas","preferencias":{"tipo_quarto":"privativo","ala_preferida":"cardio"},"prioridade_triagem":4,"restricoes":["oxigenio","monitorizacao"]}] 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 o payload_api_pacientes pronto.
-
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é 1.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo os dados brutos de pacientes.
-
Exemplo de Estrutura de Output:
Dados brutos de pacientes: [{"paciente_id":"P-555","sexo":"F","idade":68,"diagnosticos":["J18"],"isolamento":"gotículas","preferencias":{"tipo_quarto":"privativo","ala_preferida":"cardio"},"prioridade_triagem":4,"restricoes":["oxigenio","monitorizacao"]}] - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 1.500 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: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Este agente realiza chamadas à API do prontuário/EMR e fila de internação.
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 Normalizador e Consolidador de Dados (RF 4).
3.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Normalizador e Consolidador de Dados (RF 4).
RF 4. Normalizador e Consolidador de Dados
4.1 Tarefa do Agente
Normalizar formatos, padronizar códigos e consolidar datasets de leitos e pacientes em estruturas consistentes.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo dados brutos de leitos e pacientes provenientes dos agentes de execução de API.
# 2. Objetivo
Normalizar formatos, padronizar códigos e consolidar datasets de leitos e pacientes em estruturas consistentes.
# 3. Regras que você deve seguir para gerar sua resposta
- Converter chaves para snake_case ou camelCase consistente (manter conforme exemplos de output) e normalizar valores booleanos para true/false.
- Mapear diagnósticos para CID quando possível; se já em CID, replicar em cid_normalizado.
- Padronizar valores de isolamento para um conjunto fechado: nenhum, contato, gotículas, aerossóis.
- Remover leitos com status diferente de livre ou em_limpeza do conjunto de elegibilidade.
- Preencher campos ausentes com null e registrar campo data_referencia (ISO8601) comum aos dois datasets.
# 4. Exemplo de Output que você deve produzir
{
"leitos": [{"leito_id":"L-101","unidade":"UTI Adulto","status":"livre","sexo_permitido":"indiferente","tipo_quarto":"privativo","equipamentos":["ventilador","monitor"],"isolamento_suportado":["gotículas","contato"],"capacidade":"padrão","acessibilidade":true}],
"pacientes": [{"paciente_id":"P-555","sexo":"F","idade":68,"diagnosticos":["J18"],"cid_normalizado":["J18"],"isolamento":"gotículas","preferencias":{"tipo_quarto":"privativo","ala_preferida":"cardio"},"prioridade":4,"restricoes":["oxigenio","monitorizacao"]}]
} 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 os dados brutos de leitos e pacientes.
-
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 combinado de até 3.000 caracteres.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON consolidado contendo datasets normalizados de leitos e pacientes.
-
Exemplo de Estrutura de Output:
{ "leitos": [{"leito_id":"L-101","unidade":"UTI Adulto","status":"livre","sexo_permitido":"indiferente","tipo_quarto":"privativo","equipamentos":["ventilador","monitor"],"isolamento_suportado":["gotículas","contato"],"capacidade":"padrão","acessibilidade":true}], "pacientes": [{"paciente_id":"P-555","sexo":"F","idade":68,"diagnosticos":["J18"],"cid_normalizado":["J18"],"isolamento":"gotículas","preferencias":{"tipo_quarto":"privativo","ala_preferida":"cardio"},"prioridade":4,"restricoes":["oxigenio","monitorizacao"]}] } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 2.500 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 Avaliador de Elegibilidade de Leitos (RF 5).
4.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Avaliador de Elegibilidade de Leitos (RF 5).
RF 5. Avaliador de Elegibilidade de Leitos
5.1 Tarefa do Agente
Determinar, para cada paciente, quais leitos são elegíveis considerando restrições rígidas (clínicas e operacionais).
5.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo datasets normalizados de leitos e pacientes.
# 2. Objetivo
Determinar, para cada paciente, quais leitos são elegíveis considerando restrições rígidas (clínicas e operacionais).
# 3. Regras que você deve seguir para gerar sua resposta
- Elegibilidade exige atender simultaneamente: (a) isolamento compatível (paciente_isolamento em isolamento_suportado ou paciente sem isolamento), (b) equipamentos requeridos presentes em leito.equipamentos, (c) sexo compatível se leito restringe sexo, (d) capacidade compatível (ex.: bariátrico requer leito bariátrico), (e) acessibilidade quando paciente possui restrição de mobilidade, (f) unidade/ala se houver exigência clínica definida.
- Se leito.status = em_limpeza, marcar elegível_pendente = true e incluir motivo informativo: "aguardar_limpeza".
- Registrar todos os motivos de não elegibilidade com códigos estáveis: isolamento_incompativel, equipamento_ausente, sexo_incompativel, capacidade_insuficiente, sem_acessibilidade, ala_incompativel.
- Não aplicar preferências nesta etapa; apenas restrições rígidas.
# 4. Exemplo de Output que você deve produzir
Matriz de elegibilidade: [{"paciente_id":"P-555","leito_id":"L-101","elegivel":true,"motivos_nao_elegibilidade":[]} , {"paciente_id":"P-555","leito_id":"L-102","elegivel":false,"motivos_nao_elegibilidade":["isolamento_incompativel","equipamento_ausente"]}] 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 os datasets normalizados de leitos e pacientes.
-
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é 3.000 caracteres.
5.3.2 Especificação do Output
- Formato de output: O output deve ser uma matriz de elegibilidade em formato JSON.
-
Exemplo de Estrutura de Output:
Matriz de elegibilidade: [{"paciente_id":"P-555","leito_id":"L-101","elegivel":true,"motivos_nao_elegibilidade":[]} , {"paciente_id":"P-555","leito_id":"L-102","elegivel":false,"motivos_nao_elegibilidade":["isolamento_incompativel","equipamento_ausente"]}] - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 2.500 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.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
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 Priorizador de Pacientes (RF 6).
5.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Priorizador de Pacientes (RF 6).
RF 6. Priorizador de Pacientes
6.1 Tarefa do Agente
Calcular a prioridade final de atendimento para ordenação da fila de alocação, combinando gravidade clínica e regras operacionais.
6.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo a lista de pacientes e, opcionalmente, políticas de priorização do hospital.
# 2. Objetivo
Calcular a prioridade final de atendimento para ordenação da fila de alocação.
# 3. Regras que você deve seguir para gerar sua resposta
- score_prioridade = triagem_base (0-80) + tempo_espera (0-15) + restricoes_especiais (0-10) - penalidades (0-10). Limitar resultado a 0..100.
- triagem_base: mapear prioridade clínica (ex.: 1 a 5) para 80..20 de forma decrescente; se ausente, usar 40.
- tempo_espera: 1 ponto por hora completa, até 15.
- restricoes_especiais: +10 se paciente requer combinação rara (ex.: isolamento aerossóis + bariátrico), +5 se requer 2+ equipamentos críticos.
- Penalidade: -5 se preferência estrita inviabiliza múltiplos leitos disponíveis (evitar travar operação), mantendo registro da justificativa.
- Empate: desempatar por maior tempo_espera; persistindo, idade mais avançada; persistindo, ordem alfabética de paciente_id.
# 4. Exemplo de Output que você deve produzir
Fila priorizada: [{"paciente_id":"P-555","score_prioridade":92,"componentes":{"triagem":70,"tempo_espera":12,"restricoes_raras":10},"classificacao":"critico"}] 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 a lista de pacientes normalizada e, opcionalmente, políticas de priorização do hospital.
-
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é 3.000 caracteres.
6.3.2 Especificação do Output
- Formato de output: O output deve ser uma fila priorizada em formato JSON.
-
Exemplo de Estrutura de Output:
Fila priorizada: [{"paciente_id":"P-555","score_prioridade":92,"componentes":{"triagem":70,"tempo_espera":12,"restricoes_raras":10},"classificacao":"critico"}] - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 2.500 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: Não utiliza.
- 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 deve ser visível para o Alocador Otimizado de Leitos (RF 7).
6.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Alocador Otimizado de Leitos (RF 7).
RF 7. Alocador Otimizado de Leitos
7.1 Tarefa do Agente
Gerar plano de alocação paciente→leito respeitando elegibilidade, prioridades e preferências, com critérios de desempate e justificativas explícitas.
7.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo a matriz de elegibilidade e a fila priorizada.
# 2. Objetivo
Gerar plano de alocação paciente→leito respeitando elegibilidade, prioridades e preferências.
# 3. Regras que você deve seguir para gerar sua resposta
- Percorrer a fila priorizada e alocar o primeiro leito elegível que maximize atendimento de preferências: ordem de preferência: tipo_quarto, ala_preferida, proximidade_servico.
- Se preferência não puder ser atendida, permitir alocação com violação justificada quando score_prioridade >= 80 ou quando ociosidade de leito for zero na unidade. Registrar violacoes_preferencia como códigos: tipo_quarto, ala, acompanhante.
- Proibir alocação que viole restrições rígidas (nunca alocar elegivel=false).
- Evitar conflitos: um leito só pode ser alocado a um paciente; ao alocar, marcar leito como reservado_no_plano.
- Gerar justificativa clara com base em: "maior_prioridade", "único_leito_elegível", "preferência_atendida", "preferência_não_atendida_por_indisponibilidade".
- Produzir campo impacto_operacional: "libera_sala_cirurgica", "evita_prolongamento_PS" quando aplicável, com base em dados de origem.
# 4. Exemplo de Output que você deve produzir
Plano de alocação: {"alocacoes": [{"paciente_id":"P-555","leito_id":"L-101","preferencia_atendida": true,"violacoes_preferencia":[],"justificativa":"maior_prioridade","status":"proposta"}], "nao_alocados": [{"paciente_id":"P-777","motivo":"sem_leito_elegivel"}]} 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 a matriz de elegibilidade e a fila priorizada.
-
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.
7.3.2 Especificação do Output
- Formato de output: O output deve ser um plano de alocação em formato JSON.
-
Exemplo de Estrutura de Output:
Plano de alocação: {"alocacoes": [{"paciente_id":"P-555","leito_id":"L-101","preferencia_atendida": true,"violacoes_preferencia":[],"justificativa":"maior_prioridade","status":"proposta"}], "nao_alocados": [{"paciente_id":"P-777","motivo":"sem_leito_elegivel"}]} - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 3.500 caracteres.
7.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
7.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
7.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 Validador de Conformidade e Preferências (RF 8).
7.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Validador de Conformidade e Preferências (RF 8).
RF 8. Validador de Conformidade e Preferências
8.1 Tarefa do Agente
Auditar o plano de alocação para assegurar conformidade clínica, regulatória e respeito às preferências quando possível.
8.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o plano de alocação proposto, datasets normalizados e políticas do hospital (opcional).
# 2. Objetivo
Auditar o plano de alocação para assegurar conformidade clínica, regulatória e respeito às preferências quando possível.
# 3. Regras que você deve seguir para gerar sua resposta
- Verificar que 100% das alocações possuem elegibilidade=true na matriz original.
- Calcular percentual_preferencias_atendidas e sinalizar se < 60% com aviso de atenção operacional.
- Garantir que isolamentos com risco de aerossóis sejam alocados apenas em leitos que suportem aerossóis.
- Checar conflitos de gênero quando quartos forem compartilhados e a política exigir segregação.
- Validar que não existam dois pacientes designados ao mesmo leito no plano.
- Classificar itens em erros (bloqueiam execução) e avisos (não bloqueiam).
# 4. Exemplo de Output que você deve produzir
Relatório de validação: {"conforme": true, "erros": [], "avisos": ["3 alocações sem preferência de ala"], "metricas": {"percentual_preferencias_atendidas": 72, "tempo_medio_espera_previsto_min": 34}} 8.3 Configurações do Agente
8.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 7).
- Tipo do input: Este agente deve ser apto a receber como input o plano de alocação proposto e datasets normalizados.
-
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.
8.3.2 Especificação do Output
- Formato de output: O output deve ser um relatório de validação em formato JSON.
-
Exemplo de Estrutura de Output:
Relatório de validação: {"conforme": true, "erros": [], "avisos": ["3 alocações sem preferência de ala"], "metricas": {"percentual_preferencias_atendidas": 72, "tempo_medio_espera_previsto_min": 34}} - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 2.000 caracteres.
8.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
8.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
8.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 Coordenador Departamental e Notificações (RF 9).
8.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Coordenador Departamental e Notificações (RF 9).
RF 9. Coordenador Departamental e Notificações
9.1 Tarefa do Agente
Preparar comunicações estruturadas para enfermagem, higienização, transporte, equipe médica e admissão, a fim de executar o plano de alocação.
9.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o plano validado e status de leitos (para identificar limpeza/transferência).
# 2. Objetivo
Preparar comunicações estruturadas para execução do plano de alocação.
# 3. Regras que você deve seguir para gerar sua resposta
- Para leitos em_limpeza com alocação pendente, gerar mensagem à higienização com SLA recomendado (<=20 min em áreas críticas).
- Para cada alocação, enviar instruções à enfermagem contendo: paciente_id, leito_id, isolamento, preferencia_atendida (sim/não) e justificativa.
- Se transferência interunidades for necessária, incluir transporte com janela de execução e ponto de coleta/entrega.
- Mensagens devem ser objetivas, acionáveis e conter acao_requerida e sla_min.
- Evitar dados sensíveis desnecessários; limitar-se ao mínimo necessário por departamento.
# 4. Exemplo de Output que você deve produzir
Mensagens por departamento: [{"departamento":"enfermagem","mensagem":"Alocar P-555 no L-101 (UTI Adulto). Isolamento: gotículas. Prioridade: crítico.","acao_requerida":"preparar_leito","sla_min":10},{"departamento":"higienizacao","mensagem":"Priorizar limpeza do L-102 para próxima alocação.","acao_requerida":"limpeza","sla_min":20}] 9.3 Configurações do Agente
9.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 8).
- Tipo do input: Este agente deve ser apto a receber como input o plano validado e status de leitos.
-
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.
9.3.2 Especificação do Output
- Formato de output: O output deve ser uma lista de mensagens por departamento em formato JSON.
-
Exemplo de Estrutura de Output:
Mensagens por departamento: [{"departamento":"enfermagem","mensagem":"Alocar P-555 no L-101 (UTI Adulto). Isolamento: gotículas. Prioridade: crítico.","acao_requerida":"preparar_leito","sla_min":10},{"departamento":"higienizacao","mensagem":"Priorizar limpeza do L-102 para próxima alocação.","acao_requerida":"limpeza","sla_min":20}] - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 3.000 caracteres.
9.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
9.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
9.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 - Atualização de Status (RF 10).
9.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 - Atualização de Status (RF 10).
RF 10. Agente de Execução de Chamada à API - Atualização de Status
10.1 Tarefa do Agente
Registrar no sistema de origem as reservas/alocações aprovadas e atualizar o status dos leitos e pacientes.
10.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o payload de atualização pronto para registrar as reservas/alocações aprovadas e atualizar o status dos leitos e pacientes.
# 2. Objetivo
Registrar no sistema de origem as reservas/alocações aprovadas e atualizar o status dos leitos e pacientes.
# 3. Regras que você deve seguir para gerar sua resposta
- Este agente apenas executa a chamada e retorna confirmações e falhas sem transformação.
# 4. Exemplo de Output que você deve produzir
Confirmações do HIS/EMR: {"reservas_aprovadas":["L-101|P-555"], "leitos_atualizados":["L-101->ocupado"], "pacientes_atualizados":["P-555->em_transferencia"], "falhas":[]} 10.3 Configurações do Agente
10.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 9).
- Tipo do input: Este agente deve ser apto a receber como input o payload de atualização pronto.
-
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é 2.000 caracteres.
10.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo confirmações do HIS/EMR.
-
Exemplo de Estrutura de Output:
Confirmações do HIS/EMR: {"reservas_aprovadas":["L-101|P-555"], "leitos_atualizados":["L-101->ocupado"], "pacientes_atualizados":["P-555->em_transferencia"], "falhas":[]} - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 1.500 caracteres.
10.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
10.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Este agente realiza chamadas à API do sistema de origem para registrar atualizações.
10.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.
10.3.6 Regras de Orquestração e Transição
A execução deste agente finaliza o fluxo. As confirmações geradas são o resultado que deve ser disponibilizado ao usuário.