0.Tipo de análise — regime de avaliação

O primeiro passo é selecionar o regime de análise. Essa escolha determina quais campos são obrigatórios, quais motores serão ativados e quantos PDFs serão gerados. Os campos exibem marcação visual conforme o regime ativo: obrigatório (borda dourada ★), opcional ou irrelevante (opacidade reduzida).

Nexo causal / concausa

CID-10 obrigatório

Avalia o vínculo causal entre uma doença (CID-10) e a exposição ocupacional a agentes físicos, químicos ou biológicos. Produz um laudo de nexo com escore evidenciário ponderado (D01–D10), presunções legais (P01–P08) e amplificadores (AMP01–AMP03). Indicado para: ações trabalhistas, perícias do INSS (B91), CAT, benefícios previdenciários.

Insalubridade (NR-15)

CID-10 não exigido

Caracteriza o direito ao adicional de insalubridade (art. 192 CLT) aplicando os Anexos da NR-15. Independe de diagnóstico médico — basta a existência de exposição habitual e permanente ao agente. O motor realiza avaliação qualitativa (Anexos 6, 13, 14) ou quantitativa (ruído, calor IBUTG, vibração, concentração de químicos). Indicado para: laudos de insalubridade, impugnação ou concessão de adicional, auditoria de folha de pagamento.

Campo de mediçãoUnidadeLimite NR-15 de referência
RuídodB(A)85 dB(A) para 8 h (Anexo 1)
Calor (IBUTG)°CVaria conforme taxa metabólica (Anexo 3)
Concentração químicappm ou mg/m³Limite de tolerância do Anexo 11
💡 Para benzeno e cancerígenos do Anexo 13, o limite de tolerância não se aplica — a exposição qualquer que seja caracteriza insalubridade. O uso de EPI não neutraliza o enquadramento nesses casos.

Ambos

CID-10 obrigatório

Aciona os dois motores em paralelo sobre os mesmos dados do caso. Ao final, são gerados dois PDFs independentes: um laudo de nexo causal e um laudo de insalubridade. Use quando o caso demanda tanto a caracterização da doença profissional quanto o reconhecimento do adicional — situações frequentes em ações de indenização por dano material e moral cumuladas com adicional.

1.Identificação do trabalhador

Dados pessoais do trabalhador. Esses dados são anonimizados nos registros estatísticos do sistema e não aparecem no laudo exportado se a opção de anonimização estiver ativa.

Nome

Opcional

Nome completo do trabalhador. Pode ser substituído por iniciais ou código para anonimização.

Idade / Sexo / UF / Município

Importante

Utilizados para contextualização epidemiológica e comparação com dados de prevalência do NTEP por região.

CampoExemplos
Idade38, 52, 61
UFRS, SP, MG
MunicípioNova Prata, Porto Alegre, São Paulo

2.Vínculo empregatício

Dados do vínculo são fundamentais para o cruzamento com a tabela NTEP (Nexo Técnico Epidemiológico Previdenciário) do INSS, que é baseada em pares CNAE × CID-10.

CNAE 2.0

Obrigatório

Classificação Nacional de Atividades Econômicas. O sistema usa apenas os 4 primeiros dígitos (subclasse) para o cruzamento NTEP. Pode ser obtido na certidão CNPJ da empresa no site da Receita Federal.

CódigoDescriçãoSetor
3600-6Captação, tratamento e distribuição de águaSaneamento
8610-1Atividades de atendimento hospitalarSaúde
2011-8Fabricação de cloro e álcalisQuímica
0810-0Extração de pedra, areia e argilaMineração
4120-4Construção de edifíciosConstrução civil
📍 Onde encontrar Receita Federal: Consulta CNPJ · IBGE: cnae.ibge.gov.br

Código CBO da função

Obrigatório

Classificação Brasileira de Ocupações. Código de 6 dígitos que identifica a função exercida. Consta na CTPS digital, no eSocial, no PPP (Perfil Profissiográfico Previdenciário) e na RAIS.

