Essa é uma revisão anterior do documento!
Requisito - [TCE] Sistema Especialista de Análise de Aposentadoria Civil
1. Visão Geral do Sistema
Sistema Especialista de Análise de Aposentadoria Civil — sistema independente de BPM para suporte à instrução técnica de atos de aposentadoria civil analisados pelo TCE-GO.
O sistema substitui o fluxo BPM existente (356 tarefas, 103 formulários dinâmicos) por uma aplicação orientada a objetos de negócio (servidor, vínculo, cargo, aposentadoria), com uso de LLM para extração assistida de dados a partir de documentos PDF juntados ao processo.
Objetivo principal: Preencher eficientemente os dados necessários para emissão da Instrução Técnica via API `POST /api/InstrucaoTecnica/EnviarInstrucaoTecnica`.
Tipo de fluxo suportado: Civil (TipoFluxo = 1) e Legado (TipoFluxo = 2).
Versão: 1.0.0 | Data: 04/03/2026
Responsável: Seção de Atos de Pessoal — TCE-GO
2. Contexto e Motivação
2.1 Problemas do Sistema Atual
| Problema | Impacto |
|---|---|
| Fluxo BPM com 356 tarefas para uma análise linear | Alta complexidade operacional, dificulta rastreio e manutenção |
| Dependência de atores externos (GOIASPREV, CALCULO-ST) | Gargalos de comunicação, esperas desnecessárias na análise TCE |
| Geração de PDFs intermediários a cada etapa | Sobrecarga do CPA e tempo de processamento |
| Formulários repetitivos por motivo de aposentadoria | Retrabalho; mesmos dados inseridos em múltiplos formulários |
| Orientação a processos, não a entidades | Dificulta análise simultânea de múltiplos vínculos do mesmo servidor |
| Interface fragmentada em dezenas de telas | Baixa usabilidade; analista perde contexto entre telas |
2.2 Modelo To-Be: Sistema Especialista
O novo sistema é orientado ao servidor e seus vínculos. Um servidor pode ter múltiplos vínculos ativos e requerer aposentadoria em cada um deles. O sistema gerencia cada vínculo de forma independente, mas apresenta uma visão consolidada do servidor.
O uso de LLM (Large Language Model) permite ao analista carregar o PDF do processo e extrair automaticamente os campos necessários, com revisão humana antes do envio.
3. Escopo
3.1 Incluído no Escopo
- Cadastro e gestão de servidores e seus vínculos (cargos/matrículas)
- Extração assistida por LLM de variáveis a partir de PDFs do processo
- Preenchimento guiado do formulário de dados da aposentadoria por vínculo
- Validação de regras de negócio (legalidade/ilegalidade) com geração de críticas
- Emissão de Instrução Técnica via API `POST /api/InstrucaoTecnica/EnviarInstrucaoTecnica`
- Geração de PDF da instrução técnica somente ao final do processo de análise
- Configuração de prompts de extração por categoria de variável
- Histórico de análises por processo TCE
3.2 Fora do Escopo
- Comunicação com GOIASPREV (cálculo automático de proventos, inclusão em folha de inativos)
- Gestão de assinaturas digitais intermediárias
- Envio de e-mails de prazo/comunicado
- Controle de prazos internos ao BPM (boundary events)
- Apostilamento (integrado diretamente ao módulo TCE existente)
4. Atores do Sistema
| Ator | Papel | Responsabilidade |
|---|---|---|
| Analista de Pessoal (TCE) | Usuário principal | Instruir tecnicamente o ato de aposentadoria, preencher e enviar a IT |
| Chefe do Serviço de Atos de Pessoal | Gestor | Revisar, aprovar ou devolver instrução técnica antes do envio |
| Serviço de Registro (TCE) | Usuário secundário | Informar registros de admissão/cargo existentes no TCE-GO |
| Administrador do Sistema | Operação | Configurar prompts LLM, tabelas de fundamentos legais, modelos de IT |
[!NOTE]
O sistema não se comunica com o GOIASPREV nem com atores externos ao TCE-GO. Todos os dados de proventos e tempo de serviço são inseridos manualmente pelo analista com auxílio do LLM.
5. Modelo de Objetos de Negócio
5.1 Hierarquia de Entidades
Servidor ├── dadosPessoais: DadosPessoais ├── vinculos: Vinculo[] ← um servidor pode ter N vínculos └── processos: ProcessoTCE[] Vinculo ├── matricula: string ├── orgao: string ├── cargo: string ├── regimeJuridico: Estatutário | Celetista ├── dataIngresso: date ├── historicoFuncional: HistoricoFuncional └── aposentadoria?: Aposentadoria ← optional; presente se há pedido Aposentadoria ├── motivoAposentadoria: MotivoAposentadoria ├── fundamentoLegal: FundamentoLegal ├── dadosEspecificos: DadosEspecificos ← varia por motivo ├── tempoContribuicao: TempoContribuicao ├── proventos: Proventos ├── documentos: Documento[] └── instrucaoTecnica?: InstrucaoTecnica InstrucaoTecnica ├── tipoFluxo: Civil | Legado ├── processoSolar: string ├── processoTCE: string ├── encaminhamento: Legalidade | Ilegalidade | Diligencia ├── criticas: Critica[] ├── registros: RegistroServidor[] └── textoEncaminhamento: string
5.2 Enum: MotivoAposentadoria
| Código | Descrição | Tipo de Dados Específicos |
|---|---|---|
| 1 | Voluntária | TempoContribuição, DispositivoLegal, Requerimento |
| 2 | Compulsória | DataDocumentoInicial, DispositivoLegal |
| 3 | Invalidez | DataInvalidez, TipoDoença, LaudoMédico |
| 4 | Incapacidade Permanente | DataIncapacidade, LaudoMédico, AtoInterdição |
| 5 | Pessoa com Deficiência (PcD) | GrauDeficiência, TempoCondPcD, LaudoBiopsicossocial |
6. Telas (Módulos da Interface)
Cada módulo é acessível via menu lateral fixo. O progresso de preenchimento é exibido em barra de status por módulo.
Tela 01 — Painel do Processo
Objetivo: Visão geral do processo de análise, acesso rápido a cada módulo.
Ator: Analista de Pessoal
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| processoTCE | Input texto | Sim | Número do processo no TCE-GO (ex: 202500001-2) |
| processoSolar | Input texto | Não | Número do processo no Solar BPM (legado) |
| tipoFluxo | Seleção | Sim | Civil (1) / Legado (2) |
| motivoAposentadoria | Seleção | Sim | Ver enum MotivoAposentadoria (5 opções) |
| statusAnalise | Badge | Não (leitura) | Rascunho / Em análise / Aguardando revisão / Enviada |
| progresso | Barra de progresso | Não (leitura) | % dos módulos preenchidos |
Ações: [ Novo Processo ] [ Abrir PDF ] [ Extrair com IA ] [ Enviar Instrução Técnica ]
Tela 02 — Dados do Servidor
Objetivo: Registrar ou buscar o servidor por CPF. Exibir/editar dados pessoais.
Ator: Analista de Pessoal
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| cpf | Input CPF | Sim | Busca automática na base TCE após preenchimento |
| nomeServidor | Input texto | Sim | |
| dataNascimento | Data | Sim | Calculada automaticamente a idade na data da aposentadoria |
| idadeApuracao | Número (leitura) | Não | Calculado: data apuração − data nascimento |
| sexo | Radio | Sim | Masculino / Feminino |
| rg | Input texto | Sim | |
| rgEmissor | Input texto | Sim | |
| rgUF | Seleção | Sim | UFs brasileiras |
| nomeMae | Input texto | Não | |
| nomeAlterado | Radio | Sim | Sim / Não; se Sim, solicita documento comprobatório |
| pisPasep | Input mascarado | Não | |
| decisaoJudicial | Radio | Sim | Sim, transitada em julgado / Sim, não transitada / Não |
Ação IA: [ 🤖 Extrair dados do PDF ] — executa prompt configurável para campos pessoais
Tela 03 — Vínculos e Cargos
Objetivo: Gerenciar os vínculos (cargos/matrículas) do servidor. Cada vínculo é tratado de forma independente para fins de aposentadoria.
Ator: Analista de Pessoal
Listagem de Vínculos:
| # | Matrícula | Órgão | Cargo | Regime Jurídico | Pedido de Aposentadoria | Ações |
|---|---|---|---|---|---|---|
| 1 | 123456 | SEFAZ-GO | Auditor Fiscal | Estatutário | ✅ Sim | [Editar] [Analisar] |
| 2 | 789012 | SEGPLAN-GO | Analista de Políticas Públicas | Estatutário | ❌ Não | [Editar] [Incluir pedido] |
Formulário de Vínculo:
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| matricula | Input texto | Sim | |
| codigoVinculo | Input texto | Não | |
| orgao | Input texto | Sim | |
| cargo | Input texto | Sim | |
| descComplementarCargo | Input texto | Não | |
| naturezaCargo | Seleção | Sim | Geral / Magistério Básico / Magistério Superior / Judiciário/MP/TC |
| regimeJuridico | Seleção | Sim | Estatutário / Celetista |
| orgaoIngresso | Input texto | Sim | |
| dataNomeacao | Data | Não | |
| dataPosse | Data | Não | |
| dataEfetivoExercicio | Data | Sim | |
| dataInicioContrato | Data | Celetista | Obrigatório apenas para regime celetista |
| cargaHorariaMensal | Número | Não | |
| acumulaCargoPublico | Radio | Sim | Sim / Não — se Sim, exibe campo nmCargoPublico |
| estaAposentadoOutroCargo | Radio | Sim | Sim / Não |
| recebeBeneficioPrevidenciario | Radio | Sim | Sim / Não — se Sim, identifica benefício |
| possuiLicencaPremio | Radio | Sim | Sim / Não |
| respondeProcAdministrativo | Radio | Sim | Sim / Não — se Sim, lista processos |
| estaADisposicao | Radio | Não | Sim / Não |
| previdenciaComplementar | Radio | Sim | Sim / Não |
Ação IA: [ 🤖 Extrair dados do vínculo do PDF ]
Tela 04 — Histórico Funcional
Objetivo: Registrar a evolução funcional e o tempo de contribuição/serviço do vínculo selecionado.
Ator: Analista de Pessoal
Sub-seção: Evolução da Situação Funcional
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| tab_evolucaoSitFuncional | Tabela editável | Não | Colunas: Cargo/Alteração, Classificação, Escolaridade Exigida, Ato Comprobatório, Data Início |
| dataIngressoServPublico | Data | Sim | Data mais antiga de efetivo exercício |
| dataEfetivoExercicioCargoAposen | Data | Sim | |
| dataFimTempoContribServico | Data | Sim | |
Sub-seção: Discriminação de Tempo
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| tab_tempoInfluenciaAposen | Tabela editável | Não | Categoria: Afastamento, Averbação (público/privado), Fictício, etc. |
| totalTempoContribuicaoServico | Input calculado | Sim | Total consolidado em anos/meses/dias |
| totalTempoContribuicaoServicoPublico | Input calculado | Sim | |
| totalTempoMagisterioInfantil | Input calculado | Não | Obrigatório se naturezaCargo = Magistério |
| totalTempoConvertidoEspecial | Input calculado | Não | |
| houvePedagio | Radio | Sim | Sim / Não (EC 103/2019) |
| houveConversaoTempoEspecial | Radio | Não | Sim / Não |
| contribuicoesRGPS | Radio | Sim | Sim / Não — se Sim, solicita Certidão COMPREV |
Sub-seção: Contracheque
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| mesContracheque | Mascarado (MM) | Sim | Mês de referência |
| anoContracheque | Mascarado (AAAA) | Sim | Ano de referência |
| recebeVencimentoOuSubsidio | Radio | Sim | Vencimento / Subsídio |
| tab_proventos | Tabela editável | Sim | Colunas: Código Rubrica, Nome Rubrica, Valor Pago |
| tab_vantagens | Tabela editável | Não | Vantagens financeiras ao longo da carreira |
Ação IA: [ 🤖 Extrair histórico funcional do PDF ] [ 🤖 Extrair contracheque do PDF ]
Tela 05 — Dados Específicos da Aposentadoria
Objetivo: Preencher os dados específicos conforme o motivo da aposentadoria selecionado na Tela 01.
Ator: Analista de Pessoal
A. Motivo: Voluntária
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| dataRequerimento | Data | Não | |
| dispositivoLegalSimplificado | Seleção + Texto | Sim | Catálogo de fundamentos legais |
| descricaoFundamentoLegalSimplif | Seleção + Texto | Sim | |
| descricaoFundamentoLegalCompleto | Seleção + Texto | Sim | |
| idFundamentoLegal | Código (leitura) | Sim | Preenchido ao selecionar fundamento |
B. Motivo: Compulsória
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| dataDocInicialAposentadoria | Data | Não | |
| dispositivoLegalSimplificado | Seleção + Texto | Sim | |
| idFundamentoLegal | Código (leitura) | Sim | |
C. Motivo: Invalidez
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| dataInvalidez | Data | Sim | |
| invalidezDecorrenteAcidente | Radio | Sim | Sim / Não |
| tipoDoenca | Seleção | Condicional | Acidente em serviço / Moléstia profissional / Doença grave |
| invalidezComAlienacaoMental | Radio | Sim | Sim / Não |
| idFundamentoLegal | Código (leitura) | Sim | |
D. Motivo: Incapacidade Permanente
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| dataIncapacidadePermanente | Data | Sim | |
| decorrenteAcidenteTrabalho | Radio | Sim | Sim / Não |
| incapacidadeComAlienacaoMental | Radio | Sim | Sim / Não |
| idFundamentoLegal | Código (leitura) | Sim | |
E. Motivo: Pessoa com Deficiência (PcD)
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| deficienciaCongenita | Radio | Sim | Sim / Não |
| tipoDocumentoMedico | Radio | Sim | Avaliação Biopsicossocial / Laudo médico / Outro |
| tab_tempoPcD | Tabela editável | Não | Colunas: Categoria Tempo, Data Inicial, Data Final, Grau Deficiência, Tempo Bruto |
| idFundamentoLegal | Código (leitura) | Sim | |
Ação IA: [ 🤖 Extrair dados da aposentadoria do PDF ]
Tela 06 — Documentos do Processo
Objetivo: Gerenciar os documentos juntados ao processo e suas referências (evento/folhas) para a IT.
Ator: Analista de Pessoal
| Documento | Obrigatório | Evento | Folhas | Observação |
|---|---|---|---|---|
| Requerimento do servidor | Voluntária/PcD | Input | Input | |
| Documento inicial da aposentadoria | Compulsória | Input | Input | |
| Laudo médico oficial | Invalidez/Incapacidade/PcD | Input | Input | |
| Ato de interdição/curatela | Condicional | Input | Input | Se alienação mental |
| Ato de nomeação/contrato | Não | Input | Input | |
| Declaração de não acumulação de cargos | Sim | Input | Input | |
| Declaração de benefício previdenciário | Condicional | Input | Input | |
| Declaração de previdência complementar | Não | Input | Input | |
| Ato concessor | Não | Input | Input | |
| Ato de fixação de proventos | Não | Input | Input | |
| Apostila declaratória | Não | Input | Input | |
| Certidão COMPREV/CTC | Condicional | Input | Input | |
| Histórico funcional (evento processo) | Não | Input | Input | |
| Parecer jurídico | Não | Input | Input | |
| Documentos requeridos (lista livre) | Não | Tabela editável | Tabela editável | Descrição + Juntado S/N |
Ação IA: [ 🤖 Identificar documentos no PDF ] — extrai eventos e folhas automaticamente
Tela 07 — Registros no TCE-GO
Objetivo: Informar registros de admissão e outros atos do servidor existentes no TCE-GO.
Ator: Serviço de Registro / Analista de Pessoal
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| indicaRegistroServidor | Radio | Sim | Sim / Não existem registros |
| indicaRegistroAdmissaoServidor | Radio | Sim | Sim / Não — se Sim, tipo de encaminhamento da admissão |
| tipoEncaminhamentoAdmissao | Seleção | Condicional | Legalidade / Ilegalidade |
| tab_registros | Tabela editável | Não | TipoServiço, Item, TipoAto, Cargo, Órgão, Data, Resolução |
| comentariosRegistros | Texto longo | Não | |
Tela 08 — Análise e Instrução Técnica
Objetivo: Revisar ocorrências, formular o encaminhamento e compor o texto da Instrução Técnica.
Ator: Analista de Pessoal / Chefe do Serviço
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| tab_criticas | Tabela editável | Não | Tipo, Descrição, Categoria, Análise do Analista |
| comentariosCriticas | Texto longo | Não | |
| indicaComplementoDocumentacao | Radio | Não | Sim / Não |
| tipoEncaminhamentoAto | Seleção | Sim | Legalidade / Ilegalidade / Diligência |
| textoLegalidade | Texto longo | Condicional | Geração sugerida pelo LLM; editável |
| textoIlegalidade | Texto longo | Condicional | Geração sugerida pelo LLM; editável |
| nomeProcurador | Input texto | Não | |
| checklist | Tabela | Não | Histórico de solicitações de informação e respostas |
Ações: [ 🤖 Sugerir texto de encaminhamento ] [ Pré-visualizar IT ] [ Enviar Instrução Técnica ]
Tela 09 — Configuração de Prompts de Extração
Objetivo: Tela administrativa para configurar os prompts utilizados pelo LLM em cada módulo de extração.
Ator: Administrador do Sistema
| Campo | Tipo | Observação |
|---|---|---|
| categoria | Seleção | Dados Pessoais / Histórico Funcional / Dados Aposentadoria / Documentos / Encaminhamento |
| promptSistema | Textarea | Instrução de sistema para o LLM (ex: papel do modelo, contexto) |
| promptExtracao | Textarea (markdown) | Template do prompt de extração com variáveis campo substituíveis |
| modeloLLM | Seleção | GPT-4o / Gemini-2.0 / Claude-3.5 (configurável) |
| temperatura | Slider 0–1 | Padrão: 0.1 para extração de dados estruturados |
| exemplos | Lista editável | Few-shot examples para cada categoria |
| ativo | Toggle | Ativar/desativar prompt por categoria |
| versao | Texto (leitura) | Controle de versão do prompt |
| ultimaAlteracao | Data/hora (leitura) | |
Prompts pré-configurados por categoria:
| Categoria | Variáveis Extraídas |
|---|---|
| Dados Pessoais | nome, cpf, dataNascimento, rg, sexo, nomeMae, decisaoJudicial |
| Histórico Funcional | orgaoIngresso, dataNomeacao, dataPosse, dataEfetivoExercicio, evolucaoFuncional[], tempoContribuicao |
| Dados da Aposentadoria | motivoAposentadoria, dispositivoLegal, dataInvalidez, dataIncapacidade, dataRequerimento |
| Documentos do Processo | tipoDocumento, evento, folhas para cada documento identificado no PDF |
| Proventos e Contracheque | rubricasCodigo[], rubricasNome[], rubricasValor[], totalVencimento |
| Encaminhamento | tipoCritica, descricaoCritica, recomendacao (para sugestão de texto da IT) |
7. Fluxo Principal do Sistema
Fluxo 01 — Instrução Técnica de Aposentadoria Civil (Fluxo Principal)
| Passo | Ação | Regra | Tela |
|---|---|---|---|
| 01 | Analista cria novo processo informando Nº TCE, Nº Solar (se houver), tipo de fluxo e motivo da aposentadoria. | RN01 | Tela 01 |
| 02 | Analista carrega o PDF do processo no sistema. O sistema envia ao LLM para extração inicial dos campos. | RN02 | Tela 01 |
| 03 | Analista busca o servidor por CPF. Se não encontrado, cadastra os dados pessoais. O LLM preenche sugestões. | RN03 | Tela 02 |
| 04 | Analista revisa e confirma os vínculos (cargos/matrículas) do servidor. Seleciona o vínculo objeto da aposentadoria. | RN04 | Tela 03 |
| 05 | Analista preenche o histórico funcional do vínculo selecionado, com auxílio do LLM. | RN05 | Tela 04 |
| 06 | Sistema apresenta o formulário de dados específicos conforme o motivo da aposentadoria. LLM sugere preenchimento. | RN06 | Tela 05 |
| 07 | Analista registra/confirma os documentos juntados ao processo (evento + folhas). LLM identifica automaticamente. | RN07 | Tela 06 |
| 08 | Serviço de Registro / Analista informa os registros existentes no TCE-GO relacionados ao servidor. | RN08 | Tela 07 |
| 09 | Sistema apresenta as ocorrências/críticas automáticas. Analista formula o texto de encaminhamento com suporte do LLM. | RN09 | Tela 08 |
| 10 | Analista (ou Chefe) revisa a pré-visualização da IT completa. | RN10 | Tela 08 |
| 11 | Analista confirma e envia a IT via `POST /api/InstrucaoTecnica/EnviarInstrucaoTecnica`. | RN11 | Tela 08 |
| 12 | Sistema exibe confirmação e disponibiliza o PDF da IT para download. PDF gerado apenas neste momento. | RN12 | Tela 01 |
Fluxo 02 — Extração Assistida por LLM
| Passo | Ação |
|---|---|
| 01 | Analista acessa qualquer tela de preenchimento e clica em [ 🤖 Extrair com IA ]. |
| 02 | Sistema envia o PDF (ou trecho relevante) ao LLM com o prompt configurado para a categoria. |
| 03 | LLM retorna JSON estruturado com os campos extraídos e o nível de confiança por campo. |
| 04 | Sistema preenche os campos com as sugestões, marcando visualmente os campos preenchidos pelo LLM (ícone 🤖 laranja). |
| 05 | Analista revisa cada campo sugerido, confirma ou corrige. Campos confirmados perdem a marcação laranja. |
| 06 | Analista salva o módulo. Apenas campos confirmados são persistidos no estado definitivo. |
Fluxo 03 — Servidor com Múltiplos Vínculos
| Passo | Ação |
|---|---|
| 01 | Após cadastrar o servidor (Tela 02), analista vê a lista de vínculos na Tela 03. |
| 02 | Para cada vínculo com pedido de aposentadoria, analista clica em [Analisar]. |
| 03 | O sistema abre um contexto de análise independente por vínculo (Telas 04–07). |
| 04 | Na Tela 08, o analista consolida a IT podendo referenciar múltiplos vínculos. |
| 05 | Uma IT distinta é emitida por vínculo (uma chamada à API por vínculo analisado). |
8. Regras de Negócio
| Regra | Descrição |
|---|---|
| RN01 | Tipo de Fluxo: O sistema suporta Civil (TipoFluxo=1) e Legado (TipoFluxo=2). A mudança de tipo altera os campos obrigatórios na IT. |
| RN02 | Extração LLM: O PDF é enviado ao LLM somente após consentimento explícito do analista. O sistema registra log de todas as extrações realizadas. |
| RN03 | Busca de Servidor: Ao informar o CPF, o sistema consulta a base interna. Dados encontrados são pré-preenchidos mas editáveis. |
| RN04 | Múltiplos Vínculos: Um servidor pode ter N vínculos ativos. Cada pedido de aposentadoria é analisado de forma independente (IT separada por vínculo). |
| RN05 | Cálculo de Tempo: O sistema exibe o tempo total de contribuição calculado a partir das categorias de tempo preenchidas, mas o cálculo oficial permanece responsabilidade do analista. |
| RN06 | Dados Específicos por Motivo: O formulário de dados específicos (Tela 05) exibe apenas os campos pertinentes ao motivo da aposentadoria selecionado na Tela 01. |
| RN07 | Documentos: O sistema mantém um checklist dinâmico de documentos esperados por motivo de aposentadoria. A ausência de documento obrigatório gera alerta (não bloqueia). |
| RN08 | Registros TCE: O sistema consulta a API de registros do TCE para pré-preencher a lista de registros relacionados ao servidor (se disponível). |
| RN09 | Críticas Automáticas: O sistema verifica inconsistências locais (ex: data de nomeação posterior a data de efetivo exercício) e exibe como críticas de nível “Alerta”. |
| RN10 | Pré-visualização: Antes do envio, o sistema gera uma pré-visualização HTML da IT, sem chamar a API de geração de PDF. |
| RN11 | Envio da IT: O sistema monta o objeto JSON completo conforme a API e faz a chamada `POST /api/InstrucaoTecnica/EnviarInstrucaoTecnica`. Em caso de erro, exibe a resposta da API sem perder os dados preenchidos. |
| RN12 | PDF Único no Final: O PDF da Instrução Técnica é gerado somente após o envio bem-sucedido, via endpoint específico da API. Nenhum PDF intermediário é gerado. |
| RN13 | Salvamento Automático: Cada módulo tem salvamento automático a cada 60 segundos e ao navegar entre telas. O analista pode retomar em qualquer ponto. |
| RN14 | Confiança LLM: Campos extraídos com confiança abaixo de 70% são marcados com ⚠️ e exigem confirmação explícita do analista antes de habilitar o envio da IT. |
| RN15 | Fundamentos Legais: O catálogo de dispositivos legais é mantido pelo administrador. A seleção de um fundamento preenche automaticamente IdFundamentoLegal e descrições associadas. |
9. Mapeamento para a API InstrucaoTecnica
9.1 Mapeamento de Campos — Raiz
| Campo API | Tela/Campo do Sistema | Observação |
|---|---|---|
| TipoFluxo | Tela 01 > tipoFluxo | 1=Civil, 2=Legado |
| ProcessoSolar | Tela 01 > processoSolar | |
| ProcessoTCE | Tela 01 > processoTCE | |
| MotivoAposentadoria | Tela 01 > motivoAposentadoria | Texto livre descritivo |
| NomeServidor | Tela 02 > nomeServidor | |
| CargoAposentadoria | Tela 03 > cargo (vínculo selecionado) | |
| OrgaoAposentadoria | Tela 03 > orgao | |
| DispositivoLegal | Tela 05 > dispositivoLegalSimplificado | |
| IdFundamentoLegal | Tela 05 > idFundamentoLegal | |
9.2 Mapeamento de Campos — Civil
| Campo API | Tela/Campo do Sistema |
|---|---|
| TotalTempoContribuicaoServico | Tela 04 > totalTempoContribuicaoServico |
| TotalTempoContribuicaoServicoPublico | Tela 04 > totalTempoContribuicaoServicoPublico |
| TotalTempoMagisterioInfantil | Tela 04 > totalTempoMagisterioInfantil |
| TotalTempoConvertidoEspecial | Tela 04 > totalTempoConvertidoEspecial |
| NaturezaCargoAposentadoria | Tela 03 > naturezaCargo |
| DataIncapacidadePermanente | Tela 05 > dataIncapacidadePermanente |
| DescricaoComplementarCargo | Tela 03 > descComplementarCargo |
| DataEfetivoCargoInicial | Tela 03 > dataEfetivoExercicio |
| DataNomeacaoCargoInicial | Tela 03 > dataNomeacao |
| DataInicioContrato | Tela 03 > dataInicioContrato |
| RegimeJuridico | Tela 03 > regimeJuridico |
| OrgaoIngresso | Tela 03 > orgaoIngresso |
| NomeCargoInicial | Tela 04 > denomCargoInicial |
| TipoEncaminhamentoAto | Tela 08 > tipoEncaminhamentoAto |
| TipoEncaminhamentoAdmissao | Tela 07 > tipoEncaminhamentoAdmissao |
| TextoLegalidade | Tela 08 > textoLegalidade |
| TextoIlegalidade | Tela 08 > textoIlegalidade |
| DescricaoFundamentoLegalCompleto | Tela 05 > descricaoFundamentoLegalCompleto |
| Criticas[] | Tela 08 > tab_criticas |
| Registros[] | Tela 07 > tab_registros |
| HistoricoFuncional | Tela 06 > documentos[tipoHistoricoFuncional] |
| AtoDeConcessao | Tela 06 > documentos[tipoAtoConcessao] |
| AtoDeFixacaoDeProventos | Tela 06 > documentos[tipoAtoFixacao] |
| ApostilaDeclaratoria | Tela 06 > documentos[tipoApostila] |
| DocumentoDeAnexo[] | Tela 06 > tab_documentos |
| IdadeApuracao | Tela 02 > idadeApuracao (calculado) |
| TipoMotivoAposentadoria | Tela 01 > motivoAposentadoria (enum) |
| ComentariosRelacaoCriticas | Tela 08 > comentariosCriticas |
| TipoEncaminhamento | Tela 08 > tipoEncaminhamentoAto |
10. Integração com LLM
10.1 Arquitetura de Extração
[Analista] → [Upload PDF]
↓
[Backend: Extrator PDF → texto]
↓
[Serviço LLM com prompt configurado]
↓
[Resposta: JSON estruturado + confiança por campo]
↓
[Frontend: preenche campos + marcação visual de sugestão LLM]
↓
[Analista revisa e confirma]
10.2 Contrato de Resposta do LLM
{
"campos": {
"nomeServidor": { "valor": "JOÃO SILVA", "confianca": 0.98 },
"cpf": { "valor": "123.456.789-00", "confianca": 0.99 },
"dataNascimento": { "valor": "1961-05-10", "confianca": 0.95 },
"dataEfetivoExercicio":{ "valor": "1990-03-01", "confianca": 0.82 },
"dispositivoLegal": { "valor": "Art. 40, §1º, II da CF/88", "confianca": 0.71 }
},
"documentosIdentificados": [
{ "tipo": "Requerimento do servidor", "evento": "01", "folhas": "01-02" },
{ "tipo": "Laudo médico", "evento": "03", "folhas": "10-15" }
],
"observacoes": "Página 12 ilegível; campo dispositivoLegal com baixa confiança."
}
10.3 Configuração de Prompt (Tela 09)
Cada prompt é estruturado em 3 partes configuráveis:
- System prompt: Define o papel do modelo (“Você é um assistente especializado em análise de atos de aposentadoria civil do TCE-GO…”)
- Template de usuário: Instrução com variáveis interpoladas (`texto_extraido`, `motivo_aposentadoria`)
- Schema de saída esperado: JSON Schema da resposta esperada, garantindo resposta estruturada
11. Requisitos Não Funcionais
11.1 Usabilidade (UX/UI)
| RNF# | Requisito | Critério de Aceitação |
|---|---|---|
| RNF01 | Interface limpa e focada: Cada tela exibe apenas os campos relevantes para o contexto (motivo, vínculo). Nenhum campo oculto usado como variável de controle de fluxo. | Layout em máximo 2 colunas; sem campos de sistema expostos ao usuário |
| RNF02 | Progresso visível: Barra de progresso por módulo no painel lateral. Indicador claro do % geral de conclusão. | Barra de progresso atualizada em tempo real; % calculado por campos obrigatórios preenchidos |
| RNF03 | Feedback imediato: Validações inline ao sair de cada campo (sem aguardar submissão do formulário). | Mensagem de erro/sucesso ≤ 200ms após blur do campo |
| RNF04 | Marcação de sugestões LLM: Campos preenchidos pelo LLM têm ícone 🤖 e fundo levemente diferenciado até confirmação do analista. | Campo confirmado retorna ao estilo padrão; campo não confirmado bloqueia “Enviar IT” |
| RNF05 | Salvamento automático: Estado do formulário salvo automaticamente a cada 60s e ao navegar entre telas, sem necessidade de ação do usuário. | Rascunho persistido no backend; toast de confirmação de salvamento |
| RNF06 | Modo leitura: Processos enviados ficam disponíveis em modo somente leitura com a IT visualizável. | Timeline de ações registradas; botão de impressão/download sempre disponível |
| RNF07 | Responsividade: Interface utilizável em monitores de 1280px de largura ou superior. | Sem scroll horizontal; tabelas com scroll interno em dispositivos menores |
| RNF08 | Acessibilidade: Formulários com labels associados, ordem de tabulação lógica e suporte a leitores de tela. | WCAG 2.1 nível AA |
| RNF09 | Tempo de resposta: Carregamento de tela ≤ 2s; extração LLM com spinner de progresso e estimativa de tempo. | Toast de progresso; cancelamento da extração disponível após 10s |
| RNF10 | Onboarding: Tooltip contextual nos campos complexos; documentação inline de cada seção. | Ícones “?” com explicação do campo e exemplo de preenchimento |
11.2 Confiabilidade e Segurança
| RNF# | Requisito |
|---|---|
| RNF11 | Autenticação: Integração com provedor SSO institucional do TCE-GO (OAuth 2.0 / SAML 2.0) |
| RNF12 | Autorização por papel: Analista vê apenas suas análises; Chefe vê análises da seção; Admin tem acesso total |
| RNF13 | Auditoria: Toda ação (criação, edição, envio de IT, extração LLM) é registrada com usuário, timestamp e IP |
| RNF14 | PDFs enviados ao LLM: Processados em ambiente seguro; não armazenados pelo provedor LLM; configurável por política institucional |
| RNF15 | Disponibilidade: SLA de 99% em horário de expediente (8h–18h, dias úteis) |
| RNF16 | Backup: Dados de formulário salvos com retenção mínima de 5 anos |
11.3 Integrações Externas
| Sistema | Tipo | Descrição |
|---|---|---|
| API IT (TCE) | REST POST | `/api/InstrucaoTecnica/EnviarInstrucaoTecnica` — envio da IT final |
| API Registros (TCE) | REST GET | Consulta de registros de admissão/cargo do servidor |
| Base de Servidores (TCE) | REST GET | Busca de servidor por CPF |
| Catálogo de Fundamentos Legais | REST GET | Lista de dispositivos legais e seus IDs (`IdFundamentoLegal`) |
| Provedor LLM | REST | Endpoint configurável por ambiente (Azure OpenAI, Google Vertex, etc.) |
12. Glossário
| Termo | Definição |
|---|---|
| IT | Instrução Técnica: documento formal emitido pelo TCE-GO avaliando a legalidade de um ato de aposentadoria |
| Vínculo | Relação funcional entre o servidor e um órgão público, caracterizada por matricula, cargo e regime jurídico |
| TipoFluxo Civil | Análise de aposentadorias regidas pela EC 103/2019 e legislação complementar estadual goiana |
| TipoFluxo Legado | Análise de aposentadorias concedidas antes da EC 103/2019, com regras anteriores |
| LLM | Large Language Model: modelo de linguagem utilizado para extração assistida de dados de PDFs |
| RPPS | Regime Próprio de Previdência Social |
| RGPS | Regime Geral de Previdência Social (INSS) |
| COMPREV | Compensação Previdenciária entre regimes |
| PcD | Pessoa com Deficiência |
| CPA | Sistema de Controle de Processos Administrativos do TCE-GO |
| EC 103/2019 | Emenda Constitucional da Reforma da Previdência |
| Pedágio | Requisito adicional de tempo de contribuição para servidores em transição pela EC 103/2019 |
13. Histórico de Revisões
| Versão | Data | Autor | Descrição |
|---|---|---|---|
| 1.0.0 | 04/03/2026 | Seção de Atos de Pessoal — TCE-GO | Versão inicial — derivada da análise do fluxo BPM existente (356 tarefas) |
Gerado em: 04/03/2026, 17:40.
Especificação do novo Sistema Especialista de Aposentadoria Civil, sem dependência do Solar BPM e GOIASPREV.