1. Propósito e Escopo
Este documento define todos os prompts, configurações de memória, transição entre estados, consulta a documentos e demais requisitos funcionais para o Agente de IA para Geração de Resumo de Alta Médica. 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 é sintetizar informações relevantes do prontuário do paciente para gerar um resumo de alta médica claro e completo, garantindo que o resumo inclua diagnósticos, tratamentos realizados e recomendações de cuidado contínuo.
2. Contexto e Problema
Cenário Atual
Os resumos de alta médica frequentemente apresentam erros e omissões, o que pode comprometer a continuidade do cuidado e a segurança do paciente. Além disso, há uma necessidade crítica de padronização dos resumos para que sejam compreensíveis tanto para pacientes quanto para profissionais de saúde.
Problemas Identificados
- Erros e omissões: Falta de informações críticas nos resumos de alta médica, como diagnósticos detalhados, tratamentos realizados e recomendações de cuidados contínuos.
- Falta de padronização: Resumos de alta variam significativamente em formato e conteúdo, dificultando a compreensão e aplicação por parte dos pacientes e profissionais de saúde.
3. Impactos Esperados
A implementação deste agente de IA visa alcançar os seguintes resultados:
- Reduzir erros e omissões em resumos de alta médica, garantindo que informações críticas sejam sempre incluídas.
- Padronizar o formato dos resumos de alta, tornando-os mais compreensíveis e úteis para pacientes e profissionais de saúde.
- Melhorar a continuidade do cuidado ao garantir que todos os profissionais envolvidos no tratamento do paciente tenham acesso a informações completas e precisas.
4. Visão Geral da Solução
O agente de IA para geração de resumos de alta médica processa dados do prontuário eletrônico do paciente, extrai informações relevantes e gera um resumo de alta médica claro e completo. 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 geração de resumos de alta médica padronizados.
A solução consiste em um fluxo de automação composto por 3 agentes de IA. O processo inicia com a extração de informações do prontuário eletrônico e termina com a geração de um resumo de alta médica padronizado.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Extração de Informações do Prontuário (RF 1)
| Extrair automaticamente informações clínicas necessárias para a alta: diagnósticos, tratamentos realizados e recomendações de cuidado contínuo. |
Agente de Validação de Completude e Consistência Clínica (RF 2)
| Verificar se os dados extraídos cobrem diagnósticos, tratamentos e recomendações; detectar incoerências e lacunas críticas antes da geração do resumo. |
Agente de Geração de Resumo de Alta Médica (RF 3)
| Produzir um resumo de alta claro, padronizado e compreensível para pacientes e profissionais. |
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 Extração de Informações do Prontuário
1.1 Tarefa do Agente
Extrair automaticamente, de um único encontro/episódio de cuidado, as informações clínicas necessárias para a alta: diagnósticos, tratamentos realizados e recomendações de cuidado contínuo, em formato estruturado e normalizado.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo dados de um prontuário eletrônico do paciente em formato estruturado. Este documento contém informações detalhadas sobre o paciente, incluindo diagnósticos, tratamentos realizados e recomendações de cuidado contínuo. # 2. Objetivo Extrair automaticamente as informações clínicas necessárias para a alta, organizando-as em um formato estruturado e normalizado. # 3. Regras que você deve seguir para gerar sua resposta - Selecione o encontro com alta mais recente; se explicitado encounter_id no input, use-o obrigatoriamente. - Considere apenas eventos ocorridos entre admissão e alta do encontro selecionado. - Priorize diagnósticos de alta/epicrise e sumários médicos; normalize para CID-10 sem inventar códigos. - Capture terapias farmacológicas administradas e intervenções não farmacológicas com datas. - Gere lista reconciliada de medicações de alta contendo apenas o que o paciente deve usar após a alta. - Liste substância e reação para alergias quando disponível. - Inclua somente resultados de exames com impacto na conduta ou seguimento. - Extraia orientações explícitas para recomendações de cuidado contínuo. - Capture sinais e sintomas para retorno imediato quando explicitados. - Quando houver prazo para follow-up, registre em prazo_dias. - Liste itens pendentes, como resultados/exames solicitados sem laudo disponível na alta. - Utilize formatos: datas ISO 8601; textos em português do Brasil. - Calcule extraction_quality_score atribuindo pontos por diagnósticos, tratamentos e recomendações preenchidos.
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 arquivo estruturado contendo dados do prontuário eletrônico do paciente.
-
Formatos Suportados: Esse agente deve ser capaz de receber dados nos formatos:
.json,.xml. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 100.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um arquivo no formato JSON contendo as informações clínicas necessárias para a alta, organizadas de forma estruturada.
-
Exemplo de Estrutura de Output:
{ "encounter_id": "string", "patient_identification": {"id": "string", "nome": "string", "data_nascimento": "AAAA-MM-DD"}, "periodo": {"admissao": "AAAA-MM-DDThh:mm:ssZ", "alta": "AAAA-MM-DDThh:mm:ssZ"}, "diagnosticos_principais": [{"cid10": "string|null", "termo": "string", "status": "ativo|resolvido", "fonte": "string"}], "diagnosticos_secundarios": [{"cid10": "string|null", "termo": "string", "status": "ativo|resolvido", "fonte": "string"}], "procedimentos_e_intervencoes": [{"codigo": "string|null", "descricao": "string", "data": "AAAA-MM-DD", "setor": "string"}], "tratamentos_realizados": [{"tipo": "farmacologico|nao_farmacologico", "descricao": "string", "periodo": {"inicio": "AAAA-MM-DD", "fim": "AAAA-MM-DD|null"}, "detalhes": {"medicamento": "string|null", "dose": "string|null", "via": "string|null", "frequencia": "string|null"}}], "medicacoes_de_alta": [{"medicamento": "string", "dose": "string", "unidade": "string", "via": "string", "frequencia": "string", "inicio": "AAAA-MM-DD", "duracao_dias": "int|null", "indicacao": "string|null", "observacoes": "string|null"}], "alergias_e_aversoes": [{"substancia": "string", "reacao": "string|null", "gravidade": "leve|moderada|grave|null"}], "exames_relevantes": [{"tipo": "laboratorial|imagem|outros", "nome": "string", "data": "AAAA-MM-DD", "resultado_resumo": "string", "interpretacao": "normal|anormal|inconclusivo"}], "intercorrencias": [{"data": "AAAA-MM-DD", "descricao": "string"}], "recomendacoes_cuidado_continuo": ["string"], "sinais_de_alerta": ["string"], "restricoes_e_orientacoes": {"dieta": "string|null", "atividade": "string|null", "cuidados_com_feridas": "string|null", "dispositivos": ["string"]}, "agendamentos_e_followup": [{"especialidade": "string", "data_sugerida": "AAAA-MM-DD|null", "prazo_dias": "int|null", "local": "string|null"}], "itens_pendentes": [{"tipo": "exame|resultado|documento|outro", "descricao": "string", "responsavel": "string|null", "prazo": "AAAA-MM-DD|null"}], "contatos_utilidade": {"servico": "string|null", "telefone": "string|null"}, "proveniencia_dos_dados": [{"campo": "string", "fonte_documento": "string", "data": "AAAA-MM-DDThh:mm:ssZ"}], "flags_completude": {"tem_diagnosticos": true, "tem_tratamentos": true, "tem_recomendacoes": true}, "extraction_quality_score": 0, "prontuario_extraido": true } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 5.000 caracteres.
1.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
1.3.4 Ferramentas do Agente
- Documentos: Consulta ao prontuário eletrônico para extração de dados.
- 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 Validação de Completude e Consistência 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 Validação de Completude e Consistência Clínica (RF 2).
RF 2. Agente de Validação de Completude e Consistência Clínica
2.1 Tarefa do Agente
Verificar se os dados extraídos cobrem diagnósticos, tratamentos e recomendações; detectar incoerências e lacunas críticas antes da geração do resumo.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON estruturado produzido pelo Agente de Extração contendo diagnósticos, tratamentos, recomendações e metadados.
# 2. Objetivo
Verificar a completude e consistência dos dados extraídos, identificando lacunas e incoerências críticas.
# 3. Regras que você deve seguir para gerar sua resposta
- Marque itens_obrigatorios_ok true somente se cada seção tiver ao menos uma entrada válida.
- Defina pronto_para_resumo como true quando diagnósticos, tratamentos e recomendações estiverem ok e não houver incoerências de severidade alta.
- Sinalize lacunas típicas, como ausência de diagnósticos principais e medicações de alta sem dose.
- Detecte incoerências como medicamentos prescritos na alta constando como suspensos.
- Classifique como alta o que impacta segurança do paciente, como posologia incompleta.
- Não modifique o conteúdo recebido; apenas reporte.
# 4. Exemplo de Output que você deve produzir
{
"validacao_concluida": true,
"pronto_para_resumo": true,
"lacunas": [{"campo": "string", "descricao": "string", "severidade": "baixa|moderada|alta"}],
"incoerencias": [{"tipo": "dose_inconsistente|diagnostico_sem_procedente|medicacao_sem_indicacao|conflito_datas", "descricao": "string"}],
"prioridades_de_correcao": ["string"],
"itens_obrigatorios_ok": {"diagnosticos": true, "tratamentos": true, "recomendacoes": true}
} 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 arquivo JSON estruturado produzido pelo Agente de Extração.
-
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.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um arquivo no formato JSON contendo as validações de completude e consistência dos dados extraídos.
-
Exemplo de Estrutura de Output:
{ "validacao_concluida": true, "pronto_para_resumo": true, "lacunas": [{"campo": "string", "descricao": "string", "severidade": "baixa|moderada|alta"}], "incoerencias": [{"tipo": "dose_inconsistente|diagnostico_sem_procedente|medicacao_sem_indicacao|conflito_datas", "descricao": "string"}], "prioridades_de_correcao": ["string"], "itens_obrigatorios_ok": {"diagnosticos": true, "tratamentos": true, "recomendacoes": true} } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 3.000 caracteres.
2.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
2.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: 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 Geração de Resumo de Alta Médica (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Geração de Resumo de Alta Médica (RF 3).
RF 3. Agente de Geração de Resumo de Alta Médica
3.1 Tarefa do Agente
Produzir um resumo de alta claro, padronizado e compreensível para pacientes e profissionais, incluindo diagnósticos, tratamentos realizados e recomendações de cuidado contínuo.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo dados extraídos do prontuário (output do Agente de Extração) e relatório de validação (output do Agente de Validação). # 2. Objetivo Gerar um resumo de alta médica claro, padronizado e compreensível para pacientes e profissionais, com ênfase em segurança e orientação prática. # 3. Regras que você deve seguir para gerar sua resposta - Se pronto_para_resumo for false, inclua no início a seção "Pendências a Regularizar" listando lacunas e incoerências críticas. - Use linguagem clara e em português para orientações ao paciente. - Inclua as 9 seções obrigatórias: identificação, diagnósticos, exames, tratamentos, medicações, recomendações, sinais de alerta, agendamentos e itens pendentes. - Não adicione informações não presentes no input. - Resolva duplicidades preferindo a última informação cronológica. # 4. Exemplo de Output que você deve produzir Resumo de alta em texto estruturado com seções: 1) Identificação e período, 2) Diagnósticos, 3) Principais exames/achados, 4) Tratamentos durante a internação, 5) Medicações para uso em casa, 6) Recomendações de cuidado contínuo, 7) Sinais de alerta e quando procurar ajuda, 8) Agendamentos e follow-up, 9) Itens pendentes; além de um JSON espelho com as mesmas seções sob a chave summary_structured.
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 os dados extraídos do prontuário e o relatório de validação.
-
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 combinado de até 8.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um texto estruturado contendo o resumo de alta médica, além de um JSON espelho com as mesmas seções.
-
Exemplo de Estrutura de Output:
Resumo de alta em texto estruturado com seções: 1) Identificação e período, 2) Diagnósticos, 3) Principais exames/achados, 4) Tratamentos durante a internação, 5) Medicações para uso em casa, 6) Recomendações de cuidado contínuo, 7) Sinais de alerta e quando procurar ajuda, 8) Agendamentos e follow-up, 9) Itens pendentes; além de um JSON espelho com as mesmas seções sob a chave summary_structured.
- Número de caracteres esperado: O texto final deve ter um tamanho estimado em torno de 6.000 caracteres.
3.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
3.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
3.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
- Visibilidade da Resposta: A resposta final gerada por este agente é o entregável final e não é passada para outros agentes internos.
3.3.6 Regras de Orquestração e Transição
A execução deste agente finaliza o fluxo.