Código CBOOcupação
202410Químico (todas as áreas)
203010Biólogo
322205Técnico de laboratório (análises clínicas)
515305Auxiliar de laboratório de análises clínicas
717020Operador de estação de tratamento de água e efluentes
📍 Onde encontrar MTE: mtecbo.gov.br · eSocial tabela 6 (CBO)

Tempo de exposição (meses)

Importante

Calcule a diferença entre a data de admissão e a data de demissão (ou diagnóstico). O sistema usa esse valor para avaliar critérios de latência mínima por tipo de doença.

PeríodoMeses
6 meses6
2 anos24
7 anos (como no caso arsênio/CORSAN)84
15 anos180

3.Doença em discussão

O CID-10 é o campo mais crítico do sistema. É ele que alimenta o cruzamento NTEP e define quais presunções legais são invocadas automaticamente.

CID-10 *

Obrigatório

Código da Classificação Internacional de Doenças (10ª revisão). Formato: Letra + 2 dígitos (opcionalmente .subdígito). Consta no atestado médico, laudo diagnóstico ou relatório de alta hospitalar.

CID-10DescriçãoNexo NTEP comum
C44.0Câncer de pele — neoplasia maligna da pele do lábioArsênio, UV, alcatrão
C44.3Carcinoma basocelular — outras partes da faceArsênio, radiação UV
J45AsmaIsocianatos, poeiras vegetais
M54.5Dor lombar baixaMovimentação de cargas, vibração
G62.2Polineuropatia induzida por outras substâncias tóxicasSolventes orgânicos, metais pesados
F32Episódio depressivoAssédio moral, organofosforados
📍 Onde encontrar DATASUS: datasus.gov.br/cid10 · OMS: icd.who.int
💡 Se o atestado não tiver o CID, solicite ao médico que o inclua — é direito do trabalhador (Lei 9.029/1995 e CFM Res. 1.658/2002).

4.Agentes ocupacionais — CAS obrigatório

Lista dos agentes químicos, físicos ou biológicos a que o trabalhador esteve exposto. O número CAS (Chemical Abstracts Service) é a identificação internacional única de cada substância química e deve ser informado sempre que disponível. Ele consta na FISPQ (Ficha de Informações de Segurança de Produto Químico — ABNT NBR 14725) do produto utilizado.

Agente + Número CAS

Obrigatório

Informe o nome do agente e, preferencialmente, o número CAS. Para agentes físicos (ruído, vibração, calor) ou ergonômicos, o CAS não se aplica — indique "N/A".

AgenteCASDoenças associadas (LINACH)
Arsenito de sódio7784-46-5C44 (pele), C22 (fígado), C34 (pulmão)
Arsênio e compostos inorgânicos7440-38-2C44, C34, C22, C67 (bexiga)
Sílica livre cristalina (quartzo)14808-60-7J62 (silicose), C34 (pulmão)
Benzeno71-43-2C91–C95 (leucemias), D46
Amianto (crisotila)12001-29-5C45 (mesotelioma), J61, C34
Chumbo e compostos inorgânicos7439-92-1G62.2, N18, J68
Cromo hexavalente18540-29-9C34, C31 (nariz/seios paranasais)
Ruído contínuo/intermitenteN/A (físico)H83.3 (PAIR)
Vibração mão-braçoN/A (físico)M72.2, G54.2
📍 Onde encontrar o CAS PubChem (NIH): pubchem.ncbi.nlm.nih.gov · FISPQ do produto (seção 1) · ECHA: echa.europa.eu
📍 Onde encontrar agentes por doença LINACH (Lista Nacional de Doenças Relacionadas ao Trabalho): Portaria MS 1.339/1999 · RENAST/SINAN
💡 A FISPQ é documento de entrega obrigatória pelo empregador (NR-26 e ABNT NBR 14725). Se não foi fornecida, isso é uma irregularidade a ser registrada no campo de observações.

5.Fatores extra-laborais

