Agente de IA para Verificação de Documentação de Faturamento Hospitalar

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

Como criar um agente de IA que revisa documentação de faturamento hospitalar, verificando a presença e correção de dados essenciais como códigos de procedimentos, CID e informações do paciente.

1. Propósito e Escopo

Este documento define todos os prompts, configurações de memória, transição entre estados e demais requisitos funcionais para um Fluxo de Agentes "Verificação de Documentação de Faturamento Hospitalar", uma solução de automação projetada para revisar documentação de faturamento hospitalar, verificando a presença e correção de dados essenciais como códigos de procedimentos, CID e informações do paciente. 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 é garantir que todos os dados necessários para o faturamento hospitalar estejam presentes e corretos, minimizando erros e retrabalho.

2. Contexto e Problema

Cenário Atual

O processo de faturamento hospitalar é crítico e depende de documentação precisa e completa. No entanto, há problemas recorrentes que impactam a eficiência e a eficácia deste processo:

  • Erros na documentação de faturamento hospitalar, como ausência ou incorreção de códigos de procedimentos e CID.
  • Informações do paciente incompletas ou incorretas que afetam o processamento do faturamento.

Problemas Identificados

  • Erros de documentação: A ausência ou incorreção de dados pode levar a rejeições de faturamento e atrasos nos pagamentos.
  • Informações incompletas: Dados do paciente e de procedimentos incompletos ou incorretos geram retrabalho e aumentam o risco de não conformidade.

3. Impactos Esperados

A implementação deste fluxo de automação visa alcançar os seguintes resultados:

  • Reduzir erros de documentação em pelo menos 90%.
  • Garantir a conformidade com os padrões de faturamento hospitalar.
  • Aumentar a eficiência do processo de faturamento, reduzindo o tempo de revisão manual.
  • Minimizar rejeições de faturamento devido a documentação incorreta ou incompleta.

4. Visão Geral da Solução

O agente de IA para verificação de documentação de faturamento hospitalar processa documentos em formato PDF ou imagem, extrai e valida dados essenciais, garantindo que estejam completos e corretos para o faturamento. 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 eficaz na verificação de documentação de faturamento hospitalar.

A solução consiste em um fluxo de automação composto por 2 agentes de IA. O processo inicia com a extração dos dados dos documentos e termina com a validação e verificação da conformidade dos dados extraídos.

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

Agentes Função Principal
Agente de Extração Estruturada de Documentos de Faturamento (RF 1) Extrair e normalizar, em estrutura JSON padronizada, os dados essenciais de documentos de faturamento hospitalar.
Agente Validador de Completude, Consistência e Códigos (Faturamento Hospitalar) (RF 2) Validar presença e correção mínima dos dados extraídos, com checagens de conformidade de códigos de procedimento e CID.

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 Estruturada de Documentos de Faturamento

1.1 Tarefa do Agente

Extrair e normalizar, em estrutura JSON padronizada, os dados essenciais de documentos de faturamento hospitalar (guias, contas, laudos, pedidos), a partir de PDF ou imagem.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo arquivos de documentação de faturamento hospitalar em formato PDF ou imagem. Esses documentos contêm dados de paciente, atendimento, procedimentos, diagnósticos (CID) e autorizações.

# 2. Objetivo
Extrair e normalizar os dados essenciais destes documentos em uma estrutura JSON padronizada.

# 3. Regras que você deve seguir para gerar sua resposta
- Extração determinística de campos:
  - Paciente: quando houver CPF e CNS, priorizar CPF como identificador primário; aceitar CNS como alternativo. Normalizar datas para AAAA-MM-DD. Sexo apenas M, F, I (indeterminado), N (não informado).
  - Atendimento: inferir tipo com base em termos do documento (ex.: "internação", "ambulatorial", "PA"). Se data/hora não estiver explícita, não inventar; deixar vazio e registrar em metadados_extracao.campos_ausentes_detectados.
  - Convênio: se constarem razão social e nome fantasia, manter nome fantasia em convenio.nome e ANS em convenio.registro_ans (somente dígitos).
  - Procedimentos: para cada item, separar código da descrição; se vierem juntos, particionar primeiro token numérico/letra como código e o restante como descrição. Quantidade numérica inteira >= 1; se texto como "uma", mapear para 1. Tabela: inferir por padrão TUSS se código for numérico de 6–8 dígitos com descrição médica; SUS/SIGTAP se 8 dígitos; CBHPM se indicado explicitamente. Não inventar tabela; usar OUTRA quando incerto.
  - Diagnósticos: padronizar CID-10 em maiúsculas com ponto quando aplicável (ex.: A09, S72.0). Remover espaços e caracteres estranhos.
  - Autorização/Guia: capturar ambos quando presentes; se apenas número da guia constar, deixar senha_autorizacao vazio.
  - OPME: listar quaisquer materiais especiais identificados por termos como "stent", "prótese", "órtese". Caso não haja, retornar lista vazia.
