Agente de IA para Registro e Síntese de Atendimentos Médicos

10 de December de 2025 • Tempo de leitura: 5 min

Como criar um agente de IA que documenta automaticamente o atendimento médico inicial, sintetizando informações para o prontuário eletrônico do paciente.

1. Propósito e Escopo

Este documento define todos os prompts, configurações de memória, transição entre estados e demais requisitos funcionais para um agente de IA voltado ao registro e síntese de atendimentos médicos. 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 é documentar automaticamente o atendimento médico inicial, sintetizando informações para o prontuário eletrônico do paciente, garantindo precisão e atualização contínua dos registros.

2. Contexto e Problema

Problemas Específicos

O agente de IA para registro e síntese de atendimentos médicos é projetado para resolver os seguintes problemas:

  • Demora e erros na documentação manual: A documentação manual de atendimentos médicos é propensa a erros e consome tempo valioso dos profissionais de saúde.
  • Inconsistências nos prontuários eletrônicos: Entradas manuais podem resultar em inconsistências nos registros dos pacientes, afetando a continuidade do atendimento.
  • Necessidade de informações precisas e atualizadas: Informações precisas e atualizadas são essenciais para a continuidade e qualidade do atendimento médico.

3. Impactos Esperados

A implementação deste agente de IA visa alcançar os seguintes resultados:

  • Reduzir o tempo de documentação em pelo menos 70%.
  • Garantir a precisão e consistência dos registros no prontuário eletrônico.
  • Melhorar a continuidade do atendimento com informações sempre atualizadas.

4. Visão Geral da Solução

O agente de IA para registro e síntese de atendimentos médicos automatiza a documentação do atendimento inicial, sintetiza informações para o prontuário eletrônico e integra-se com sistemas de saúde para garantir registros precisos e atualizados. 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 documentação de atendimentos médicos.

A solução consiste em um fluxo de automação composto por 5 agentes de IA. O processo inicia com a transcrição do áudio do atendimento médico e termina com a geração de resumos clínicos claros e padronizados para o prontuário eletrônico.

A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.

Agentes Função Principal
Agente de Execução de Chamada à API (Transcrição de Áudio) (RF 1) Realizar a transcrição do áudio do atendimento médico para texto.
Agente de Extração e Estruturação Clínica (RF 2) Converter o texto do atendimento em um JSON clínico estruturado.
Agente de Codificação e Normalização Terminológica (RF 3) Atribuir códigos padronizados e normalizar termos clínicos.
Agente de Validação de Consistência Clínica e Compliance (RF 4) Checar coerência clínica e compliance antes do envio ao prontuário.
Agente de Síntese Narrativa para Prontuário (RF 5) Gerar resumos clínicos claros e padronizados para o prontuário.

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 Execução de Chamada à API (Transcrição de Áudio)

1.1 Tarefa do Agente

Realizar a transcrição do áudio do atendimento médico para texto em português do Brasil, preservando marcações de falante quando disponíveis.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um arquivo de áudio de um atendimento médico. Este arquivo contém a conversa entre o médico e o paciente durante a consulta.

# 2. Objetivo
Transcrever o áudio para texto, preservando a identificação dos falantes e os timestamps quando disponíveis.

# 3. Regras que você deve seguir para gerar sua resposta
- Preserve a identificação dos falantes (ex.: Médico:, Paciente:).
- Inclua timestamps por bloco de fala, quando disponíveis.
- A transcrição deve ser precisa e sem omissões.

# 4. Exemplo de Output que você deve produzir
Médico: Olá, como você está se sentindo hoje?
Paciente: Estou sentindo uma dor na região do peito há dois dias.
Médico: Você pode descrever a dor?
[00:02:15] Paciente: É uma dor aguda que piora quando respiro fundo. 
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 um arquivo de áudio do atendimento médico via API. Na fase de testes, o fluxo será iniciado pelo envio manual dos dados, que serão enviados para o agente diretamente por upload do áudio na interface da Prototipe AI, para acelerar o processo de validação.
  • Tipo do input: O input inicial para o fluxo é um arquivo de áudio do atendimento médico.
  • Formatos Suportados: Esse agente deve ser capaz de receber áudios nos formatos: .mp3, .wav, .m4a.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 90.000 caracteres.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser um texto transcrito contendo as falas do médico e do paciente, com marcações de falante e timestamps.
  • Exemplo de Estrutura de Output:
     Médico: Olá, como você está se sentindo hoje?
    Paciente: Estou sentindo uma dor na região do peito há dois dias.
    Médico: Você pode descrever a dor?
    [00:02:15] Paciente: É uma dor aguda que piora quando respiro fundo. 
  • Número de caracteres esperado: O texto final deve ser conciso e informativo, com um tamanho estimado em torno de 4.500 caracteres, podendo variar conforme a complexidade do atendimento transcrito.

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 Extração e Estruturação Clínica (RF 2).