Concausas são fatores fora do trabalho que podem ter contribuído para a doença. Sua presença não elimina o nexo causal ocupacional, mas pode influenciar o percentual de responsabilidade do empregador.

Exemplos de concausas

Opcional
FatorCAS (se aplicável)Observação
TabagismoN/A (hábito)Co-carcinógeno para C34, C44
Etilismo crônicoN/ACo-fator hepático, neurológico
Exposição solar de lazer (UV)N/A (físico)Co-fator para C44
Agrotóxico de uso doméstico (glifosato)1071-83-6Relevante em agricultores
Obesidade / sedentarismoN/ACo-fator cardiovascular, M54

6.PCMSO e exames ocupacionais

O Programa de Controle Médico de Saúde Ocupacional (NR-7) exige exames admissional, periódico, de retorno ao trabalho e demissional. A ausência ou inadequação desses exames é um fator agravante da responsabilidade do empregador.

Campos de Sim / Não / — (não informado)

Importante

Responda com base nos documentos disponíveis: ASO (Atestado de Saúde Ocupacional), prontuário do SESI/SESC, cópia do PCMSO. Use quando o documento não estiver disponível.

CampoOnde verificar
Exame admissional realizadoASO de admissão (deve constar "Apto")
Doença pré-existente detectadaCID no ASO admissional; anamnese do médico do trabalho
PCMSO contempla o agenteDocumento do PCMSO vigente — solicitar ao RH
PGR atualizadoPrograma de Gerenciamento de Riscos (NR-1 rev. 2021)
Exame demissional realizadoASO demissional (obrigatório na rescisão)
Demissional comparativo realizadoConfronto com admissional — NR-7 item 7.5.1

7.EPIs fornecidos

A seção de EPIs utiliza um modelo por percentuais (v0.2.0). O perito informa diretamente a proporção de EPIs entregues e a validade dos Certificados de Aprovação (CA), com base nos documentos disponíveis. A simples entrega não é suficiente — o EPI precisa ser adequado ao risco, ter CA válido e ter seu uso monitorado (NR-6).

% EPIs efetivamente entregues

Importante

Relação entre o total de EPIs efetivamente entregues (conforme FRE assinado) e o total que deveria ter sido entregue no período. Calcule: (entregue ÷ devido) × 100.

FaixaPontuação D05
≥ 95%EPI adequado (baixa pontuação — favorece empregador)
70–94%EPI parcial
40–69%EPI insuficiente
< 40%EPI gravemente insuficiente (pontuação máxima)
Em brancoPresunção de ausência contra o empregador
📍 Onde encontrar FRE — Ficha de Registro de EPI (obrigatória — NR-6, item 6.6.1 a) · PPP (art. 58, Lei 9.528/97)

% EPIs com CA válido para o agente

Importante

Dos EPIs fornecidos, qual percentual possui CA emitido pelo MTE, dentro do prazo de validade e específico para o agente causador.

FaixaPontuação D05
≥ 90%CA adequado
60–89%CA parcial
< 60%CA insuficiente
📍 Consulta de CA válido MTE/SFIT: consultaca.com · NR-6, item 6.3
💡 A pontuação D05 é média ponderada: 65% para entrega + 35% para CA válido. Use o campo "Método de cálculo" para registrar os documentos consultados — esse texto é incorporado ao relatório.

Exemplos de EPI por agente

Referência
AgenteEPI adequadoObservação
Arsênio inorgânico (vapores/poeiras)Respirador P100 + luvas nitrila + avental impermeávelMeia-face ou peça facial inteira
Sílica (poeiras)Respirador PFF2 ou PFF3CA obrigatório; PFF1 é insuficiente
Ruído > 85 dB(A)Protetor auricular (concha ou plug)NHO 01 FUNDACENTRO
Benzeno / solventesRespirador com cartucho orgânico + luvas neopreneNR-15 Anexo 13-A
Calor extremoVestimenta aluminizada, luvas térmicasIBUTG conforme NR-15 Anexo 3

8.Treinamento e capacitação

