Inventário de riscos da NR 1: Como automatizar com Python e JSON
Aprenda a processar, validar e gerar relatórios automatizados do inventário de riscos ocupacionais da NR 1 usando scripts eficientes em Python e JSON.
Resumo
- A estruturação de dados em JSON garante um formato padronizado e legível tanto para humanos quanto para sistemas automatizados.
- A linguagem Python permite validar programaticamente se todas as exigências legais da norma regulamentadora foram preenchidas.
- A matriz de risco pode ser calculada de forma dinâmica cruzando a probabilidade de ocorrência com a severidade do dano.
- A integração de dados com sistemas de gestão de riscos ocupacionais na NR 1 elimina o retrabalho manual.
- A geração automática de relatórios em formatos estruturados acelera as auditorias e reduz drasticamente os erros humanos.
Por que automatizar o inventário de riscos da NR 1?
Gerenciar a segurança e saúde no trabalho exige lidar com um volume enorme de dados sobre perigos e exposições dos colaboradores. Na prática, isso significa manter planilhas complexas que frequentemente se corrompem, contêm fórmulas quebradas ou duplicam informações. A automação com scripts resolve esse gargalo ao transformar planilhas estáticas em fluxos de dados dinâmicos e auditáveis.
A Norma Regulamentadora número 1 (NR 1) estabelece que as empresas devem implementar um Gerenciamento de Riscos Ocupacionais através do PGR (Programa de Gerenciamento de Riscos). Quando lidamos com dezenas de setores e centenas de funções, o controle manual torna-se inviável e sujeito a falhas que geram multas trabalhistas graves. A proposta técnica deste artigo é mostrar como modelar esses dados de forma estruturada e processá-los com código.
Para alcançar esse objetivo, a escolha ideal é utilizar arquivos estruturados em JSON, que funcionam como gavetas organizadas onde cada dado tem seu lugar exato. No dia a dia, adotar essa abordagem garante que a informação flua sem perda de contexto entre a engenharia de segurança e os sistemas de TI, conforme detalhamos no guia sobre como digitalizar o PGR da NR 1 e integrar dados na API.
Modelando os dados de riscos ocupacionais em JSON
O primeiro passo para construir um sistema de automação confiável é definir o formato do contrato de dados. Em programação, o formato JSON (JavaScript Object Notation) é o padrão ouro por ser leve e facilmente interpretado por qualquer linguagem moderna. Em vez de confiar em células espalhadas por uma planilha, estruturamos os perigos, as fontes geradoras e as medidas de controle em um dicionário hierárquico bem definido.
Imagine um arquivo que agrupa os riscos por setor da empresa, detalhando a probabilidade de o evento acontecer e a severidade caso ele se concretize. Na prática, essa estrutura permite que qualquer software leia o arquivo e calcule automaticamente o nível de risco residual. Isso evita que avaliações subjetivas passem despercebidas durante as auditorias internas de segurança do trabalho.
Abaixo apresentamos um exemplo funcional de arquivo JSON estruturado para armazenar o inventário de riscos de forma limpa e totalmente integrada a scripts de processamento em lote:
{
"empresa": "Industria Exemplo Ltda",
"setor": "Producao de Embalagens",
"riscos":[
{&br> "id": "R-01",
"fator": "Ruido intermitente",
"probabilidade": 3,
"severidade": 2,
"medida_controle": "Uso obrigatorio de protetor auricular tipo concha"
},
{&br> "id": "R-02",
"fator": "Esforco fisico repetitivo",
"probabilidade": 4,
"severidade": 3,
"medida_controle": "Revezamento de postos de trabalho a cada 2 horas"
}
]
}Processando e validando o inventário com Python
Com os dados estruturados em JSON, o próximo passo é escrever um script em Python para ler, validar e calcular os níveis de risco de forma automatizada. A linguagem Python brilha nessa tarefa por causa de sua biblioteca padrão robusta e da facilidade para manipular estruturas de dados aninhadas sem burocracia.
Na prática, o script abre o arquivo de configuração, valida se todos os campos obrigatórios exigidos pela legislação estão preenchidos e aplica a matriz de avaliação para determinar se o risco é tolerável ou crítico. Se faltar alguma informação essencial, o programa interrompe a execução e avisa o engenheiro de segurança antes que o relatório oficial seja gerado.
O código funcional abaixo demonstra como carregar o arquivo JSON, iterar sobre os riscos e calcular o nível de criticidade multiplicando a probabilidade pela severidade:
import json
def processar_inventario(caminho_arquivo):
try:
with open(caminho_arquivo, 'r', encoding='utf-8') as f:
dados = json.load(f)
except FileNotFoundError:
print("Arquivo de inventario nao encontrado.")
return
print(f"Processando riscos para: {dados['empresa']} - {dados['setor']}
")
for risco in dados['riscos']:
nivel_risco = risco['probabilidade'] * risco['severidade']
status = "CRITICO" if nivel_risco >= 8 else "Toleravel"
print(f"Risco [{risco['id']}]: {risco['fator']}")
print(f" Score de Risco: {nivel_risco} ({status})")
print(f" Acao: {risco['medida_controle']}
")
if __name__ == '__main__':
processar_inventario('inventario.json')Gerando relatórios e integrando com fluxos de trabalho
Após validar e calcular os scores de risco, o ciclo de automação se completa com a geração de relatórios consolidados em formatos como Markdown, HTML ou PDF para distribuição imediata à diretoria. Em vez de redigir documentos manualmente toda vez que uma alteração é feita no chão de fábrica, o script atualiza o documento em frações de segundo.
Na prática, essa abordagem garante rastreabilidade total, pois qualquer alteração no arquivo JSON original fica registrada no sistema de controle de versão da equipe de tecnologia. Isso atende perfeitamente ao princípio da melhoria contínua exigido pelas normas técnicas modernas, reduzindo o tempo gasto em burocracia para que os profissionais foquem na mitigação real dos perigos.
Além disso, o arquivo processado pode ser enviado diretamente para endpoints corporativos, alimentando painéis gerenciais em tempo real. Essa sinergia entre engenharia e desenvolvimento eleva o nível de maturidade da empresa em conformidade regulamentadora.
Considerações Finais
A automação do inventário de riscos da NR 1 utilizando Python e estruturas JSON representa uma evolução natural para empresas que buscam eficiência e precisão na segurança ocupacional. Ao substituir processos manuais repetitivos por código limpo e auditável, eliminamos erros humanos e garantimos conformidade legal contínua.
Adotar essa mentalidade de engenharia no gerenciamento de riscos protege os colaboradores de forma mais efetiva e simplifica o trabalho dos profissionais de SST. O futuro da conformidade regulamentadora passa inevitavelmente pela integração entre normas técnicas e pipelines modernos de dados.