Versions Compared

Key

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

This section illustrates example analysis datasets for the following endpoints:

  • Percent change in ejection fraction over time
  • Decline in ejection fraction over a time period (1 year) grouped by a decline greater than 10.0%.
  • Percent change in NTproBNP over a period of time (1 year)

Source Data

The SDTM examples used as the source data are from Section 2.1, Basic CMR Tests for Systolic Function. The CV dataset contains 16 rows, 1-8 for visit 1 and 9-16 for visit 6. Of these rows, the CVTESTCD = "LVEF_C" and CVTESTCD = "RVEF_C" representing the Ventricular Ejection Fraction, Calculated (%) for left and right were selected for the analysis. The LB dataset test where LBTESTCD = "BNPPRONT" was used to add the value of BNPPRONT to compute the percent change over time, and then it was added as a potential covariate in each row for the last analysis. As in all ADaM datasets, the Subject Level Analysis Dataset (ADSL) was merged in to the SDTM datasets to capture all the necessary demographics, treatments and other required variables for analysis of the data.

Example Analysis Datasets

The analysis datasets for this example include treatment and demographic information drawn from the Subject Level Analysis Dataset (ADSL), defined in the Metadata Tables below. Only some of the required variables from ADSL are shown for illustrative purposes. The ADSL incorporates demographics, treatment groups, study dates, and stratification variables.  Additional information on the ADSL can be found in Section 2.3.1 of the ADaM Implementation Guide (ADaMIG) v1.3.

The ADSL is combined with other SDTM dataset to create the analysis datasets. More than one SDTM dataset can be combined in this way. Also, stratification variables can be created in the ADSL to subset by, or to add variables needed in the analyses. For instance,  stratification variable might be type of concomitant medications, such as an ACE inhibitors. for this we added a flag ACEMEDFL, which is coded Y or N. Another variable added; body surface area (BSABL), is derived from the LB dataset at the baseline visit and added to ADSL. However, when

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?  They can be both, we will concentrate on Trials and not mention RWE in this supplement.
  3. Should both endpoints be shown in one efficacy dataset or two? I will be showing 2 datasets.
  4. What is a good surface area to use for the child subject?   
  5. Should i use Male and 8 years? please advise.

This section illustrates example analysis datasets for the following endpoints:

  • Percent change in ejection fraction over time
  • Decline in ejection fraction over a time period (1 year) grouped by a decline greater than 10.0%.
  • Percent change in NTproBNP over a period of time (1 year)

Source Data

The SDTM examples used as the source data are from Section 2.1, Basic CMR Tests for Systolic Function. The CV dataset contains 16 rows, 1-8 for visit 1 and 9-16 for visit 6. Of these rows, the CVTESTCD = "LVEF_C" and CVTESTCD = "RVEF_C" representing the Ventricular Ejection Fraction, Calculated (%) for left and right were selected for the analysis. The LB dataset test where LBTESTCD = "BNPPRONT" was used to add the value of BNPPRONT to compute the percent change over time, and then it was added as a potential covariate in each row for the last analysis. As in all ADaM datasets, the Subject Level Analysis Dataset (ADSL) was merged in to the SDTM datasets to capture all the necessary demographics, treatments and other required variables for analysis of the data.

Analysis Datasets

The example analysis dataset includes treatment and demographic information drawn from the ADSL, defined in the Metadata Table below. In this example, only some of the required variables, plus important stratification variables from ADSL, are shown for illustrative purposes. For example, one variable added; body surface area at baseline (BSABL)  was computed for baseline records in ADSL. However, since the subjects are children, the body surface area changes over time. Therefore, it would probably be necessary to have a separate dataset to represent this over time.

The table below shows the example analysis datasets and unique parameters 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 illustrated, but serves as a source for standard ADaM variables. Additional information can be found in Section 2.3.1 of the ADaM Implementation Guide (ADaMIG) v1.3.