Qualificação do treinamento

Importante
OpçãoSignificado
NenhumNão houve treinamento documentado
GenéricoTreinamento de integração sem especificidade ao agente
Específico ao agenteTreinamento com conteúdo sobre o agente e seus riscos (NR-9 / NR-26)
Certificado reconhecidoTreinamento com certificação (ex.: CIPA, NR-35, NR-10)

9.Histórico ocupacional

Proporção do tempo no empregador atual

Importante

Se o trabalhador teve múltiplos empregos com o mesmo agente, informe a fração correspondente ao empregador em análise. Valor entre 0.0 e 1.0.

SituaçãoValor
Único empregador (todo o tempo de exposição)1.0
Dois empregadores com exposição igual0.5
7 de 10 anos neste empregador0.7
3 meses de 24 meses totais0.125
💡 Use a CTPS digital ou extratos do CNIS (Cadastro Nacional de Informações Sociais) para calcular os períodos. CNIS disponível em: meu.inss.gov.br

10.Gestão de resíduos (NR-25 / PNRS)

Aplicável a setores que geram resíduos químicos, biológicos ou perigosos. A inadequação na gestão é um indicador independente de irregularidade ambiental e pode reforçar o nexo causal.

MTR e destinação documentada

Opcional
CampoReferência legal
MTR registrados (Manifesto de Transporte de Resíduos)CONAMA 313/02; SINIR/IBAMA
PGR contempla agentes específicosNR-1 (2021); NR-25
Treinamento NR-25NR-25 item 25.4
EPI específico para resíduosNR-6 + laudo do PGR
FDS conforme ABNT NBR 14725ABNT NBR 14725-3:2012
📍 Consulta MTR SINIR (IBAMA): sinir.gov.br

11.Insalubridade (NR-15)

Esta seção é exibida somente nos modos Insalubridade e Ambos. Preencha os campos de medição quando houver dados de higiene ocupacional disponíveis; para agentes de avaliação qualitativa (Anexos 6, 13, 14), os campos de medição podem ficar em branco.

Exposição habitual e permanente

Obrigatório (modo insalubridade)

Requisito legal do adicional de insalubridade (art. 192 CLT). Exposição eventual ou esporádica não caracteriza o direito, embora exposição intermitente possa configurar insalubridade (Súmula 47 TST).

RespostaInterpretação pelo motor
SimExposição contínua/obrigatória da função — requisito atendido
NãoExposição eventual — motor afasta caracterização do adicional
Não informado — motor presume não atendido

Campos de medição quantitativa

Opcional

Informe os valores medidos quando disponíveis. O motor compara cada valor com o limite do Anexo NR-15 correspondente.

CampoUnidadeLimite de insalubridadeFonte da medição
RuídodB(A)85 dB(A) / 8 h (Anexo 1) — tabela de duplasDosimetria / relatório PPRA / laudo técnico
IBUTG°CVaria por taxa metabólica (Anexo 3)Laudo de higiene ocupacional / NHO 06
Concentração químicappm ou mg/m³Limite de tolerância do Anexo 11Monitoramento ambiental (ar) / laudo analítico
💡 O agente selecionado na seção 4 determina qual Anexo é aplicado. Para benzeno e demais cancerígenos do Anexo 13, o campo de concentração é informativo — a exposição qualquer que seja já caracteriza insalubridade, independentemente do valor medido.
💡 Calor e vibração seguem a regra dos dois níveis: o nível de ação (NR-09) obriga medidas de controle mas não aciona o adicional; apenas o limite de exposição NR-15 caracteriza insalubridade.

12.Parâmetros da análise

Perfil de calibração

Importante
PerfilUso recomendado
Padrão (neutro)Análise equilibrada para uso geral — ponto de partida recomendado
ConservadorRigor probatório elevado; favorece evidência documental sólida. Indicado para defesa patronal ou quando se quer verificar se o nexo resiste ao menor conjunto de provas
LiberalFavorece o reconhecimento do nexo quando há dificuldade de acesso a documentos da empresa (in dubio pro operario). Indicado para trabalhadores sem documentação completa
💡 O perfil utilizado é registrado no relatório final junto com a versão das bases, garantindo auditabilidade da análise.