1.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Extração e Estruturação Clínica (RF 2).

RF 2. Agente de Extração e Estruturação Clínica

2.1 Tarefa do Agente

Converter o texto do atendimento (transcrito ou digitado) em um JSON clínico estruturado pronto para integração com o prontuário.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um texto transcrito de um atendimento médico. Este texto contém as falas do médico e do paciente durante a consulta.

# 2. Objetivo
Converter o texto do atendimento em um JSON clínico estruturado pronto para integração com o prontuário eletrônico do paciente.

# 3. Regras que você deve seguir para gerar sua resposta
- Estruture o JSON com seções: identificacao_atendimento, queixa_principal, HPI (história da doença atual), antecedentes, alergias, medicacoes_uso, sinais_vitais, exame_fisico, hipoteses_diagnosticas, conduta/plano, exames_solicitados, prescricoes, orientacoes, risco_urgente, red_flags, carimbos_de_tempo, pendencias_de_informacao, provenance.
- Use apenas informações presentes no texto de entrada; não invente dados. Se ausente, registre null e adicione motivo em pendencias_de_informacao.
- Extração de unidades/normalização: temperatura em °C; saturação em %; PAS/PAD em mmHg; FC em bpm; FR em irpm; glicemia em mg/dL.
- Priorização diagnóstica: prioridade 1 = mais provável/mais crítico, 3 = menos provável.
- Consistência mínima obrigatória: preencher pelo menos queixa_principal, HPI.descricao resumida, sinais_vitais ou motivo da ausência, e pelo menos uma hipótese_diagnóstica ou uma pendência alta explicando a impossibilidade de formular hipótese.

