Agente de IA para Encaminhamento de Pacientes para Internação

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

Como criar um agente de IA que analisa e organiza as informações necessárias para o encaminhamento de pacientes.

1. Propósito e Escopo

Este documento define todos os prompts, configurações de memória, transição entre estados, ferramentas como chamadas a sistemas externos e demais requisitos funcionais para o Fluxo de Agentes "Encaminhamento de Pacientes para Internação", uma solução de automação projetada para garantir que todos os dados relevantes estejam completos e precisos durante o encaminhamento de pacientes do pronto atendimento para internação. 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 é transformar dados brutos em informações organizadas e estruturadas para assegurar um processo de internação eficiente e sem erros.

2. Contexto e Problema

Cenário Atual

No ambiente hospitalar, o processo de internação de pacientes a partir do pronto atendimento enfrenta desafios críticos:

  • Informações incompletas ou imprecisas durante o encaminhamento de pacientes, causando atrasos ou erros no processo de internação.
  • Falta de comunicação eficiente entre o pronto atendimento e as unidades de internação.

A ausência de dados precisos e organizados pode levar a decisões erradas, comprometer a segurança do paciente e aumentar o tempo de espera para a admissão.


Problemas Identificados

  • Dados Incompletos: Informações críticas como diagnóstico presuntivo, sinais vitais e medicações administradas frequentemente estão ausentes ou desatualizadas.
  • Comunicação Ineficiente: O fluxo de informação entre o pronto atendimento e as unidades de internação é fragmentado, levando a mal-entendidos e a necessidade de revalidações.
  • Erros no Processo: A falta de padronização nos dados de encaminhamento pode resultar em erros na admissão e alocação de leitos inadequados.

3. Impactos Esperados

A implementação deste fluxo de automação visa alcançar os seguintes resultados:

  • Reduzir atrasos no processo de internação ao garantir que todas as informações necessárias estejam disponíveis e precisas.
  • Melhorar a comunicação entre as equipes do pronto atendimento e de internação.
  • Aumentar a segurança do paciente ao assegurar que as decisões de internação sejam baseadas em dados completos e corretos.
  • Minimizar erros no processo de admissão e alocação de leitos.

4. Visão Geral da Solução

O agente de IA para encaminhamento de pacientes para internação analisa dados brutos do pronto atendimento, organiza e normaliza as informações em um dossiê clínico estruturado, e facilita a comunicação entre as equipes para um processo de admissão 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 no processo de internação hospitalar.

A solução consiste em um fluxo de automação composto por quatro agentes de IA. O processo inicia com a normalização dos dados do paciente e termina com o envio da comunicação estruturada para a unidade de internação.

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

Agentes Função Principal
Agente de Normalização e Organização de Dados do Paciente (RF 1) Receber dados brutos e produzir um dossiê clínico estruturado para internação.
Agente de Verificação de Completude e Consistência para Internação (RF 2) Avaliar o dossiê estruturado e identificar pendências e inconsistências.
Agente de Preparação de Comunicação para Internação (Handoff SBAR) (RF 3) Gerar mensagem estruturada para a unidade de internação com dados críticos do paciente.
Agente de Execução de Chamada à API (RF 4) Enviar o payload de comunicação e retornar o status do envio.

5. Protótipos

Para proporcionar uma visão clara e tangível da solução proposta, criamos protótipos interativos que demonstram tanto o fluxo de trabalho dos agentes quanto o resultado final que a equipe de internação receberá. Explore os links abaixo para entender melhor a solução em ação.

6. Requisitos Funcionais

RF 1. Agente de Normalização e Organização de Dados do Paciente

1.1 Tarefa do Agente

Receber dados brutos do pronto atendimento e produzir um dossiê clínico estruturado e normalizado para uso no processo de internação.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo dados brutos do paciente provenientes do pronto atendimento. Este input pode incluir texto livre, formulários ou JSON parcial com informações como identificação, dados clínicos, sinais vitais, exames, terapêutica administrada, riscos e necessidades de leito.

# 2. Objetivo
Analisar e organizar automaticamente os dados do paciente, garantindo que todas as informações necessárias estejam disponíveis para a equipe de internação.