Tom narrativo do relatório

Opcional
TomIndicação
NeutroDescritivo e técnico-pericial — indicado para laudos judiciais, perícias do INSS e consultoria preventiva
ProbatórioPara advocacia trabalhista; enfatiza os fundamentos favoráveis ao trabalhador e as omissões do empregador
DefesaPara defesa patronal; aponta os pontos a investigar para afastar ou mitigar o nexo

13.Sistema Premium — Análise assistida por IA

Além dos módulos gratuitos de perícia, o sistema possui uma camada Premium que combina o motor determinístico com uma leitura técnica assistida por IA. Princípio inviolável: o escore e a classificação são calculados exclusivamente pelo motor determinístico; a IA produz apenas leitura consultiva, sempre rotulada e sujeita a verificação. A IA nunca altera, recalcula ou contradiz o escore, e não inventa jurisprudência, número CAS, artigo de lei ou CA de EPI.

Acesso, login e rodadas

Conta necessária

O acesso premium exige login. A autenticação usa código de uso único (OTP) enviado por e-mail. Cada plano dá direito a um número de rodadas por dia (cada chamada à IA consome 1 rodada); o saldo aparece no topo de cada página ("Rodadas restantes (hoje): X / Y"). Os planos definem o provedor de IA usado: planos básico/intermediário/avançado usam DeepSeek; o avançado_pro usa Claude (Anthropic). A chave de API é vinculada à conta e armazenada de forma criptografada.

💡 As rodadas limitam apenas a IA. O motor determinístico não consome rodada — o cálculo do escore é sempre livre.

Nova Análise — nova-analise.php

Motor + IA

Página principal da análise assistida. Roda o motor sobre o caso e, em seguida, a IA faz a leitura técnica do resultado. Aceita o caso de duas formas: (1) preenchimento manual dos campos (tipo de análise, função/CBO, empresa/CNAE, tempo de exposição e os campos de texto a–e); ou (2) upload de um arquivo JSON arrastado para a faixa no topo. Os cinco campos de texto (a. Descrição; b. Rotina; c. Agentes; d. Jurisprudência conhecida; e. EPIs/EPCs) são contextos livres que a IA lê junto com o resultado do motor — cada um tem contador independente de palavras.

⚠️ O campo "d. Jurisprudência" deve conter apenas referências que você já confirmou em fonte primária (TST/LexML). Não confie em súmulas citadas de memória.

Quesitos — quesitos.php

Somente IA

Ferramenta para trabalhar os quesitos periciais. Tem dois modos: "Gerar do banco" (a IA seleciona/adapta quesitos de um banco interno conforme o caso) e "Revisar os meus" (você cola seus quesitos e a IA aponta lacunas e sugere complementos do banco). Esta página não roda o motor — não há escore aqui, pois o objeto é a redação das perguntas, não a avaliação do caso. A IA apenas adapta/seleciona do banco; não cria fundamento legal novo.

Minuta de Laudo — minuta-laudo.php

Gera PDF

Monta uma minuta de laudo pericial em PDF a partir dos dados do caso e, opcionalmente, de um resultado de análise. No campo "Caso (JSON do motor/IA)" você cola o JSON de um resultado já produzido (com resultado_motor e/ou texto_ia); os demais campos (perito, processo, objeto, conclusão etc.) completam o documento. O resultado e a conclusão técnica vêm do motor — a IA apenas auxilia a redação ao redor, sem inventar fatos ou fundamentos.

Exportação — Baixar JSON e Gerar PDF

Novo

Após cada análise, a nova-analise.php e a quesitos.php exibem dois botões. Baixar JSON salva o conteúdo da análise (resultado do motor + leitura da IA) num arquivo .json reutilizável. Gerar PDF produz um documento com os dois blocos — o resultado determinístico do motor e a leitura assistida por IA — mais o aviso de ausência de validade legal. O PDF é gerado pelo Dompdf já incluído no sistema.