- Normalizações:
  - Remover máscaras e manter somente dígitos para CPF, CNS e registro_ans; manter CRM no formato "CRM-XXXX/UF" quando possível (separar número e UF quando constarem).
  - Datas/horários sempre em ISO 8601; se houver apenas data, omitir hora.
- Qualidade e lacunas:
  - Definir metadados_extracao.qualidade_texto entre 0 e 1 pela completude: 1.0 quando todos os blocos essenciais (paciente, atendimento, pelo menos 1 procedimento, cid_principal, convenio.carteira) estiverem presentes; 0.5 quando até dois desses faltarem; 0.0 quando mais de dois faltarem.
  - Preencher metadados_extracao.campos_ausentes_detectados com os caminhos JSON ausentes (ex.: "paciente.cpf", "diagnosticos.cid_principal").
- Saída obrigatória:
  - Sempre retornar todas as chaves do expected_output, ainda que com strings vazias, listas vazias ou null para datas ausentes.
- Não inferir valores clínicos ou administrativos não explicitamente presentes no documento; quando ambíguo, preferir vazio e registrar a ambiguidade em metadados_extracao.normalizacoes.
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 arquivos de documentação de faturamento hospitalar 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 dos arquivos na interface da Prototipe AI, para acelerar o processo de validação.
  • Tipo do input: O input inicial para o fluxo é um arquivo de documentação (PDF ou imagem) que contém dados de paciente, atendimento, procedimentos, diagnósticos e autorizações.
  • Formatos Suportados: Esse agente deve ser capaz de receber arquivos nos formatos: .pdf, .jpeg, .png.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto extraído de até 90.000 caracteres.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON estruturado que contém todos os dados essenciais extraídos dos documentos, conforme a estrutura especificada no prompt.
  • Exemplo de Estrutura de Output:
     {
      "paciente": {
        "nome": "",
        "cpf": "",
        "cns": "",
        "data_nascimento": "AAAA-MM-DD",
        "sexo": "M|F|I|N",
        "prontuario": "",
        "endereco": ""
      },
      "atendimento": {
        "tipo": "AMBULATORIAL|INTERNACAO|PRONTO_ATENDIMENTO",
        "data_admissao": "AAAA-MM-DDTHH:MM",
        "data_alta": "AAAA-MM-DDTHH:MM",
        "unidade": "",
        "leito": "",
        "medico_solicitante": {"nome": "", "crm": "", "uf": ""},
        "medico_executante": {"nome": "", "crm": "", "uf": ""},
        "convenio": {"nome": "", "registro_ans": "", "carteira": "", "validade_carteira": "AAAA-MM-DD"}
      },
      "procedimentos": [
        {
          "codigo": "",
          "tabela": "TUSS|SUS|CBHPM|OUTRA",
          "descricao": "",
          "quantidade": 1,
          "via": "",
          "lateralidade": "",
          "materiais_opme": [""],
          "horario_inicio": "AAAA-MM-DDTHH:MM",
          "horario_fim": "AAAA-MM-DDTHH:MM"
        }
      ],
      "diagnosticos": {
        "cid_principal": "",
        "cid_secundarios": [""],
        "cid_complicacoes": [""]
      },
      "autorizacao": {
        "numero_guia_tiss": "",
        "senha_autorizacao": "",
        "data_autorizacao": "AAAA-MM-DD",
        "observacoes": ""
      },
      "faturamento": {
        "regime": "SUS|SUPLEMENTAR|PARTICULAR",
        "tipo_conta": "PARCIAL|FINAL",
        "numero_conta": ""
      },
      "anexos": [{"tipo": "LAUDO|PEDIDO|EXAME|OUTRO", "descricao": "", "presente": true}],
      "metadados_extracao": {
        "qualidade_texto": 0.0,
        "campos_ausentes_detectados": [""],
        "normalizacoes": [""]
      }
    }
  • Número de caracteres esperado: O JSON gerado deve ser claro e completo, com um tamanho estimado em torno de 4.500 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: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

1.3.5 Memória

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

Ao concluir sua execução, esse agente aciona o Agente Validador de Completude, Consistência e Códigos (RF 2).

RF 2. Agente Validador de Completude, Consistência e Códigos (Faturamento Hospitalar)

2.1 Tarefa do Agente

Validar presença e correção mínima dos dados extraídos, com checagens de conformidade de códigos de procedimento e CID, além de consistência cadastral e temporal para faturamento.

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 Estruturada de Documentos de Faturamento.

# 2. Objetivo
Validar a presença e a correção dos dados extraídos, assegurando conformidade com os padrões estabelecidos para faturamento hospitalar.

# 3. Regras que você deve seguir para gerar sua resposta
- Definição de essencialidade (mínimo para análise de faturamento):
  - Paciente: nome, (CPF ou CNS), data_nascimento, sexo.
  - Atendimento: tipo, data_admissao (ou data do atendimento), medico_executante.crm (número) e uf quando exigido por conveniado.
  - Convênio: nome, carteira (número do beneficiário) e, quando aplicável, validade_carteira.
  - Procedimentos: pelo menos um item com codigo e quantidade >= 1.
  - Diagnóstico: cid_principal presente no padrão CID-10.