The ADCVEF dataset includes tests pertinent to this analysis, those for which CVTESTCD is equal to "LVEF_C" or "RVEF_C". The relationship dataset RELREC illustrates the relationship between datasets. 

The ADCVNTRP dataset is a subset of 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 only those linked to a specific visit are included. By subsetting the LB dataset with LBLNKID not missing, laboratory data that aligns with CV data can be filtered out and sorted using USUBJID and VISIT. If LBLNKID is not available, a windowing strategy could be 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 an ADaM Basic Data Structure (BDS) dataset, with additional variables added from ADCVEF.

an additional non-standard variable is added to the analysis dataset with the subject's current BSA by visit. 

The ADCVNTP dataset includes tests pertinent to these analyses. The record LB are selected where CVTESTCD is equal to "LVEF_C" or "RVEF_C".  It also includes a subset of the Laboratory Results (LB) SDTM dataset, for which LBTESTCD is equal to "BNPPRONT". The relationship dataset RELREC illustrates the relationship between datasets. In this case, many lab draws may occur throughout the year, but only those linked to a specific visit are included. By subsetting the LB dataset with LBLNKID not missing, laboratory data that aligns with CV data can be filtered out and sorted using USUBJID and VISIT. If LBLNKID is not available, a windowing strategy could be used to select the laboratory draw closest to that visit for merging with CV, computed in AVISIT. In the example, only two LB records are shown which are linked to CV where CVTESTCD = "LVEF_C" or CVTESTCD = "R.VEF_C"

ADCVMR 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 an ADaM Basic Data Structure (BDS) dataset, with additional variables added from ADCVNTP.

The tableS below showsthe example analysis dataset metadata and parameters used for the analysis. 

Definexmltable
Definexmltable
Multipletrue
LevelDataset
PurposeAnalysis

Dataset Name

Dataset Description

Class of Dataset

Structure

Location

Keys

Documentation

ADSL

Subject-Level Analysis Dataset

SUBJECT LEVEL ANALYSIS DATASET

One record per subject

adsl.xptUSUBJIDADaMIG
ADCVNTPCardiac Ejection Fraction and NTproBNP Analysis Dataset

BASIC DATA STRUCTURE

One record per subject per analysis visit per parameteradcvntp.xptUSUBJID, AVISITN, PARAMN

Analysis Dataset

ADCVCMRCardiovascular CMR Ejection Fraction Analysis Dataset

BASIC DATA STRUCTURE

One record per subject per analysis visit per parameteradcvntrpadcvcmr.xptUSUBJID, AVISITN, PARAMN

Analysis Dataset

Definexmltable
DatasetADCVNTP
LevelValue
PurposeAnalysis
OIDAVAL
DatasetVariableWhereTypeOriginDerivation/Comment
ADCVNTPAVALPARAMCD = "LVEFC"NumPredecessorSet to CV.CVSTRESN where CV.CVTESTCD = "LVEF_C"
ADCVNTPAVALPARAMCD = "RVEFC"NumPredecessorSet 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, CHG, PCHG and CHGCAT1 have been added to facilitate analyses of the efficacy endpoints. Specifically, example demographic data for ADSL were created for an 8 year old male. Also, a custom variable for BSA at baseline (BSABASE), and an example of a stratification variable for subjects with was added from ADSL.

Definexmltable
DatasetADCVNTP
LevelVariable
PurposeAnalysis
NameVariable
ADSL.SEX
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.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.
BRTHDTDate of BirthNumDate9.

ADSL.BRTHDTC

Convert BRTHDTC from ISO 8601 format to numeric date. (Note that if exact date is not found then use two variables to capture year and month.)
BSABASEBody Surface Area (m2) at BaselineNum
ADSL.BSABASECompute in ADSL where VS.VSTESTCD = "BSA".
BSABody Surface Area (m2) by VisitNum



Compute from VS.HEIGHT and VS.WEIGHT by visit, using the Du Bois method. Note that there are multiple methods to compute, and the study protocol should describe which one to use. (e.g. other methods may be Mosteller, Haycock, Gehan & George, Boyd, Fujimoto, Takahira, and Schlich)

