Questions:
- 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.
- Are these Real World Evidence (RWE) studies only or clinical trials?
- Should both endpoints be shown in one efficacy dataset or two? I will be showing 3 datasets.
- What is a good surface area to use for the child subject?
- Should i use Male and 6 years? please advise.
In this section, example analysis datasets are shown for the following endpoints:
- Percent change in ejection fraction for a period of 1 year
- Decline in ejection fraction for a period of 1 year, grouped by a decline greater than 10.0%
- Percent change in NTproBNP for a period of 1 year
Source Data
The SDTM examples used as the source data are from Section 2.1, Basic CMR Tests - Systolic Function. The CV dataset contains 16 rows, 1-8 for visit 1 and 9-16 for visit 6. Of these rows, the ones where CVTESTCD = "LVEF_C" and "RVEF_C" were used for analysis. In the LB dataset, the records where LBTESTCD = "BNPPRONT" were used to compute the percentage change over time, then added as a potential covariate in each row for the last analysis. The SDTM datasets were merged with a Subject Level Analysis Dataset (ADSL) dataset to record the demographics, treatments and other appropriate variables for analysis.
ADaM Datasets
The tables below show the example analysis datasets and unique parameters for this endpoint. In this example, only some of the required variables, plus important stratification variables from ADSL, are shown for illustrative purposes. For example, 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.
Analysis Datasets
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.xpt | USUBJID | ADaMIG |
ADCVNTP | Cardiac Ejection Fraction and NTproBNP Analysis Dataset | BASIC DATA STRUCTURE | One record per subject per analysis visit per parameter. | adcvntp.xpt | USUBJID, AVISITN, PARAMN | Analysis Dataset |
ADSL Analysis Dataset
The ADSL includes demographics, treatment groups, study dates and stratification variables. For this example, the ADSL is not shown other than as a source for standard ADaM variables. See Section 2.3.1 of the ADaMIG v1.3 for additional information.
ADCVNTP Analysis Dataset
The ADCVNTP 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 be conducted 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.
Parameter Value List - ADCVNTP [ADCVNTP]
Dataset | Variable | Where | Type | Origin | Derivation/Comment |
---|---|---|---|---|---|
ADCVNTP | AVAL | PARAMCD = "LVEFC" | Num | Predecessor | Set to CV.CVSTRESN where CV.CVTESTCD = "LVEF_C" |
ADCVNTP | AVAL | PARAMCD = "RVEFC" | Num | Predecessor | Set to CV.CVSTRESN where CV.CVTESTCD = "RVEF_C" |
ADCVNTP | AVAL | PARAMCD = "BNPPRONT" | Num | Predecessor | Set to LB.LBSTRESN where LB.LBTESTCD = "BNPPRONT" |
ADCVNTP Variable Metadata
Variable Name | Variable Label | Type | Codelist/Controlled Terms/Format | Source | Derivation/Comment |
---|---|---|---|---|---|
STUDYID | Study Identifier | Char | CV.STUDYID | ||
USUBJID | Unique Subject Identifier | Char | CV.USUBJID | Select for records with RE data. | |
ASEQ | Analysis Sequence Number | Num | CV.CVSEQ | Number records 1 to n after sorting by keys. | |
BSABASE | Body Surface Area (m2) at Baseline | Num | ADSL.BSABASE | Compute in ADSL where VS.VSTESTCD = "BSA". | |
PARAM | Parameter | Char | 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. | |
PARAMCD | Parameter Code | Char | 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. | |
PARAMN | Parameter (N) | Num | Number PARAMCD as follows: LVEFC = "1" RVEFC = "2" BNPPRONT = "3" | ||
AVAL | Analysis Value | Num | See Parameter Value List | ||
AVISIT | Analysis Visit | Char | If CV.VISIT = "VISIT 1" then AVISIT = "Visit 1 (Baseline)" Else if CV.VISIT = "VISIT 6" then AVISIT = "Visit 6 (1 Year)" | ||
AVISITN | Analysis Visit (N) | Num | Set to value of CV.VISITNUM or LB.VISITNUM | ||
VISIT | Visit | Num | CV.VISIT LB.VISIT | ||
ADT | Analysis Date | Num | date9. | Date portion of CV.CVDTC or LB.LBDTC converted to numeric and displayed in a format such as date9. | |
ABLFL | Baseline Record Flag | Char | Y | If CV.VISIT = 1 then ABLFL = "Y" | |
BASE | Baseline Value | Num | 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) | ||
CHG | Change from Baseline | Num | Compute CHG = AVAL - BASE for that record. Only compute for post-baseline records. | ||
PCHG | Percent Change from Baseline | Num | Compute PCHG = (CHG / BASE) * 100. Only compute for post-baseline records. | ||
CHGCAT1 | Change from Baseline Category 1 | Char | 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) | |
CHGCAT2 | Change from Baseline Category 2 | Chart | 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.TRT01P | For 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 | |
AGE | Age | Num | ADSL.AGE | ||
AGEU | Age Units | Char | (AGEU) | ADSL.AGEU | |
SEX | Sex | Char | (SEX) | ADSL.SEX | |
SRCDOM | Source Data | Char | CV; LB | Set to the SDTM domain name that relates to the analysis value. | |
SRCSEQ | Source Sequence Number | Num | CV.CVSEQ LB.LBSEQ | Set to the SDTM domain sequence number that relates to the analysis value. |
This example dataset shows the findings and additional analysis variables associated with:
- Left Ventricular Ejection Fraction, Calculated (%)
- Right Ventricular Ejection Fraction, Calculated (%)
- N-Terminal ProB-type Natriuretic Peptide (pg/mL)
Dataset Wrapper Debug Message
Please add a row column to your dataset.
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 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:
Dataset | Value | Where | Variable | Variable Label |
---|---|---|---|---|
ADCVNTP | AVAL | PARAMCD = "BNPPRONT" | BNPPRONT | N-Terminal ProB-type Natriuretic Peptide (IU/L) |
ADCVNTP | CHG | PARAMCD = "BNPPRONT" | BNPCHG | N-Term ProB-type N Pep Change Category |
ADCVEF Analysis Dataset
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.
ADCVMRI Analysis Dataset
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.
Example Analysis Results Metadata (ARM) Tables
This is an example ARM table for the selected endpoint. Other endpoints can be represented in the same way describing the variables and procedures used. For more details on ARM, see the ADaMIG and the ARM implementation in Define-XML (available at https://www.cdisc.org/standards/foundational/define-xml/).
Display | Table 14.xx.xx Percent change in NTproBNP over a period of time (yearly) |
---|---|
Analysis Result | Comparison of Percent Change of NTproBNP for the Treatment Groups Over Time (quarterly or yearly) |
Analysis Variables(s) | PCHG |
Analysis Reason | Primary efficacy endpoint as prespecified in the SAP |
Analysis Purpose | Primary 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 Time |
---|---|
Analysis Result | Comparison of Percent Change of Ejection Fraction for the Treatment Groups Over Time (quarterly or yearly) |
Analysis Variables(s) | PCHG |
Analysis Reason | Primary efficacy endpoint as prespecified in the SAP |
Analysis Purpose | Primary 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; |