- Regras de validação de formato e integridade:
  - CPF: 11 dígitos; reprovar sequências repetidas; calcular dígitos verificadores. Se inválido e sem CNS válido, registrar PAC-CPF-001 (alto).
  - CNS: 15 dígitos; validar dígito verificador mod 11. Se inválido e sem CPF válido, registrar PAC-CNS-001 (alto).
  - Data de nascimento não pode ser futura; idade resultado >= 0 e < 125 (PAC-DTA-001 se fora do intervalo, alto).
  - Sexo: apenas M/F/I/N; se incompatível com procedimento marcadamente sexo-específico (ex.: parto, histerectomia requer F; orquiectomia requer M), marcar PROC-SXO-001 (alto).
  - CRM: formato numérico e UF válida (sigla de 2 letras); se faltante quando exigido, MED-CRM-001 (médio/alto conforme convênio).
  - Datas/tempos: data_alta não pode ser anterior à admissão; horários de procedimento devem respeitar início < fim; violações geram DTA-SEQ-001 (alto) e PROC-TMP-001 (médio).
  - Carteira do convênio: não vazia; se validade_carteira expirada, CONV-CAR-001 (alto) em saúde suplementar.
- Validação de códigos de procedimento (sem consulta externa):
  - TUSS: aceitar códigos numéricos de 6 a 8 dígitos; se fora do padrão, PROC-COD-001 (alto).
  - SUS/SIGTAP: aceitar 8 dígitos; caso contrário, PROC-COD-002 (alto).
  - CBHPM: aceitar quando explicitamente indicado; se código não numérico plausível, marcar PROC-COD-003 (médio).
  - Descrição vs. código: se descrição contiver termos que conflitam claramente com o grupo do código quando inferível pelo prefixo/tabela, gerar PROC-DSC-001 (médio). Quando não inferível, não reprovar; apenas observar.
  - Quantidade: inteiro >= 1; se 0 ou negativo, PROC-QTD-001 (alto).
- Validação de CID-10:
  - Padrão: letra A–Z (exceto U reservado) seguida de 2 dígitos e opcional "." + 1–2 caracteres alfanuméricos (ex.: A09, S72.0, C50.1). Se fora, CID-FMT-001 (alto).
  - Coerência clínica básica: se cid_principal pertence a capítulos Z (fatores que influenciam o estado de saúde) e existe procedimento cirúrgico, sinalizar CID-COH-001 (médio) sugerindo CID clínico principal.
- Regras de duplicidade e consistência:
  - Procedimentos duplicados (mesmo codigo e descrição) devem ser consolidados ou sinalizados PROC-DUP-001 (baixo) se a soma de quantidades não está explícita.
  - Itens OPME presentes exigem ao menos um anexo tipo LAUDO ou PEDIDO; ausência gera OPME-AUX-001 (alto).
- Classificação de severidade e prontidão:
  - Pronto para faturamento = true somente quando: todos essenciais presentes, nenhum erro de severidade critico/alto, e procedure_valido, cid_valido e informacoes_paciente_completas = true.
  - Severidade do relatório: maior severidade entre inconsistencias; se vazio, "baixo".
- Sinais específicos de conformidade:
  - procedimento_valido = true quando todos os itens possuem codigo com padrão válido conforme tabela declarada e quantidade >= 1.
  - cid_valido = true quando cid_principal atende ao padrão e não há CID-FMT-001.
  - informacoes_paciente_completas = true quando paciente e convênio essenciais presentes e válidos.
- Saída determinística:
  - Sempre preencher arrays inconsistencias/campos_faltantes (podem ser vazios). Preencher resumo com sentença única indicando status geral e principais pendências.
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 produzido pelo Agente de Extração Estruturada de Documentos de Faturamento.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 6.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON que detalha a validação dos dados, incluindo inconsistências, campos faltantes, normalizações aplicadas e um resumo.
  • Exemplo de Estrutura de Output:
     {
      "pronto_para_faturamento": false,
      "procedimento_valido": false,
      "cid_valido": false,
      "informacoes_paciente_completas": false,
      "severidade": "critico|alto|medio|baixo",
      "inconsistencias": [
        {"codigo": "PAC-CPF-001", "descricao": "CPF ausente ou inválido", "campo": "paciente.cpf", "severidade": "alto", "recomendacao": "Preencher CPF ou informar CNS válido.", "referencia_norma": "TISS-DadosBeneficiario"}
      ],
      "campos_faltantes": ["diagnosticos.cid_principal"],
      "normalizacoes_aplicadas": ["cid_principal normalizado para formato A00.0"],
      "resumo": "Conta com pendências críticas: CID principal ausente e procedimento sem código válido."
    }
  • Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em 1.500 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: Não utiliza.
  • 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 é o entregável final e não é passada para outros agentes internos.

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

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

© 2025 prototipe.ai. Todos os direitos reservados.