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
- 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 Harmonização e Normalização Clínica (RF 3).
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
- 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 Análise de Condições Pré-existentes (RF 4).
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.