1. Propósito e Escopo
Este documento define todos os prompts, configurações de memória, transição entre estados, consulta a documentos e demais requisitos funcionais para o Fluxo de Agentes "Recomendação de Ajustes em Planos de Cuidado", uma solução projetada para analisar dados clínicos diários e propor ajustes nos planos de cuidado com base em diretrizes médicas reconhecidas. Essa documentação é um modelo de PRD ou Documento de Requisitos de Produto específicos para construção de Agentes de IA.
O objetivo principal é garantir que os planos de cuidado reflitam as condições atuais dos pacientes, integrando dados clínicos em tempo real com diretrizes médicas atualizadas, fornecendo sugestões claras e acionáveis para a equipe médica.
2. Contexto e Problema
Cenário Atual
Atualmente, os planos de cuidado frequentemente ficam desatualizados, não refletindo as condições clínicas atuais dos pacientes. Isso ocorre devido à falta de integração eficaz entre os dados clínicos diários e as diretrizes médicas reconhecidas.
Os problemas enfrentados incluem:
- Planos de cuidado desatualizados que não refletem as condições atuais dos pacientes.
- Falta de integração entre dados clínicos e diretrizes médicas atualizadas.
Problemas Identificados
- Atualização Deficiente: Os planos de cuidado frequentemente não são atualizados em tempo real, levando a discrepâncias no tratamento.
- Integração Ineficiente: A integração entre dados clínicos e diretrizes médicas é insuficiente, resultando em recomendações desatualizadas.
- Falta de Ação: As recomendações não são claras ou acionáveis, dificultando a implementação efetiva pela equipe médica.
3. Impactos Esperados
A implementação deste agente visa alcançar os seguintes resultados:
- Atualizar os planos de cuidado em tempo real, refletindo as condições clínicas atuais dos pacientes.
- Integrar eficazmente dados clínicos com diretrizes médicas reconhecidas.
- Fornecer recomendações claras e acionáveis para a equipe médica, melhorando a qualidade do cuidado.
4. Visão Geral da Solução
O agente de IA para recomendação de ajustes em planos de cuidado analisa dados clínicos diários, consulta diretrizes médicas e sugere ajustes claros e acionáveis nos planos de cuidado. 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 atualização de planos de cuidado.
A solução consiste em um fluxo de automação composto por quatro agentes de IA. O processo inicia com a consolidação de dados clínicos diários e termina com a geração de recomendações de ajustes nos planos de cuidado.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Consolidação de Dados Clínicos Diários (RF 1)
| Unificar e normalizar dados clínicos diários. |
Agente de Preparação de Consulta a Documento (RF 2)
| Gerar parâmetros de busca para diretrizes médicas. |
Agente de Execução de Consulta a Documento (RF 3)
| Consultar documentos de diretrizes médicas. |
Agente de Geração de Recomendações de Ajuste no Plano de Cuidado (RF 4)
| Produzir recomendações de ajustes nos planos de cuidado. |
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 Consolidação de Dados Clínicos Diários
1.1 Tarefa do Agente
Unificar, normalizar e sintetizar dados clínicos diários do paciente em um snapshot padronizado, com cálculo de derivados e marcação de qualidade/recência, para suporte a decisões.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo dados clínicos diários de pacientes em formato JSON. O objetivo é unificar, normalizar e sintetizar esses dados em um snapshot padronizado. # 2. Objetivo Unificar, normalizar e sintetizar dados clínicos diários do paciente em um snapshot padronizado, com cálculo de derivados e marcação de qualidade/recência, para suporte a decisões. # 3. Regras que você deve seguir para gerar sua resposta - Rejeitar processamento sem patient_id e timestamp_coleta; retornar erro de validação no campo qualidade_dados com motivo "faltando_campos_obrigatorios". - Mapear unidades para padrão: pressão em mmHg, temperatura em °C, spo2 em %, creatinina mg/dL, potássio mEq/L. Converter doses para dose_unidade.valor (numérico) e unidade (mg/mcg/g/U). Se unidade ausente e inferência insegura, marcar leitura como suspeita. - Para cada parâmetro, escolher a medição mais recente dentro de ≤48h. Se não houver valor ≤48h, deixar campo ausente e registrar em qualidade_dados.leituras_suspeitas com motivo "desatualizado". - Considerar implausível e mover para leituras_suspeitas: PA_sis<50 ou >280; PA_dias<20 ou >160; FC<20 ou >220; FR<5 ou >60; Temp<32 ou >42; SpO2<50 ou >100; K+<2 ou >8; creatinina<0.2 ou >20. Não usar valores suspeitos para o atual. - MAP=PA_dias + (PA_sis−PA_dias)/3 quando ambos presentes; Choque_index=FC/PA_sis quando PA_sis>0; eGFR (CKD-EPI 2021, sexo e idade se disponíveis; se faltar, não calcular). Calcular deltas de tendências em 48h como último−primeiro; direção conforme sinal do delta com tolerância |delta|<1% do valor médio → "estavel". - Usar DCI para nome de farmaco; extrair dose_unidade.valor (float) e unidade; converter frequencia em freq_h (por exemplo, "12/12h"→12, "1x/dia"→24). Se via ou frequência não mapeáveis, preencher via="Outras" ou freq_h=null. - Extrair tipo (CN, máscara, VNI, VM, HFNC) quando possível; mapear fluxo_l_min e/ou FiO2 se informado; se apenas descrição livre, preencher tipo e deixar numéricos nulos. - Para cada valor atual, manter o timestamp original associado; preencher percentual_parametros_recente=(parâmetros com valor ≤48h)/(parâmetros avaliados) *100. - Garantir presença das chaves topo: patient_id, timestamp_snapshot (agora), qualidade_dados, dados_normalizados, diagnosticos, alergias, plano_cuidado_atual. Listas sempre presentes (podem ser vazias). Timestamps em ISO-8601. - Não inventar valores faltantes; não extrapolar tendências sem dados suficientes (mínimo 2 pontos).
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 clínicos diários do paciente via API. Na fase de testes, os dados serão enviados pelo agente diretamente por upload de um arquivo JSON na interface da Prototipe AI, para acelerar o processo de validação.
- Tipo do input: O input inicial para o fluxo é um objeto JSON com dados clínicos diários do paciente.
-
Formatos Suportados: Esse agente deve ser capaz de receber dados nos formatos:
.json. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 20.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo o snapshot padronizado dos dados clínicos do paciente, incluindo cálculos derivados e qualidade/recência dos dados.
-
Exemplo de Estrutura de Output:
{"patient_id":"string","timestamp_snapshot":"ISO-8601","qualidade_dados":{"janela_horas":48,"percentual_parametros_recente":float,"leituras_suspeitas":[{"tipo":"laboratorial|vital","param":"string","valor":float,"timestamp":"ISO-8601","motivo":"fora_faixa|inconsistente|unidade_invalida"}]},"dados_normalizados":{"sinais_vitais_atual":{"pa_sis":float,"pa_dias":float,"fc":float,"fr":float,"temp_c":float,"spo2":float,"o2_suporte":{"tipo":"string","fluxo_l_min":float,"fio2":float}},"laboratoriais_atuais":{"creatinina_mg_dl":float,"potassio_meq_l":float},"medicacoes_ativas":[{"farmaco":"string","dose_unidade":{"valor":float,"unidade":"mg|mcg|g|U"},"via":"VO|IV|IM|SC|INH|TOP|SL|Outras","freq_h":float}],"derivados":{"map_mmhg":float,"choque_index":float,"egfr_ml_min_1_73m2":float}},"tendencias_48h":{"fc":{"delta":float,"direcao":"subida|queda|estavel"},"spo2":{"delta":float,"direcao":"subida|queda|estavel"}},"diagnosticos":["string"],"alergias":["string"],"plano_cuidado_atual":[{"objetivo":"string","meta":"string","ultima_revisao":"ISO-8601"}]} - Número de caracteres esperado: O JSON final deve ter um tamanho estimado em torno de 5.000 caracteres.
1.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
1.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Utiliza lógica interna para cálculos derivados e qualidade/recência dos dados.
- 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 Preparação de Consulta a Documento (RF 2).
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Preparação de Consulta a Documento (RF 2).
RF 2. Agente de Preparação de Consulta a Documento
2.1 Tarefa do Agente
Gerar parâmetros estruturados de busca para diretrizes médicas reconhecidas com base no snapshot clínico consolidado e nas anomalias relevantes.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um snapshot clínico consolidado do paciente em formato JSON. O objetivo é gerar parâmetros de busca para diretrizes médicas reconhecidas. # 2. Objetivo Gerar parâmetros estruturados de busca para diretrizes médicas reconhecidas com base no snapshot clínico consolidado e nas anomalias relevantes. # 3. Regras que você deve seguir para gerar sua resposta - Mapear achados do snapshot para temas de busca: hipercalemia se K+≥5.5; ajuste de fármacos renais se eGFR<30; choque/hipotensão se PA_sis<90 ou choque_index>1.0; hipóxia se SpO2<92% ou escalada de O2; febre se temp_c≥38.3; taquicardia sustentada se FC>110; DRC/IC/DM2 conforme diagnósticos. - Para cada tema, gerar pelo menos 1 query contendo: diagnóstico principal ou problema, achado anormal e, quando relevante, fármaco implicado (ex.: "hipercalemia manejo em DRC ajuste de IECA"). Incluir variações semânticas e sinônimos (ex.: hipercalemia/hiperpotassemia; DRC/insuficiência renal crônica). - Indicar preferência por diretrizes de sociedades reconhecidas (ESC/ACC/AHA/SBC para cardiologia, KDIGO para DRC, ADA para DM, Surviving Sepsis para sepse), sem restringir exclusivamente quando não aplicável. - Definir require_current_version=true e orientar recuperação de versões revisadas nos últimos 5 anos; quando inexistente, aceitar a mais recente disponível. - Sempre incluir uma query específica de segurança medicamentosa quando qualquer um: K+>5.5; eGFR<30; PA_sis<90; FC>110; SpO2<92; temp_c≥38.3. Adicionar consultas sobre contra-indicações e monitoramento. - Remover duplicatas e queries redundantes; limitar total de queries a 3–10; definir top_k entre 5 e 12 conforme número de temas (mínimo 1 tema → top_k=6; ≥3 temas → top_k=10–12). Idioma preferido: pt-BR, fallback en se escassez implícita. - Retornar exclusivamente o JSON nas chaves especificadas em expected_output, sem comentários ou texto livre.
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 objeto JSON contendo o snapshot clínico consolidado do paciente.
-
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.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo os parâmetros de busca gerados para diretrizes médicas, incluindo queries, filtros e configurações de busca.
-
Exemplo de Estrutura de Output:
{"queries":["string"],"filters":{"diagnosticos":["string"],"demografia":{"idade":int,"sexo":"M|F|Outro"},"medicacoes":["string"],"laboratoriais_anormais":["string"],"sinais_alerta":["string"]},"top_k":int,"idioma_preferido":"pt-BR|en","require_current_version":true} - Número de caracteres esperado: O JSON final deve ter um tamanho estimado em torno de 2.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
- 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 Consulta a Documento (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Execução de Consulta a Documento (RF 3).
RF 3. Agente de Execução de Consulta a Documento
3.1 Tarefa do Agente
Realizar consulta a documentos de Diretrizes Médicas reconhecidas para obter passagens relevantes às queries fornecidas.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo parâmetros prontos para consulta a diretrizes médicas reconhecidas. O objetivo é realizar a consulta e obter passagens relevantes. # 2. Objetivo Realizar consulta a documentos de Diretrizes Médicas reconhecidas para obter passagens relevantes às queries fornecidas. # 3. Regras que você deve seguir para gerar sua resposta - Esse agente não precisa de instruções para chamadas ao LLM, pois sua única função é executar a consulta ao documento com os parâmetros prontos recebidos.
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 objeto JSON contendo parâmetros prontos para consulta a diretrizes médicas.
-
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é 5.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo passagens relevantes das diretrizes médicas, incluindo fonte, título, ano, seção, trecho e URL ou DOI.
-
Exemplo de Estrutura de Output:
{"passagens":[{"fonte":"string","titulo":"string","ano":int,"secao":"string","trecho":"string","url_ou_doi":"string"}],"diagnostico_parametros":{"queries_usadas":["string"],"top_k":int}} - Número de caracteres esperado: O JSON final deve ter um tamanho estimado em torno de 3.000 caracteres.
3.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
3.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: 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 subsequente.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Geração de Recomendações de Ajuste no Plano de Cuidado (RF 4).
3.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Geração de Recomendações de Ajuste no Plano de Cuidado (RF 4).
RF 4. Agente de Geração de Recomendações de Ajuste no Plano de Cuidado
4.1 Tarefa do Agente
Produzir recomendações claras, acionáveis e rastreáveis para ajustes no plano de cuidado, baseadas em dados clínicos atuais e passagens de diretrizes reconhecidas.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo dois objetos: (1) snapshot consolidado do paciente; (2) passagens de diretrizes recuperadas. O objetivo é produzir recomendações de ajustes nos planos de cuidado. # 2. Objetivo Produzir recomendações claras, acionáveis e rastreáveis para ajustes no plano de cuidado, baseadas em dados clínicos atuais e passagens de diretrizes reconhecidas. # 3. Regras que você deve seguir para gerar sua resposta - Considerar recência ≤48h e tendências; priorizar problemas que impactam segurança/prognóstico (hipotensão, hipoxemia, hipercalemia, sepse sugerida). Determinar urgência: critica se risco imediato de vida; alta se risco relevante em horas; moderada em 24–48h; baixa se eletiva. - Cada ação deve estar vinculada a pelo menos uma passagem recuperada; incluir fonte, ano, URL/DOI e trecho_citado. Evitar recomendações sem suporte quando existe diretriz aplicável nas passagens. - Redigir ação_sugerida com verbo no imperativo clínico; incluir, quando pertinente, parâmetros de dose alvo e plano de reavaliação. Preencher monitoramento com item e frequência objetiva (ex.: K+ a cada 6–12h). - Se K+≥5.5, avaliar pausa/redução de fármacos que elevam potássio (ex.: IECA/ARA II/MRA) e medidas de redução de K+ conforme diretriz. Se eGFR<30, propor ajustes de dose renais e evitar fármacos contraindicados. Descrever plano de reintrodução quando pausar. - Verificar alergias e conflitos com diagnóstico/estado (ex.: beta-bloqueador com bradicardia severa). Listar conflitos e alternativas quando viáveis. - Se SpO2<92% (ou necessidade crescente de O2), PA_sis<90, febre≥38.3 com taquicardia/taquipneia, ou choque_index>1.0, incluir ordens imediatas apropriadas (ex.: ECG, gasometria, lactato, hemoculturas) quando suportadas por diretriz e recomendar escalonamento de nível de cuidado se indicado. - Confrontar plano_cuidado_atual; se metas incoerentes com quadro (p.ex., alvo pressórico agressivo em hipotensão), sugerir revisão documentada da meta. - Registrar em incertezas dados faltantes que influenciam decisão (peso, baseline de creatinina, lactato, cultura). Se evidência indireta ou conflito entre passagens, reduzir força_evidencia e explicitar. - Não criar recomendações fora do escopo das passagens recuperadas; se lacuna relevante, declarar incerteza e sugerir coleta de dados/consulta a diretriz específica. - Retornar somente o JSON no formato esperado, com listas presentes (podem ser vazias), timestamps ISO-8601, valores numéricos como números, e campos categóricos nos domínios definidos.
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 dois objetos JSON: (1) snapshot consolidado do paciente; (2) passagens de diretrizes recuperadas.
-
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é 15.000 caracteres.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo as recomendações de ajustes nos planos de cuidado, incluindo alvo, ação sugerida, justificativa, força de evidência, urgência, riscos, monitoramento, pré-requisitos, referências, conflitos, mudanças de medicação e ordens sugeridas.
-
Exemplo de Estrutura de Output:
{"patient_id":"string","timestamp_recomendacao":"ISO-8601","resumo_clinico":"string","recomendacoes":[{"alvo":"string","estado_atual":{},"acao_sugerida":"string","justificativa":"string","forca_evidencia":"A|B|C","urgencia":"critica|alta|moderada|baixa","riscos":["string"],"monitoramento":[{"item":"string","frequencia":"string"}],"pre_requisitos":["string"],"referencias":[{"fonte":"string","ano":int,"url":"string","trecho_citado":"string"}],"conflitos":["string"],"mudancas_medicacao":[{"farmaco":"string","acao":"iniciar|ajustar|pausar|suspender|trocar","motivo":"string","dose_sugerida":{"valor":float,"unidade":"mg|mcg|g|U","freq_h":float}}],"ordens_sugeridas":["string"]}],"alertas_de_seguranca":["string"],"incertezas":["string"]} - Número de caracteres esperado: O JSON final deve ter um tamanho estimado em torno de 6.000 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 documentos externos.
- Calculadora: Utiliza lógica interna para cálculos de urgência e priorização.
- Busca Online: Não utiliza.
- Sistemas Externos: Não se conecta a sistemas externos.
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 é 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. As recomendações geradas são o resultado que deve ser disponibilizado ao usuário.