Skip to content

Benchmark

660 benchmarks, generated from benchmarks/. Each one is a complete, runnable specification with its input data and the exact output an implementation must reproduce, and each page below shows that README, the source fixtures, the expected artifacts, and the YAML specification together.

Group Count Purpose
sdtm 70 Assess collected data to SDTM and SEND tabulations
adam 130 Assess SDTM to ADaM and ADaM to results derivations
schema 115 Assess yamaa schema
negative 345 Assess yamaa error handling

Rejection is half the contract. A portable specification language is defined as much by what it refuses as by what it computes, and a refusal is only portable if two implementations refuse the same thing in the same way, so every anti-pattern pins the exact error alongside the specification that provokes it.

The suite serves three audiences at once:

  • Users read it as a cookbook: "how do I express a baseline flag" has an answer to copy.
  • Developers run it as a conformance test: the expected files are byte-exact contracts.
  • AI agents learn the common derivations from one half and the anti-patterns that bound them from the other.

Start here

# Benchmark What it establishes
1 Basic Demographics Reading collected items, handlers, and the declared keys as the grain
2 Lab Findings Row construction: one template per collected test, row_number for the sequence
3 Lab BDS Build A full Basic Data Structure build: parameters as row templates, then baseline, change and sequence as columns

Read a page top to bottom and the loop closes in five minutes: the Summary gives the intent, the specification sidebar gives the shape and the grain, and the expected artifact confirms the reading.

All benchmarks

sdtm

70 benchmarks. Each runs to completion and produces the artifact in expected/.

AE

5 benchmarks

BW

1 benchmark

CM

3 benchmarks

CO

1 benchmark

DM

11 benchmarks

DS

3 benchmarks

EC

1 benchmark

EG

1 benchmark

EX

4 benchmarks

FA

3 benchmarks

LB

9 benchmarks

MH

2 benchmarks

MO

1 benchmark

PC

1 benchmark

PP

1 benchmark

PR

1 benchmark

QS

1 benchmark

RELREC

2 benchmarks

RS

1 benchmark

SE

1 benchmark

SUPPDM

1 benchmark

SUPPMH

3 benchmarks

SV

2 benchmarks

TA

1 benchmark

TR

1 benchmark

TS

1 benchmark

TU

1 benchmark

VS

7 benchmarks

adam

130 benchmarks. Each runs to completion and produces the artifact in expected/.

ADAE

24 benchmarks

ADAECM

1 benchmark

ADCE

1 benchmark

ADCM

5 benchmarks

ADEG

6 benchmarks

ADEX

4 benchmarks

ADFA

1 benchmark

ADICE

1 benchmark

ADIS

1 benchmark

ADLB

16 benchmarks

ADLBC

2 benchmarks

ADOE

1 benchmark

ADPC

2 benchmarks

ADPP

6 benchmarks

ADQS

5 benchmarks

ADRS

6 benchmarks

ADSL

25 benchmarks

ADTR

2 benchmarks

ADTTE

5 benchmarks

ADVS

14 benchmarks

CLINSITE

1 benchmark

RESULTS

1 benchmark

schema

115 benchmarks. Each runs to completion and produces the artifact in expected/.

ADAE

15 benchmarks

ADCM

1 benchmark

ADEG

2 benchmarks

ADEX

5 benchmarks

ADLB

9 benchmarks

ADQS

1 benchmark

ADSL

39 benchmarks

ADVS

7 benchmarks

AE

2 benchmarks

AECM

9 benchmarks

BANDDOSE

1 benchmark

DI

1 benchmark

DM

5 benchmarks

IDS

1 benchmark

LB

5 benchmarks

LESION

1 benchmark

OUT

2 benchmarks

RANGES

2 benchmarks

RECORDS

1 benchmark

TEST

2 benchmarks

TIMELINE

1 benchmark

VS

2 benchmarks

ZE

1 benchmark

negative

345 benchmarks. Each must fail, and expected/error.yaml pins the error it raises.

ADAE

34 benchmarks

ADCM

2 benchmarks

ADEG

2 benchmarks

ADEX

9 benchmarks

ADIS

1 benchmark

ADLB

37 benchmarks

ADQS

1 benchmark

ADRS

2 benchmarks

ADSL

123 benchmarks

ADVS

20 benchmarks

AE

5 benchmarks

AECM

5 benchmarks

CM

1 benchmark

CO

2 benchmarks

DI

1 benchmark

DM

58 benchmarks

EX

1 benchmark

LB

11 benchmarks

LESION

1 benchmark

QS

2 benchmarks

RECORDS

1 benchmark

SUPPDM

1 benchmark

SV

1 benchmark

TA

1 benchmark

TE

1 benchmark

TEST

9 benchmarks

VS

12 benchmarks

ZE

1 benchmark