# 4. Exemplo de Output que você deve produzir
{
  "identificacao_atendimento": { "id_atendimento": "12345", "id_paciente": "67890", "nome_paciente": "João Silva", "sexo": "M", "idade_anos": 45, "peso_kg": 80 },
  "queixa_principal": "Dor no peito",
  "HPI": { "inicio": "Há dois dias", "curso": "Dor aguda que piora ao respirar fundo", "sintomas_associados": ["Dispneia"], "fatores_agravantes": ["Movimento"], "fatores_amenizantes": ["Repouso"], "antecedentes_relevantes_para_HPI": [] },
  "antecedentes": { "patologicos": [], "cirurgicos": [], "familiares": [], "obstetricos": [], "sociais": [] },
  "alergias": { "possui": false, "itens": [] },
  "medicacoes_uso": [],
  "sinais_vitais": { "pas_mmHg": 120, "pad_mmHg": 80, "fc_bpm": 75, "fr_irpm": 18, "temp_c": 36.5, "spO2_pct": 98, "glicemia_mgdl": null },
  "exame_fisico": { "geral": "Paciente consciente e orientado", "sistemas": [{ "sistema": "Cardiovascular", "achados": "Ritmo cardíaco regular" }] },
  "hipoteses_diagnosticas": [{ "descricao": "Angina", "prioridade": 1, "evidencias": ["Dor no peito", "Dispneia"] }],
  "conduta_plano": { "medidas_imediatas": ["Oxigênio suplementar"], "exames": ["ECG", "Ecodopplercardiograma"], "encaminhamentos": ["Cardiologista"], "seguimento": "Retorno em uma semana" },
  "exames_solicitados": [{ "nome": "ECG", "justificativa": "Avaliar função cardíaca", "urgencia": "alta" }],
  "prescricoes": [{ "principio_ativo_ou_nome": "AAS", "dose": "100mg", "via": "VO", "frequencia": "1x ao dia", "duracao": "Indefinido", "indicacoes_especiais": "Tomar com água" }],
  "orientacoes": ["Evitar esforços físicos excessivos"],
  "risco_urgente": true,
  "red_flags": ["Dor torácica com dispneia"],
  "carimbos_de_tempo": { "data_hora_inicio_atendimento": "2025-12-10T03:00:00Z", "data_hora_fim_atendimento": "2025-12-10T03:30:00Z", "fuso": "GMT-3" },
  "pendencias_de_informacao": [],
  "provenance": { "fonte_texto": "transcricao", "versao_esquema": "1.0", "avisos": [] }
} 
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 texto transcrito do atendimento médico.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .txt (Texto Plano).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 90.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um arquivo no formato JSON contendo as informações clínicas estruturadas.
  • Exemplo de Estrutura de Output:
     {
      "identificacao_atendimento": { "id_atendimento": "12345", "id_paciente": "67890", "nome_paciente": "João Silva", "sexo": "M", "idade_anos": 45, "peso_kg": 80 },
      "queixa_principal": "Dor no peito",
      "HPI": { "inicio": "Há dois dias", "curso": "Dor aguda que piora ao respirar fundo", "sintomas_associados": ["Dispneia"], "fatores_agravantes": ["Movimento"], "fatores_amenizantes": ["Repouso"], "antecedentes_relevantes_para_HPI": [] },
      "antecedentes": { "patologicos": [], "cirurgicos": [], "familiares": [], "obstetricos": [], "sociais": [] },
      "alergias": { "possui": false, "itens": [] },
      "medicacoes_uso": [],
      "sinais_vitais": { "pas_mmHg": 120, "pad_mmHg": 80, "fc_bpm": 75, "fr_irpm": 18, "temp_c": 36.5, "spO2_pct": 98, "glicemia_mgdl": null },
      "exame_fisico": { "geral": "Paciente consciente e orientado", "sistemas": [{ "sistema": "Cardiovascular", "achados": "Ritmo cardíaco regular" }] },
      "hipoteses_diagnosticas": [{ "descricao": "Angina", "prioridade": 1, "evidencias": ["Dor no peito", "Dispneia"] }],
      "conduta_plano": { "medidas_imediatas": ["Oxigênio suplementar"], "exames": ["ECG", "Ecodopplercardiograma"], "encaminhamentos": ["Cardiologista"], "seguimento": "Retorno em uma semana" },
      "exames_solicitados": [{ "nome": "ECG", "justificativa": "Avaliar função cardíaca", "urgencia": "alta" }],
      "prescricoes": [{ "principio_ativo_ou_nome": "AAS", "dose": "100mg", "via": "VO", "frequencia": "1x ao dia", "duracao": "Indefinido", "indicacoes_especiais": "Tomar com água" }],
      "orientacoes": ["Evitar esforços físicos excessivos"],
      "risco_urgente": true,
      "red_flags": ["Dor torácica com dispneia"],
      "carimbos_de_tempo": { "data_hora_inicio_atendimento": "2025-12-10T03:00:00Z", "data_hora_fim_atendimento": "2025-12-10T03:30:00Z", "fuso": "GMT-3" },
      "pendencias_de_informacao": [],
      "provenance": { "fonte_texto": "transcricao", "versao_esquema": "1.0", "avisos": [] }
    } 
  • Número de caracteres esperado: A estimativa é que o JSON gerado contenha aproximadamente 2.500 caracteres, variando de acordo com a complexidade do atendimento médico.

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

2.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Codificação e Normalização Terminológica (RF 3).

RF 3. Agente de Codificação e Normalização Terminológica

3.1 Tarefa do Agente

Atribuir códigos padronizados (CID-10 e, quando aplicável, SNOMED CT) às hipóteses diagnósticas e normalizar termos de procedimentos e medicamentos.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON clínico estruturado de um atendimento médico. Este JSON contém informações detalhadas sobre o paciente e o atendimento realizado.

# 2. Objetivo
Atribuir códigos padronizados às hipóteses diagnósticas e normalizar termos de procedimentos e medicamentos no JSON recebido.

# 3. Regras que você deve seguir para gerar sua resposta
- Para cada item de hipoteses_diagnosticas, inclua codificacoes.diagnosticos_cid10: [{ codigo: string, descricao: string, confianca: 0-1 }], ordenado por confianca.
- Quando houver correspondência inequívoca, inclua snomed: { code: string, term: string } no mesmo item.
- Para prescricoes e medicacoes_uso, normalize princípio ativo e forma farmacêutica.
- Em procedimentos mencionados na conduta, normalizar descrição em procedimentos_normalizados.
- Se houver ambiguidade em códigos, inclua múltiplos candidatos com justificativa curta.

