Skip to content

osha_accident_sas.sas runs unmodified on Jenner - #1

Open
jenner-analytics wants to merge 1 commit into
OSHADataDoor:masterfrom
jenner-analytics:jenner-check/initial-bundles
Open

osha_accident_sas.sas runs unmodified on Jenner#1
jenner-analytics wants to merge 1 commit into
OSHADataDoor:masterfrom
jenner-analytics:jenner-check/initial-bundles

Conversation

@jenner-analytics

@jenner-analytics jenner-analytics commented Aug 19, 2026

Copy link
Copy Markdown

Jenneranalytics.com provides an API that runs SAS code, with support for more than 200 SAS procedures. You can also use it with AI assistants in a collaborative workspace. It's available for Mac on the Apple App Store, and by license for Windows and Linux.

We support the larger community by
(1) increasing access to SAS-compatible systems,
(2) by providing test coverage and a test coverage framework to public SAS repos in order to encourage the use of best practices in software engineering.

Your osha_accident_sas.sas runs on Jenner unmodified — this PR adds a small compatibility bundle so you can see for yourself. It's the test we wrote for your project, shared in case it's useful, and was assembled with AI assistance as is most code in modern businesses today.

One thing that stood out reading through this repo: you shipped the same ten OSHA public-use tables as parallel import templates in SAS, Stata, and R (SAS/, Stata/, R/), each one carrying matching variable labels and the same careful handling of quirks in the source data — like documenting both the Windows-to-Unix and native-Windows INFILE variants, and sizing LRECL per file down to the byte (18933 for the General Duty Clause narrative text alone, versus 25 for the small related-activity table). That's not boilerplate; it's evidence you actually walked each file's layout before writing the import step, and it means whoever finds this repo can use whichever tool they already have open.

jenner-check/ holds six of those SAS import templates adapted to run standalone: osha_accident, osha_inspection, osha_violation, osha_accident_abstract, osha_related_activity, and osha_violation_gen_duty_std. Each keeps your original LENGTH/FORMAT/INFORMAT/LABEL/INPUT statements untouched and swaps the &location-driven INFILE for a small inline DATALINES block (using the comma-delimited variant your scripts already document as the non-Unix fallback), so the layout runs without needing a real OSHA extract on hand:

jenner-check/
├── run_jenner.sh
├── README.md
├── t001_osha_accident/
├── t002_osha_inspection/
├── t003_osha_violation/
├── t004_osha_accident_abstract/
├── t005_osha_related_activity/
└── t006_osha_violation_gen_duty_std/

Check out this PR's branch and run one directly from the repo root:

# Check out this PR (puts you on its branch); then run from the repo root:
gh pr checkout 1
curl -sS --data-binary @jenner-check/t001_osha_accident/script.sas https://api.jenneranalytics.com/v1/quick

Or cd jenner-check && ./run_jenner.sh --all to run all six and verify each against its pinned expected.json. The hosted API is free to try, no signup — full API reference: the docs.

Only the SAS source text of each script (plus a two-line autoexec) is uploaded to run it — no data files are read or sent, so anything you'd keep next to a script stays on your machine. Nothing is transmitted unless you run a command yourself, same as pasting a snippet into any hosted tool.

Merge it, close it, or ignore it — no response expected, and we won't open further PRs in this repo. To opt out for good, leave no-more-prs in any comment or open an issue titled jenner-check: opt out.


Lawrence W. Sinclair
CEO / Jenner Analytics Ltd
linkedin.com/in/lwsinclair/

Adapts 6 of the repo's 10 SAS/*.sas OSHA data-import templates (accident,
inspection, violation, accident_abstract, related_activity,
violation_gen_duty_std) to run standalone on Jenner: each bundle keeps the
original LENGTH/FORMAT/INFORMAT/LABEL/INPUT statements unmodified and
substitutes the external INFILE "&location" CSV read with the
comma-delimited DATALINES variant the scripts themselves document as their
non-Unix fallback, fed with small synthetic sample rows shaped to each
layout. All 6 bundles pass self-check and the shipped runner end-to-end
(6 pass, 0 fail).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant