body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
line-height: 1.6;
color: #333;
max-width: 800px;
margin: 0 auto;
padding: 20px;
}
.calculator-container {
background-color: #f8f9fa;
border: 1px solid #e9ecef;
border-radius: 8px;
padding: 30px;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
margin-bottom: 40px;
}
.calc-header {
text-align: center;
margin-bottom: 25px;
color: #2c3e50;
}
.input-group {
margin-bottom: 20px;
}
.input-group label {
display: block;
margin-bottom: 8px;
font-weight: 600;
color: #495057;
}
.input-group input {
width: 100%;
padding: 12px;
border: 1px solid #ced4da;
border-radius: 4px;
font-size: 16px;
box-sizing: border-box; /* Fixes padding issues */
}
.input-group input:focus {
border-color: #0056b3;
outline: none;
box-shadow: 0 0 0 3px rgba(0,86,179,0.25);
}
.btn-calc {
display: block;
width: 100%;
padding: 14px;
background-color: #0056b3;
color: white;
border: none;
border-radius: 4px;
font-size: 18px;
font-weight: bold;
cursor: pointer;
transition: background-color 0.2s;
}
.btn-calc:hover {
background-color: #004494;
}
.result-box {
margin-top: 25px;
padding: 20px;
background-color: #ffffff;
border-left: 5px solid #0056b3;
border-radius: 4px;
display: none; /* Hidden by default */
}
.result-title {
font-size: 14px;
text-transform: uppercase;
letter-spacing: 1px;
color: #6c757d;
margin-bottom: 5px;
}
.result-value {
font-size: 36px;
font-weight: 700;
color: #212529;
margin-bottom: 10px;
}
.result-explanation {
font-size: 14px;
color: #666;
background-color: #f1f3f5;
padding: 10px;
border-radius: 4px;
}
.error-msg {
color: #dc3545;
font-size: 14px;
margin-top: 5px;
display: none;
}
/* Article Styles */
.content-section h2 {
color: #2c3e50;
border-bottom: 2px solid #eee;
padding-bottom: 10px;
margin-top: 40px;
}
.content-section h3 {
color: #34495e;
margin-top: 25px;
}
.content-section p {
margin-bottom: 15px;
}
.content-section ul {
margin-bottom: 20px;
padding-left: 20px;
}
.content-section li {
margin-bottom: 8px;
}
.formula-box {
background-color: #e8f4f8;
padding: 15px;
border-radius: 5px;
font-family: monospace;
text-align: center;
margin: 20px 0;
border: 1px solid #bce0fd;
}
Understanding Total Recordable Case Rate (TRCR)
The Total Recordable Case Rate (TRCR), often referred to interchangeably as the Total Recordable Incident Rate (TRIR), is a standard safety metric used by the Occupational Safety and Health Administration (OSHA) to quantify a company's safety performance in the past year. It allows for comparison across different companies and industries, regardless of organization size.
TRCR = (Number of OSHA Recordable Incidents × 200,000) / Total Hours Worked
What Counts as a Recordable Incident?
Not all workplace injuries are included in the TRCR calculation. To ensure accuracy, you must only include incidents that meet OSHA's definition of "recordable." Generally, an injury or illness is recordable if it results in any of the following:
- Death.
- Days away from work.
- Restricted work or transfer to another job.
- Medical treatment beyond first aid.
- Loss of consciousness.
- A significant injury or illness diagnosed by a physician or other licensed health care professional.
Minor cuts treated with a bandage, simple burns, or other "first aid" treatments generally do not count toward the TRCR.
Why Use the Number 200,000?
The constant 200,000 in the formula represents the equivalent of 100 employees working 40 hours per week for 50 weeks a year (100 × 40 × 50 = 200,000). By using this normalization factor, the TRCR allows you to compare the safety rate of a small company with 15 employees to a large corporation with 15,000 employees. The resulting number represents the number of injuries per 100 full-time equivalent workers.
How to Interpret Your Score
A lower TRCR score indicates better safety performance. However, "good" scores vary significantly by industry due to the inherent risks involved in different types of work.
Industry Benchmarks
The Bureau of Labor Statistics (BLS) publishes average TRIR/TRCR data by industry code (NAICS). For example:
- Construction: Often ranges between 2.5 and 3.5.
- Manufacturing: Often ranges between 3.0 and 4.0.
- Finance and Insurance: Usually very low, often below 0.5.
To determine if your rate is acceptable, compare your calculated TRCR against the BLS average for your specific NAICS code for the reporting year.
Improving Your Safety Metrics
Calculating your TRCR is only the first step. To lower this rate, organizations should focus on:
- Implementing robust safety training programs.
- conducting regular hazard analyses (JHA/JSA).
- Encouraging a culture of "near-miss" reporting to identify risks before they become injuries.
- Ensuring proper Personal Protective Equipment (PPE) is available and used correctly.
TRCR vs. DART Rate
While TRCR counts all recordable incidents, the DART rate (Days Away, Restricted, or Transferred) is a subset that only includes the more severe injuries that keep an employee from performing their regular job duties. Both metrics are crucial for a comprehensive view of workplace safety.
function calculateTRCR() {
// 1. Get input elements
var incidentsInput = document.getElementById("numIncidents");
var hoursInput = document.getElementById("totalHours");
var resultBox = document.getElementById("resultDisplay");
var resultValue = document.getElementById("trcrResult");
var resultText = document.getElementById("trcrText");
var incidentsError = document.getElementById("incidentsError");
var hoursError = document.getElementById("hoursError");
// 2. Parse values
var incidents = parseFloat(incidentsInput.value);
var hours = parseFloat(hoursInput.value);
// 3. Reset error states
incidentsError.style.display = "none";
hoursError.style.display = "none";
resultBox.style.display = "none";
var hasError = false;
// 4. Validate Inputs
if (isNaN(incidents) || incidents < 0) {
incidentsError.style.display = "block";
hasError = true;
}
if (isNaN(hours) || hours <= 0) {
hoursError.style.display = "block";
hasError = true;
}
if (hasError) {
return;
}
// 5. Calculate TRCR Formula: (Incidents * 200,000) / Hours
var trcr = (incidents * 200000) / hours;
// 6. Format Result (2 decimal places)
var finalRate = trcr.toFixed(2);
// 7. Display Result
resultValue.innerHTML = finalRate;
resultText.innerHTML = finalRate;
resultBox.style.display = "block";
}