BSABASEBody Surface Area (m2) at BaselineNumADSL.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 (N)Num



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


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



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

Planned Treatment for Period 01

CharTreatment AADSL.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

AAGEAnalysis AgeNumCompute age from BRDTC - RFSTDTC to a decimal.

Char

Y; N

ADSL.ITTFL

AGEAgeNumADSL.AGEAGEUAge UnitsChar(AGEU)ADSL.AGEUSEXSexChar(SEX)


SRCDOMSource DataChar

CV; LB


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.

...

  • Left Ventricular Ejection Fraction, Calculated (%)
  • Right Ventricular Ejection Fraction, Calculated (%)
  • N-Terminal ProB-type Natriuretic Peptide (pg/mL)
Dataset wrap
Nameadcvntpradcvntp
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.
AGEU
Dataset2
tableidadcvntpradcvntp
RowSTUDYIDUSUBJIDASEQBRTHDTBSABASEBSAPARAMPARAMCDPARAMNAVALAVISITAVISITNVISITADTABLFLBASECHGPCHGCHGCAT1TRT01PITTFL
AAGEAGE
SEX
SRCDOMSRCSEQ
1DMD-EFLGEDMD-EFLGE-1011
0.650.65Left Ventricular Ejection Fraction, Calculated (%)LVEFC167Visit 1 (Baseline)1VISIT 116MAY2022Y67


Treatment AY
8.258YEARS
M
CV3
2DMD-EFLGEDMD-EFLGE-1012
0.65
Right Ventricular Ejection Fraction, Calculated (%)RVEFC274Visit 1 (Baseline))1VISIT 116MAY2022Y74


Treatment AY
8.258YEARSM
CV7
3DMD-EFLGEDMD-EFLGE-1013
0.65
N-Terminal ProB-type Natriuretic Peptide (IU/L)BNPPRONT340Visit 1 (Baseline)1VISIT 116MAY2022
Y40Treatment AY8.258YEARS
Y40


Treatment AY
M
LB1
4DMD-EFLGEDMD-EFLGE-1014
0.65
Left Ventricular Ejection Fraction, Calculated (%)LVEFC160Visit 6 (1 Year)6VISIT 601JUN2023
67-7-10.447761Decline >=10.0Treatment AY
8.258YEARSM
CV11
5DMD-EFLGEDMD-EFLGE-1015
0.65
Right Ventricular Ejection Fraction, Calculated (%)RVEFC261Visit 6 (1 Year)6VISIT 601JUN2023
74-13-17.567568Decline >=10.0Treatment AY
8.25
8YEARSM
CV15
6DMD-EFLGEDMD-EFLGE-1016
0.65
N-Terminal ProB-type Natriuretic Peptide (IU/L)BNPPRONT3900Visit 6 (1 Year)6VISIT 101JUN2023
408602,150
Treatment AY
8.258YEARS
M
LB2

Example 2 

The dataset above can also be set up to provide multivariate analyses by taking the lab tests of interest, transposing and merging with the ADCVNTPP ADCVNTP dataset. In that case, the records from LB are not needed as a row.The variables transposed and merged to the rows created from CV are:


DatasetValueWhere Variable Variable Label
ADCVNTPADCVCMRAVALPARAMCD = "BNPPRONT"BNPPRONTN-Terminal ProB-type Natriuretic Peptide (IU/L)
ADCVNTPADCVCMRCHGPARAMCD = "BNPPRONT"BNPCHGN-Term ProB-type N Pep Change Category
M
Dataset wrap
Nameadcvntpadcvcmr
1
Dataset2
tableidadcvntpadcvcmr
RowSTUDYIDUSUBJIDASEQBSABASEBSABNPPRONTBNPCHGPARAMPARAMCDPARAMNAVALAVISITAVISITNVISITADTABLFLBASECHG
PCHGTRT01PITTFLSRCDOMSRCSEQ
1DMD-EFLGEDMD-EFLGE-10110.65
40
Left Ventricular Ejection Fraction, Calculated (%)LVEFC167Visit 1 (Baseline)1VISIT 116MAY2022Y67