# 4. Exemplo de Output que você deve produzir
{
  "identificacao_atendimento": { "id_atendimento": "12345", "id_paciente": "67890", "nome_paciente": "João Silva", "sexo": "M", "idade_anos": 45, "peso_kg": 80 },
  "queixa_principal": "Dor no peito",
  "HPI": { "inicio": "Há dois dias", "curso": "Dor aguda que piora ao respirar fundo", "sintomas_associados": ["Dispneia"], "fatores_agravantes": ["Movimento"], "fatores_amenizantes": ["Repouso"], "antecedentes_relevantes_para_HPI": [] },
  "antecedentes": { "patologicos": [], "cirurgicos": [], "familiares": [], "obstetricos": [], "sociais": [] },
  "alergias": { "possui": false, "itens": [] },
  "medicacoes_uso": [],
  "sinais_vitais": { "pas_mmHg": 120, "pad_mmHg": 80, "fc_bpm": 75, "fr_irpm": 18, "temp_c": 36.5, "spO2_pct": 98, "glicemia_mgdl": null },
  "exame_fisico": { "geral": "Paciente consciente e orientado", "sistemas": [{ "sistema": "Cardiovascular", "achados": "Ritmo cardíaco regular" }] },
  "hipoteses_diagnosticas": [{ "descricao": "Angina", "prioridade": 1, "evidencias": ["Dor no peito", "Dispneia"], "codificacoes": { "diagnosticos_cid10": [{ "codigo": "I20.0", "descricao": "Angina instável", "confianca": 0.9 }], "snomed": { "code": "233604007", "term": "Unstable angina" } } }],
  "conduta_plano": { "medidas_imediatas": ["Oxigênio suplementar"], "exames": ["ECG", "Ecodopplercardiograma"], "encaminhamentos": ["Cardiologista"], "seguimento": "Retorno em uma semana" },
  "exames_solicitados": [{ "nome": "ECG", "justificativa": "Avaliar função cardíaca", "urgencia": "alta" }],
  "prescricoes": [{ "principio_ativo_ou_nome": "AAS", "dose": "100mg", "via": "VO", "frequencia": "1x ao dia", "duracao": "Indefinido", "indicacoes_especiais": "Tomar com água" }],
  "orientacoes": ["Evitar esforços físicos excessivos"],
  "risco_urgente": true,
  "red_flags": ["Dor torácica com dispneia"],
  "carimbos_de_tempo": { "data_hora_inicio_atendimento": "2025-12-10T03:00:00Z", "data_hora_fim_atendimento": "2025-12-10T03:30:00Z", "fuso": "GMT-3" },
  "pendencias_de_informacao": [],
  "provenance": { "fonte_texto": "transcricao", "versao_esquema": "1.0", "avisos": [] }
} 
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 clínico estruturado do atendimento médico.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 90.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um arquivo no formato JSON enriquecido com códigos padronizados e normalizações.
  • Exemplo de Estrutura de Output:
     {
      "identificacao_atendimento": { "id_atendimento": "12345", "id_paciente": "67890", "nome_paciente": "João Silva", "sexo": "M", "idade_anos": 45, "peso_kg": 80 },
      "queixa_principal": "Dor no peito",
      "HPI": { "inicio": "Há dois dias", "curso": "Dor aguda que piora ao respirar fundo", "sintomas_associados": ["Dispneia"], "fatores_agravantes": ["Movimento"], "fatores_amenizantes": ["Repouso"], "antecedentes_relevantes_para_HPI": [] },
      "antecedentes": { "patologicos": [], "cirurgicos": [], "familiares": [], "obstetricos": [], "sociais": [] },
      "alergias": { "possui": false, "itens": [] },
      "medicacoes_uso": [],
      "sinais_vitais": { "pas_mmHg": 120, "pad_mmHg": 80, "fc_bpm": 75, "fr_irpm": 18, "temp_c": 36.5, "spO2_pct": 98, "glicemia_mgdl": null },
      "exame_fisico": { "geral": "Paciente consciente e orientado", "sistemas": [{ "sistema": "Cardiovascular", "achados": "Ritmo cardíaco regular" }] },
      "hipoteses_diagnosticas": [{ "descricao": "Angina", "prioridade": 1, "evidencias": ["Dor no peito", "Dispneia"], "codificacoes": { "diagnosticos_cid10": [{ "codigo": "I20.0", "descricao": "Angina instável", "confianca": 0.9 }], "snomed": { "code": "233604007", "term": "Unstable angina" } } }],
      "conduta_plano": { "medidas_imediatas": ["Oxigênio suplementar"], "exames": ["ECG", "Ecodopplercardiograma"], "encaminhamentos": ["Cardiologista"], "seguimento": "Retorno em uma semana" },
      "exames_solicitados": [{ "nome": "ECG", "justificativa": "Avaliar função cardíaca", "urgencia": "alta" }],
      "prescricoes": [{ "principio_ativo_ou_nome": "AAS", "dose": "100mg", "via": "VO", "frequencia": "1x ao dia", "duracao": "Indefinido", "indicacoes_especiais": "Tomar com água" }],
      "orientacoes": ["Evitar esforços físicos excessivos"],
      "risco_urgente": true,
      "red_flags": ["Dor torácica com dispneia"],
      "carimbos_de_tempo": { "data_hora_inicio_atendimento": "2025-12-10T03:00:00Z", "data_hora_fim_atendimento": "2025-12-10T03:30:00Z", "fuso": "GMT-3" },
      "pendencias_de_informacao": [],
      "provenance": { "fonte_texto": "transcricao", "versao_esquema": "1.0", "avisos": [] }
    } 
  • Número de caracteres esperado: A estimativa é que o JSON enriquecido contenha aproximadamente 3.000 caracteres, dependendo da quantidade de códigos e normalizações aplicadas.

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

