Extract data from OSHA 300A summaries
An OSHA 300A is the year-end summary an employer signs off and posts once the injury log for a calendar year is closed. Where the OSHA 300 log records each recordable case on its own row, the 300A rolls those rows up into establishment totals: the count of recordable cases, the cases with days away or restricted duty, the other recordable cases, the total deaths, the total days away, and the restricted-duty days. It also carries what the log does not, namely the total number of employees, the total hours worked, and a company executive's certification that the summary is accurate. A covered US employer must post the signed 300A in the workplace from 2026-02-01 through 2026-04-30, and larger establishments submit it electronically to the Injury Tracking Application run by the Occupational Safety and Health Administration. Those rolled-up totals also feed the annual injury survey the US Bureau of Labor Statistics publishes. Because the 300A is arithmetic on top of the log, the numbers have to foot, and an incidence rate makes them comparable. For a reporting year, the total recordable cases equal the days-away-or-restricted cases plus the other recordable cases plus any fatalities, and mixing those columns misstates the summary. Incidence is made comparable with a rate: the case count times 200,000 divided by the hours worked, where 200,000 stands for 100 full-time employees working a year, so an establishment with 11 cases over 400,000 hours reports a rate of 5.5. Signed by a company executive, whose name, title, and signature date are captured, the summary becomes an official filing. Talonic reads the 300A and returns the establishment identity, the reporting year, the case and day totals, the hours worked, the incidence rates, and the executive certification as typed fields, keeping the case-level summary as a table. A 300A for Brookfield Millwork Company (EIN 82-4471903, NAICS 321911) at its Columbus, Ohio plant, covering 2026, certified by Nadia Osei, Chief Operating Officer, on 2026-02-01, reporting 11 recordable cases (7 with days away or restricted duty, 4 other recordable), 0 deaths, 96 days away, 400,000 hours worked, and a 5.5 incidence rate, loads into an EHS system with the totals reconciled rather than re-added. It captures the summary as certified and makes no recordability or rate-calculation judgment of its own.
What gets extracted from OSHA 300A summaries
How extraction works for OSHA 300A summaries
A 300A comes off the printed OSHA form, an EHS platform export, or a scan of the posted summary, and the total boxes sit in different places depending on the source. Talonic reads the summary and aligns each total to the injury-summary field set the Field Registry holds, so the establishment name, the EIN, the reporting year, the employee count, and the hours worked resolve to stable fields while the case and day totals stay distinct. Recordable cases, days-away-or-restricted cases, other recordable cases, and deaths are typed as numbers and can be reconciled so the total foots to the sum of its columns, and the incidence rate and lost-workday rate are checked against the case-count-times-200,000-over-hours formula rather than trusted as printed. Certifier name, title, and certification date parse to ISO 8601, and the line-item injury-and-illness summary loads as a table. Each value carries a confidence score and a source-region pointer conforming to DIN SPEC 91491, so a safety manager can trace a total or a rate back to the box it came from. Throughout, Talonic reports the summary as certified and does not decide recordability or recompute the official rate.
Sample extraction
A signed annual OSHA 300A summary for one establishment
{
"document_number": "OSHA300A-BMC-2026",
"document_date": "2026-02-01",
"reporting_year": 2026,
"employer.name": "Brookfield Millwork Company",
"employer.ein": "82-4471903",
"employer.address": "900 Kingsmill Road, Columbus, OH 43213",
"total_employees": 210,
"hours_worked": 400000,
"total_injuries_illnesses": 11,
"lost_workday_cases": 7,
"other_recordable_cases": 4,
"total_deaths": 0,
"days_away_from_work": 96,
"job_transfer_restricted_duty_days": 44,
"injury_rate": 5.5,
"lost_workday_rate": 3.5,
"naics_code": "321911",
"establishment_description": "Wood window and door manufacturing",
"recordkeeping_exemption": false,
"certifier.name": "Nadia Osei",
"certifier.title": "Chief Operating Officer",
"certification_date": "2026-02-01",
"injury_illness_summary": [
{
"case_id": "2026-006",
"case_type": "injury",
"injury_illness_type": "Fracture",
"body_part_affected": "Right foot",
"date_of_injury": "2026-03-12",
"has_days_away": true,
"days_away_count": 21,
"has_restricted_duty": false,
"outcome": "recovered"
},
{
"case_id": "2026-009",
"case_type": "illness",
"injury_illness_type": "Contact dermatitis",
"body_part_affected": "Hands",
"date_of_injury": "2026-06-05",
"has_days_away": false,
"has_restricted_duty": true,
"restricted_duty_days_count": 14,
"outcome": "ongoing"
}
]
}Frequently asked
How is the 300A summary different from the OSHA 300 log?
The OSHA 300 log records each recordable injury or illness on its own row, case by case. The 300A is the annual summary that totals those cases for one establishment, adds the employee count and hours worked, and carries a company executive certification. Talonic reads the 300A totals and cross-links to the osha-300 log extractor for the case-level rows.
Does it reconcile the case totals?
Yes. The days-away-or-restricted cases, the other recordable cases, and the deaths are typed as numbers and checked to sum to the total recordable cases, so a summary reporting 11 cases that breaks down to 7 plus 4 plus 0 is verified to foot rather than trusted.
Is the incidence rate captured?
The recordable incidence rate and the lost-workday rate are read as fields and can be checked against the case count times 200,000 divided by the hours worked, so an 11-case establishment over 400,000 hours reconciles to a 5.5 rate.
Does Talonic recompute the rate or decide recordability?
No. It captures the totals, the rates, and the certification as the summary states them. Calculating the official rate and deciding whether a case was recordable stay with the employer, not the extraction.
Ready to extract from your own OSHA 300A summaries?
Author note
Reviewed by Talonic engineering, EHS schema review · last reviewed 2026-07-09