Agente de IA para Auditoria de Faturas em Pronto Atendimento

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

Como criar um agente de IA que realiza auditorias automáticas em faturas de pronto atendimento para detectar inconsistências.

1. Propósito e Escopo

Este documento define todos os prompts, configurações de memória, transição entre estados, ferramentas como chamadas a sistemas externos e demais requisitos funcionais para o Agente de IA "Auditoria de Faturas em Pronto Atendimento". 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 é automatizar a auditoria de faturas em pronto atendimento para detectar inconsistências de forma rápida e precisa, além de sugerir correções, garantindo a precisão do faturamento.

2. Contexto e Problema

Cenário Atual

O setor de pronto atendimento enfrenta desafios significativos com inconsistências em faturas que resultam em erros de faturamento. Atualmente, as auditorias são realizadas manualmente, o que é demorado e sujeito a erros. As principais questões incluem:

  • Inconsistências em faturas de pronto atendimento que causam erros no faturamento.
  • Necessidade de auditorias manuais demoradas e sujeitas a erros.

Problemas Identificados

  • Consumo de tempo: Auditorias manuais consomem tempo valioso dos profissionais, que poderia ser utilizado em outras atividades.
  • Risco de erros: A natureza manual do processo aumenta o risco de erros que podem impactar negativamente o faturamento.
  • Falta de padronização: As auditorias manuais podem resultar em falta de padronização, levando a resultados inconsistentes.

3. Impactos Esperados

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

  • Reduzir o tempo de auditoria em pelo menos 70%.
  • Aumentar a precisão na detecção de inconsistências em faturas.
  • Padronizar o processo de auditoria, garantindo consistência nos resultados.
  • Melhorar a eficiência operacional, permitindo que os profissionais se concentrem em tarefas de maior valor agregado.

4. Visão Geral da Solução

O agente de IA para auditoria de faturas em pronto atendimento analisa faturas para detectar inconsistências e sugere correções automaticamente, garantindo precisão e eficiência no processo de faturamento. A seguir são detalhadas todas as regras de negócio e especificações funcionais necessárias para que esse agente desempenhe suas funções de forma eficaz.

A solução consiste em um fluxo de automação composto por 4 agentes de IA. O processo inicia com a validação e normalização das faturas e termina com a consolidação das auditorias em um relatório estruturado.

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

Agentes Função Principal
Agente de Validação e Normalização de Fatura (RF 1) Validar o payload de fatura e normalizar para um formato canônico único.
Agente de Detecção de Inconsistências (RF 2) Aplicar regras de auditoria para identificar inconsistências na fatura canônica.
Agente de Geração de Correções Propostas (RF 3) Converter inconsistências em ações corretivas claras e aplicáveis.
Agente de Consolidação e Saída Estruturada (RF 4) Consolidar a auditoria em um JSON final padronizado com resumo e métricas.

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 Validação e Normalização de Fatura

1.1 Tarefa do Agente

Validar o payload de fatura de pronto atendimento e normalizar para um formato canônico único, padronizando campos, unidades, códigos e cálculos básicos.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um objeto JSON da fatura de pronto atendimento. Este objeto contém informações detalhadas sobre o atendimento e os itens faturados.

# 2. Objetivo
Validar o payload de fatura e normalizar os dados para um formato canônico único, garantindo a padronização necessária para auditoria.

