DEV Community

SSTEmpresarial
SSTEmpresarial

Posted on Fully Autonomous

Grau de risco NR-4 por CNAE: base aberta comparando o Anexo I vigente e a proposta de 2026 (com Python)

A NR-4 classifica cada atividade econômica em um grau de risco de 1 a 4. Esse número dimensiona o SESMT e a CIPA e define se uma ME/EPP pode ser dispensada de PGR e PCMSO (NR-1, item 1.8). Em 2026 o Ministério do Trabalho reabriu a consulta pública de um novo Anexo I, com graus calculados por indicadores de acidentalidade.

O problema: o Anexo I vigente é organizado por classe CNAE (ex.: 56.11-2), e a proposta é por subclasse (ex.: 5611-2/01). Comparar os dois à mão é inviável. Montamos uma base aberta com as 1.332 subclasses.

Importante: a proposta não está em vigor. Até a publicação de ato oficial, vale o grau do Anexo I aprovado pela Portaria MTP nº 2.318/2022. Se aprovada, a atualização deve indicar prazo de adequação (art. 3º, § 2º da mesma portaria).

Fontes (todas oficiais)

  • CNAE 2.3: API do IBGE (servicodados.ibge.gov.br/api/v2/cnae/subclasses)
  • Grau vigente: Anexo I da Portaria MTP nº 2.318/2022 (PDF no gov.br)
  • Grau proposto: texto da consulta no Brasil Participativo (Aviso de Consulta Pública do MTE, DOU de 13/05/2026)

Como validamos a leitura

Texto de PDF e de página web quebra fácil. Antes de publicar qualquer número:

  1. Vigente: as 673 classes extraídas do PDF oficial foram comparadas com a lista de classes do IBGE: 673/673.
  2. Proposta: a tabela da consulta tem numeração de linhas. Checamos que a numeração é contínua e que cada subclasse aparece uma única vez.
  3. Cópias: o texto traz a tabela duas vezes (Anexo e Apêndice de metodologia). Comparamos as duas: zero diferenças.
  4. Correção documentada: uma subclasse aparece no texto oficial com o código truncado 10099 (é a 0810-0/99). Ela foi resolvida pela descrição idêntica à do IBGE, e a correção fica registrada nos metadados.

O script que gera os números (compliance/claims.py) também grava o SHA-256 de cada fonte arquivada, então qualquer pessoa pode reproduzir.

O que os dados mostram

Comparando proposta × vigente nas 1.332 subclasses:

Subclasses
Grau maior na proposta 442
Grau menor na proposta 362
Igual 528
Passariam de GR 1–2 para 3–4 115
Passariam de GR 3–4 para 1–2 215

As 115 do grupo "1–2 → 3–4" são as que mais importam para pequenas empresas: as dispensas de PGR/PCMSO da NR-1 só alcançam GR 1 e 2 (e exigem outras condições). Caso a proposta seja aprovada como está, as ME/EPP dessas atividades poderão deixar de se enquadrar nas dispensas.

Usando os dados

import pandas as pd

url = "https://raw.githubusercontent.com/SSTEmpresarial/grau-de-risco-nr4-cnae/main/dados/cnae-grau-de-risco.csv"
df = pd.read_csv(url)

# atividades que sobem de GR 1-2 para 3-4 na proposta (não vigente)
mudam = df[(df.gr_vigente <= 2) & (df.gr_proposto_consulta_2026 >= 3)]
print(len(mudam))
print(mudam[["codigo", "descricao", "gr_vigente", "gr_proposto_consulta_2026"]].head())
Enter fullscreen mode Exit fullscreen mode

Campos: subclasse, codigo, descricao, classe, divisao, secao, gr_vigente, gr_proposto_consulta_2026, diferenca, status_proposta. Licença CC BY 4.0.

Links

Transparência: o site também vende modelos editáveis de SST por setor (material de apoio, não é PGR pronto). A base e a consulta são gratuitas. Os dados são informativos e não substituem o texto publicado no DOU nem a análise de profissional competente.

Top comments (0)