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 Agente de IA de Avaliação de Risco de Infecções Hospitalares. 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 é analisar dados dos pacientes e do ambiente hospitalar para identificar e mitigar riscos de infecções durante o atendimento inicial.
2. Contexto e Problema
Problemas Identificados
- Risco elevado de infecções hospitalares: Ambientes de pronto atendimento possuem um risco elevado de infecções hospitalares devido a fatores como alta rotatividade de pacientes e condições de higiene variáveis.
- Falta de monitoramento contínuo: A ausência de um sistema de monitoramento contínuo dificulta a identificação precoce de riscos de infecção.
- Necessidade de medidas preventivas: É essencial implementar medidas preventivas eficazes para mitigar os riscos identificados e garantir a segurança dos pacientes.
3. Impactos Esperados
A implementação deste agente de IA visa alcançar os seguintes resultados:
- Redução do risco de infecções hospitalares através de monitoramento contínuo e medidas preventivas.
- Identificação precoce de riscos com base na análise contínua de dados dos pacientes e do ambiente hospitalar.
- Integração com sistemas de saúde para uma resposta rápida e coordenada às ameaças identificadas.
4. Visão Geral da Solução
O agente de IA para avaliação de risco de infecções hospitalares analisa continuamente dados dos pacientes e do ambiente hospitalar, identifica riscos de infecção e sugere medidas preventivas. 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 mitigação de riscos de infecções hospitalares.
A solução consiste em um fluxo de automação composto por 4 agentes de IA. O processo inicia com a normalização e validação dos dados de entrada e termina com a execução de uma chamada à API para registrar alertas de risco de infecção e medidas preventivas.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Normalização e Validação de Entrada (RF 1)
| Receber e padronizar dados clínicos do paciente e variáveis do ambiente hospitalar para avaliação de risco de infecção. |
Agente de Análise de Risco de Infecção (RF 2)
| Calcular o risco de infecção e sugerir medidas preventivas priorizadas. |
Agente de Preparação de Payload para Integração (RF 3)
| Transformar a avaliação de risco e as medidas preventivas em um payload padronizado para sistemas externos de saúde. |
Agente de Execução de Chamada à API (RF 4)
| Realizar chamada à API do Sistema de Saúde para registrar alerta de risco de infecção e medidas preventivas. |
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. Agente de Normalização e Validação de Entrada
1.1 Tarefa do Agente
Receber dados clínicos do paciente e variáveis do ambiente hospitalar em diferentes formatos e padronizar para um esquema único e validado para avaliação de risco de infecção.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo dados clínicos do paciente e variáveis do ambiente hospitalar em diferentes formatos. Esses dados são essenciais para a avaliação de risco de infecção. # 2. Objetivo Padronizar os dados recebidos para um esquema único e validado para avaliação de risco de infecção. # 3. Regras que você deve seguir para gerar sua resposta - Mapear sinônimos de campos para o esquema alvo: temperatura|temp, frequencia_cardiaca|fc, frequencia_respiratoria|fr, spo2|saturacao, pressão_arterial|pa(pas/pad), central_venoso|CVC, sonda_vesical|SVD, ventilacao_mecanica|VM. - Converter unidades: temperatura em °C; pressão em mmHg; spo2 em % inteiro; tempos convertidos para horas inteiras desde o evento (instalação, coleta, admissão) usando timestamp ISO 8601 se disponível. - Validar faixas fisiológicas adulto padrão: temperatura 30-43°C, fc 30-220 bpm, fr 5-60 irpm, pas 60-260 mmHg, pad 30-150 mmHg, spo2 50-100%. Valores fora da faixa devem ser setados como null e descritos em alertas_validacao com campo e valor original. - Idade: se só houver data_nascimento, calcular idade inteira; se idade < 0 ou > 120, setar null e registrar em alertas_validacao. - Normalizar sexo para M, F, Outro, Ignorado. - Imunossupressao: definir true se houver transplante, quimioterapia ativa, corticoide equivalente ≥20 mg prednisona/dia por ≥14 dias, neutropenia relatada, HIV CD4 <200; caso contrário, manter valor informado ou inferir false se explicitamente negado. - Dispositivos: calcular horas_desde_instalacao; truncar negativos para null e registrar alerta. - Culturas: normalizar resultado para pendente/positivo/negativo/indeterminado; calcular horas_desde_coleta. - Antimicrobianos: calcular inicio_horas desde primeira dose; normalizar via para EV/VO/Outras. - Ambiente: converter taxa_ocupacao e conformidade_higienizacao_maos para 0-100; qualidade do ar: manter ppm_co2 inteiro e trocas_ar_hora (tah) como float. - Completar campos_faltantes com lista de chaves ausentes críticas: paciente.id, idade ou data_nascimento, sinais_vitais, dispositivos_invasivos, conformidade_higienizacao_maos, limpeza_ultima_hora. - Não inferir valores clínicos; apenas normalizar e sinalizar inconsistências. - Saída deve conter input_normalizado completo, campos_faltantes e alertas_validacao com mensagens claras de cada ajuste.
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 do paciente e variáveis do ambiente hospitalar 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 arquivo JSON, que contém dados clínicos do paciente e variáveis do ambiente hospitalar.
- Formatos Suportados: Esse agente deve ser capaz de receber dados em formato 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 JSON com os dados normalizados e validados, incluindo campos_faltantes e alertas_validacao.
-
Exemplo de Estrutura de Output:
{ "input_normalizado": { "paciente": { "id":"string", "idade":int, "sexo":"M|F|Outro|Ignorado", "comorbidades":[], "imunossupressao":true|false, "sinais_vitais":{ "temperatura":float, "fc":int, "fr":int, "pas":int, "pad":int, "spo2":int }, "dispositivos_invasivos":[{ "tipo":"CVC|SVD|VM|Outros", "horas_desde_instalacao":int }], "culturas":[{ "material":"sangue|urina|secrecao|outros", "horas_desde_coleta":int, "resultado":"pendente|positivo|negativo|indeterminado" }], "antimicrobianos_uso":[{ "nome":"string", "via":"EV|VO|Outras", "inicio_horas":int }], "diagnosticos":[] }, "ambiente":{ "unidade":"string", "leito":"string", "taxa_ocupacao":float, "limpeza_ultima_hora":int, "conformidade_higienizacao_maos":float, "surtos_notificados":[], "qualidade_ar":{ "ppm_co2":int, "tah":float }, "equipamentos_compartilhados":[{ "nome":"string", "horas_desde_desinfeccao":int }] }, "atendimento":{ "horas_desde_admissao":int, "tempo_espera_min":int, "procedimentos":[{ "tipo":"string", "horas":int }] }, "campos_faltantes":[], "alertas_validacao":[] } } - Número de caracteres esperado: O JSON final deve ser conciso e informativo, com 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: 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 Análise de Risco de Infecção (RF 2).
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Análise de Risco de Infecção (RF 2).
RF 2. Agente de Análise de Risco de Infecção
2.1 Tarefa do Agente
Calcular o risco de infecção associada à assistência à saúde no pronto atendimento a partir do input normalizado, identificar fatores de risco e sugerir medidas preventivas priorizadas.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um input normalizado contendo dados clínicos do paciente e variáveis do ambiente hospitalar. Este input foi padronizado por um agente anterior e está pronto para análise de risco. # 2. Objetivo Calcular o risco de infecção associada à assistência à saúde, identificar fatores de risco e sugerir medidas preventivas priorizadas. # 3. Regras que você deve seguir para gerar sua resposta - Definir risco_score (0-100) por soma ponderada de fatores presentes; se dado essencial ausente, considerar peso reduzido e citar na justificativa. - Pesos sugeridos (aditivos): temperatura ≥38°C ou <36°C (+10), fc ≥100 (+5), fr ≥22 (+5), pas ≤100 (+10), spo2 <92% (+10), imunossupressao (+15), idade ≥65 (+5), dispositivos_invasivos instalados há ≥48h: CVC (+15), SVD (+10), VM (+20), culturas positivas recentes (<72h) (+20), culturas pendentes com sinais clínicos (+10), antimicrobianos em uso sem diagnóstico definido (+5), taxa_ocupacao >90% (+5), conformidade_higienizacao_maos <70% (+10), limpeza_ultima_hora >8h (+5), equipamentos_compartilhados sem desinfecção >8h (+5), ppm_co2 >1000 (+5), surtos_notificados na unidade (+10). - Classificação por cortes: baixo <30; moderado 30-59; alto 60-79; crítico ≥80. - Definir precaucoes_isolamento: aerossol se suspeita de TB/sarampo/varíola/varicela ou sintomas respiratórios + surtos aerossóis; gotículas se influenza/síndrome gripal sem aerossol; contato se dispositivos invasivos com secreções, diarreia ou patógenos multirresistentes; combinar se múltiplos critérios. - Determinar prioridade_resposta: emergente se classificacao crítico OU spo2<90 OU VM ativa OU surto relevante; urgente se alto; rotina se baixo/moderado. - Necessita_notificacao_CCIH: true se alto/crítico, presença de surto, cultura positiva para patógeno de notificação, ou falha grave de processo (higienização <50%). - Medidas preventivas: gerar lista específica, acionável e sem ambiguidades, cada item com categoria e janela_execucao_min. Exemplos: paciente: "iniciar isolamento de contato imediato", "sinalizar precauções no leito"; equipe: "reforçar higiene de mãos com auditoria pontual em 60 min"; ambiente: "desinfecção reforçada do leito e áreas de alto toque em 60 min"; processo: "reduzir tempo de permanência em sala de espera"; dispositivo: "avaliar necessidade de manter CVC/SVD; retirar se não indicado"; antimicrobiano: "revisar esquema com stewardship em 24h". - Fatores_identificados: listar explicitamente os que contribuíram >0 no score (ex.: "conformidade de mãos 55%", "VM >48h"). - Proxima_reavaliacao_min: 30 min se emergente, 60 min se alto, 180 min se moderado, 360 min se baixo. - Justificativa: parágrafo curto conectando sinais, ambiente e dispositivos à recomendação. - Nunca prescrever medicamentos; apenas sugerir revisão/avaliação por médico ou equipe CCIH. - Se campos_faltantes críticos existirem (ex.: sinais_vitais ausentes), incluir nota na justificativa e sugerir coleta imediata.
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 bem-sucedida do agente anterior (RF 1).
- Tipo do input: Este agente deve ser apto a receber como input um JSON com os dados normalizados e validados.
- 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.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo a avaliação de risco, fatores identificados, precauções de isolamento e medidas preventivas sugeridas.
-
Exemplo de Estrutura de Output:
{ "avaliacao_risco": { "risco_score": 75, "classificacao": "alto", "fatores_identificados": ["conformidade de mãos 55%", "VM >48h"], "precaucoes_isolamento": "contato", "medidas_preventivas": [{"acao":"iniciar isolamento de contato imediato","categoria":"paciente","prioridade":"alta","janela_execucao_min":15}], "prioridade_resposta": "urgente", "necessita_notificacao_CCIH": true, "proxima_reavaliacao_min": 60, "justificativa": "A presença de dispositivos invasivos por mais de 48h e a baixa conformidade de higiene de mãos aumentam o risco de infecção." } } - Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em 3.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.
- Calculadora: Utiliza lógica interna para calcular risco_score e determinar medidas preventivas.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
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 Preparação de Payload para Integração (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Preparação de Payload para Integração (RF 3).
RF 3. Agente de Preparação de Payload para Integração
3.1 Tarefa do Agente
Transformar a avaliação de risco e as medidas preventivas em um payload padronizado para sistemas externos de saúde (ex.: prontuário, CCIH, sistema de alertas).
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo a avaliação de risco e as medidas preventivas sugeridas por um agente anterior. Esses dados precisam ser transformados em um payload padronizado para integração com sistemas externos de saúde.
# 2. Objetivo
Transformar a avaliação de risco e as medidas preventivas em um payload padronizado para sistemas externos de saúde.
# 3. Regras que você deve seguir para gerar sua resposta
- Gerar idempotency_key concatenando paciente_id + timestamp_iso + classificacao.
- timestamp_iso em UTC no formato ISO 8601.
- Mapear prioridade_resposta para prioridade do payload (rotina/urgente/emergente) sem alteração semântica.
- Incluir apenas os campos necessários; remover PII sensível (nome, data de nascimento). Manter paciente_id, unidade e leito.
- Limitar medidas a no máximo 10 itens ordenados por prioridade alta > média > baixa e por menor janela_execucao_min.
- Garantir que precaucoes_isolamento esteja presente mesmo que "padrao".
- Se necessita_notificacao_CCIH = true, incluir campo notificar_CCIH como true; caso contrário false.
- Validar que risco_score ∈ [0,100] e classificacao ∈ {baixo, moderado, alto, critico}; caso inválido, ajustar para limites e registrar na justificativa com nota "ajuste para faixa válida".
- O endpoint e method devem ser preenchidos conforme acima como padrão genérico; podem ser substituídos externamente se houver configuração específica. 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 contendo a avaliação de risco e as medidas preventivas.
- 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é 3.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo o payload padronizado para integração com sistemas externos de saúde.
-
Exemplo de Estrutura de Output:
{ "payload_api": { "endpoint":"/alerts/infection-risk", "method":"POST", "headers":{"Content-Type":"application/json"}, "body":{ "idempotency_key":"string", "timestamp_iso":"YYYY-MM-DDThh:mm:ssZ", "paciente_id":"string", "unidade":"string", "leito":"string", "risco_score":int, "classificacao":"string", "prioridade":"string", "precaucoes_isolamento":"string", "medidas":[{"acao":"string","categoria":"string","prioridade":"string","sla_min":int}], "notificar_CCIH":true|false, "proxima_reavaliacao_min":int, "justificativa":"string" } } } - Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em 2.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: Não utiliza.
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 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 chamada à API do Sistema de Saúde para registrar alerta de risco de infecção e medidas preventivas.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um payload API padronizado contendo alerta de risco de infecção e medidas preventivas. Este payload precisa ser enviado para o sistema de saúde. # 2. Objetivo Realizar chamada à API do Sistema de Saúde para registrar alerta de risco de infecção e medidas preventivas. # 3. Regras que você deve seguir para gerar sua resposta - Este agente executa exclusivamente a chamada à API com o payload recebido pronto. - Não há instruções LLM adicionais.
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 contendo o payload API 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 texto com até 2.500 caracteres.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo a resposta da API, incluindo status_code, body e sucesso.
-
Exemplo de Estrutura de Output:
{ "api_response": { "status_code": 200, "body": {}, "sucesso": true } } - Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em 500 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.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: O agente deverá enviar o JSON recebido para a API externa e retornar o resultado.
4.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções não são visíveis para agentes subsequentes.
- Visibilidade da Resposta: A resposta da API é 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. A resposta da API é o resultado que deve ser disponibilizado ao usuário.