Agente de IA para Extração de Dados de Registros Administrativos

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

Como criar um agente de IA que extrai e organiza dados de registros administrativos.

1. Propósito e Escopo

Este documento define todos os prompts, configurações de memória, transição entre estados, ferramentas como consultas a documentos e demais requisitos funcionais para um agente de IA que automatiza a extração e organização de dados de registros administrativos em hospitais e clínicas. 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 é melhorar a eficiência na gestão de informações ao automatizar a extração e organizar os dados de forma estruturada, facilitando a consulta e uso posterior.

2. Contexto e Problema

Cenário Atual

Hospitais e clínicas enfrentam desafios significativos na gestão de informações devido à dificuldade na extração e organização de dados de registros administrativos. Esses registros frequentemente se encontram em formatos não estruturados, dificultando sua utilização eficiente.


Problemas Identificados

  • Dificuldade na extração de dados: A extração manual de dados de registros administrativos é um processo demorado e suscetível a erros.
  • Ineficácia na organização dos dados: Dados desorganizados levam a uma gestão ineficiente, dificultando a consulta e a tomada de decisão.

3. Impactos Esperados

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

  • Automatizar a extração de dados para aumentar a eficiência e reduzir erros.
  • Organizar dados de forma estruturada para facilitar a gestão e consulta das informações.

4. Visão Geral da Solução

O agente de IA para extração de dados de registros administrativos automatiza a captura e organização de informações, aplicando regras para garantir que os dados sejam precisos e fáceis de consultar. 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 gestão de registros administrativos em hospitais e clínicas.

A solução é composta por um fluxo de automação que inclui múltiplos agentes de IA, cada um responsável por uma etapa específica do processo de extração e organização dos dados.

A execução dos agentes é sequencial, conforme detalhado na tabela abaixo.

Agentes Função Principal
Agente de Preparação de Consulta e Esquema de Dados (RF 1) Definir o esquema padronizado de dados e preparar parâmetros de consulta para extração.
Agente de Execução de Consulta a Documento (RF 2) Realizar consulta aos documentos para obter dados relevantes.
Agente de Normalização e Estruturação de Dados (RF 3) Transformar os dados extraídos em um formato estruturado e padronizado.
Agente de Checagem de Qualidade e Consolidação (RF 4) Verificar a qualidade dos dados e consolidar o output final.

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 Preparação de Consulta e Esquema de Dados

1.1 Tarefa do Agente

Definir o esquema padronizado de dados administrativos de hospitais/clínicas e preparar os parâmetros de consulta aos documentos para extração.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo documentos de registros administrativos em formato digital (PDF, DOCX, imagens já convertidas para texto) e metadados do contexto (unidade, tipo de documento esperado, lista de campos de interesse opcionais).

# 2. Objetivo
Definir o esquema padronizado de dados administrativos de hospitais/clínicas e preparar os parâmetros de consulta aos documentos para extração.