Treatment AYCV3
2
PCHGTRT01PITTFLAGEAGEUSEXSRCDOMSRCSEQ
DMD-EFLGEDMD-EFLGE-101
1
20.65
40
Left

Right Ventricular Ejection Fraction, Calculated (%)
LVEFC
RVEFC
1
2
67
74Visit 1 (Baseline)1VISIT 116MAY2022Y
67
74

Treatment AY
8
CV
YEARS
7
CV
3
2
DMD-EFLGEDMD-EFLGE-101
2
30.65
900
40
2150
Right
Left Ventricular Ejection Fraction, Calculated (%)
RVEFC
LVEFC
2
1
74
60Visit 6 (1
(Baseline
Year)
1
6VISIT
1
601JUN2023
16MAY2022

67
Y
-7-10.447761
74
Treatment AY
8YEARSM
CV
7
11
3
4DMD-EFLGEDMD-EFLGE-101
3
40.65
9002150
Left
Right Ventricular Ejection Fraction, Calculated (%)RVEFC2
LVEFC
61Visit 6 (1
60Visit 6 (1 Year)6VISIT 601JUN202367-7-10.447761Treatment AY8YEARSMCV114DMD-EFLGEDMD-EFLGE-10140.659002150Right Ventricular Ejection Fraction, Calculated (%)RVEFC261Visit 6 (1 Year)6VISIT 601JUN202374-13-17.567568Treatment AY8YEARSMCV15

Example Analysis Results Metadata (ARM) Tables

Year)6VISIT 601JUN2023
74-13-17.567568Treatment AYCV15

Example Analysis Results Metadata (ARM) Tables

These tables may be included in the submission package for regulatory agencies. They describe the analyses conducted for the study (usually limited to primary and secondary  endpoints) with details on data and analysis procedures used. 

table 1

Display

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

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=ADCVCMR;

CLASS STUYDID TRT01P AVISITN;

MODEL PCHG=AVISITN*TRT01P/Solution;

RANDOM INTERCEPT / SUBJECT=STUYDID TYPE=UN;

LSMEANS TRT01P*AVISITN/ CL PDIFF;

RUN;


tABLE 2, ADD SOME COVARIATES TO THE MODELThis 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

xx Percent

change in NTproBNP over a period of time (yearly)

Change in Left Ventricular Ejection Fraction Over Time

Analysis ResultComparison of Percent Change of
NTproBNP
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 = "

BNPPRONT

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=

ADCVNTPR

ADCVNTP;

WHERE PARAMCD = "BNPPRONT";

CLASS STUYDID TRT01P AVISITN;

MODEL PCHG=AVISITN*TRT01P/Solution;

RANDOM INTERCEPT / SUBJECT=STUYDID TYPE=UN;

LSMEANS TRT01P*AVISITN/ CL PDIFF;

RUN;




Move to table 3  This example uses the dataset ADCVNTP, selecting for the parameter "N-Terminal ProB-type Natriuretic Peptide (IU/L)".

=STUYDID TYPE=UN;

LSMEANS TRT01P*AVISITN/ CL PDIFF;

RUN;

Display

Table 14.xx.xx xx Percent Change in Left Ventricular Ejection Fraction Over Timechange in NTproBNP over a period of time (yearly)

Analysis ResultComparison of Percent Change of Ejection Fraction 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 = "LVEFCBNPPRONT"

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;

WHERE PARAMCD = "BNPPRONT";

CLASS STUYDID TRT01P AVISITN;

MODEL PCHG=AVISITN*TRT01P/Solution;

RANDOM INTERCEPT / SUBJECT=STUYDID TYPE=UN;

LSMEANS TRT01P*AVISITN/ CL PDIFF;

RUN;

...