# 3. Regras que você deve seguir para gerar sua resposta
- Padronize datas no formato ISO 8601 (YYYY-MM-DD ou YYYY-MM-DDTHH:MM:SSZ) quando fornecidas; se o fuso não for conhecido, mantenha a hora local sem offset.
- Calcule idade a partir de data_nascimento quando possível; se não houver data, preserve idade informada e marque origem_idade como 'informada'.
- Converta unidades para o sistema métrico: temperatura em °C, peso em kg, altura em cm; se unidade for ambígua, não converta e marque campo unidade_desconhecida.
- Preencha suporte_oxigenio.tipo: defina 'ar_ambiente' se SpO2 presente sem registro de O2; 'cateter' se houver fluxo 1-5 L/min; 'mascara' se 6-10 L/min sem VNI/VM; 'VNI'/'VM' se explicitado.
- Derive imc = peso_kg / (altura_m^2) se peso e altura válidos; caso contrário, deixe imc nulo.
- Classifique interpretacao de exames como baixo/normal/alto se houver referência explícita; caso contrário, defina 'desconhecida'.
- Normalize listas (comorbidades, alergias, medicações) removendo duplicatas por comparação case-insensitive e campos chave.
- Não invente dados: se um campo não for encontrado, deixe nulo e registre o caminho JSON em 'faltantes'.
- Valide consistência básica: idade entre 0 e 120, SpO2 0-100, temp 30-45°C, FC 20-250 bpm, FR 5-80 irpm; valores fora desses intervalos permanecem, mas adicione nota em dossie_estruturado.observacoes indicando 'valor_atipico'.
- Mapeie tipo_leito inicialmente como 'indefinido'; não assuma especialidade_destino sem evidência textual. 
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 dados brutos do paciente via API após o atendimento estar finalizado. Na fase de testes, os dados serão enviados pelo agente diretamente por upload de um csv na interface da Prototipe AI, para acelerar o processo de validação.
  • Tipo do input: Dados brutos do paciente em texto livre, formulários ou JSON parcial.
  • Formatos Suportados: Esse agente deve ser capaz de receber dados nos formatos: .json, .txt, .csv.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 20.000 caracteres.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON estruturado contendo o dossiê clínico do paciente, com todas as informações organizadas e normalizadas.
  • Exemplo de Estrutura de Output:
     {"paciente_id":"string|nullable","dossie_estruturado":{ "identificacao": {"nome_completo":"string|nullable","data_nascimento":"YYYY-MM-DD|nullable","idade":"int|auto","sexo":"M|F|Outro|nullable","documento_identificacao":"string|nullable","contato_responsavel":"string|nullable"}, "quadro_clinico": {"queixa_principal":"string|nullable","diagnostico_presuntivo":"string|nullable","inicio_sintomas":"YYYY-MM-DDTHH:MM:SSZ|nullable","comorbidades":["string"],"alergias":[{"substancia":"string","reacao":"string|nullable","gravidade":"leve|moderada|grave|desconhecida","fonte":"relato|prontuario|teste|desconhecida"}],"medicacoes_uso_continuo":["string"],"medicacoes_administradas_PA":[{"medicacao":"string","dose":"string|nullable","via":"string|nullable","horario":"ISO8601|nullable"}],"sinais_vitais":{"ultimo_registro":{"data_hora":"ISO8601|nullable","pa_mmHg":"string|nullable","fc_bpm":"int|nullable","fr_irpm":"int|nullable","temp_c":"number|nullable","spo2_pct":"int|nullable"}},"suporte_oxigenio":{"tipo":"ar_ambiente|cateter|mascara|VNI|VM|desconhecido","fiO2_pct":"int|nullable","fluxo_Lmin":"number|nullable"},"estado_consciencia":{"escala":"AVPU|GCS|desconhecida","valor":"string|nullable"},"hemodinamica":{"instavel":"bool","lactato_mmolL":"number|nullable"},"riscos":{"queda":"bool|nullable","lesao_pressao":"bool|nullable","isolamento_necessario":{"necessita":"bool","tipo":"contato|goticulas|aerossol|nenhum|avaliar"}},"nutricao_hidratacao":{"dieta":"liberada|NPO|enteral|parenteral|desconhecida","ultima_ingestao":"ISO8601|nullable"},"dispositivos":[{"tipo":"CVC|PIV|SNG|SVD|Dreno|Outro","local":"string|nullable","data_implante":"ISO8601|nullable"}],"exames_laboratoriais":[{"exame":"string","valor":"string|number","unidade":"string|nullable","referencia":"string|nullable","data_hora":"ISO8601|nullable","interpretacao":"baixo|normal|alto|desconhecida"}],"imagens":[{"tipo":"RX|TC|US|RM|Outro","achados_relevantes":"string|nullable","data_hora":"ISO8601|nullable"}]}, "encaminhamento": {"especialidade_destino":"string|nullable","tipo_leito":"enfermaria|semi-intensiva|UTI|isolamento|indefinido","prioridade":"baixa|media|alta|emergencia","codigo_reanimacao":"full|DNR|indefinido","observacoes":"string|nullable"}, "antropometria": {"peso_kg":"number|nullable","altura_cm":"number|nullable","imc":"number|auto"}}, "faltantes":["lista_de_campos_nao_preenchidos"], "normalizacao_status":"ok|parcial|falhou"} 
  • Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 15.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

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

