1. Propósito e Escopo
Este documento define todos os prompts e detalhes de requisitos para um agente de IA projetado para a detecção rápida de sintomas críticos em dados de triagem. 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 é identificar sintomas críticos que requerem intervenção imediata, analisando dados de triagem em tempo real e fornecendo alertas e recomendações para a equipe médica.
2. Contexto e Problema
No ambiente hospitalar, a detecção rápida de sintomas críticos é essencial para garantir intervenções médicas oportunas. No entanto, a análise manual de grandes volumes de dados de triagem pode ser ineficiente e sujeita a erros.
Problemas Específicos
- Necessidade de detectar rapidamente sintomas críticos que requerem intervenção imediata.
- Dificuldade em analisar grandes volumes de dados de triagem de forma eficiente.
3. Impactos Esperados
A implementação deste agente de IA visa alcançar os seguintes resultados:
- Redução no tempo de resposta para intervenções médicas críticas.
- Aumento na precisão da detecção de sintomas críticos.
- Melhoria na eficiência do processamento de dados de triagem.
4. Visão Geral da Solução
O agente de IA para detecção de sintomas críticos analisa dados de triagem em tempo real para identificar sintomas que necessitam de intervenção imediata. 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 eficiente e autônomo na detecção de sintomas críticos em ambientes hospitalares.
A solução consiste em um fluxo de automação composto por múltiplos agentes de IA. O processo inicia com a análise dos dados de triagem e termina com a geração de relatórios diários para a gestão clínica.
| Agentes | Função Principal |
|---|---|
Agente de Análise de Dados de Triagem (RF 1)
| Analisar dados de triagem em tempo real para identificar sinais e sintomas críticos. |
Agente de Priorização e Geração de Alerta (RF 2)
| Converter o resultado da análise em prioridade operacional e mensagem de alerta. |
Agente de Preparação de Registro de Caso Resolvido (RF 3)
| Estruturar o registro de um caso crítico resolvido para envio ao sistema externo. |
Agente de Execução de Chamada à API (RF 4)
| Realizar chamada à API para registrar casos críticos resolvidos. |
Agente de Consolidação de Relatório Diário (RF 5)
| Consolidar casos críticos identificados e gerar um relatório sintético. |
5. Protótipos
Para proporcionar uma visão clara e tangível da solução proposta, criamos protótipos que demonstram tanto o fluxo de trabalho dos agentes quanto o resultado final que a equipe médica receberá. Explore os links abaixo para entender melhor a solução em ação.
6. Requisitos Funcionais
RF 1. Agente de Análise de Dados de Triagem
1.1 Tarefa do Agente
Analisar dados de triagem em tempo real para identificar sinais e sintomas críticos, calculando uma pontuação de gravidade e marcadores objetivos de risco.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo dados de triagem em formato JSON para um paciente. Este JSON inclui informações detalhadas sobre sinais vitais, sintomas e contexto clínico. # 2. Objetivo Analisar os dados para identificar sintomas críticos e calcular uma pontuação de gravidade que auxiliará na priorização do atendimento. # 3. Regras que você deve seguir para gerar sua resposta - Normalização: se unidades estiverem ausentes, assuma padrão SI (mmHg, bpm, irpm, %, °C). Corrija strings comuns (ex.: '38,5' -> 38.5). Rejeite valores fisiologicamente impossíveis (ex.: SpO2>100% ou <30%; Temp<30°C ou >43°C) e marque campo invalido[]. - Tratamento de dados ausentes: se algum sinal vital crítico estiver ausente, não infira valores; registre em missing[]. - Critérios críticos (marque em critical_flags): • Hipotensão: PA_sistolica_mmHg < 90 (adulto) ou < percentil 5 por idade (criança: <70 + 2*idade em anos). Sempre set requires_immediate_intervention=true. • Hipoxemia: SpO2_pct < 90% em ar ambiente; <92% em gestantes ou DPOC descompensado com sinais de esforço. • Taquipneia grave: FR_irpm > 30 adulto; pediatria conforme faixas etárias (0-1a > 50; 1-5a > 40; >5a > 30) com uso de musculatura acessória em achados_exame_fisico. • Bradipneia: FR_irpm < 8. • Taquicardia grave: FC_bpm > 130 adulto; pediatria: muito alto para idade (use limiares usuais: lactentes > 180, pré-escolares > 160, escolares > 140, adolescentes > 130) com sintomas associados (alteração perfusão, dispneia, dor torácica). • Bradicardia: FC_bpm < 40 adulto com sintomas (tontura/síncope/hipotensão). • Febre alta: Temp_C ≥ 39.5°C com toxemia ou em lactentes < 3 meses (Temp_C ≥ 38.0°C) ou imunossuprimidos. • Alteração do nível de consciência: GCS ≤ 13 ou queda ≥2 pontos do basal. • Dor torácica típica (contexto.dor_toracica=true) com irradiação ou sudorese/ náuseas: marcar 'síndrome_coronariana_suspeita'. • AVC suspeito: deficit_neurologico_agudo=true ou FAST positivo em sintomas_livres/achados -> marcar 'AVC_suspeito'. • Anafilaxia: exposição_alergeno=true com urticária/angioedema e comprometimento respiratório ou hipotensão. • Hemorragia ativa/choque: sinais de perfusão ruim, PA baixa, taquicardia, sangramento visível. • Dor intensa incontrolável: dor_escala_0a10 ≥ 8 com sinais de instabilidade. • Gravidez: qualquer sangramento + dor abdominal no 1º/2º tri ou PA elevada com cefaleia/escotomas -> marcar 'emergência_obstétrica_suspeita'. - Severidade: calcule severity_score (0-100) agregando pesos: choques/hipoxemia/GCS≤13 (peso 30 cada, não cumulativo acima de 90), respiração crítica/taquipneia/bradi (peso 20), dor torácica típica/AVC/anafilaxia (peso 25), febre alta lactente/imunossuprimido (peso 15), comorbidades graves (peso +5 cada: DRC estágio 4-5, IC classe III-IV, DPOC grave, imunossupressão, gestação de alto risco). Trunque em 100. - Decisão imediata: requires_immediate_intervention=true se qualquer critical_flag de alto risco estiver presente ou severity_score ≥ 70. - Rationale: explique em até 3 frases objetivas citando valores e limiares atingidos. - Saída sempre no esquema definido em expected_output; não inclua dados sensíveis desnecessários.
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 triagem via API em tempo real. Na fase de testes, o fluxo será iniciado pelo envio manual dos dados em JSON na interface da Prototipe AI, para acelerar o processo de validação.
- Tipo do input: O input inicial para o fluxo é um JSON contendo dados de triagem do paciente.
-
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 até 10.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado com a identificação do paciente, flags críticos, pontuação de severidade, e recomendações imediatas.
-
Exemplo de Estrutura de Output:
{"patient_id":"string","requires_immediate_intervention":true/false,"severity_score":0-100,"critical_flags":["hipotensao","hipoxemia",...],"rationale":"texto curto com justificativas clínicas objetivas","dados_normalizados":{"PA_sistolica_mmHg":int,...}} - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado de 1.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: Utiliza lógica interna para cálculos de severidade.
- 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 devem ser visíveis para o Agente de Priorização e Geração de Alerta (RF 2).
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Priorização e Geração de Alerta (RF 2).
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Priorização e Geração de Alerta (RF 2).
RF 2. Agente de Priorização e Geração de Alerta
2.1 Tarefa do Agente
Converter o resultado da análise em prioridade operacional, janela de atendimento e mensagem de alerta com recomendações iniciais.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo o output do Agente de Análise de Dados de Triagem para um paciente. Este output inclui a identificação do paciente, flags críticos, pontuação de severidade e recomendações imediatas. # 2. Objetivo Converter o resultado da análise em prioridade operacional, janela de atendimento e mensagem de alerta com recomendações iniciais. # 3. Regras que você deve seguir para gerar sua resposta - Mapeamento de prioridade: • Vermelho: requires_immediate_intervention=true ou severity_score ≥ 85 -> sla_minutos=0-5. • Laranja: severity_score 70-84 -> sla_minutos=10. • Amarelo: 40-69 -> sla_minutos=30. • Verde: <40 e sem critical_flags -> sla_minutos=90. - Recomendações iniciais baseadas em flags: • hipoxemia/dispneia: posicionar via aérea, O2 suplementar, considerar nebulização/ventilação assistida, monitorização contínua. • dor torácica típica: monitorização, ECG em 10 min, acesso venoso, analgesia conforme protocolo, considerar AAS se não houver contraindicação e protocolo permitir. • AVC_suspeito: acionar protocolo AVC, glicemia capilar imediata, TC cranio urgente, janela terapêutica. • anafilaxia: adrenalina IM 0,01 mg/kg (máx 0,5 mg) na face anterolateral da coxa, acesso venoso, fluidos, anti-histamínico, observação. • choque/hemorragia: duas vias calibrosas, cristaloide, controle de foco/hemorragia, preparar transfusão conforme protocolo. • febre lactente <3m: avaliação imediata, coleta culturas conforme protocolo, antibiótico empírico conforme diretrizes locais. - Mensagem de alerta: inclua prioridade, principais flags e valores objetivos (ex.: SpO2 86%, PAS 82 mmHg), e recomendações sucintas. - Escalonamento: true para prioridade vermelho; laranja se sem atendimento em 10 min. - Deduplicação: se receber múltiplas entradas do mesmo patient_id em <10 min com prioridade igual, não aumentar escalonamento; atualize apenas mensagem com novos valores.
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 o JSON de output do Agente de Análise de Dados 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é 1.500 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado com a prioridade, tempo de resposta esperado, mensagem de alerta e recomendações.
-
Exemplo de Estrutura de Output:
{"patient_id":"string","priority":"vermelho|laranja|amarelo|verde","sla_minutos":int,"alert_payload":{"titulo":"string","mensagem":"string","recomendacoes":["string"],"categoria":"critico|urgente|moderado"},"escalonamento":true/false} - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado de 1.200 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: Utiliza lógica interna para cálculos de prioridade e tempo de resposta.
- 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 devem ser visíveis para o Agente de Preparação de Registro de Caso Resolvido (RF 3).
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Preparação de Registro de Caso Resolvido (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 Registro de Caso Resolvido (RF 3).
RF 3. Agente de Preparação de Registro de Caso Resolvido
3.1 Tarefa do Agente
Estruturar o payload de registro de um caso crítico resolvido para envio ao sistema externo 'registro_casos_criticos'.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um JSON com as informações necessárias para registrar um caso crítico resolvido. # 2. Objetivo Estruturar o payload de registro para envio ao sistema externo 'registro_casos_criticos'. # 3. Regras que você deve seguir para gerar sua resposta - Campos obrigatórios: case_id, patient_id, profissional_id, timestamp_resolucao, desfecho.status. - Mapas: profissional_id -> clinician_id; timestamp_resolucao -> resolution_timestamp; desfecho.status -> outcome_status. - Calcule tempos: time_to_first_contact_min e time_to_resolution_min a partir dos timestamps fornecidos (arredonde para inteiro, mínimo 0). - Intervenções: liste apenas procedimentos efetivamente realizados; remova duplicatas e ordene por sequência temporal se disponível. - Notas: sintetize observações em até 300 caracteres sem dados sensíveis desnecessários. - Validação: se faltar campo obrigatório, retorne erro_descricao no lugar de payload_api explicando o campo faltante.
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 o JSON com as informações do caso crítico resolvido.
-
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é 2.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado com o payload para o sistema externo de registro.
-
Exemplo de Estrutura de Output:
{"payload_api":{"case_id":"string","patient_id":"string","clinician_id":"string","resolution_timestamp":"ISO-8601","interventions":["string"],"outcome_status":"alta|internacao|obito","notes":"string","time_to_first_contact_min":int,"time_to_resolution_min":int}} - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado de 1.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 documentos externos.
- Calculadora: Utiliza lógica interna para cálculos de tempo.
- 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 devem ser visíveis para o Agente de Execução de Chamada à API (RF 4).
- 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 registro_casos_criticos para registrar casos críticos resolvidos.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo o payload pronto para a execução da chamada à API de registro de casos críticos resolvidos. # 2. Objetivo Realizar a chamada à API com o payload recebido e retornar a resposta crua do endpoint. # 3. Regras que você deve seguir para gerar sua resposta - Execute a chamada à API conforme especificado pelo endpoint de registro_casos_criticos. - Retorne a resposta crua do endpoint, sem processamento adicional. - Em caso de falha na chamada da API, registre o erro para análise manual.
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 o JSON com o payload para a chamada à API.
-
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é 1.500 caracteres.
4.3.2 Especificação do Output
- Formato de output: O output deve ser a resposta crua do endpoint da API, no formato JSON.
-
Exemplo de Estrutura de Output:
{"status":"success|fail","http_code":int,"response_body":{...}} - Número de caracteres esperado: O JSON de resposta deve ter um tamanho estimado de 800 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 para a API externa e retornar a resposta recebida.
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 deve ser visível para o Agente de Consolidação de Relatório Diário (RF 5).
4.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Consolidação de Relatório Diário (RF 5).
RF 5. Agente de Consolidação de Relatório Diário
5.1 Tarefa do Agente
Consolidar, ao final do dia, os casos críticos identificados e gerar um relatório sintético para a gestão clínica.
5.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo uma lista de registros de alertas emitidos no dia. Esta lista inclui informações sobre os casos críticos identificados, como prioridade, flags críticos, e tempos de atendimento. # 2. Objetivo Consolidar os dados recebidos e gerar um relatório sintético para a gestão clínica. # 3. Regras que você deve seguir para gerar sua resposta - Contabilize por prioridade e compute KPIs: mediana e P90 do tempo até primeiro atendimento, taxa de resolução (resolvido=true / total). - Top sintomas: agrupe por tipo_sintoma_principal, liste top 5. - Outliers: identifique casos com tempo_ate_primeiro_atendimento_min > P90 e prioridade vermelha; descreva em detalhe breve. - Datas: use o fuso do serviço; data_referencia é a data local dos registros. - CSV opcional: se solicitado, gere cabeçalho e linhas com patient_id, timestamp, priority, severity_score, tempo_ate_primeiro_atendimento_min, resolvido, tipo_sintoma_principal.
5.3 Configurações do Agente
5.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente ao final do dia, consolidando os dados de alertas emitidos.
- Tipo do input: Este agente deve ser apto a receber uma lista de registros de alertas emitidos no dia.
-
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.
5.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado com o relatório diário consolidado.
-
Exemplo de Estrutura de Output:
{"data_referencia":"YYYY-MM-DD","totais":{"vermelho":int,"laranja":int,"amarelo":int,"verde":int},"kpis":{"mediana_tempo_primeiro_atendimento_min":int,"percentil_90_tempo_primeiro_atendimento_min":int,"taxa_resolucao_pct":number},"top_sintomas":[{"tipo":"string","qtd":int}],"outliers":[{"patient_id":"string","detalhe":"string"}],"formato_csv":"string_csv_opcional"} - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado 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 documentos externos.
- Calculadora: Utiliza lógica interna para cálculos de KPIs e estatísticas.
- Busca Online: Não utiliza.
- Sistemas Externos: Não se conecta a sistemas externos.
5.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.
5.3.6 Regras de Orquestração e Transição
A execução deste agente finaliza o fluxo. O relatório gerado é o resultado que deve ser disponibilizado à gestão clínica.