Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Analysis dataset (ADaM) is created from the collected data stored in SDTM. It should have full traceability back to the input datasets. For this example we show This example illustrates example analysis datasets for the following endpoints:

  • From CV domain
    • Percent change in ejection fraction over time
    • Decline in ejection fraction over a time period (yearly) grouped by a decline greater than 10.0%.
  • From the LB domain
    • Percent change in NTproBNP over a period of time (yearly).

The SDTM example datasets from which this data is drawn are in the section "examples used as the source data are from Section 2.1, Basic CMR tests - Systolic Function" (make link). The example datasets show visits 1 and 6 for one subject. As mentioned in the SDTM text, for the purposes of this example, the participant was The subject was enrolled in the study on 20-May-2021 and the study visits were every two months. Visit 1 represents the visit at day 1 of the study, and visit 6 represents the visit at month 12 of the study. The associated laboratory test, N-Terminal ProB-type Natriuretic Peptide, is used in conjunction with ejection fraction as a biomarker and is important for diagnosis and treatment. It is also used separately to identify the percent change over a period of time.

The example analysis dataset includes treatment and demographic information drawn from the ADSL, defined in the Metadata Table below. In this example, we only show some of the required variables, plus important stratification variables from ADSL, are shown. One variable mentioned body surface area (BSA), can be computed and added to ADSL. However, since the subjects are children, their body surface area changes over time. Therefore, it would probably be better to have a separate dataset to capture this over time.


Info

Questions

...

:

  1. Is screening considered visit 1, or is it to include the subject into the study? SDTM team agreed to change to VISIT 1 instead of SCREENING.
  2. Are these Real World Evidence (RWE) studies only or clinical trials?
  3. Should both endpoints be shown in one efficacy dataset or two? I will be showing 3 datasets.
  4. What is a good surface area to use for the child subject?
  5. Should i use Male and 6 years? please advise.

Analysis Datasets

The table below presents shows the sample example analysis datasets and unique parameters generated for this example. The Subject Level Analysis Dataset (ADSL)  is a necessary component in the creation process of subsequent analysis datasets for human trials. The ADSL incorporates demographics, treatment groups, study dates, and stratification variables. In this example, the ADSL is not displayed directly illustrated, but serves as a source for standard ADaM variables. Additional information on this can be found in Section 2.3.1 of the ADaM Implementation Guide (ADaMIG) v1.3.

The second and third datasets follow the naming convention for ADaM by starting with the letters 'AD' representing 'Analysis Dataset'. There is flexibility in the use of the other 6 letters allowed in the dataset name, and also the Dataset description which is also the label. In this example, the ADCVEF dataset selectively captures tests pertinent ADCVEF dataset includes tests pertinent to this analysis, specifically those with for which CVTESTCD is equal to "LVEF_C" or "RVEF_C". The relationship dataset RELREC illustrates the connections between datasets. There exists a many-to-one relationship between cardiovascular tests (CV) and laboratory data collected during the same visitsrelationship between datasets

The ADCVNTRP dataset is a subset of LB selecting for LBTESTCD the Laboratory Results (LB) SDTM dataset, for which LBTESTCD is equal to "BNPPRONT". In this case, many lab draws may occur throughout the year, but we are only interested in the ones only those linked to a specific visit are included. By subsetting the Laboratory Results ( LB ) dataset with LBLNKID not missing, we can select laboratory data that aligns with CV data can be filtered out and sort sorted using USUBJID and VISIT. If LBLNKID were is not available, a windowing strategy could be employed used to select the laboratory draw closest to that visit for merging with CV, computed in AVISIT.

ADCMRI is an efficacy analysis dataset with only a few records for more complex modeling of changes in ejection fraction, plus the ProB-type test results. It is a an ADaM Basic Data Structure (BDS) dataset, with additional variables added from ADCVEF.

...