3.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Validação de Consistência Clínica e Compliance (RF 4).

RF 4. Agente de Validação de Consistência Clínica e Compliance

4.1 Tarefa do Agente

Checar coerência clínica, faixas de referência, conflitos e completude mínima antes do envio ao prontuário.

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON clínico estruturado e codificado. Este JSON contém informações detalhadas sobre o paciente, o atendimento realizado e códigos padronizados atribuídos.

# 2. Objetivo
Checar coerência clínica, faixas de referência, conflitos (ex.: alergias vs. prescrição) e completude mínima antes do envio ao prontuário.

# 3. Regras que você deve seguir para gerar sua resposta
- Validações numéricas e de unidade: temperatura 34–43°C; SpO2 50–100%; FC 30–220 bpm; FR 6–60 irpm; PAS 60–260 mmHg; PAD 30–150 mmHg; glicemia 20–600 mg/dL.
- Coerências clínicas mínimas: sexo F com gravidez só se explícito; pediatria (idade<12) ajustar posologia textual se claramente incorreta.
- Conflitos de segurança: se alergias.itens contém agente relacionado a um medicamento prescrito, marcar conflito_seguranca=true.
- Campos obrigatórios para pronto_para_envio=true: queixa_principal, pelo menos 1 entrada em HPI, sinais_vitais preenchidos ou justificativa, pelo menos 1 hipótese_diagnóstica ou uma conduta clara.
- Se qualquer inconsistência severidade "alta" permanecer não resolvida, defina pronto_para_envio=false.

