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
- 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 Validador de Completude, Consistência e Códigos (RF 2).
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.