Review ask

As a clinical trial statistician or programmer, challenge anything in this benchmark: describe a problem in Comments, or propose a fix with the Edit button on any source file.

  1. Task: Is this a specification error a study team could realistically make, and should the build stop on it rather than continue?
  2. Inputs: Do they trigger the failure for the reason the summary gives?
  3. Expected failure: Is this the right error, raised at the right point, and would it tell the programmer what to fix?

The other tabs beside Comments are background for assessment, not under review.

Summary

Lifecycle: reviewedEditUnder review
What this benchmark means
README.md

Goal: carry each collected tumor assessment into an analysis record holding the assessment date (ADT) and the recorded response (AVALC), rejecting a partial response (PR) recorded directly after a complete response (CR).

Input: collected tumor assessments with the assessment date (RSDTC) and the assessed response (RSSTRESC), identified by study, subject, and sequence number.

Variables:

  • ADT is the assessment date, taken directly from RSDTC.
  • AVALC is the response recorded at that assessment, taken directly from RSSTRESC: CR, PR, stable disease (SD), NON-CR/NON-PD, progressive disease (PD), or not evaluable (NE).

Note: assessments are compared in date order within a subject. A complete response leaves no measurable disease to respond partly, so an assessment recording PR directly after CR for the same subject is a fault in the collected data: the whole run is rejected and no artifact is accepted, and the expected output records the completed rows presented to that check. A partial response that later becomes complete is ordinary and passes.

How to fix

Review the response sequence and correct the assessment that is inconsistent with the study definition. If the protocol genuinely permits a partial response after a complete response, revise the clinical rule and its check together; do not remove the check merely to accept an unexplained sequence.

Expected failure

Edit
the run is rejected; no artifact is accepted
expected/error.yaml
phase
verification
condition
assert_failed
requirement
REQ-0384
expected/error.yaml
phase: verification
condition: assert_failed
spec_paths:
  - verifications[2].assert
requirement: REQ-0384
context:
  verification_id: response-does-not-fall-back-after-a-complete-response
  failure_count: 1
  keys:
    - STUDYID: PILOT7
      USUBJID: P7-962
      RSSEQ: 2

Inputs

Under review
1 source file

input/rs.csv

Edit
6 rows
input/rs.csv
STUDYIDUSUBJIDRSSEQRSDTCRSSTRESC
PILOT712025-02-17CR
PILOT722025-04-07CR
PILOT712025-02-24CR
PILOT722025-04-14PR
PILOT712025-03-03PR
PILOT722025-05-05CR

Unexpected Output

Under review
6 rows presented to the failing check - not an accepted artifact

expected/adrs.csv

Edit
6 rows
expected/adrs.csv
STUDYIDUSUBJIDRSSEQPARAMCDADTAVALC
PILOT71OVR2025-02-17CR
PILOT72OVR2025-04-07CR
PILOT71OVR2025-02-24CR
PILOT72OVR2025-04-14PR
PILOT71OVR2025-03-03PR
PILOT72OVR2025-05-05CR
Shaded columns are derived— = missing value

Comments and assessment materials

Comments

Signed in with GitHub; saved in repository Discussions

Mapping spec

Generated from the benchmark YAML; do not edit by hand

Dataset NameVariable NameVariable LabelTypeCodelist/Controlled TermsCoreComputational MethodOrigin
ADRSSTUDYIDStudy IdentifiercharacterCopy value from RS.STUDYID.Predecessor
ADRSUSUBJIDUnique Subject IdentifiercharacterCopy value from RS.USUBJID.Predecessor
ADRSRSSEQSequence NumbernumericCopy value from RS.RSSEQ.Predecessor
ADRSPARAMCDParameter CodecharacterSet constant value "OVR".Assigned
ADRSADTAnalysis DatenumericISO 8601Copy value from RS.RSDTC.Predecessor
ADRSAVALCAnalysis Value (C)characterCR, PR, SD, NON-CR/NON-PD, PD, NECopy value from RS.RSSTRESC.Predecessor
VariablePermitted values
AVALCCR, PR, SD, NON-CR/NON-PD, PD, NE
VersionDateAuthorDescriptionReviewerSign-off
1.32026-09-29yamaa docs buildShow study codelist names, external dictionaries, and ISO 8601 formats in variable rows; list the document's codelist values and metadata
1.22026-09-29yamaa docs buildClassify ADaM copies from a declared input as Predecessor and recodes as Derived, and SDTM recodes of locally derived columns as Derived
1.12026-09-29yamaa docs buildResolve lookups into the donor record they select, and give every derivation shape a plain-language rule instead of its raw YAML
1.0yamaa docs buildInitial generation from spec.yaml