# 3. Regras que você deve seguir para gerar sua resposta
- Defina explicitamente o schema_padrao com lista de campos obrigatórios e opcionais adequados a registros administrativos; não inclua campos clínicos detalhados (ex.: prescrição) a menos que constem no documento e sejam estritamente administrativos (ex.: CID-10 para faturamento).
- Para cada campo no schema, gere um conjunto de sinônimos e variações comuns em português do Brasil, incluindo abreviações usuais para ambiente hospitalar.
- Crie parâmetros de consulta por campo com pistas lexicais que ajudem a localizar o valor no documento (rótulos, palavras vizinhas, formatos esperados).
- Defina formatos esperados por campo: data (ISO 8601 yyyy-mm-dd), documento_identificacao (CPF com 11 dígitos), valor_total (decimal com ponto como separador de casas), moeda (ISO 4217, padrão BRL), telefone (E.164 opcional, aceite formatos nacionais), CEP (8 dígitos).
- Preveja regras de preferência de fonte quando o mesmo dado aparece mais de uma vez: cabeçalho > seções tituladas > tabelas de faturamento > rodapé.
- Inclua no output um bloco prioridades_extracao e descreva a ordem de tentativa de captura e fallback por campo.
- Não execute extração; apenas produza schema, mapeamento de sinônimos e parâmetros de consulta para o agente executor. 
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 documentos de registros administrativos digitalizados via API. Na fase de testes, os documentos serão enviados diretamente por upload na interface da Prototipe AI, para acelerar o processo de validação.
  • Tipo do input: O input inicial para o fluxo são documentos digitalizados em formatos PDF, DOCX, ou texto extraído de imagens.
  • Formatos Suportados: Esse agente deve ser capaz de receber documentos nos formatos: .pdf, .docx, .txt.
  • 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 JSON estruturado contendo o schema_padrao, mapeamento_sinonimos e parametros_consulta.
  • Exemplo de Estrutura de Output:
     {"schema_padrao":{"campos_obrigatorios":["paciente_nome","documento_identificacao","data_admissao","unidade_saude","tipo_registro"],"campos_opcionais":["numero_prontuario","data_alta","convenio","numero_autorizacao","setor","responsavel_registro","valor_total","moeda","status","cid10","codigo_procedimento","lote_faturamento","contato","endereco"]},"mapeamento_sinonimos":{"paciente_nome":["nome do paciente","paciente"],"documento_identificacao":["CPF","RG","Documento"],"numero_prontuario":["prontuario","nº prontuário"],"data_admissao":["data de admissão","entrada"],"data_alta":["alta","data de alta"],"convenio":["plano","operadora"],"numero_autorizacao":["autorizacao","nº autorização"],"unidade_saude":["hospital","clínica","unidade"],"setor":["ala","enfermaria","unidade de internação"],"valor_total":["total","valor final"]},"parametros_consulta":{"consultas_textuais_por_campo":[{"campo":"paciente_nome","pistas":["nome","paciente"]},{"campo":"documento_identificacao","pistas":["CPF","RG","Doc."]},{"campo":"data_admissao","pistas":["admissão","entrada"]},{"campo":"data_alta","pistas":["alta"]},{"campo":"numero_prontuario","pistas":["prontuário","pront"]},{"campo":"convenio","pistas":["convênio","plano"]},{"campo":"numero_autorizacao","pistas":["autorização","aut."]},{"campo":"valor_total","pistas":["total","valor"]}],"tolerancia_erros_ortograficos":true},"prioridades_extracao":{"ordem":["campos_obrigatorios","campos_opcionais"]}} 
  • Número de caracteres esperado: O JSON estruturado deve ter um tamanho aproximado de 5.000 caracteres.

1.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.7

1.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos durante a preparação do esquema.
  • 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 Execução de Consulta a Documento (RF 2).

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

Ao concluir sua execução, esse agente aciona o Agente de Execução de Consulta a Documento (RF 2).

RF 2. Agente de Execução de Consulta a Documento

2.1 Tarefa do Agente

Realizar consulta aos documentos fornecidos para obter blocos de texto, trechos e tabelas relevantes aos campos do esquema definido.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo parâmetros prontos de consulta contendo: schema_padrao, mapeamento_sinonimos, consultas_textuais_por_campo, prioridades_extracao e os documentos-alvo.

# 2. Objetivo
Realizar consulta aos documentos fornecidos para obter blocos de texto, trechos e tabelas relevantes aos campos do esquema definido.