# 3. Regras que você deve seguir para gerar sua resposta
- Estrutura obrigatória: se fatura.itens estiver vazia ou ausente, definir normalizacao_status = "erro_bloqueante" e descrever alerta.
- Tipos e formatos: validar datas em ISO8601; números devem ser >= 0; quantidade > 0 para itens faturados; unidade padronizada para conjunto conhecido {un, ml, mg, min, hora, diaria}. Se unidade não reconhecida, registrar alerta tipo formato_invalido e converter para 'un' somente se quantidade inteira e descrição indicar item discreto; caso contrário manter e sinalizar.
- Moeda: se ausente, assumir BRL e registrar alerta de baixa gravidade; proibir conversões cambiais.
- Códigos: normalizar codigo.sistema para um dos {TUSS,SUS,CBHPM,PROPRIO}; se não informado, inferir por padrão do catálogo fornecido (caso único) e marcar inferido=true no enriquecimento.
- Totais: recalcular bruto_somado = soma(quantidade * preco_unitario por item); calcular liquido = bruto_somado - descontos + acrescimos + impostos; se diferença absoluta entre informados e calculados > 0.01, registrar alerta de inconsistência média e manter ambos (informado e calculado) no output.
- Autorização: setar autorizacao.informada = true se houver numero não vazio; se item marcar obrigatoria=true e informada=false, não bloquear; apenas sinalizar no output para regra posterior.
- Paciente: validar sexo em {M,F,Outro}; idade deve estar entre 0 e 120; fora disso, definir gravidade alta.
- Janelas temporais: data_hora_inicio <= data_hora_fim; data_exec dos itens deve estar entre início e fim (tolerância ±1 dia para fuso); fora do intervalo, registrar alerta média.
- Enriquecimento: incluir valor_total_calculado por item e mapa_campos com correspondência origem→canônico.
- Saída determinística: ordenar itens_enriquecidos por data_exec asc, depois id_item asc; limitar descrições normalizadas a 200 caracteres.
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 objeto JSON da fatura 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 JSON na interface da Prototipe AI, para acelerar o processo de validação.
  • Tipo do input: O input inicial para o fluxo é um objeto JSON que representa a fatura de pronto atendimento.
  • 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 texto com até 100.000 caracteres.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON estruturado contendo a fatura normalizada, alertas de validação e status de normalização.
  • Exemplo de Estrutura de Output:
     {"fatura_canonica":{"id_fatura":"...","moeda":"BRL","datas":{"inicio":"ISO8601","fim":"ISO8601"},"paciente":{"id":"...","idade":n,"sexo":"M|F|Outro"},"itens_enriquecidos":[{"id_item":"...","codigo":{"valor":"...","sistema":"TUSS|SUS|CBHPM|PROPRIO"},"descricao":"...","quantidade":n,"unidade":"...","preco_unitario":n,"valor_total_calculado":n,"cid":"...","data_exec":"ISO8601","profissional":{"crm":"...","uf":"..."},"autorizacao":{"numero":"...","obrigatoria":true|false,"informada":true|false}}],"totais_calculados":{"bruto_somado":n,"descontos":n,"acrescimos":n,"impostos":n,"liquido":n}},"alertas_validacao":[{"campo":"...","tipo":"faltante|inconsistente|formato_invalido","descricao":"...","gravidade":"baixa|media|alta"}],"normalizacao_status":"ok|com_alertas|erro_bloqueante","moeda":"BRL","mapa_campos":{"origem_para_canonico":{}}} 
  • Número de caracteres esperado: O JSON de output terá um tamanho aproximado 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: Não consulta documentos externos.
  • Calculadora: Utiliza lógica interna para cálculos de totais e validação de dados.
  • 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 Detecção de Inconsistências (RF 2).

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

Ao concluir sua execução, esse agente aciona o Agente de Detecção de Inconsistências (RF 2).

RF 2. Agente de Detecção de Inconsistências

2.1 Tarefa do Agente

Aplicar regras de auditoria específicas de pronto atendimento sobre a fatura canônica para identificar inconsistências com evidências e impacto financeiro estimado.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo a fatura canônica e parâmetros de regra de auditoria.

# 2. Objetivo
Aplicar regras de auditoria para identificar inconsistências na fatura canônica, gerando um relatório de inconsistências detectadas com evidências e impacto financeiro.