# 4. Exemplo de Output que você deve produzir
{
  "identificacao_atendimento": { "id_atendimento": "12345", "id_paciente": "67890", "nome_paciente": "João Silva", "sexo": "M", "idade_anos": 45, "peso_kg": 80 },
  "queixa_principal": "Dor no peito",
  "HPI": { "inicio": "Há dois dias", "curso": "Dor aguda que piora ao respirar fundo", "sintomas_associados": ["Dispneia"], "fatores_agravantes": ["Movimento"], "fatores_amenizantes": ["Repouso"], "antecedentes_relevantes_para_HPI": [] },
  "antecedentes": { "patologicos": [], "cirurgicos": [], "familiares": [], "obstetricos": [], "sociais": [] },
  "alergias": { "possui": false, "itens": [] },
  "medicacoes_uso": [],
  "sinais_vitais": { "pas_mmHg": 120, "pad_mmHg": 80, "fc_bpm": 75, "fr_irpm": 18, "temp_c": 36.5, "spO2_pct": 98, "glicemia_mgdl": null },
  "exame_fisico": { "geral": "Paciente consciente e orientado", "sistemas": [{ "sistema": "Cardiovascular", "achados": "Ritmo cardíaco regular" }] },
  "hipoteses_diagnosticas": [{ "descricao": "Angina", "prioridade": 1, "evidencias": ["Dor no peito", "Dispneia"], "codificacoes": { "diagnosticos_cid10": [{ "codigo": "I20.0", "descricao": "Angina instável", "confianca": 0.9 }], "snomed": { "code": "233604007", "term": "Unstable angina" } } }],
  "conduta_plano": { "medidas_imediatas": ["Oxigênio suplementar"], "exames": ["ECG", "Ecodopplercardiograma"], "encaminhamentos": ["Cardiologista"], "seguimento": "Retorno em uma semana" },
  "exames_solicitados": [{ "nome": "ECG", "justificativa": "Avaliar função cardíaca", "urgencia": "alta" }],
  "prescricoes": [{ "principio_ativo_ou_nome": "AAS", "dose": "100mg", "via": "VO", "frequencia": "1x ao dia", "duracao": "Indefinido", "indicacoes_especiais": "Tomar com água" }],
  "orientacoes": ["Evitar esforços físicos excessivos"],
  "risco_urgente": true,
  "red_flags": ["Dor torácica com dispneia"],
  "carimbos_de_tempo": { "data_hora_inicio_atendimento": "2025-12-10T03:00:00Z", "data_hora_fim_atendimento": "2025-12-10T03:30:00Z", "fuso": "GMT-3" },
  "pendencias_de_informacao": [],
  "provenance": { "fonte_texto": "transcricao", "versao_esquema": "1.0", "avisos": [] },
  "inconsistencias": [],
  "recomendacoes": [],
  "pronto_para_envio": true
} 
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 clínico estruturado e codificado.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 90.000 caracteres.

4.3.2 Especificação do Output

  • Formato de output: O output deve ser um arquivo no formato JSON com listas de inconsistências, recomendações e o campo pronto_para_envio.
  • Exemplo de Estrutura de Output:
     {
      "identificacao_atendimento": { "id_atendimento": "12345", "id_paciente": "67890", "nome_paciente": "João Silva", "sexo": "M", "idade_anos": 45, "peso_kg": 80 },
      "queixa_principal": "Dor no peito",
      "HPI": { "inicio": "Há dois dias", "curso": "Dor aguda que piora ao respirar fundo", "sintomas_associados": ["Dispneia"], "fatores_agravantes": ["Movimento"], "fatores_amenizantes": ["Repouso"], "antecedentes_relevantes_para_HPI": [] },
      "antecedentes": { "patologicos": [], "cirurgicos": [], "familiares": [], "obstetricos": [], "sociais": [] },
      "alergias": { "possui": false, "itens": [] },
      "medicacoes_uso": [],
      "sinais_vitais": { "pas_mmHg": 120, "pad_mmHg": 80, "fc_bpm": 75, "fr_irpm": 18, "temp_c": 36.5, "spO2_pct": 98, "glicemia_mgdl": null },
      "exame_fisico": { "geral": "Paciente consciente e orientado", "sistemas": [{ "sistema": "Cardiovascular", "achados": "Ritmo cardíaco regular" }] },
      "hipoteses_diagnosticas": [{ "descricao": "Angina", "prioridade": 1, "evidencias": ["Dor no peito", "Dispneia"], "codificacoes": { "diagnosticos_cid10": [{ "codigo": "I20.0", "descricao": "Angina instável", "confianca": 0.9 }], "snomed": { "code": "233604007", "term": "Unstable angina" } } }],
      "conduta_plano": { "medidas_imediatas": ["Oxigênio suplementar"], "exames": ["ECG", "Ecodopplercardiograma"], "encaminhamentos": ["Cardiologista"], "seguimento": "Retorno em uma semana" },
      "exames_solicitados": [{ "nome": "ECG", "justificativa": "Avaliar função cardíaca", "urgencia": "alta" }],
      "prescricoes": [{ "principio_ativo_ou_nome": "AAS", "dose": "100mg", "via": "VO", "frequencia": "1x ao dia", "duracao": "Indefinido", "indicacoes_especiais": "Tomar com água" }],
      "orientacoes": ["Evitar esforços físicos excessivos"],
      "risco_urgente": true,
      "red_flags": ["Dor torácica com dispneia"],
      "carimbos_de_tempo": { "data_hora_inicio_atendimento": "2025-12-10T03:00:00Z", "data_hora_fim_atendimento": "2025-12-10T03:30:00Z", "fuso": "GMT-3" },
      "pendencias_de_informacao": [],
      "provenance": { "fonte_texto": "transcricao", "versao_esquema": "1.0", "avisos": [] },
      "inconsistencias": [],
      "recomendacoes": [],
      "pronto_para_envio": true
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 3.500 caracteres, dependendo das inconsistências e recomendações identificadas.

4.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

4.3.4 Ferramentas do Agente

  • Documentos: Não consulta.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não utiliza.

4.3.5 Memória

4.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Síntese Narrativa para Prontuário (RF 5).

RF 5. Agente de Síntese Narrativa para Prontuário

5.1 Tarefa do Agente

Gerar resumos clínicos claros e padronizados (formato SOAP e Sumário de Atendimento) coerentes com o JSON validado.

5.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON clínico estruturado e validado. Este JSON contém informações detalhadas sobre o paciente, o atendimento realizado e as validações de consistência.

# 2. Objetivo
Gerar resumos clínicos claros e padronizados (formato SOAP e Sumário de Atendimento) coerentes com o JSON validado.

# 3. Regras que você deve seguir para gerar sua resposta
- A nota SOAP deve refletir estritamente os dados do JSON:
  • S (Subjetivo): queixa_principal e HPI concisos.
  • O (Objetivo): sinais_vitais e achados relevantes do exame_fisico.
  • A (Avaliação): hipóteses diagnósticas com prioridade, riscos e red_flags.
  • P (Plano): medidas imediatas, exames solicitados, prescrições e orientações.
- Linguagem clínica objetiva, em português, sem jargões desnecessários.
- Se pronto_para_envio=false, incluir aviso de revisão necessária.
- Respeitar confidencialidade: não incluir dados pessoais além dos indispensáveis.

# 4. Exemplo de Output que você deve produzir
{
  "nota_SOAP": {
    "S": "Paciente relata dor no peito há dois dias, piora ao respirar fundo.",
    "O": "Sinais vitais: PAS 120 mmHg, PAD 80 mmHg, FC 75 bpm, FR 18 irpm, Temp 36.5°C, SpO2 98%. Achados: Ritmo cardíaco regular.",
    "A": "Hipótese principal: Angina. Evidências: Dor no peito, dispneia.",
    "P": "Medidas imediatas: Oxigênio suplementar. Exames: ECG, Ecodopplercardiograma. Prescrições: AAS 100mg VO 1x ao dia. Orientações: Evitar esforços físicos excessivos."
  },
  "sumario_atendimento": "Paciente de 45 anos, sexo masculino, com dor no peito e dispneia. Hipótese de angina. Medidas imediatas e exames solicitados. Retorno em uma semana.",
  "justificativas_de_codigos": [],
  "pronto_para_envio": true,
  "carimbo": "Gerado automaticamente em 2025-12-10T03:30:00Z"
} 
5.3 Configurações do Agente

5.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 4).
  • Tipo do input: Este agente deve ser apto a receber como input um JSON clínico estruturado e validado.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 90.000 caracteres.

