Agente de IA para Análise de Histórico Médico em Triagem

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

Como criar um agente de IA que verifica e analisa rapidamente o histórico médico dos pacientes durante a triagem.

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 "Análise de Histórico Médico em Triagem", uma solução de automação projetada para integrar e analisar rapidamente o histórico médico dos pacientes durante a triagem, identificando condições pré-existentes que possam influenciar o atendimento. 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 clínicos de múltiplas fontes em informações estruturadas, permitindo uma triagem mais eficaz e segura.

2. Contexto e Problema

Cenário Atual

O processo de triagem em emergências médicas é frequentemente limitado por tempo e pela necessidade de revisar rapidamente o histórico médico dos pacientes. Problemas identificados incluem:

  • Tempo limitado para revisão do histórico médico durante a triagem de emergência.
  • Possibilidade de ignorar condições pré-existentes críticas devido a análises manuais.
  • Necessidade de integrar informações de saúde de diferentes fontes de forma eficaz.

A análise manual pode resultar em atrasos e erros, potencialmente ignorando condições críticas que afetariam o tratamento imediato.

3. Impactos Esperados

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

  • Reduzir o tempo de revisão do histórico médico em até 70%.
  • Aumentar a precisão na identificação de condições pré-existentes críticas.
  • Padronizar a integração de dados de múltiplas fontes de saúde.
  • Melhorar a priorização de triagem com base em informações clínicas completas e precisas.

4. Visão Geral da Solução

O agente de IA para análise de histórico médico em triagem integra dados de saúde de múltiplas fontes, analisa rapidamente condições pré-existentes e prioriza a triagem com base em condições críticas identificadas. 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 triagem médica.

A solução consiste em um fluxo de automação composto por 5 agentes de IA. O processo inicia com a preparação dos parâmetros de integração e termina com a priorização da triagem.

Agentes Função Principal
Agente de Preparação de Parâmetros de Integração (RF 1) Preparar, validar e estruturar os parâmetros e payloads para integração de dados clínicos de múltiplas fontes.
Agente de Execução de Chamada à API (RF 2) Realizar chamadas às APIs dos sistemas de saúde configurados para obter dados clínicos brutos.
Agente de Harmonização e Normalização Clínica (RF 3) Consolidar e normalizar dados clínicos multi-fontes em um único pacote padronizado para uso em triagem.
Agente de Análise de Condições Pré-existentes (RF 4) Identificar condições pré-existentes relevantes e avaliar impacto no atendimento atual da triagem.
Agente de Priorização de Triagem (RF 5) Atribuir nível de prioridade de triagem com base nas condições críticas identificadas.

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 Parâmetros de Integração

1.1 Tarefa do Agente

Preparar, validar e estruturar os parâmetros e payloads para integração de dados clínicos de múltiplas fontes antes da execução das chamadas.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo dados de pacientes que precisam ser integrados de várias fontes de saúde. Isso inclui identificadores de pacientes, lista de fontes habilitadas, janela temporal e escopos de dados requeridos.

# 2. Objetivo
Preparar, validar e estruturar os parâmetros e payloads para integração de dados clínicos de múltiplas fontes antes da execução das chamadas.

# 3. Regras que você deve seguir para gerar sua resposta
- Valide identificadores: se múltiplos ids foram fornecidos, defina id_preferencial nesta ordem: id_ehr > id_nacional > par nome+data_nascimento. Se só houver nome sem data de nascimento, sinalize 'risco_ambiguidade_identidade:true'.
- Normalize janela temporal: se não informado, use 24 meses; se informado em texto (ex.: '2 anos'), converta para ISO-8601 (ex.: P24M).
- Restrinja escopo ao mínimo necessário para triagem: problemas_ativos, alergias, medicamentos_atuais, resultados_lab_recentes, diagnósticos_crônicos relevantes, últimas internações/procedimentos de alto impacto, sumários clínicos.
- Defina filtros por domínio: laboratoriais (apenas resultados críticos e os últimos valores de hemoglobina, creatinina, potássio, troponina, INR, glicose, lactato), medicamentos (apenas ativos e datas de início/fim), problemas (status=ativo ou resolvido<6m se potencialmente relevante), alergias (todas).
- Construa 'requests' por fonte com: endpoint (string), metodo ('GET' por padrão), headers (inclua Authorization se disponível no input), parametros (id_preferencial, janela_temporal, filtros), corpo (vazio para GET).
- Inclua 'schema_resposta_esperada' com chaves e tipos: problemas[{codigo,cod_sistema,descricao,status,inicio,ultima_atualizacao}], alergias[{agente,reacao,gravidade,fonte,ultima_atualizacao}], medicamentos[{substancia,cod_sistema,dose,unidade,via,freq,ativo,dt_inicio,dt_fim}], resultados_lab[{exame,cod_sistema,valor,unidade,referencia,dt_coleta,criticidade}], procedimentos[{tipo,codigo,dt,observacao}], internacoes[{dt_admissao,dt_alta,motivo,desfecho}], notas_clinicas[{tipo,dt,resumo}].
- Se consentimento_vigente:false, inclua em 'controles' o campo 'bloquear_fontes_sensiveis:["notas_clinicas"]' e marque 'coleta_restrita:true'.
- Se alguma fonte requerida não estiver listada em fontes habilitadas, registre em 'controles.fontes_pendentes' e marque 'completude_dados:parcial'. 
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 de pacientes 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 de um arquivo na interface da Prototipe AI, para acelerar o processo de validação.
  • Tipo do input: O input inicial para o fluxo é um JSON contendo identificadores do paciente, lista de fontes habilitadas, janela temporal e escopos de dados requeridos.
  • 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 contendo array 'requests' com payloads prontos por fonte, 'schema_resposta_esperada' com chaves-padrão por domínio e 'controles'.
  • Exemplo de Estrutura de Output:
     {
      "requests": [
        {
          "endpoint": "https://api.saude.com/ehr",
          "metodo": "GET",
          "headers": {"Authorization": "Bearer token"},
          "parametros": {"id_preferencial": "12345", "janela_temporal": "P24M", "filtros": {"problemas_ativos": true}}
        }
      ],
      "schema_resposta_esperada": {
        "problemas": [{"codigo": "I10", "descricao": "Hipertensão", "status": "ativo"}],
        "alergias": [{"agente": "Penicilina", "reacao": "Rash", "gravidade": "moderada"}]
      },
      "controles": {"coleta_restrita": false}
    } 
  • Número de caracteres esperado: O JSON final deve ser claro e direto, com um tamanho estimado em 2.500 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 (RF 2).

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

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

