Skip to content

read_trial_domains_to_json.sas runs unmodified on Jenner — test bundle - #1

Open
jenner-analytics wants to merge 1 commit into
KatjaGlassConsulting:mainfrom
jenner-analytics:jenner-check/initial-bundles
Open

read_trial_domains_to_json.sas runs unmodified on Jenner — test bundle#1
jenner-analytics wants to merge 1 commit into
KatjaGlassConsulting:mainfrom
jenner-analytics:jenner-check/initial-bundles

Conversation

@jenner-analytics

@jenner-analytics jenner-analytics commented Jul 29, 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 read_trial_domains_to_json.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.

What stood out reading the script is how %create_json stays data-driven: a space-delimited datasets= list walked with %SCAN over %COUNTW, driving one PROC JSON EXPORT per domain into a single output file. Adding or dropping a Trial Design domain becomes a one-word edit rather than a code change, and that same list threads straight through %download_and_convert_xpt for the download side. The honest * coding issue is available which needs to be fixed; note above the TS patch is the kind of comment that makes a repo easy to trust.

The jenner-check/ directory holds two self-contained bundles built from that script — a copy of the SAS, the captured output of the run, and a small shell runner. Nothing outside jenner-check/ is touched, nothing runs on merge, and there are no workflow files or hooks.

jenner-check/
├── run_jenner.sh
├── README.md
├── t001_ts_recode/        # the TS parameter recode DATA step, on a mock TS domain
└── t002_xport_roundtrip/  # the %download_and_convert_xpt XPORT + PROC COPY read path

To try one against the hosted API, check out this PR and run from the repo root:

# gh pr checkout 1 puts you on this branch; then from the repo root:
curl -sS --data-binary @jenner-check/t001_ts_recode/script.sas https://api.jenneranalytics.com/v1/quick

Or cd jenner-check && ./run_jenner.sh --all re-runs every bundle and checks each against its captured result. It's free to try, no signup — full API reference: the docs.

On what leaves your machine: the runner uploads only the SAS source text of the script it runs (plus a two-line autoexec) to api.jenneranalytics.com, which runs it and returns the log and listing. It does not read or upload any data files, so anything sitting next to a script stays on your machine, and nothing is sent unless you run one of these commands yourself — the same as pasting a snippet into any hosted tool. Since it's a script's own source that gets sent, you can review it first if one ever embeds a value inline.

Merge it, close it, or ignore it — all fine, and no response is expected. We won't open further PRs here. To opt out for good, put 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/

- t001_ts_recode: the Trial Summary (TS) recode DATA step from
  scripts/read_trial_domains_to_json.sas, against a small mock TS domain.
- t002_xport_roundtrip: the XPORT + PROC COPY read path of
  %download_and_convert_xpt, against a locally written v5 transport file.

Each bundle carries a captured passing run (expected.json + expected/) and
run_jenner.sh re-runs and verifies them against api.jenneranalytics.com.
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