# 3. Regras que você deve seguir para gerar sua resposta
- Utilize os parâmetros de consulta para identificar e extrair blocos de texto relevantes dos documentos.
- Extraia trechos que contenham os campos obrigatórios e opcionais definidos no schema_padrao.
- Mantenha um nível de confiança para cada extração, registrando a posição no documento e a confiança associada.
- Se um campo não puder ser extraído, registre o status como 'não encontrado'.
- Compile as extrações em um JSON com evidências e artefatos relevantes. 
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 conjunto de parâmetros de consulta e documentos digitalizados.
  • Formatos Suportados: Esse agente deve ser capaz de receber parâmetros no formato: .json e documentos nos formatos: .pdf, .docx, .txt.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input combinado de até 150.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo as extrações por campo, evidências e artefatos relevantes.
  • Exemplo de Estrutura de Output:
     {"extracoes_por_campo":[{"campo":"paciente_nome","trechos":[{"texto":"Paciente: João da Silva","posicao":{"pagina":1,"linha":3},"confianca":0.92}],"status":"encontrado"},{"campo":"numero_prontuario","trechos":[{"texto":"Prontuário: 123456","posicao":{"pagina":1,"linha":4},"confianca":0.88}],"status":"encontrado"}],"artefatos":{"tabelas":[{"pagina":2,"cabecalhos":["Item","Descrição","Valor"],"linhas":[["1","Taxa administrativa","R$ 30,00"]]}]}} 
  • Número de caracteres esperado: O JSON de output deve ter um tamanho aproximado de 10.000 caracteres.

2.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.7

2.3.4 Ferramentas do Agente

  • Documentos: Consulta documentos fornecidos para extração de dados.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

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 Normalização e Estruturação de Dados (RF 3).

RF 3. Agente de Normalização e Estruturação de Dados

3.1 Tarefa do Agente

Transformar os trechos extraídos em um JSON administrativo padronizado, com validações, normalizações e evidências de origem por campo.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o schema e parâmetros do Agente de Preparação + dados brutos de extração do Agente de Execução de Consulta a Documento.

# 2. Objetivo
Transformar os trechos extraídos em um JSON administrativo padronizado, com validações, normalizações e evidências de origem por campo.

# 3. Regras que você deve seguir para gerar sua resposta
- Normalize datas para ISO yyyy-mm-dd; aceite entradas DD/MM/AAAA, DD-MM-AAAA, AAAA/MM/DD e converta; rejeite datas inválidas (ex.: 31/02) e marque inconsistencia.
- Para documento_identificacao: priorize CPF quando indicado; remova máscara, valide dígitos verificadores; se inválido, defina valido=false e registre inconsistencia com motivo.
- Unifique acentuação e caixa para nomes próprios mantendo capitalização por palavra; remova espaços duplicados; não invente sobrenomes.
- Para valor_total: converter formatos com 'R$' e separadores locais; usar ponto como separador decimal; inferir moeda BRL quando não especificada mas houver 'R$'.
- Validar relacionamento de datas: data_alta não pode ser anterior à data_admissao; se igual é permitido; se violar, registre inconsistencia do tipo regra_negocio.
- Mapear sinônimos configurados para localizar valores quando o rótulo difere; respeitar prioridades de fonte definidas na preparação.
- Para numero_autorizacao: manter apenas dígitos e letras maiúsculas; remover espaços e símbolos; se comprimento < 5, marcar como possivelmente incompleto (aviso).
- Para status: normalizar para um conjunto fechado {"aberto","encerrado","em_faturamento","em_analise"}; mapear variações comuns (ex.: "fechado" -> "encerrado").
- Para tipo_registro: normalizar para {"ambulatorial","internacao","pronto_atendimento","administrativo"}; inferir por pistas (ex.: presença de leito/alta -> "internacao").
- Gerar confianca_por_campo entre 0 e 1 conforme clareza de rótulo, proximidade lexical e consistência de formato; se múltiplos candidatos, reduzir confiança.
- Preencher evidencias por campo com amostra textual e localização quando disponível (página/linha ou índice de caractere).
- Se um campo obrigatório estiver ausente, criar inconsistencia do tipo ausente_obrigatorio; sempre que corrigir formato (ex.: data), inclua inconsistencia do tipo normalizacao_aplicada com valor antes/depois.
- Não crie valores não observados; se precisar inferir (ex.: moeda BRL), marque em metadados campo inferencias_aplicadas.
- Produza o bloco metadados com versao_schema, origem_documento (quando disponível), e timestamp_processamento em ISO 8601. 
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 o schema, parâmetros e dados brutos 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 combinado de até 50.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON administrativo padronizado contendo os dados estruturados, evidências, confiança por campo, inconsistências e metadados.
  • Exemplo de Estrutura de Output:
     {"dados_estruturados":{"paciente_nome":"Joao da Silva","documento_identificacao":{"tipo":"CPF","valor":"12345678909","valido":true},"numero_prontuario":"123456","data_admissao":"2025-12-07","data_alta":null,"unidade_saude":"Hospital Exemplo","setor":"Clínica Médica","convenio":"Exemplo Saúde","numero_autorizacao":"A123456","valor_total":30.00,"moeda":"BRL","status":"aberto","tipo_registro":"internacao"},"evidencias":{"paciente_nome":{"amostra":"Paciente: João da Silva","pagina":1,"linha":3},"numero_prontuario":{"amostra":"Prontuário: 123456","pagina":1,"linha":4}},"confianca_por_campo":{"paciente_nome":0.90,"numero_prontuario":0.85,"data_admissao":0.80},"inconsistencias":[{"campo":"data_alta","tipo":"ausente_obrigatorio_condicional","descricao":"Data de alta ausente para status 'encerrado'"}],"metadados":{"versao_schema":"1.0","origem_documento":"upload","timestamp_processamento":"2025-12-07T14:38:00Z"}} 
  • Número de caracteres esperado: O JSON final deve ter um tamanho aproximado de 15.000 caracteres.