2.1 Tarefa do Agente

Realizar chamadas às APIs dos sistemas de saúde configurados para obter dados clínicos brutos das fontes especificadas.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON com array 'requests' contendo endpoints, método, headers, parâmetros e corpo; e controles de execução.

# 2. Objetivo
Realizar chamadas às APIs dos sistemas de saúde configurados para obter dados clínicos brutos das fontes especificadas.

# 3. Regras que você deve seguir para gerar sua resposta
- Execute as chamadas conforme os payloads recebidos e retorne as respostas de cada fonte sem transformação semântica.
- Registre 'status_por_fonte', erros, tempo_resposta e paginação em 'meta_execucao'. 
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 com array 'requests' e controles de execuçã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.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON com 'dados_brutos_por_fonte' e 'meta_execucao'.
  • Exemplo de Estrutura de Output:
     {
      "dados_brutos_por_fonte": {
        "ehr": {"dados": "..."},
        "laboratorio": {"dados": "..."}
      },
      "meta_execucao": {
        "status_por_fonte": {"ehr": "sucesso", "laboratorio": "erro"},
        "erros": {"laboratorio": "Timeout"},
        "tempo_resposta": {"ehr": "200ms"}
      }
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 2.000 caracteres.

2.3.3 Parâmetros de Geração

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

2.3.4 Ferramentas do Agente

  • Documentos: Não consulta.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: O agente executa chamadas API conforme especificado nos payloads recebidos.

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 Harmonização e Normalização Clínica (RF 3).

RF 3. Agente de Harmonização e Normalização Clínica

3.1 Tarefa do Agente

Consolidar e normalizar dados clínicos multi-fontes em um único pacote padronizado para uso em triagem.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo dados clínicos brutos de múltiplas fontes para serem consolidados e normalizados.

# 2. Objetivo
Consolidar e normalizar dados clínicos multi-fontes em um único pacote padronizado para uso em triagem.

# 3. Regras que você deve seguir para gerar sua resposta
- Mapeie sistemas de códigos: priorize SNOMED CT/ICD-10 para problemas, RxNorm/BR-Anvisa para medicamentos, LOINC para exames.
- Unidades e valores: converta unidades para padrões convencionados; se conversão não possível, preserve valor original.
- Datas e temporalidade: normalize datas para ISO-8601.
- Desduplicação: considere duplicados quando codigo e data estiverem dentro de ±7 dias.
- Status clínico: classifique problemas como 'ativo', 'resolvido' ou 'histórico'.
- Medicamentos: marque 'ativo:true' se dt_fim ausente ou futura.
- Alergias: padronize gravidade em {leve, moderada, grave, anafilaxia}.
- Rastreabilidade: inclua 'origem.fonte', 'origem.id_registro' e 'origem.dt_coleta'.
- Qualidade de dados: compute 'completude_por_dominio' em % e liste 'lacunas'. 
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 com 'dados_brutos_por_fonte'.
  • 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é 20.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON 'dados_integrados_triagem' com dados harmonizados e normalizados.
  • Exemplo de Estrutura de Output:
     {
      "dados_integrados_triagem": {
        "problemas": [{"codigo": "I10", "descricao": "Hipertensão", "status": "ativo"}],
        "alergias": [{"agente": "Penicilina", "reacao": "Rash", "gravidade": "moderada"}]
      },
      "qualidade_dados": {
        "completude_por_dominio": {"problemas": 100, "alergias": 80},
        "lacunas": ["Sem creatinina em 12m"]
      }
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 5.000 caracteres.

3.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

3.3.4 Ferramentas do Agente

  • Documentos: Não consulta.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não utiliza.

3.3.5 Memória

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

Ao concluir sua execução, esse agente aciona o Agente de Análise de Condições Pré-existentes (RF 4).

RF 4. Agente de Análise de Condições Pré-existentes

4.1 Tarefa do Agente

Identificar condições pré-existentes relevantes e avaliar impacto no atendimento atual da triagem.

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo dados clínicos integrados de múltiplas fontes e contexto de triagem.

# 2. Objetivo
Identificar condições pré-existentes relevantes e avaliar impacto no atendimento atual da triagem.

# 3. Regras que você deve seguir para gerar sua resposta
- Relevância temporal: considere condições como relevantes se 'ativo' ou se 'resolvido' há ≤6 meses.
- Condições de alto impacto imediato: destaque insuficiência cardíaca, DRC estádio ≥3, DPOC/asma moderada-grave, coronariopatia.
- Laboratoriais críticos: trate como risco agudo valores recentes com criticidade marcada.
- Interações e segurança medicamentosa: sinalize riscos como anticoagulante + procedimento invasivo.
- Alergias e contraindicações: se alergia grave ao agente planejado, adicione em 'restricoes_e_contraindicacoes'.
- Ajustes por comorbidade: proponha ajustes objetivos.
- Sinais vitais e idade: aumente relevância de comorbidades em extremos de idade e instabilidade.
- Lacunas: liste dados faltantes que mudariam conduta.
- Justificativa: para cada 'condicao_relevante', inclua 'criterio' e 'evidencias'. 
4.3 Configurações do Agente

4.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 3).
  • Tipo do input: Este agente deve ser apto a receber como input um JSON com 'dados_integrados_triagem' e contexto de triagem.
  • 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.

4.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON 'analise_preexistentes' contendo condições relevantes, interações medicamentosas, riscos agudos, ajustes de conduta e lacunas de informação.
  • Exemplo de Estrutura de Output:
     {
      "analise_preexistentes": {
        "condicoes_relevantes": ["Insuficiência Cardíaca"],
        "interacoes_medicamentosas": [{"agenteA": "Warfarina", "agenteB": "Procedimento", "risco": "Alto"}],
        "riscos_agudos": ["Hipercalemia"],
        "recomendacoes_ajuste_conduta": ["Ajustar dose de diurético"],
        "lacunas_informacao": ["Sem creatinina recente"]
      }
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 3.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 são visíveis para nenhum agente subsequente.
  • Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Priorização de Triagem (RF 5).

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

Ao concluir sua execução, esse agente aciona o Agente de Priorização de Triagem (RF 5).

RF 5. Agente de Priorização de Triagem

5.1 Tarefa do Agente

Atribuir nível de prioridade de triagem com base nas condições críticas identificadas e no contexto clínico atual.

5.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo uma análise de condições pré-existentes e contexto clínico atual.

# 2. Objetivo
Atribuir nível de prioridade de triagem com base nas condições críticas identificadas e no contexto clínico atual.

# 3. Regras que você deve seguir para gerar sua resposta
- Mapear para 'critica': risco de vida imediato ou necessidade de intervenção imediata.
- Classificar como 'alta' quando há comorbidade de alto risco sem critérios de crítica.
- Classificar como 'moderada' quando há condição relevante sem sinais de instabilidade.
- Classificar como 'baixa' quando não há condições relevantes ativas.
- Precedência: atribua o maior nível se múltiplos critérios forem atendidos.
- Ações imediatas: para 'critica' inclua medidas de estabilização.
- Tempo alvo: defina 'tempo_max_inicio_atendimento' conforme nível de prioridade.
- Coerência: mantenha nível mais alto se lacunas impactarem a decisão.
- Saída consistente: sempre inclua 'justificativa_concisa'. 
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 'analise_preexistentes' e contexto clínico atual.
  • 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é 8.000 caracteres.

5.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON 'priorizacao_triagem' com nível de prioridade, critérios atingidos, ações imediatas e justificativa concisa.
  • Exemplo de Estrutura de Output:
     {
      "priorizacao_triagem": {
        "prioridade_nivel": "alta",
        "criterios_atingidos": ["Febre em neutropênico"],
        "acoes_imediatas": ["Iniciar antibiótico"],
        "tempo_max_inicio_atendimento": 30,
        "justificativa_concisa": "Febre em paciente imunossuprimido, risco de infecção grave."
      }
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado 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 são visíveis para nenhum agente subsequente.
  • Visibilidade da Resposta: A resposta (JSON de priorização) é o entregável final e não é passada para outros agentes internos.

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

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

© 2025 prototipe.ai. Todos os direitos reservados.