Definexmltable
DatasetADCVNTP
LevelValue
PurposeAnalysis
OIDAVAL
DatasetVariableWhereTypeOriginDerivation/Comment
ADCVNTPAVALPARAMCD = "LVEFC"NumPredecessor
 Set
Set to CV.CVSTRESN where CV.CVTESTCD = "LVEF_C"
.
ADCVNTPAVALPARAMCD = "RVEFC"NumPredecessor
 Set
Set to CV.CVSTRESN where CV.CVTESTCD = "RVEF_C"
ADCVNTPAVALPARAMCD = "BNPPRONT"NumPredecessorSet to LB.LBSTRESN where LB.LBTESTCD = "BNPPRONT"

Analysis Datasets

The subsequent section provides the data structures for the example ADaM datasets. In this example, columns for derived variables BASE, and CHG, PCHG and CHGCAT1 have been added f to facilitate analyses of the efficacy endpoints. Specifically, example demographic data for ADSL were created for an 8 year old male child. Also, a custom variable for BSA at baseline (BSABASE), an example of a custom variable, was added from ADSL.The ADaM standard only suggests variable order, so the demographics and treatment variables are shown at the right of the dataset.

Definexmltable
DatasetADCVNTP
LevelVariable
PurposeAnalysis
NameVariable
Decline  ;
Variable NameVariable LabelTypeCodelist/Controlled Terms/FormatSourceDerivation/Comment
STUDYIDStudy IdentifierChar

CV.STUDYID


USUBJIDUnique Subject IdentifierChar

CV.USUBJID

Select for records with RE data.
ASEQAnalysis Sequence NumberNum

CV.CVSEQ

Number records 1 to n after sorting by keys.
BSABASEBody Surface Area (m2) at BaselineNum
ADSL.BSABASECompute in ADSL where VS.VSTESTCD = "BSA".
PARAMParameterChar

Left Ventricular Ejection Fraction, Calculated (%);

Right Ventricular Ejection Fraction, Calculated (%);

N-Terminal ProB-type Natriuretic Peptide (pg/mL)


For tests from CV, set to the values of CV.CVTEST plus CV.CVTESTU with spaces and parentheses as shown. 

For tests from LB, set to the value of LB.LBTEST plus LB.LBTESTU with spaces and parentheses as shown. 

PARAMCDParameter CodeChar

LVEFC;

RVEFC;

BNPPRONT;




If CV.CVTESTCD = "LVEF_C" then PARAMCD = "LVEFC"

If CV.CVTESTCD = "RVEF_C" then PARAMCD = "RVEFC".

If LB.LBTESTDC = "BNPPRONT" then PARAMCD = "BNPPRONT.

Note: for this example dataset, select the records where the test values shown above are included.

PARAMNParameter NumberNum



Number PARAMCD as follows:

"LVEFC = "1"

"RVEFC = "2"

BNPPRONT = "3"

AVALAnalysis ValueNum


See Parameter Value List 

AVISITAnalysis VisitChar



If CV.VISIT = "VISIT 1" then AVISIT = "Visit 1 (Baseline)".

Else if CV.VISIT = "VISIT 6" then AVISIT = "Visit 6 (1 Year)".

AVISITNAnalysis Visit (N)Num

Set to value of CV.VISITNUM or LB.VISITNUM
VISITVisitNum

CV.VISIT

LB.VISIT


ADTAnalysis DateNumdate9.
Date portion of CV.CVDTC or LB.LBDTC converted to numeric and displayed in a format such as date9. 
ABLFLBaseline Record FlagCharY

If CV.VISIT = 1 then ABLFL = "Y".

BASEBaseline ValueNum

Set BASE to AVAL from the record for that subject and parameter where ABLFL = "Y".

Populate BASE for additional visits by copying the value of BASE in the baseline record by USUBJID and ADT. (Or by AVISIT if ADT varies for labs, where windowing is applied to select record closest to the visit)

CHGChange from BaselineNum

