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, busca online, consulta a documentos e demais requisitos funcionais para o Agente de IA de Auditoria de Faturas de Prestadores de Saúde. 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 análise de faturas enviadas por prestadores de saúde, verificando sua consistência com os serviços efetivamente prestados e identificando possíveis discrepâncias.
2. Contexto e Problema
Cenário Atual
As operadoras de saúde enfrentam desafios significativos na auditoria de faturas enviadas pelos prestadores de serviços. Problemas comuns incluem:
- Inconsistências frequentes entre faturas e serviços realmente prestados.
- Alta carga de trabalho manual para auditores ao revisar faturas.
Atualmente, o processo de auditoria é manual, exigindo que os auditores comparem cada fatura com os registros de serviços prestados, identifiquem discrepâncias e comuniquem os prestadores para correções.
Problemas Identificados
- Inconsistências: Discrepâncias frequentes entre faturas e registros de serviços prestados, resultando em pagamentos indevidos.
- Trabalho Manual: O processo de auditoria manual é demorado e propenso a erros, sobrecarregando os auditores.
- Comunicação Ineficiente: Dificuldades em comunicar e corrigir discrepâncias com os prestadores de forma eficaz.
3. Impactos Esperados
A implementação deste agente de IA visa alcançar os seguintes resultados:
- Reduzir discrepâncias entre faturas e serviços prestados em pelo menos 70%.
- Diminuir o tempo de auditoria em pelo menos 50%.
- Aumentar a eficiência na comunicação e correção de faturas com os prestadores.
- Melhorar a precisão na detecção de inconsistências e na proposta de ajustes.
4. Visão Geral da Solução
O agente de IA para auditoria de faturas de prestadores de saúde automatiza a análise de faturas, verificando a consistência com serviços prestados e detectando discrepâncias. A seguir são detalhadas todas as regras de negócio e especificações funcionais necessárias para que esse agente atue como um auditor eficiente e autônomo na revisão de faturas.
A solução consiste em um fluxo de automação composto por 5 agentes de IA. O processo inicia com a extração de dados de faturas e termina com a proposição de ajustes e alerta ao auditor.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Execução de Extração de Dados de Fatura (RF 1)
| Extrair dados estruturados de faturas em PDF/Imagem para uso pelos agentes analíticos subsequentes. |
Agente de Execução de Consultas em Banco de Dados (RF 2)
| Recuperar registros de serviços efetivamente prestados a partir dos sistemas assistenciais. |
Agente de Normalização e Vinculação de Registros (RF 3)
| Padronizar códigos, unidades e datas, e vincular itens da fatura aos registros de serviços prestados. |
Agente de Comparação de Faturas (RF 4)
| Comparar itens da fatura normalizada com serviços prestados, identificar e classificar discrepâncias. |
Agente de Proposição de Ajustes e Alerta ao Auditor (RF 5)
| Gerar propostas de ajustes e alertar auditores sobre faturas que requerem revisão manual. |
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 Extração de Dados de Fatura
1.1 Tarefa do Agente
Extrair dados estruturados de faturas em PDF/Imagem (cabeçalho, itens, totais) para uso pelos agentes analíticos subsequentes.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo faturas em formato PDF ou imagem. Sua tarefa é extrair dados estruturados desses documentos para análise posterior.
# 2. Objetivo
Extrair informações essenciais como cabeçalho, itens detalhados e totais da fatura, formatando-os de maneira estruturada para uso posterior.
# 3. Regras que você deve seguir para gerar sua resposta
- Identifique e extraia campos essenciais como número da fatura, CNPJ do prestador, ID do beneficiário, data de emissão, itens (código, descrição, quantidade, valor unitário, valor total, data de execução, CRM, local de execução) e totais (subtotal, descontos, taxas, total).
- Certifique-se de que os dados extraídos estejam no formato correto e prontos para uso por agentes subsequentes.
- Utilize parâmetros de extração como idioma e moeda padrão para garantir precisão.
# 4. Exemplo de Output que você deve produzir
{
"fatura_id": "string",
"prestador": {"cnpj": "string", "razao_social": "string", "cnes": "string|nullable"},
"beneficiario": {"id": "string", "nome": "string|nullable", "data_nasc": "AAAA-MM-DD|nullable", "sexo": "M|F|I|nullable"},
"emissao": "AAAA-MM-DD",
"itens": [
{"linha": 1, "codigo": "string", "descricao": "string", "quantidade": number, "unidade": "string|nullable", "valor_unitario": number, "valor_total": number, "data_execucao": "AAAA-MM-DD|nullable", "crm": "string|nullable", "local_execucao": "string|nullable"}
],
"totais": {"subtotal": number, "descontos": number, "taxas": number, "total": number}
} 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 faturas em PDF ou imagem 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 na interface da Prototipe AI, para acelerar o processo de validação.
- Tipo do input: O input inicial para o fluxo são documentos de faturas em PDF ou imagem.
-
Formatos Suportados: Esse agente deve ser capaz de receber documentos nos formatos:
.pdf,.jpg,.png. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto extraído com até 20.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser estruturado em JSON, contendo informações detalhadas da fatura, como cabeçalho, itens e totais.
-
Exemplo de Estrutura de Output:
{ "fatura_id": "string", "prestador": {"cnpj": "string", "razao_social": "string", "cnes": "string|nullable"}, "beneficiario": {"id": "string", "nome": "string|nullable", "data_nasc": "AAAA-MM-DD|nullable", "sexo": "M|F|I|nullable"}, "emissao": "AAAA-MM-DD", "itens": [ {"linha": 1, "codigo": "string", "descricao": "string", "quantidade": number, "unidade": "string|nullable", "valor_unitario": number, "valor_total": number, "data_execucao": "AAAA-MM-DD|nullable", "crm": "string|nullable", "local_execucao": "string|nullable"} ], "totais": {"subtotal": number, "descontos": number, "taxas": number, "total": number} } - Número de caracteres esperado: O JSON gerado 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.
- 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 Consultas em Banco de Dados (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 Consultas em Banco de Dados (RF 2).
RF 2. Agente de Execução de Consultas em Banco de Dados
2.1 Tarefa do Agente
Recuperar registros de serviços efetivamente prestados a partir dos sistemas assistenciais/claims para o período e beneficiário relacionados à fatura.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo dados estruturados de faturas extraídos pelo agente anterior. Sua tarefa é consultar os sistemas assistenciais para recuperar registros de serviços prestados.
# 2. Objetivo
Recuperar registros de serviços efetivamente prestados, incluindo produção ambulatorial e hospitalar, para o período e beneficiário relacionados à fatura.
# 3. Regras que você deve seguir para gerar sua resposta
- Utilize o CNPJ do prestador e o ID do beneficiário para realizar consultas no sistema de registros de serviços prestados.
- Inclua informações sobre autorizações, guias e tabelas de preços relacionadas aos serviços.
- Garanta que as informações recuperadas estejam no formato correto e prontas para uso por agentes subsequentes.
# 4. Exemplo de Output que você deve produzir
{
"registros_servicos": [
{"id_registro": "string", "beneficiario_id": "string", "prestador_cnpj": "string", "data_execucao": "AAAA-MM-DD", "codigo_tuss": "string|nullable", "descricao": "string", "quantidade": number, "unidade": "string|nullable", "valor_contratado_unitario": number|nullable, "valor_cobrado_unitario": number|nullable, "autorizacao": {"numero": "string|nullable", "status": "AUTORIZADO|NEGADO|PARCIAL|NAO_EXIGIDO", "quantidade_autorizada": number|nullable, "regras": ["string"]}, "profissional": {"crm": "string|nullable", "especialidade": "string|nullable"}, "local_execucao": "string|nullable" }
],
"tabelas_precos": [{"codigo": "string", "valor_unitario_contratado": number, "vigencia_inicio": "AAAA-MM-DD", "vigencia_fim": "AAAA-MM-DD|nullable"}]
} 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 JSON estruturado com dados extraídos da fatura.
-
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é 10.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado contendo registros de serviços prestados e tabelas de preços.
-
Exemplo de Estrutura de Output:
{ "registros_servicos": [ {"id_registro": "string", "beneficiario_id": "string", "prestador_cnpj": "string", "data_execucao": "AAAA-MM-DD", "codigo_tuss": "string|nullable", "descricao": "string", "quantidade": number, "unidade": "string|nullable", "valor_contratado_unitario": number|nullable, "valor_cobrado_unitario": number|nullable, "autorizacao": {"numero": "string|nullable", "status": "AUTORIZADO|NEGADO|PARCIAL|NAO_EXIGIDO", "quantidade_autorizada": number|nullable, "regras": ["string"]}, "profissional": {"crm": "string|nullable", "especialidade": "string|nullable"}, "local_execucao": "string|nullable" } ], "tabelas_precos": [{"codigo": "string", "valor_unitario_contratado": number, "vigencia_inicio": "AAAA-MM-DD", "vigencia_fim": "AAAA-MM-DD|nullable"}] } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 8.000 caracteres.
2.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.7
2.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Conecta-se a sistemas assistenciais para recuperação de dados.
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 Normalização e Vinculação de Registros (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Normalização e Vinculação de Registros (RF 3).
RF 3. Agente de Normalização e Vinculação de Registros
3.1 Tarefa do Agente
Padronizar códigos, unidades e datas, e vincular itens da fatura aos registros de serviços prestados mais prováveis para permitir comparação precisa.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo dados de faturas e registros de serviços prestados. Sua tarefa é normalizar e vincular esses dados para análise posterior.
# 2. Objetivo
Padronizar códigos, unidades e datas, e vincular itens da fatura aos registros de serviços prestados para permitir comparação precisa.
# 3. Regras que você deve seguir para gerar sua resposta
- Converta todos os códigos de procedimentos/serviços para o sistema preferencial (ex.: TUSS).
- Unifique unidades de medida e ajuste quantidades proporcionalmente.
- Vincule itens da fatura aos registros de serviços prestados mais prováveis, priorizando aqueles com maior score de vínculo.
- Registre alertas de normalização para discrepâncias significativas.
# 4. Exemplo de Output que você deve produzir
{
"fatura_normalizada": { ... },
"registros_normalizados": [ ... ],
"vinculos": [
{"linha_fatura": 1, "ids_registros_candidatos": ["string"], "id_registro_escolhido": "string|nullable", "score_vinculo": number, "criterios": ["match_codigo", "match_data", "match_crm"]}
],
"alertas_normalizacao": ["string"]
} 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 contendo dados normalizados de faturas e registros de serviços.
-
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é 15.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado contendo faturas normalizadas, registros normalizados e vínculos entre eles.
-
Exemplo de Estrutura de Output:
{ "fatura_normalizada": { ... }, "registros_normalizados": [ ... ], "vinculos": [ {"linha_fatura": 1, "ids_registros_candidatos": ["string"], "id_registro_escolhido": "string|nullable", "score_vinculo": number, "criterios": ["match_codigo", "match_data", "match_crm"]} ], "alertas_normalizacao": ["string"] } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 10.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: 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 gerada por este agente deve ser visível para o Agente de Comparação de Faturas (RF 4).
3.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Comparação de Faturas (RF 4).
RF 4. Agente de Comparação de Faturas
4.1 Tarefa do Agente
Comparar itens da fatura normalizada com serviços efetivamente prestados, identificar e classificar discrepâncias e calcular impactos financeiros.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo faturas normalizadas e registros de serviços prestados. Sua tarefa é comparar esses dados e identificar discrepâncias.
# 2. Objetivo
Comparar itens da fatura normalizada com serviços efetivamente prestados, identificar e classificar discrepâncias e calcular impactos financeiros.
# 3. Regras que você deve seguir para gerar sua resposta
- Compare quantidade cobrada vs. quantidade registrada/autorizada e identifique discrepâncias.
- Calcule o impacto financeiro de cada discrepância e classifique a severidade.
- Registre discrepâncias como quantidade, valor unitário, sem registro, duplicidade, não autorizado, incompatibilidade, pacote, divergência de data, entre outros.
# 4. Exemplo de Output que você deve produzir
{
"fatura_id": "string",
"discrepancias": [
{"linha_fatura": 1, "tipo": "QUANTIDADE|VALOR_UNITARIO|SEM_REGISTRO|DUPLICIDADE|NAO_AUTORIZADO|INCOMPATIBILIDADE|PACOTE|DIVERGENCIA_DATA|OUTROS", "descricao": "string", "esperado": number|object|null, "encontrado": number|object|null, "impacto_financeiro": number, "severidade": "ALTA|MEDIA|BAIXA", "referencias": {"id_registro": "string|nullable", "tabela_preco": "string|nullable"} }
],
"resumo": {"total_itens": number, "itens_com_discrepancia": number, "valor_faturado": number, "valor_sugerido": number, "impacto_total": number},
"discrepancias_existem": true|false
} 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 contendo faturas normalizadas e registros de serviços prestados.
-
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é 15.000 caracteres.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado contendo discrepâncias identificadas e um resumo das mesmas.
-
Exemplo de Estrutura de Output:
{ "fatura_id": "string", "discrepancias": [ {"linha_fatura": 1, "tipo": "QUANTIDADE|VALOR_UNITARIO|SEM_REGISTRO|DUPLICIDADE|NAO_AUTORIZADO|INCOMPATIBILIDADE|PACOTE|DIVERGENCIA_DATA|OUTROS", "descricao": "string", "esperado": number|object|null, "encontrado": number|object|null, "impacto_financeiro": number, "severidade": "ALTA|MEDIA|BAIXA", "referencias": {"id_registro": "string|nullable", "tabela_preco": "string|nullable"} } ], "resumo": {"total_itens": number, "itens_com_discrepancia": number, "valor_faturado": number, "valor_sugerido": number, "impacto_total": number}, "discrepancias_existem": true|false } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 12.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 impactos financeiros.
- 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 gerada por este agente deve ser visível para o Agente de Proposição de Ajustes e Alerta ao Auditor (RF 5).
4.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Proposição de Ajustes e Alerta ao Auditor (RF 5).
RF 5. Agente de Proposição de Ajustes e Alerta ao Auditor
5.1 Tarefa do Agente
Gerar propostas de ajustes por item, consolidar justificativas e produzir comunicação pronta ao prestador e sumário executivo ao auditor.
5.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um relatório de comparação com discrepâncias identificadas. Sua tarefa é propor ajustes e alertar auditores.
# 2. Objetivo
Gerar propostas de ajustes por item, consolidar justificativas e produzir comunicação pronta ao prestador e sumário executivo ao auditor.
# 3. Regras que você deve seguir para gerar sua resposta
- Proponha ajustes para cada discrepância, classificando a ação como GLOSAR, REPRECIFICAR ou MANTER.
- Consolide justificativas objetivas e claras para cada ajuste proposto.
- Produza uma mensagem clara e técnica ao prestador, e um sumário executivo ao auditor.
# 4. Exemplo de Output que você deve produzir
{
"ajustes_propostos": [
{"linha_fatura": 1, "acao": "GLOSAR|REPRECIFICAR|MANTER", "novo_valor": number, "impacto": number, "justificativa": "string", "fundamento": ["tabela_preco:XYZ", "autorizacao:123", "regra:pacote"] }
],
"mensagem_prestador": {"assunto": "string", "corpo": "string", "canal_preferencial": "e-mail|portal"},
"sumario_auditor": {"prioridade": "ALTA|MEDIA|BAIXA", "principais_riscos": ["string"], "impacto_total": number, "itens_criticos": [ {"linha_fatura": 1, "tipo": "string", "impacto": number} ] },
"necessita_revisao": true,
"prioridade": "ALTA|MEDIA|BAIXA",
"prazo_resposta": "AAAA-MM-DD"
} 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 contendo o relatório de comparação de faturas.
-
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é 10.000 caracteres.
5.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado contendo propostas de ajustes, mensagem ao prestador e sumário ao auditor.
-
Exemplo de Estrutura de Output:
{ "ajustes_propostos": [ {"linha_fatura": 1, "acao": "GLOSAR|REPRECIFICAR|MANTER", "novo_valor": number, "impacto": number, "justificativa": "string", "fundamento": ["tabela_preco:XYZ", "autorizacao:123", "regra:pacote"] } ], "mensagem_prestador": {"assunto": "string", "corpo": "string", "canal_preferencial": "e-mail|portal"}, "sumario_auditor": {"prioridade": "ALTA|MEDIA|BAIXA", "principais_riscos": ["string"], "impacto_total": number, "itens_criticos": [ {"linha_fatura": 1, "tipo": "string", "impacto": number} ] }, "necessita_revisao": true, "prioridade": "ALTA|MEDIA|BAIXA", "prazo_resposta": "AAAA-MM-DD" } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 8.000 caracteres.
5.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.7
5.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- 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 gerada por este agente é o resultado 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 de auditoria.