3.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.7

3.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Utiliza lógica interna para validação e normalização de dados.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

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 Checagem de Qualidade e Consolidação (RF 4).

RF 4. Agente de Checagem de Qualidade e Consolidação

4.1 Tarefa do Agente

Aplicar checagens finais de completude e coerência, consolidar o JSON e definir o status de prontidão para uso administrativo/faturamento.

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON estruturado com confianca_por_campo, evidencias e inconsistencias do Agente de Normalização e Estruturação de Dados.

# 2. Objetivo
Aplicar checagens finais de completude e coerência, consolidar o JSON e definir o status de prontidão para uso administrativo/faturamento.

# 3. Regras que você deve seguir para gerar sua resposta
- Defina a lista de campos obrigatórios contextuais: se tipo_registro = "internacao", obrigatórios incluem data_admissao e numero_prontuario; se status = "encerrado", data_alta torna-se obrigatória.
- Calcule completude_obrigatorios como razão de obrigatórios preenchidos/total; considere preenchido quando valor não-nulo e diferente de string vazia.
- Classifique inconsistencias entre criticas (ex.: CPF inválido, datas incoerentes) e avisos (ex.: numero_autorizacao curto); conte erros_criticos.
- Defina prontidao_para_uso = true quando completude_obrigatorios >= 0.9, nenhum erro_critico e média de confianca dos obrigatórios >= 0.75.
- Inclua criterios no output com os limiares usados para a decisão de prontidao_para_uso.
- Não altere valores dos dados_estruturados recebidos; apenas acrescente indicadores e, quando aplicável, ordene inconsistencias por severidade e campo.
- Se prontidao_para_uso = false, destaque em primeiro lugar os campos que impedem a prontidão (erros_criticos ou obrigatórios ausentes). 
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 estruturado com dados, evidências, confiança por campo e inconsistências.
  • 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é 20.000 caracteres.

4.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON consolidado contendo dados estruturados, indicadores de qualidade e status de prontidão.
  • Exemplo de Estrutura de Output:
     {"json_final":{"dados_estruturados":{...},"evidencias":{...},"confianca_por_campo":{...},"inconsistencias":[...]},"indicadores_qualidade":{"completude_obrigatorios":0.95,"erros_criticos":0,"avisos":2},"prontidao_para_uso":true,"criterios":{"min_confianca_campo":0.75,"max_erros_criticos":0}} 
  • Número de caracteres esperado: O JSON final deve ter um tamanho aproximado de 8.000 caracteres.

4.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.7

4.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Utiliza lógica interna para calcular indicadores de qualidade.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

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 é o produto final e não precisa ser passada para outros agentes internos.

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

A execução deste agente finaliza o fluxo. O JSON consolidado é o resultado que deve ser disponibilizado ao usuário.

© 2025 prototipe.ai. Todos os direitos reservados.