💡 Formato Word (.docx) ainda não é suportado — o sistema gera PDF e JSON. O JSON é o formato editável/reutilizável entre as janelas (ver seção 14).

14.Fluxo de arquivos JSON entre as janelas

O JSON é o formato de intercâmbio do sistema: é como um resultado produzido numa janela é levado para outra função. Há dois tipos de JSON, e entender a diferença evita o erro mais comum (subir o arquivo errado na página errada).

JSON de ENTRADA (o caso a analisar)

Entra no motor

Descreve o caso bruto, antes de qualquer cálculo. Tem chaves como funcao_cbo, empresa_cnae, tempo_exposicao_meses, cid10, agentes_ocupacionais (lista) e epis_fornecidos. É o que o motor precisa para calcular. Ao subir um arquivo desse tipo na nova-analise.php, o motor roda e produz o escore.

JSON de RESULTADO (a saída do motor)

Já calculado

É o que os módulos produzem ao final de uma análise. Tem chaves como escore_final, classificacao, escore_dimensoes, presuncoes_invocadas, fundamentacao_normativa e contexto_caso. Não deve ser reenviado ao motor (ele não recalcula a própria saída). Serve para a IA ler, para gerar a minuta, ou como registro do caso.

⚠️ Subir um JSON de RESULTADO esperando que o motor recalcule gera erro ("dados inválidos"). A nova-analise.php detecta automaticamente o tipo: se houver escore_final, trata como resultado (a IA lê, o motor não roda de novo); se houver agentes_ocupacionais e não houver escore, trata como entrada (o motor calcula).

Caminhos de uso entre as janelas

Referência

As setas abaixo resumem como um arquivo viaja entre as funções do sistema:

OrigemArquivoDestinoO que acontece
Módulo de perícia (free)JSON de RESULTADOdownload / arquivo do casoRegistro do cálculo determinístico
JSON de RESULTADOuploadnova-analise.phpMotor não roda; a IA faz a leitura do resultado
JSON de ENTRADAuploadnova-analise.phpMotor calcula o escore; depois a IA lê
JSON de RESULTADOcolar no campo "Caso"minuta-laudo.phpGera a minuta de laudo em PDF
nova-analise / quesitosBaixar JSONarquivo (motor + IA)Exporta a análise completa para reuso
nova-analise / quesitosGerar PDFdocumentoPDF com os dois blocos + aviso legal
💡 Regra prática: RESULTADO é para ler, registrar ou virar documento; ENTRADA é para calcular. Quando em dúvida, abra o arquivo: se ele já tem escore_final, é resultado.

📋 Track Log — Histórico de Mudanças

Registro cronológico das alterações realizadas no motor de análise e no sistema de análise. Cada entrada documenta o quê foi mudado, por quê e qual o impacto esperado.

Premium v0.1.1-alpha 2026-06-21
  • [Premium] Camada de análise assistida por IA
    O quê: Novas páginas nova-analise.php (motor + IA), quesitos.php (gerar/revisar quesitos via IA) e minuta-laudo.php (minuta em PDF). Login por OTP de e-mail, controle de rodadas/dia por plano e provedor de IA por plano (DeepSeek / Claude).
    Por quê: Agregar leitura técnica consultiva ao resultado determinístico, mantendo o escore como autoridade.
    Impacto: A IA é sempre consultiva e rotulada; nunca altera o escore nem inventa fundamentação. Documentado nas seções 13 e 14 deste manual.
  • [Premium] Exportação JSON e PDF; fluxo de JSON entre janelas
    O quê: Botões "Baixar JSON" e "Gerar PDF" (com os dois blocos: motor + IA) na nova-análise e nos quesitos. A nova-análise passou a aceitar tanto JSON de ENTRADA (motor calcula) quanto JSON de RESULTADO (a IA lê, sem recalcular), com detecção automática do tipo.
    Por quê: Permitir reuso dos resultados entre as funções do sistema e a geração de documentos.
    Impacto: PDF gerado pelo Dompdf já vendorizado. Word (.docx) não suportado nesta versão. Contadores de palavras corrigidos para serem independentes por campo.