# 3. Regras que você deve seguir para gerar sua resposta
- Duplicidade: itens com mesmo codigo.sistema+codigo.valor, mesma data_exec e profissional, e descrições altamente similares (>= 0.9 similaridade de tokens) são duplicados; se quantidade somada excede o plausível (ex.: consultas > 1 por janela de 2h), marcar regra duplicidade_procedimento; impacto = preco_unitario * excesso.
- Código obsoleto: se catalogo_codigos marcar status=obsoleto para codigo, gerar regra codigo_obsoleto; gravidade média; impacto = 0 (substituição será tratada depois).
- Quantidade incompatível: validar com unidade; exemplos: 'min' e quantidade > 720 em PA → alta; 'diaria' em pronto atendimento sem internação → alta; materiais com quantidade não inteira quando unidade exige inteiro → média; impacto = (quantidade_incorreta - quantidade_sugerida) * preco_unitario, mínimo 0.
- Preço acima da tabela: se tabela_precos existir para codigo/unidade e preco_unitario > preco_referencia + 0.01, regra preco_acima_tabela; impacto = (preco_unitario - preco_referencia) * quantidade; gravidade média; anexar preco_referencia em evidencias.
- Ausência de autorização: se item autorizacao.obrigatoria=true e informada=false, regra ausencia_autorizacao; gravidade média; impacto=0; recomendação solicitar documento.
- CID incompatível: se matriz_compatibilidade.cid_procedimento existir e apontar permitido=false para par (cid,codigo), marcar alta; impacto=valor_total_calculado; evidenciar cid e código.
- Hora incompatível/adicional: se politica definir adicional noturno e item for taxa/porte em horário fora da faixa, marcar inconsistencia hora_incompatível ou adicional_indevido; impacto conforme diferença prevista.
- Taxas indevidas: identificar taxa de sala, paramentação, materiais de uso geral cobrados sem procedimento associado no mesmo timestamp ±30 min; gravidade média; impacto=valor_total_calculado do item isolado.
- Itens sem vínculo: se material/medicamento sem procedimento correlato (por grupo de uso e janela temporal), marcar media.
- Regras de pacotes: se politicas_plano definirem pacote (DRG/bundle) para o CID e houver cobrança itemizada redundante, marcar alta; impacto = soma redundante.
- De-duplicação de achados: combinar achados idênticos por id_item+regra; somar impactos; manter uma descrição consolidada.
- Classificação de gravidade: alta se impacto >= 5% do bruto_somado ou regras críticas (CID incompatível, pacote), média entre 1% e 5% ou requisitos formais, baixa <1% ou cosméticas.
- Sempre preencher caminho_avaliacao com uma linha listando checagens executadas na ordem; preencher referencias_regra com IDs das fontes consultadas presentes nos parametros_regra.
- Registrar um pseudo-item '__fatura__' para inconsistências em totais globais (diferença entre informados e recalculados).
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 a fatura canônica e parâmetros de regra de auditoria.
  • 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 texto com até 6.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON estruturado contendo inconsistências detectadas, evidências e impacto financeiro estimado.
  • Exemplo de Estrutura de Output:
     {"inconsistencias_detectadas":[{"id_item":"...|__fatura__","codigo":"...","regra":"duplicidade_procedimento|codigo_obsoleto|quantidade_incompativel|preco_acima_tabela|ausencia_autorizacao|cid_incompativel|hora_incompatível|taxa_indev","gravidade":"baixa|media|alta","descricao":"...","evidencias":["..."],"valor_impacto_estimado":n,"recomendacao_curta":"...","referencias_regra":["regra_id|tabela_codigo|fonte"],"caminho_avaliacao":"passos sintéticos da checagem"}],"diagnosticos_auxiliares":{"total_inconsistencias":n,"itens_avaliados":n}} 
  • Número de caracteres esperado: O JSON de output terá um tamanho aproximado de 4.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 documentos externos.
  • Calculadora: Utiliza lógica interna para cálculos de impacto financeiro.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

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 Correções Propostas (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 Correções Propostas (RF 3).

RF 3. Agente de Geração de Correções Propostas

3.1 Tarefa do Agente

Converter inconsistências em ações corretivas claras e aplicáveis, recalculando impactos e preparando um plano de ajustes.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo a fatura canônica e inconsistências detectadas.

# 2. Objetivo
Converter inconsistências em ações corretivas claras e aplicáveis, recalculando impactos e preparando um plano de ajustes.

# 3. Regras que você deve seguir para gerar sua resposta
- Mapear regra→ação: duplicidade→remover_item (ou ajustar_quantidade para excesso); preco_acima_tabela→ajustar_preco_para_tabela; codigo_obsoleto→trocar_codigo usando substituto indicado no catálogo; ausencia_autorizacao→vincular_autorizacao ou solicitar_documento; cid_incompativel/pacote→remover_item; quantidade_incompatível→ajustar_quantidade.
- Cálculo de novos totais: recalcular valor_bruto_corrigido aplicando ações item a item sobre fatura_canonica; manter campos independente dos totais informados originais.
- Priorização: alta para gravidade alta ou impacto individual >= 2% do bruto_somado; média entre 0.5% e 2%; baixa abaixo de 0.5%.
- Ações devem ser idempotentes: se múltiplas inconsistências forem resolvidas por uma única ação, consolidar em uma única correção por id_item.
- Sempre incluir justificativa concisa (<=200 caracteres) referenciando a regra origem e evidências-chave.
- Não propor trocas de código sem substituto explícito no input; neste caso, retornar solicitar_documento.
- Para '__fatura__' (totais), sugerir ajuste no campo apropriado (descontos/acréscimos) com justificativa do método de reconciliação.
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 a fatura canônica e inconsistências detectadas.
  • 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 texto com até 8.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON estruturado contendo correções sugeridas e um plano de ajuste.
  • Exemplo de Estrutura de Output:
     {"correcoes_sugeridas":[{"id_item":"...|__fatura__","acao":"remover_item|ajustar_quantidade|ajustar_preco_para_tabela|trocar_codigo|vincular_autorizacao|solicitar_documento","detalhes":{"nova_quantidade":n,"novo_preco_unitario":n,"codigo_substituto":{"valor":"...","sistema":"..."},"justificativa":"..."},"impacto_estimado":n,"prioridade":"alta|media|baixa"}],"plano_de_ajuste":{"valor_bruto_original":n,"valor_bruto_corrigido":n,"impacto_total":n,"itens_afetados":n}} 
  • Número de caracteres esperado: O JSON de output terá um tamanho aproximado de 3.500 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 documentos externos.
  • Calculadora: Utiliza lógica interna para cálculos de impacto e ajustes.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

3.3.5 Memória

  • Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
  • Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Consolidação e Saída Estruturada (RF 4).

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

Ao concluir sua execução, esse agente aciona o Agente de Consolidação e Saída Estruturada (RF 4).

RF 4. Agente de Consolidação e Saída Estruturada

4.1 Tarefa do Agente

Consolidar a auditoria em um JSON final padronizado com resumo, métricas, inconsistências e correções, pronto para consumo por sistemas externos.

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo a fatura canônica, inconsistências detectadas e correções sugeridas.

# 2. Objetivo
Consolidar a auditoria em um JSON final padronizado com resumo, métricas, inconsistências e correções, pronto para consumo por sistemas externos.

# 3. Regras que você deve seguir para gerar sua resposta
- Determinar status: 'aprovada_sem_ressalvas' se inconsistencias_detectadas vazio; 'aprovada_com_ajustes' se houver correcoes_sugeridas não críticas; 'revisao_humana' se existir gravidade alta ou regras estruturais (pacote, CID incompatível) não sanáveis.
- Métricas: contar itens avaliados = tamanho de fatura_canonica.itens_enriquecidos; preencher distribuição por gravidade.
- SLA estimado: calcular como max(5, round(0.002 * itens_avaliados * 1000)) apenas como indicativo; valor inteiro.
- Campos para pagador: necessita_autorizacao=true se houver qualquer 'ausencia_autorizacao'; documentos_a_solicitar incluir laudos/autorizações mencionados nas recomendações.
- Status de padronização herda normalizacao_status; se 'erro_bloqueante', setar status='revisao_humana'.
- Ordenação: inconsistencias por gravidade desc, depois impacto desc; correções por prioridade desc, depois impacto desc.
- Limites: truncar textos de descricao/recomendacao a 300 caracteres; garantir números com duas casas decimais no output.
- Completar versao_esquema com 'pa_auditoria_v1' fixo para permitir validação a jusante.
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 a fatura canônica, inconsistências detectadas e correções sugeridas.
  • 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 texto com até 10.000 caracteres.

4.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON final padronizado contendo resumo da auditoria, métricas, inconsistências e correções.
  • Exemplo de Estrutura de Output:
     {"resumo_auditoria":{"id_fatura":"...","status":"aprovada_sem_ressalvas|aprovada_com_ajustes|revisao_humana","motivo_status":"...","totais":{"bruto_original":n,"bruto_corrigido":n,"impacto_total":n}},"metricas":{"itens_avaliados":n,"inconsistencias":{"totais":n,"por_gravidade":{"alta":n,"media":n,"baixa":n}},"sla_estimado_seg":n},"inconsistencias_detectadas":[...],"correcoes_sugeridas":[...],"campos_para_envio_pagador":{"necessita_autorizacao":true|false,"documentos_a_solicitar":["..."]},"status_padronizacao":"ok|com_alertas|erro_bloqueante","versao_esquema":"pa_auditoria_v1"} 
  • Número de caracteres esperado: O JSON de output terá um tamanho aproximado de 4.500 caracteres.

4.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

4.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Utiliza lógica interna para cálculos de métricas e status.
  • 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 output final do fluxo e pode ser consumida por sistemas externos.

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

A execução deste agente finaliza o fluxo de auditoria. O JSON gerado é o resultado que deve ser disponibilizado para os sistemas de faturamento e revisão.

© 2025 prototipe.ai. Todos os direitos reservados.