Ao concluir sua execução, esse agente aciona o Agente de Verificação de Completude e Consistência para Internação (RF 2).

RF 2. Agente de Verificação de Completude e Consistência para Internação

2.1 Tarefa do Agente

Avaliar o dossiê estruturado, identificar pendências e inconsistências e indicar prontidão para internação.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o dossiê estruturado produzido pelo Agente de Normalização e Organização de Dados do Paciente.

# 2. Objetivo
Avaliar o dossiê estruturado para identificar pendências e inconsistências e indicar se o paciente está pronto para internação.

# 3. Regras que você deve seguir para gerar sua resposta
- Considere 'sinais_vitais_recentes' como 'ok' se houver registro há ≤ 2 horas do horário atual do PA; caso contrário, 'pendente'.
- Marque 'identificacao' como 'ok' se houver pelo menos nome_completo e um entre data_nascimento ou documento_identificacao.
- Marque 'alergias' como 'ok' se a lista for não vazia; se desconhecida, aceite 'nenhuma' explicitamente; ausência total é 'pendente'.
- Exija pelo menos um diagnóstico_presuntivo não vazio para 'diagnostico_presuntivo' = 'ok'.
- Para 'medicacoes_administradas_PA', aceite como 'ok' se houver ao menos um registro com medicação e horário aproximado.
- Para 'acessos_dispositivos', 'ok' se existir ao menos um acesso venoso (CVC ou PIV) ativo ou justificativa de ausência.
- Para 'exames_relevantes', 'ok' se existir pelo menos um resultado que apoie o diagnóstico (lab ou imagem) quando a condição usualmente requer confirmação; se diagnóstico for puramente clínico (ex.: crise asmática leve), aceite ausência.
- Determine 'tipo_leito_sugerido': UTI se qualquer critério: VNI/VM ativos; PA sistólica < 90 mmHg ou sinais de choque; lactato ≥ 4; GCS < 13 persistente; SpO2 < 90% com O2; semi-intensiva se necessidade de monitorização contínua sem critérios de UTI; enfermaria caso contrário; se isolamento_recomendado ≠ 'nenhum', priorize leito de isolamento.
- Defina 'isolamento_recomendado' com base em texto do diagnóstico e riscos: pneumonia viral suspeita → 'goticulas'; TB suspeita → 'aerossol'; diarreia infecciosa/colonização MRSA → 'contato'; na dúvida, 'avaliar'.
- Calcule 'prioridade_sugerida': 'emergencia' se risco imediato à vida; 'alta' se deterioração provável em < 6h; 'media' se estável com necessidades específicas; 'baixa' se eletivo/observação.
- Defina 'admissao_pronta' como true somente se todos os itens do 'checklist_minimos' estiverem 'ok' ou justificativamente dispensados; qualquer pendência 'alta' torna false.
- Inclua em 'inconsistencias' conflitos como: idade < 0, data futura, medicação administrada antes da chegada, SpO2 < 90% com 'ar_ambiente' e sem desconforto descrito. 
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: Dossiê estruturado do paciente, contendo informações organizadas e normalizadas pelo agente anterior.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 15.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON indicando a prontidão para internação, com checklist, pendências, inconsistências e sugestões de prioridade e tipo de leito.
  • Exemplo de Estrutura de Output:
     {"admissao_pronta": true|false, "checklist_minimos": {"identificacao":"ok|pendente","diagnostico_presuntivo":"ok|pendente","sinais_vitais_recentes":"ok|pendente","alergias":"ok|pendente","medicacoes_administradas_PA":"ok|pendente","comorbidades_relevantes":"ok|pendente","suporte_oxigenio":"ok|pendente","acessos_dispositivos":"ok|pendente","exames_relevantes":"ok|pendente","isolamento":"ok|pendente","tipo_leito":"ok|pendente","codigo_reanimacao":"ok|pendente"}, "pendencias": [{"campo":"path.json","descricao":"string","severidade":"baixa|media|alta"}], "inconsistencias": [{"descricao":"string","gravidade":"baixa|media|alta","campos_relacionados":["path1","path2"]}], "prioridade_sugerida":"baixa|media|alta|emergencia", "tipo_leito_sugerido":"enfermaria|semi-intensiva|UTI|isolamento", "isolamento_recomendado":"nenhum|contato|goticulas|aerossol|avaliar", "resumo_campos_criticos": {"spo2_pct":"int|nullable","suporte_oxigenio":"string|nullable","pa_mmHg":"string|nullable","fc_bpm":"int|nullable","temp_c":"number|nullable"}} 
  • Número de caracteres esperado: O JSON gerado deve ser conciso e informativo, com um tamanho estimado em torno de 10.000 caracteres.