v0.3.0 2026-06-09
  • [Documentação] Atualização de metodologia.html e manual-pericia.html
    O quê: Ambos os arquivos de documentação foram atualizados para refletir as funcionalidades introduzidas nas versões v0.2.0–v0.2.2, que não haviam sido documentadas:
    • metodologia.html — adicionadas: tabela de regimes de análise (nexo / insalubridade / ambos); seção completa do motor de insalubridade NR-15 com avaliação qualitativa e quantitativa; tabela de graus de insalubridade; seção "Análise com documentação clínica e laboratorial" com instrução de contato.
    • manual-pericia.html — adicionadas: seção 0 (Tipo de análise / regime); seção 11 (Insalubridade NR-15 — campos de medição e regras qualitativas); seção 7 (EPI) reescrita para o modelo por percentuais (v0.2.0); perfis de calibração e tons narrativos corrigidos para refletir os valores reais do formulário (Padrão / Conservador / Liberal; Neutro / Probatório / Defesa); TOC renumerado.
    Por quê: Os arquivos de documentação estavam desatualizados em relação ao formulário, o que poderia induzir erros de preenchimento (ex.: perfis de calibração inexistentes no formulário constavam no manual).
    Impacto: Apenas documentação — nenhum arquivo PHP, JSON ou JS alterado nesta entrada.
v0.2.2 2026-05-27
  • [CAS] Validação do dígito verificador (módulo-10) no frontend e backend
    O quê: Números CAS informados no campo de agente agora são validados pelo algoritmo oficial módulo-10 em dois pontos: (1) frontend — feedback visual em tempo real enquanto o perito digita (✓ verde / ✗ vermelho com mensagem); (2) backend — CarregadorBases::validarDigitoVerificadorCas() rejeita CAS inválidos antes de tentar resolver o agente, com aviso gravado em agentes_ocupacionais[idx].aviso na resposta.
    Por quê: Um número CAS digitado errado (ex.: troca de um dígito) passava silenciosamente pela resolução sem encontrar o agente, sem nenhum feedback ao perito. O erro só se revelava no resultado final como "agente não identificado".
    Impacto: O formulário bloqueia o submit enquanto há CAS inválido no campo. A resolução por CAS agora também cobre a Lista B (campo cas nos agentes_etiologicos), além da Lista A já existente.
  • [pericia.html] Restaurado link para manual de preenchimento
    O quê: O link 📖 Manual de preenchimento apontando para manual-pericia.html foi restaurado no cabeçalho de pericia.html, suprimido inadvertidamente em atualização anterior do servidor.
v0.2.1 2026-05-27
  • [D08 — Resíduos] Correção de limiar que suprimia flag de irregularidade ambiental
    O quê: O limiar do branch "gestão parcial" era >= 0.50. Com todos os campos marcados como "não informado" (null), o subscore era exatamente 0.50, caindo no branch errado e nunca disparando a flag irregularidade_ambiental_independente. Corrigido para > 0.50.
    Por quê: Score 0.50 = todos os campos neutros/não informados — situação de dúvida que deve favorecer o trabalhador e gerar o alerta de irregularidade, não ser tratada como gestão "parcialmente adequada".
    Impacto: Casos com todos os campos de resíduos em branco ou "NÃO" agora disparam corretamente a flag e a indicação de representação ao IBAMA/MP.
  • [MotorRelatorio] Narrativas das presunções agora interpolam dados reais do caso
    O quê: Reescrito MotorRelatorio.php para antepor a cada presunção invocada um prefixo contextual com: doença + CID-10, agente(s) causador(es), e dados específicos da presunção (força de associação, classificação IARC, intervalo NTEP, latência mínima, CID admissional, etc.).
    Por quê: As narrativas genéricas do JSON eram válidas como texto jurídico padrão mas não identificavam o caso concreto — o leitor precisava cruzar informações de outras seções para saber de qual doença/agente se tratava.
    Impacto: Cada bloco de presunção agora abre com "Caso: Doença (CID-10: XXX) | agente: Nome do agente" seguido da narrativa jurídica. Campo contexto_caso adicionado ao JSON de resposta da API para uso no frontend/PDF.
