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
- 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 (JSON) gerada por este agente deve ser visível para o Agente de Codificação e Normalização Terminológica (RF 3).
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
- 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 (JSON enriquecido) deve ser visível para o Agente de Validação de Consistência Clínica e Compliance (RF 4).
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
- 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 (JSON validado) deve ser visível para o Agente de Síntese Narrativa para Prontuário (RF 5).
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.