2.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

2.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

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 Preparação de Comunicação para Internação (Handoff SBAR) (RF 3).

RF 3. Agente de Preparação de Comunicação para Internação (Handoff SBAR)

3.1 Tarefa do Agente

Gerar mensagem estruturada e concisa para a unidade de internação com os dados críticos do paciente, incluindo checklist e pendências.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o dossiê estruturado do Agente de Normalização e o resultado do Agente de Verificação (admissao_pronta, pendencias, tipo_leito_sugerido, prioridade_sugerida).

# 2. Objetivo
Gerar uma mensagem estruturada para a unidade de internação, contendo os dados críticos do paciente e facilitando o processo de admissão.

# 3. Regras que você deve seguir para gerar sua resposta
- Estruture o corpo em SBAR: S (situação, 2-3 linhas), B (antecedentes relevantes, até 4 bullets), A (avaliação atual com vitais-chave e suporte de O2), R (recomendação: tipo de leito, prioridade, isolamento).
- Inclua sempre: diagnóstico presuntivo, suporte_oxigenio (tipo/fluxo/FiO2), último conjunto de sinais vitais com horário, alergias críticas, dispositivos invasivos, código de reanimação, isolamento recomendado.
- Se 'pendencias' não estiver vazio, adicione seção 'Pendências para completar na admissão' com itens ordenados por severidade; defina 'possui_pendencias' = true.
- Limites de tamanho: assunto ≤ 120 caracteres; cada seção do SBAR ≤ 600 caracteres; bullets com até 90 caracteres.
- Converta abreviações ambíguas em termos claros (ex.: 'SNG' → 'Sonda nasogástrica' entre parênteses na primeira ocorrência).
- Defina 'canal' como 'sistema_ADT' se o contexto mencionar integração; caso contrário, 'mensageria'.
- Preencha 'metadados.timestamp' com o momento de geração e replique paciente_id quando disponível. 
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: Dossiê estruturado do paciente e informações adicionais sobre pendências e prontidão para internação.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 15.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser uma mensagem estruturada em SBAR para a unidade de internação, incluindo checklist, pendências e dados críticos do paciente.
  • Exemplo de Estrutura de Output:
     {"destinatario_unidade":"nome_ou_setor","canal":"mensageria|email|sistema_ADT|outro","assunto":"Encaminhamento para internação - Paciente {nome} ({prioridade})","corpo_texto":"string_SBAR","anexos_estruturados": {"checklist_minimos":{},"parametros_recentes":{},"medicacoes_administradas_PA":[],"exames_relevantes":[],"pendencias":[]}, "possui_pendencias": true|false, "confirmacao_requerida": true, "metadados": {"paciente_id":"string|nullable","tipo_leito_sugerido":"string","prioridade_sugerida":"string","timestamp":"ISO8601"}} 
  • Número de caracteres esperado: O output gerado deve ser claro e direto, com um tamanho estimado em torno de 10.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: Não utiliza.
  • 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.
  • Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Execução de Chamada à API (RF 4).

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 (RF 4).

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

4.1 Tarefa do Agente

Realizar o envio do payload de comunicação para o sistema/unidade de internação e retornar o status do envio.

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o payload pronto contendo destinatario_unidade, canal, assunto, corpo_texto, anexos_estruturados e metadados.

# 2. Objetivo
Enviar o payload de comunicação para o sistema ou unidade de internação e retornar o status do envio.

# 3. Regras que você deve seguir para gerar sua resposta
- Envie o payload para o sistema de destino através da API especificada.
- Capture o status do envio, incluindo sucesso ou falha, e registre o protocolo de envio quando aplicável.
- Em caso de falha, documente os detalhes do erro para análise posterior.
- Garanta que o horário do envio seja registrado no formato ISO 8601.

# 4. Exemplo de Output que você deve produzir
{"status_envio":"sucesso|falha","protocolo":"string|nullable","horario_envio":"ISO8601","detalhes_falha":"string|nullable"} 
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: Payload de comunicação pronto para envio, contendo todas as informações necessárias para a unidade de internação.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 10.000 caracteres.

4.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo o status do envio, protocolo, horário de envio e detalhes em caso de falha.
  • Exemplo de Estrutura de Output:
     {"status_envio":"sucesso|falha","protocolo":"string|nullable","horario_envio":"ISO8601","detalhes_falha":"string|nullable"} 
  • Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em torno de 1.000 caracteres.

4.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 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 o status do envio 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 (status do envio) é o entregável final e não é passada para outros agentes internos.

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

A execução deste agente finaliza o fluxo. O status do envio é o resultado que deve ser disponibilizado ao usuário.

© 2025 prototipe.ai. Todos os direitos reservados.