← Meta-Xceed The Loop How it works Features QC & Validation Dual AI Data Flow Get started
Agentic automation · GxP · 21 CFR Part 11

The agent that loops
until your log is clean

DoLoup writes the SAS program, runs it, reads the log, fixes the ERRORs — and loops. No babysitting, no manual log triage. When the loop ends, your dataset is built, QC'd against CDISC checklists, and ready to submit.

%do %until (log_clean);  build → run → read log → fix  %end;
DoLoup — SAS Data Flow · JZP-999 / csr_dryrun3 ● live
raw dataset raw.ae program ae.sas sdtm dataset SDTM.AE program adae.sas adam dataset ADAM.ADAE qc program v_ae.sas validation report AE_SDTMIG33_ Validation_Report.csv ↻ agentic fix loop · reads log → corrects → reruns right-click → ⚡ Perform QC raw programs datasets qc reports auto-correction: pass 2 · log clean ✓

Speaks your standards

CDISC SDTM IG 3.2–3.4 ADaM IG 1.1–1.3 21 CFR Part 11 GAMP 5 SAS 9.4 R Pinnacle 21
✍️ step 1 Build ▶️ step 2 Run SAS 🔍 step 3 Read log 🛠️ step 4 Fix %do %until log_clean pass 1 · 3 ERRORS
Agentic automation

It's called DoLoup for a reason

Every SAS programmer knows the loop: submit, open the log, hunt the ERROR, patch, resubmit. DoLoup turns that grind into an autonomous DO … UNTIL — an agent that iterates on your program the way you would, only without the coffee breaks.

  • Parses every ERROR, WARNING, and notable NOTE from the real SAS log — not a guess, the actual log
  • Feeds findings back to the AI with the full program context and submits a targeted correction pass
  • Configurable iteration limits and correction scope (errors, warnings, notes, CDISC) keep the agent on a leash
  • Exits only when the log is clean — every pass versioned in git, every action in the audit trail
How it works

Describe. Build. Validate.

Three steps between a specification document and a clean, submission-ready deliverable.

1

Start with a specification

Describe the analysis in plain English, or attach DOCX and Excel specs. AI Scan extracts datasets, variables, and derivations automatically.

> Create SDTM AE from raw adverse events, mapping MedDRA terms per spec v2.1
2

Let the agent loop

DoLoup drafts the full program, then enters its agentic loop: run in SAS, parse the real log, submit a targeted fix, rerun — hands-free until the log is clean.

pass 1 → 3 ERRORS → fixing… pass 2 → 1 WARNING → fixing… pass 3 → log clean ✓ %end;
3

QC every dataset

One click on any dataset card generates an independent v_<dataset>.sas that checks every rule in your CDISC checklist and writes a findings CSV.

v_ae.sas → 25 checks AE_SDTMIG33_Validation_Report.csv Passed: 23 Failed: 2
The platform

Everything a statistical programming team needs

From first draft to double-programmed validation — without leaving the browser.

Agentic correction loops

The signature loop: parse the real SAS log, detect ERRORs, WARNINGs, and notable NOTEs, submit an AI fix, rerun — autonomously, until clean.

🤖

AI program generation

Plain-English prompts become complete SAS 9.4 or R programs with your macro variables, LIBNAMEs, and house style built in.

CDISC QC generation

Checklist-driven v_<dataset>.sas programs validate SDTM and ADaM datasets against your selected IG version, with Pass/Fail CSV reports.

🕸️

SAS Data Flow

A live diagram of programs, datasets, and outputs. Run programs, view data, or launch QC straight from any node.

📋

Specification management

Attach DOCX/XLSX specs to programs. AI Scan extracts metadata; Reconcile compares spec vs. produced datasets.

📊

Metrics dashboard

Program status, correction cycles, run history, and recent errors across every deliverable — in one view.

🕘

Version history & rollback

Git-backed history for every program with side-by-side diffs and one-click restore of any prior version.

🧱

Batch submit & scheduling

Queue whole sections — SDTM, ADaM, TLF — with dependency ordering, or schedule overnight batch runs.

🔐

Audit trail & permissions

Role-based access, JWT sessions, per-user workspaces, and a full audit trail designed for regulated environments.

Independent QC

Double programming, without the second programmer's week

Right-click any SDTM or ADaM dataset in the Data Flow and choose Perform QC. DoLoup reads your CDISC checklist workbook, applies the IG version from your settings, and generates a fully independent validation program — written by a different AI model than the one that built production.

  • Every checklist rule becomes executable SAS — nothing skipped, nothing merged
  • One CSV row per check: Check_ID, Description, Findings, Pass/Fail
  • Missing variables and datasets produce failed rows, never crashed programs
  • Production data is never sorted, updated, or overwritten
*** v_ae.sas — generated by DoLoup ***; %include "&pgm_path\macro-var.sas"; libname sdtm "&sdtm_path"; options source source2 mlogic mprint; *** 25 checks · SDTM IG v3.3 ***; %add_result(check_id=SDTM-GEN-002, status=Pass) %add_result(check_id=SDTM-TM-001, status=Pass) %add_result(check_id=SDTM-AE-002, status=Fail) proc export data=work.validation_results outfile="&output_csv" dbms=csv replace; run; NOTE: QC dataset: SDTM.AE NOTE: Total checks: 25 Passed: 23 Failed: 2 NOTE: CSV report: AE_SDTMIG33_Validation_Report.csv
Dual-model independence

One model writes it.
A different model checks it.

Real double programming means the second programmer isn't the first programmer wearing a different hat. DoLoup lets you assign separate AI models to Production and Validation — so the model that QCs your dataset never grades its own homework.

  • Production slot builds ae.sas — for example Claude, tuned for your house style and macro library
  • Validation slot builds v_ae.sas — for example ChatGPT, working only from the spec and CDISC checklist
  • Programs are classified automatically — qc_* and v_* filenames route to the Validation model
  • Anthropic, OpenAI, and AWS Bedrock supported, with per-slot thinking depth
⚙️ Settings → AI Model Configuration
Production model
Claude · Anthropic
claude-sonnet-4-6 · thinking: min
builds ae.sas
independent by design
Validation model
ChatGPT · OpenAI
gpt-5 · thinking: med
builds v_ae.sas
Reconcile: SDTM.AE vs v_ae findings → 25/25 checks agree ✓
DoLoup in numbers

Built for the whole study

One workspace from raw data to tables, listings, and figures.

0
Manual log reviews
0
Checklist rules shipped
0
Loop passes logged & audited
0
Click from dataset to QC
Ready when you are

Stop reading logs.
Start closing loops.

DoLoup runs on your infrastructure, next to your SAS installation. Set the agent looping — it will let you know when the log is clean.

Request a demo   Watch the loop again