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 "Integração de Dados de Triagem", uma solução projetada para integrar dados de triagem com outros sistemas hospitalares, proporcionando uma visão holística do paciente e melhorando a tomada de decisões. Essa documentação é um modelo de PRD ou Documento de Requisitos de Produto específico para construção de Agentes de IA.
O objetivo principal é integrar dados de triagem com prontuários eletrônicos e outros sistemas, fornecendo uma visão completa do paciente para a equipe médica, facilitando a tomada de decisões informadas e melhorando a qualidade do atendimento ao paciente.
2. Contexto e Problema
Cenário Atual
Atualmente, a falta de integração entre sistemas hospitalares é um desafio significativo que dificulta a tomada de decisões informadas. A equipe médica enfrenta dificuldades para obter uma visão holística do paciente, o que compromete a qualidade do atendimento.
Problemas Identificados
- Falta de Integração: Sistemas hospitalares desconectados dificultam o acesso a informações completas e precisas sobre o paciente.
- Decisões Informadas: A ausência de uma visão holística do paciente impede que a equipe médica tome decisões bem fundamentadas.
- Qualidade do Atendimento: A falta de integração e visão completa do paciente compromete a qualidade do atendimento prestado.
3. Impactos Esperados
A implementação deste agente de IA visa alcançar os seguintes resultados:
- Melhorar a integração entre sistemas hospitalares, proporcionando acesso unificado aos dados do paciente.
- Facilitar a tomada de decisões informadas pela equipe médica.
- Elevar a qualidade do atendimento ao oferecer uma visão holística do paciente.
4. Visão Geral da Solução
O agente de IA para integração de dados de triagem conecta sistemas hospitalares, integrando dados de triagem com prontuários eletrônicos para fornecer uma visão completa do paciente à equipe médica. 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 integração de dados hospitalares.
A solução consiste em um fluxo de automação composto por 9 agentes de IA. O processo inicia com a definição do escopo de integração e termina com a geração de uma visão consolidada do paciente para apoio à decisão clínica.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Planejamento e Escopo da Integração de Triagem (RF 1)
| Definir o escopo de dados e fontes para integração com sistemas hospitalares. |
Agente de Preparação de Payloads de Consulta (RF 2)
| Converter o escopo definido em payloads para consulta a sistemas de triagem e EHR. |
Agente de Execução de Chamada à API - Sistema de Triagem (RF 3)
| Realizar chamadas à API de triagem para obter dados vitais e observações. |
Agente de Execução de Chamada à API - Prontuário Eletrônico (EHR) (RF 4)
| Realizar chamadas à API do EHR para obter dados clínicos. |
Agente de Agregação de Dados Brutos (RF 5)
| Unificar dados brutos de triagem e EHR em um único pacote. |
Agente de Normalização e Padronização Clínica (RF 6)
| Transformar dados brutos em um modelo clínico comum e consistente. |
Agente de Resolução de Identidade e Consolidação Temporal (RF 7)
| Reconciliar registros entre fontes e consolidar séries temporais. |
Agente de Conformidade e Privacidade (RF 8)
| Aplicar políticas de privacidade e consentimento aos dados consolidados. |
Agente de Geração da Visão Holística do Paciente (RF 9)
| Produzir uma visão consolidada e utilizável pela equipe clínica. |
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 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 Planejamento e Escopo da Integração de Triagem
1.1 Tarefa do Agente
Definir com precisão o escopo de dados e as fontes necessárias para integrar informações de triagem com sistemas hospitalares, alinhando identificadores do paciente, janelas de tempo e seções clínicas a serem recuperadas.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um briefing do caso de uso, metadados institucionais, identificadores do paciente, contexto de atendimento, janela temporal e finalidade do uso.
# 2. Objetivo
Definir o escopo de dados e as fontes necessárias para integrar informações de triagem com sistemas hospitalares.
# 3. Regras que você deve seguir para gerar sua resposta
- Se faltar qualquer um dos identificadores principais (patient_id, mrn, cpf), defina campo missing_identifiers com a lista faltante e marque pronto_para_execucao=false; caso contrário, pronto_para_execucao=true.
- Defina janela_temporal padrão como últimas 72 horas quando não fornecida.
- Inclua sempre as seções: sinais_vitais, problemas, medicacoes, alergias, resultados; adicione observacoes_triagem quando houver notas livres no input.
- Mapeie preferências de fonte: use dados de triagem como primários para sinais_vitais recentes; use EHR como primário para alergias, problemas e medicacoes; para duplicidades, defina regra de desempate por timestamp mais recente e status_ativo=true.
- Retorne explicitamente os códigos de domínio esperados por seção: sinais_vitais {HR, BP_sys, BP_dia, RR, Temp, SpO2} com unidades previstas {bpm, mmHg, rpm, C, %}. 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 do prontuário médico digital via API após o atendimento estar finalizado. Na fase de testes, os dados serão enviados pelo agente diretamente por upload de um csv na interface da Prototipe AI, para acelerar o processo de validação.
- Tipo do input: O input inicial para o fluxo é um conjunto de dados estruturados contendo identificadores do paciente, contexto de atendimento e janela temporal.
-
Formatos Suportados: Esse agente deve ser capaz de receber dados nos formatos:
.csv,.json. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de dados com até 50.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo o escopo de integração definido, incluindo fontes ativas, mapeamento de campos, identificadores, janela temporal, seções requeridas e requisitos de consentimento.
-
Exemplo de Estrutura de Output:
{ "fontes_ativas": ["triagem_api", "ehr_api"], "mapeamento_campos": {"triagem":"modelo_comum", "ehr":"modelo_comum"}, "identificadores": {"patient_id", "mrn", "cpf"}, "janela_temporal": {"inicio": "...", "fim": "...", "unidade": "horas"}, "secoes_requeridas": ["sinais_vitais", "alergias", "medicacoes", "problemas", "resultados"], "requisitos_consentimento": {"necessita_consentimento": true, "base_legal": "..."} } - Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em torno de 3.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 Preparação de Payloads de Consulta (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 Payloads de Consulta (RF 2).
RF 2. Agente de Preparação de Payloads de Consulta
2.1 Tarefa do Agente
Converter o escopo definido em payloads concretos de consulta para cada fonte (triagem e EHR).
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o output do Agente de Planejamento contendo fontes_ativas, identificadores, janela_temporal, secoes_requeridas e regras_prioridade.
# 2. Objetivo
Converter o escopo definido em payloads concretos de consulta para cada fonte (triagem e EHR).
# 3. Regras que você deve seguir para gerar sua resposta
- Se pronto_para_execucao=false, gere lista_vazia e inclua motivo_bloqueio com os missing_identifiers.
- Para triagem_api inclua sempre campos: HR, BP_sys, BP_dia, RR, Temp, SpO2, nivel_consciencia, escala_dor, prioridade_triagem.
- Para ehr_api inclua recursos: Allergies, Medications, Conditions, Observations; limite Observations a LOINC relevantes a sinais vitais e exames críticos se fornecido catálogo; caso contrário, inclua filtro_por_categoria=[vital-signs, laboratory].
- Propague janela_temporal para ambos payloads: inicio=fim-janela.
- Inclua cabeçalhos/escopos solicitados como metadados (sem segredos): {scopes: ["read:triage", "read:ehr"], finalidade: finalidade_do_uso}. 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 contendo o escopo de integração definido.
-
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é 3.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser uma lista de payloads prontos para execução, cada um detalhando tipo de payload, endpoint e parâmetros.
-
Exemplo de Estrutura de Output:
[ { "tipo_payload": "triagem_api", "endpoint": ".../triagem", "parametros": {"patient_id": "...", "inicio": "...", "fim": "...", "campos": ["HR", "BP_sys", "BP_dia", "RR", "Temp", "SpO2", "nivel_consciencia", "escala_dor", "prioridade_triagem"]} }, { "tipo_payload": "ehr_api", "endpoint": ".../ehr", "parametros": {"patient_id": "...", "inicio": "...", "fim": "...", "recursos": ["Allergies", "Medications", "Conditions", "Observations"]} } ] - Número de caracteres esperado: A lista de payloads deve ter um tamanho estimado em torno de 2.500 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: Não utiliza.
- 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 Execução de Chamada à API - Sistema de Triagem (RF 3) e o Agente de Execução de Chamada à API - Prontuário Eletrônico (EHR) (RF 4).
2.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 - Sistema de Triagem (RF 3).
RF 3. Agente de Execução de Chamada à API - Sistema de Triagem
3.1 Tarefa do Agente
Realizar chamada à API do Sistema de Triagem para obter sinais vitais, prioridade e observações de triagem.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um item de payload com tipo_payload="triagem_api", endpoint e parametros prontos.
# 2. Objetivo
Realizar chamada à API do Sistema de Triagem para obter dados brutos de sinais vitais, prioridade e observações de triagem.
# 3. Regras que você deve seguir para gerar sua resposta
- Utilize o endpoint e parâmetros fornecidos para realizar a chamada à API.
- Em caso de erro na chamada, registre o erro e interrompa o processo para análise manual.
- Retorne os dados brutos obtidos da API em formato JSON.
# 4. Exemplo de Output que você deve produzir
{
"HR": "72",
"BP_sys": "120",
"BP_dia": "80",
"RR": "16",
"Temp": "36.5",
"SpO2": "98",
"nivel_consciencia": "Alerta",
"escala_dor": "0",
"prioridade_triagem": "Baixa"
} 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 um item de payload com tipo_payload="triagem_api", endpoint e parâmetros prontos.
-
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 contendo os dados brutos retornados pela API de triagem.
-
Exemplo de Estrutura de Output:
{ "HR": "72", "BP_sys": "120", "BP_dia": "80", "RR": "16", "Temp": "36.5", "SpO2": "98", "nivel_consciencia": "Alerta", "escala_dor": "0", "prioridade_triagem": "Baixa" } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 500 caracteres.
3.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: Não se aplica (uso de ferramenta)
3.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 payload recebido para a API externa de triagem e retornar os dados recebidos como resposta.
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 Agregação de Dados Brutos (RF 5).
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 - Prontuário Eletrônico (EHR) (RF 4).
RF 4. Agente de Execução de Chamada à API - Prontuário Eletrônico (EHR)
4.1 Tarefa do Agente
Realizar chamada à API do EHR para obter alergias, medicações, problemas/condições e observações/exames.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um item de payload com tipo_payload="ehr_api", endpoint e parametros prontos.
# 2. Objetivo
Realizar chamada à API do EHR para obter dados brutos de alergias, medicações, problemas/condições e observações/exames.
# 3. Regras que você deve seguir para gerar sua resposta
- Utilize o endpoint e parâmetros fornecidos para realizar a chamada à API.
- Em caso de erro na chamada, registre o erro e interrompa o processo para análise manual.
- Retorne os dados brutos obtidos da API em formato JSON.
# 4. Exemplo de Output que você deve produzir
{
"alergias": ["Penicilina", "Amendoim"],
"medicacoes": ["Paracetamol", "Ibuprofeno"],
"problemas": ["Asma", "Diabetes"],
"observacoes": [
{"tipo": "Exame de Sangue", "resultado": "Normal"},
{"tipo": "Raio-X", "resultado": "Sem Alterações"}
]
} 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 um item de payload com tipo_payload="ehr_api", endpoint e parâmetros prontos.
-
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.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo os dados brutos retornados pela API do EHR.
-
Exemplo de Estrutura de Output:
{ "alergias": ["Penicilina", "Amendoim"], "medicacoes": ["Paracetamol", "Ibuprofeno"], "problemas": ["Asma", "Diabetes"], "observacoes": [ {"tipo": "Exame de Sangue", "resultado": "Normal"}, {"tipo": "Raio-X", "resultado": "Sem Alterações"} ] } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 1.000 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 payload recebido para a API externa do EHR e retornar os dados recebidos como resposta.
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 Agregação de Dados Brutos (RF 5).
4.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Agregação de Dados Brutos (RF 5).
RF 5. Agente de Agregação de Dados Brutos
5.1 Tarefa do Agente
Unificar os dados brutos provenientes das fontes de triagem e EHR em um único pacote para normalização.
5.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo uma lista de resultados brutos das execuções de API, cada item com origem {"triagem_api"|"ehr_api"} e o conteúdo JSON.
# 2. Objetivo
Unificar os dados brutos provenientes das fontes de triagem e EHR em um único pacote para normalização.
# 3. Regras que você deve seguir para gerar sua resposta
- Identifique a origem de cada pacote pelo campo origem ou pelo endpoint.
- Se uma das fontes não retornar dados, registre em lacunas e mantenha o campo correspondente como null.
- Preserve metadados de paginação e timestamps originais quando existirem: {received_at, source_timestamp} por item.
# 4. Exemplo de Output que você deve produzir
{
"triagem_bruto": {"HR": "72", "BP_sys": "120", "BP_dia": "80"},
"ehr_bruto": {"alergias": ["Penicilina"]},
"fontes_recebidas": ["triagem_api", "ehr_api"],
"lacunas": []
} 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 uma lista de resultados brutos das execuções de API, cada item com origem e conteúdo JSON.
-
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é 5.000 caracteres.
5.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON unificado contendo dados brutos de triagem e EHR, bem como metadados de fontes recebidas e lacunas.
-
Exemplo de Estrutura de Output:
{ "triagem_bruto": {"HR": "72", "BP_sys": "120", "BP_dia": "80"}, "ehr_bruto": {"alergias": ["Penicilina"]}, "fontes_recebidas": ["triagem_api", "ehr_api"], "lacunas": [] } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 1.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 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 Normalização e Padronização Clínica (RF 6).
5.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Normalização e Padronização Clínica (RF 6).
RF 6. Agente de Normalização e Padronização Clínica
6.1 Tarefa do Agente
Transformar dados brutos de triagem e EHR para um modelo clínico comum com unidades, códigos e estrutura consistentes.
6.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON agregado com triagem_bruto e ehr_bruto, mapeamento_campos e regras_prioridade.
# 2. Objetivo
Transformar dados brutos de triagem e EHR para um modelo clínico comum com unidades, códigos e estrutura consistentes.
# 3. Regras que você deve seguir para gerar sua resposta
- Converta unidades para o padrão: HR=bpm, BP=mmHg, RR=irpm, Temp=°C, SpO2=%; inclua campo unidade_original quando houver conversão.
- Para cada medida, gere: {tipo, valor, unidade, timestamp, fonte, qualidade_dado: high|medium|low}. Qualidade baixa quando faltar unidade ou valor fora de faixa plausível (HR<25 ou >220; Temp<30 ou >43; SpO2<50 ou >100; descartes: marque ignorado=false e qualidade_dado=low, não remover).
- Preserve códigos quando fornecidos (ex.: code_system e code). Se houver apenas texto, normalize texto para lower_snake_case em campo termo_normalizado mantendo texto_original.
- Estruture problemas/condições com {status: ativo|resolvido|desconhecido}. Se status ausente e data < 1 ano, considerar ativo; >=1 ano sem evidência recente, desconhecido.
- Medicações: deduplicar por substancia+via+dosagem; quando conflito, preferir registro do EHR; incluir {inicio, fim, prescrito_por, fonte}.
- Alergias: consolidar por substancia; severidade default=desconhecida quando ausente. 6.3 Configurações do Agente
6.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 5).
- Tipo do input: Este agente deve ser apto a receber um JSON agregado com dados brutos de triagem e EHR.
-
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é 5.000 caracteres.
6.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON normalizado contendo dados transformados para um modelo clínico comum.
-
Exemplo de Estrutura de Output:
{ "paciente": {"identificadores": {"patient_id": "..."}}, "sinais_vitais": [ {"tipo": "HR", "valor": "72", "unidade": "bpm", "timestamp": "...", "fonte": "triagem_api", "qualidade_dado": "high"} ], "problemas": [ {"termo_normalizado": "asma", "status": "ativo", "texto_original": "Asma"} ], "alergias": [ {"substancia": "Penicilina", "severidade": "desconhecida"} ], "medicacoes": [ {"substancia": "Paracetamol", "via": "oral", "dosagem": "500mg", "inicio": "...", "fim": "...", "prescrito_por": "Dr. Silva", "fonte": "ehr_api"} ] } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 2.000 caracteres.
6.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
6.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
6.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 Resolução de Identidade e Consolidação Temporal (RF 7).
6.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Resolução de Identidade e Consolidação Temporal (RF 7).
RF 7. Agente de Resolução de Identidade e Consolidação Temporal
7.1 Tarefa do Agente
Reconciliar registros entre fontes pelo mesmo paciente e consolidar séries temporais.
7.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON normalizado com coleções por seção e metadados de identificadores.
# 2. Objetivo
Reconciliar registros entre fontes pelo mesmo paciente e consolidar séries temporais.
# 3. Regras que você deve seguir para gerar sua resposta
- Resolva identidade usando chave composta na ordem: patient_id > mrn > cpf. Marque consolidacao.identidade_metodo com a chave usada.
- Séries temporais: para sinais_vitais no mesmo timestamp (±2min), mantenha um item com origem_preferida conforme regras_prioridade e liste fontes_alternativas em proveniencia.
- Se houver conflitos de valor entre fontes e timestamps equivalentes, adote preferência: triagem para vitais, EHR para demais; registre em conflitos_resolvidos com {campo, valor_escolhido, valores_descartados}.
- Rotule cada item com ultima_atualizacao (max de timestamps das fontes combinadas). 7.3 Configurações do Agente
7.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 6).
- Tipo do input: Este agente deve ser apto a receber um JSON normalizado com coleções por seção e metadados de identificadores.
-
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é 3.000 caracteres.
7.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON consolidado com registros mesclados e trilhas de auditoria.
-
Exemplo de Estrutura de Output:
{ "paciente": {"identificadores": {"patient_id": "..."}}, "sinais_vitais": [ {"tipo": "HR", "valor": "72", "unidade": "bpm", "timestamp": "...", "fonte": "triagem_api", "ultima_atualizacao": "..."} ], "consolidacao": {"criterios_usados": "patient_id", "itens_mesclados": 5, "conflitos_resolvidos": [{"campo": "HR", "valor_escolhido": "72", "valores_descartados": ["70", "71"]}]} } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 2.500 caracteres.
7.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
7.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
7.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 Conformidade e Privacidade (RF 8).
7.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Conformidade e Privacidade (RF 8).
RF 8. Agente de Conformidade e Privacidade
8.1 Tarefa do Agente
Aplicar políticas de privacidade, consentimento e minimização de dados ao pacote consolidado antes da disponibilização.
8.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um JSON consolidado, finalidade_do_uso, requisitos_consentimento e políticas institucionais. # 2. Objetivo Aplicar políticas de privacidade, consentimento e minimização de dados ao pacote consolidado antes da disponibilização. # 3. Regras que você deve seguir para gerar sua resposta - Se finalidade_do_uso=pesquisa, remova identificadores diretos (nome, cpf, mrn, telefone, email, endereco) e reduza datas a precisão de mês (YYYY-MM) mantendo deslocamento consistente por paciente. - Se requisitos_consentimento.necessita_consentimento=true e não houver indicador de consentimento vigente, defina registro_conforme=false e dados=null; motive com "ausencia_de_consentimento". - Aplique minimização por finalidade: para gestao, remova observacoes_livres; para assistencia, manter tudo. - Registre mascaramentos_aplicados e identificadores_removidos explicitamente.
8.3 Configurações do Agente
8.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 7).
- Tipo do input: Este agente deve ser apto a receber um JSON consolidado, juntamente com a finalidade do uso, requisitos de consentimento e políticas institucionais.
-
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é 4.000 caracteres.
8.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo o status de conformidade, motivo de quebra (se houver), dados ajustados e campos mascarados/removidos.
-
Exemplo de Estrutura de Output:
{ "registro_conforme": true, "motivo_quebra_conformidade": null, "dados": {"paciente": {"identificadores": {"patient_id": "..."}}, "sinais_vitais": [{"tipo": "HR", "valor": "72", "unidade": "bpm"}]}, "mascaramentos_aplicados": [], "identificadores_removidos": [] } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 2.000 caracteres.
8.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
8.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
8.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 da Visão Holística do Paciente (RF 9).
8.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Geração da Visão Holística do Paciente (RF 9).
RF 9. Agente de Geração da Visão Holística do Paciente
9.1 Tarefa do Agente
Produzir a visão consolidada e utilizável pela equipe clínica para apoio à decisão.
9.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON conforme do agente de Conformidade contendo dados consolidados ou null com motivo.
# 2. Objetivo
Produzir a visão consolidada e utilizável pela equipe clínica para apoio à decisão.
# 3. Regras que você deve seguir para gerar sua resposta
- Se registro_conforme=false, definir pronto_para_consumo=false, incluir motivo em cabecalho.motivo_bloqueio e retornar sem secoes.
- Alertas_chave: gere lista derivada de dados consolidados com regras simples: SpO2<92%, PAS<90 ou PAS>180, FC>120 ou <40, Temp>=38.5, alergia_severa=true; cada alerta com {tipo, valor, timestamp}.
- sinais_vitais_recente: selecione o último registro por tipo dentro da janela; inclua tempo_relativo (minutos desde coleta) e fonte.
- resultados_recente: limite a até 10 itens mais recentes, priorizando exames críticos (ex.: gasometria, lactato) quando presentes.
- Inclua trilha_proveniencia listando por seção os ids de origem e timestamps utilizados. 9.3 Configurações do Agente
9.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 8).
- Tipo do input: Este agente deve ser apto a receber um JSON conforme contendo dados consolidados ou null com motivo.
-
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é 4.000 caracteres.
9.3.2 Especificação do Output
- Formato de output: O output deve ser uma visão consolidada em JSON, contendo cabeçalho, resumo clínico e seções detalhadas.
-
Exemplo de Estrutura de Output:
{ "cabecalho": {"paciente_hash": "...", "janela_temporal": "...", "fontes": ["triagem_api", "ehr_api"]}, "resumo_clinico": {"prioridade_triagem": "Baixa", "alertas_chave": [{"tipo": "SpO2", "valor": "90", "timestamp": "..."}], "ultimos_sinais_vitais": [{"tipo": "HR", "valor": "72", "unidade": "bpm", "tempo_relativo": "5", "fonte": "triagem_api"}]}, "secoes": {"dados_demograficos": "...", "queixa_atual": "...", "sinais_vitais_recente": [{"tipo": "HR", "valor": "72", "unidade": "bpm"}], "alergias": [{"substancia": "Penicilina", "severidade": "desconhecida"}], "problemas_ativos": [{"termo_normalizado": "asma", "status": "ativo"}], "medicacoes_atuais": [{"substancia": "Paracetamol", "via": "oral", "dosagem": "500mg"}], "resultados_recente": [{"tipo": "Exame de Sangue", "resultado": "Normal"}]}, "trilha_proveniencia": [{"secoes": "sinais_vitais_recente", "ids_origem": ["..."], "timestamps": ["..."]}], "pronto_para_consumo": true } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 3.000 caracteres.
9.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
9.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
9.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 final deste agente não é repassada para outros agentes, é o entregável final.
9.3.6 Regras de Orquestração e Transição
A execução deste agente finaliza o fluxo, e a visão consolidada do paciente é o resultado que deve ser disponibilizado à equipe clínica.