5.3.2 Especificação do Output

  • Formato de output: O output deve ser um arquivo no formato JSON contendo os resumos clínicos padronizados e o campo pronto_para_envio.
  • Exemplo de Estrutura de Output:
     {
      "nota_SOAP": {
        "S": "Paciente relata dor no peito há dois dias, piora ao respirar fundo.",
        "O": "Sinais vitais: PAS 120 mmHg, PAD 80 mmHg, FC 75 bpm, FR 18 irpm, Temp 36.5°C, SpO2 98%. Achados: Ritmo cardíaco regular.",
        "A": "Hipótese principal: Angina. Evidências: Dor no peito, dispneia.",
        "P": "Medidas imediatas: Oxigênio suplementar. Exames: ECG, Ecodopplercardiograma. Prescrições: AAS 100mg VO 1x ao dia. Orientações: Evitar esforços físicos excessivos."
      },
      "sumario_atendimento": "Paciente de 45 anos, sexo masculino, com dor no peito e dispneia. Hipótese de angina. Medidas imediatas e exames solicitados. Retorno em uma semana.",
      "justificativas_de_codigos": [],
      "pronto_para_envio": true,
      "carimbo": "Gerado automaticamente em 2025-12-10T03:30:00Z"
    } 
  • Número de caracteres esperado: O JSON de output terá um tamanho aproximado de 2.000 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 (resumos clínicos) é 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. Os resumos clínicos gerados são o resultado que deve ser disponibilizado ao usuário.

© 2025 prototipe.ai. Todos os direitos reservados.