v0.2.0 2026-05-27
  • [D05 — EPI] Novo modelo de entrada por percentuais
    O quê: Substituída a lógica anterior (contagem de tipos de EPI vs. matriz interna) por dois percentuais informados diretamente pelo perito: epi_percentual_entregue (% do total que deveria ser entregue que efetivamente foi) e epi_percentual_ca_valido (% dos EPIs fornecidos com CA válido para o agente em questão).
    Por quê: A abordagem anterior dependia de uma matriz interna incompleta, criando ponto cego para agentes não mapeados. O perito tem acesso às fichas de entrega e pode calcular o percentual real com mais precisão e fundamentação documental.
    Impacto: Pontuação final de D05 = média ponderada (entrega 65% + CA válido 35%). Campo epi_calculo_descricao permite registrar o método de cálculo no relatório.
  • [D03 — Admissional] Correção da heurística cidsRelacionados
    O quê: Substituída heurística numérica simplificada (mesmo 1º caractere + diferença ≤ 10) por lookup na estrutura oficial do CID-10 (DATASUS/MS) usando grupos reais.
    Por quê: A heurística anterior produzia falsos positivos graves — ex.: C34 (brônquios) e C44 (pele) eram considerados "relacionados" como concausa predisponente, o que é clinicamente incorreto. Dois CIDs agora são considerados relacionados somente se pertencem ao mesmo grupo na classificação oficial.
    Impacto: Redução de falsos positivos em D03 (concausa predisponente). Requer arquivo data/cid10_estrutura.json (gerado dos CSVs DATASUS/MS — 22 capítulos, 275 grupos, 2045 categorias).
  • [AMP03 — Sinergia] Correção para somar todos os fatores aplicáveis
    O quê: Alterada a lógica de AMP03 de "pegar o maior fator" para "somar os deltas de todos os fatores aplicáveis" (ex.: dois fatores de 1.3 e 1.2 resultam em fator final 1.5, não 1.3).
    Por quê: A abordagem anterior subestimava o efeito combinado de múltiplas sinergias documentadas. A toxicologia ocupacional reconhece efeitos aditivos e sinérgicos cumulativos entre agentes, e cada sinergia identificada e confirmada deve contribuir para o amplificador final.
    Impacto: Em casos com múltiplas sinergias simultâneas (ex.: asbestos + tabagismo + sílica para mesotelioma), o fator amplificador será maior do que na versão anterior. O campo sinergias_aplicadas na resposta lista todas as sinergias individuais com seus fatores originais para rastreabilidade.
  • [Bases] Adicionada estrutura completa do CID-10
    O quê: Novo arquivo data/cid10_estrutura.json com hierarquia completa do CID-10: capítulos, grupos e categorias (fonte: DATASUS/MS, versão 2023). Novos métodos em CarregadorBases: cid10Estrutura(), cidCapitulo(), cidGrupo(), cidParaNum().
    Por quê: Base necessária para a correção de cidsRelacionados e futura expansão do motor para validação, autocomplete e categorização de CIDs.
    Impacto: Arquivos adicionados em data/: cid10_estrutura.json (~152 KB). Nenhum impacto em deploys existentes além da presença do arquivo.
v0.1.0-alpha 2026-05-22
  • Versão inicial — Fases 1 a 7 completas: motor de regras duras (P01-P08), escore evidenciário (D01-D10 + AMP01-AMP03), API REST (4 endpoints), frontend HTML/CSS/JS, geração de PDF (DomPDF), suite de 40 testes, páginas institucionais e documentação LGPD/Deploy.