IOL vs EM_at or above CS.sas runs unmodified on Jenner#1
Open
jenner-analytics wants to merge 1 commit into
Open
IOL vs EM_at or above CS.sas runs unmodified on Jenner#1jenner-analytics wants to merge 1 commit into
jenner-analytics wants to merge 1 commit into
Conversation
Adds a self-contained jenner-check/ directory with six compatibility bundles derived from the study's own analysis code, plus a small bash runner that re-submits each bundle to the hosted Jenner API and verifies the pinned result fields: t001_transpose_last_birth PROC TRANSPOSE (last birth method to wide) t002_comorbidity_classify ARRAY + DO + find() ICD comorbidity flags t003_freq_oddsratio PROC FREQ chisq + oddsratio, by parity t004_tabulate_descriptive PROC TABULATE n + colpctn t005_means_summary PROC MEANS (age / BMI / gestational weeks) t006_genmod_poisson_rr PROC GENMOD poisson log-link, repeated GEE Each bundle carries the script, a two-line autoexec, a captured log and listing, and an expected.json of the fields to re-check. External matern libname datasets are stood in for by small inline samples matching the columns each step reads, so nothing outside jenner-check/ is touched and nothing runs on merge.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
IOL vs EM_at or above CS.sasruns 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 through the study code is the risk-level classifier — the
ARRAY cond(*)overmedic_cond1–medic_cond29with aDOloop callingfind()on each ICD-10 prefix, splitting the direct obstetric codes (O10–O16for hypertensive disorders,O43–O45for haemorrhage) from the indirect chapter-level groups likeF,I, and the endocrineE0–E90block. Collapsing free-text diagnosis codes intocomp_ALLand the comorbidity flags that way is a clean, auditable route to the low-risk stratum, and it reads exactly the same on Jenner.Because the analysis datasets live behind the
maternlibname, each bundle carries a small inline sample matching the columns the step reads, so the procedure logic — yourPROC TRANSPOSEreshape, the comorbidity DATA step, thePROC FREQodds ratios,PROC TABULATE,PROC MEANS, and thePROC GENMODPoisson log-link risk-ratio model — runs end to end against data that never leaves your repo.Each bundle folder holds the
script.sas, a two-lineautoexec.sas, the captured log and listing, and anexpected.jsonof the fields to re-check. To try one against the hosted API, check out this branch and run 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/t002_comorbidity_classify/script.sas https://api.jenneranalytics.com/v1/quickRunning
cd jenner-check && ./run_jenner.sh --allre-runs all six bundles and verifies the pinned fields in eachexpected.json. The API is 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 the 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 a script's own source is what's transmitted, you can review it first if it embeds anything sensitive inline.
Merge it, close it, or ignore it — all fine, and no response is expected. We won't open further PRs in this repo; to opt out of any future ones for good, put
no-more-prsin a comment or open an issue titledjenner-check: opt out.Lawrence W. Sinclair
CEO / Jenner Analytics Ltd
linkedin.com/in/lwsinclair/