Compute CHG = AVAL - BASE for that record. Only compute for post-baseline records.
PCHGPercent Change from BaselineNum

Compute PCHG = (CHG / BASE) * 100. Only compute for post-baseline records.
CHGCAT1Change from Baseline Category 1Char

Decline >=10.0;

Decline < 10.0; 

Increase


Categorise Categorize the value of CHG for Left Ventricular Ejection Fraction, and Calculated (%) (LVEFC) and for Right Ventricular Ejection Fraction, Calculated (%) (RVEFC)
CHGCAT2Change from Baseline Category 2Chart



Categorise Categorize the value of CHG for N-Terminal ProB-type Natriuretic Peptide (pg/mL) (BNPPRONT)
TRT01P

Planned Treatment for Period 01

Char"Treatment A"ADSL.TRT01PFor this example we are using "Treatment A". In a Real World Evidence study this could be non-treatment related, e.g. "Group A".

ITTFL

Intent-to-Treat Population Flag

Char

Y; N

ADSL.ITTFL


AGEAgeNum
ADSL.AGE
AGEUAge UnitsChar(AGEU)ADSL.AGEU
SEXSexChar(SEX)ADSL.SEX
SRCDOMSource DataChar

CV; LB


 Set Set to the SDTM domain name that relates to the analysis value.
SRCSEQSource Sequence NumberNum


CV.CVSEQ

LB.LBSEQ

Set to the SDTM domain sequence number that relates to the analysis value.

...

Dataset wrap
Nameadcvntpr
Rowcaps
Rows 1-2:Show the baseline CMR ejection fraction measurements for participant 101 at VISIT 1.
Row 3:Shows the baseline NTProbTest for participant 101 at VISIT 1.
Rows 4-5:Show the CMR ejection fraction measurements for participant 101 at VISIT 6.
Row 6:Shows the NTProbTest for participant 101 at VISIT 6.
Dataset2
tableidadcvntpr
RowSTUDYIDUSUBJIDASEQBSABASEPARAMPARAMCDPARAMNAVALAVISITAVISITNVISITADTABLFLBASECHGPCHGCHGCAT1TRT01PITTFLAGEAGEUSEXSRCDOMSRCSEQ
1DMD-EFLGEDMD-EFLGE-10110.65Left Ventricular Ejection Fraction, Calculated (%)LVEFC167Visit 1 (Month 1)1VISIT 116May2022Y67


Treatment AY8YEARSMCV3
2DMD-EFLGEDMD-EFLGE-10120.65Right Ventricular Ejection Fraction, Calculated (%)RVEFC274Visit 1 (Month 1)1VISIT 116May2022Y74


Treatment AY8YEARSMCV7
3DMD-EFLGEDMD-EFLGE-10130.65N-Terminal ProB-type Natriuretic Peptide (IU/L)BNPPRONT340Visit 1 (Baseline)1VISIT 116May2022Y40


Treatment AY8YEARSMLB1
4DMD-EFLGEDMD-EFLGE-10140.65Left Ventricular Ejection Fraction, Calculated (%)LVEFC160Visit 6 (Month 12)6VISIT 601Jun2023
67-7-10.447761Decline >=10.0Treatment AY8YEARSMCV11
5DMD-EFLGEDMD-EFLGE-10150.65Right Ventricular Ejection Fraction, Calculated (%)RVEFC261Visit 6 (Month 12)6VISIT 601Jun2023
74-13-17.567568Decline >=10.0Treatment AY8YEARSMCV15
6DMD-EFLGEDMD-EFLGE-10160.65N-Terminal ProB-type Natriuretic Peptide (IU/L)BNPPRONT3900Visit 6 (1 Year)6VISIT 11Jun2023
408602,150
Treatment AY8YEARSMLB2

...

The variables transposed and merged to the rows created from CV are:

DatasetValueWhere Variable Variable Label
ADCVNTPAVALPARAMCD = "BNPPRONT"BNPPRONTN-Terminal ProB-type Natriuretic Peptide (IU/L)
ADCVNTPCHGPARAMCD = "BNPPRONT"BNPCHGN-Term ProB-type N Pep Change Category
Dataset wrap
Nameadcvntp
Dataset2
tableidadcvntp
RowSTUDYIDUSUBJIDASEQBSABASEBNPPRONTBNPCHGPARAMPARAMCDPARAMNAVALAVISITAVISITNVISITADTABLFLBASECHGPCHGTRT01PITTFLAGEAGEUSEXSRCDOMSRCSEQ
1DMD-EFLGEDMD-EFLGE-10110.6540
Left Ventricular Ejection Fraction, Calculated (%)LVEFC167Visit 1 (Month 1)1VISIT 116MAY2022Y67

Treatment AY8YEARSMCV3
2DMD-EFLGEDMD-EFLGE-10120.6540
Right Ventricular Ejection Fraction, Calculated (%)RVEFC274Visit 1 (Month 1)1VISIT 116MAY2022Y74

Treatment AY8YEARSMCV7
3DMD-EFLGEDMD-EFLGE-10130.659002150Left Ventricular Ejection Fraction, Calculated (%)LVEFC160Visit 6 (Month 12)6VISIT 601JUN2023
67-7-10.447761Treatment AY8YEARSMCV11
4DMD-EFLGEDMD-EFLGE-10140.659002150Right Ventricular Ejection Fraction, Calculated (%)RVEFC261Visit 6 (Month 12)6VISIT 601JUN2023
74-13-17.567568Treatment AY8YEARSMCV15

...

This table may be included in the submission package for regulatory agencies. It describes the analyses conducted for the study (usually limited to primary and secondary  endpoints) with details on data and analysis procedures used. The first example uses the dataset ADCVNTPR, selecting for the parameter "N-Terminal ProB-type Natriuretic Peptide (IU/L)" .

Display

Table 14.xx.xx Percent change in NTproBNP over a period of time (yearly)

Analysis ResultComparison of Percent Change of NTproBNP for the Treatment Groups Over Time (quarterly or yearly)
Analysis Variables(s)PCHG
Analysis ReasonPrimary efficacy endpoint as prespecified in the SAP
Analysis PurposePrimary outcome measure

Data References

(incl. selection criteria)

PARAMCD = "BNPPRONT"

Where ITTFL = "Y"

Documentation

 The mixed model using lsmeans to compare treatment groups

Programming Statements 

(Add programming language statements here: SAS, R, etc.)

PROC MIXED DATA=ADCVNTPR;

WHERE PARAMCD = "BNPPRONT";

CLASS STUYDID TRT01P AVISITN;

MODEL PCHG=AVISITN*TRT01P/Solution;

RANDOM INTERCEPT / SUBJECT=STUYDID TYPE=UN;

LSMEANS TRT01P*AVISITN/ CL PDIFF;

RUN;

Display

Table 14.xx.xx Percent Change in Left Ventricular Ejection Fraction Over TmeTime

Analysis ResultComparison of Percent Change of Ejection Fraction for the Treatment Groups Over Time (quarterly or yearly)
Analysis Variables(s)PCHG
Analysis ReasonPrimary efficacy endpoint as prespecified in the SAP
Analysis PurposePrimary outcome measure

Data References

(incl. selection criteria)

PARAMCD = "LVEFC"

Where ITTFL = "Y"

Documentation

 The mixed model using lsmeans to compare treatment groups

Programming Statements 

(Add programming language statements here: SAS, R, etc.)

PROC MIXED DATA=ADCVNTP;

CLASS STUYDID TRT01P AVISITN;

MODEL PCHG=AVISITN*TRT01P/Solution;

RANDOM INTERCEPT / SUBJECT=STUYDID TYPE=UN;

LSMEANS TRT01P*AVISITN/ CL PDIFF;

RUN;

...