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.