This document provides instructions for building ADaM basic data structures (BDS) from annotated mock up tables. It discusses how to design mock up tables based on the statistical analysis plan, annotate the tables, create metadata, and then build the ADaM BDS datasets according to the metadata. The process results in analysis-ready ADaM datasets where all numbers in the final report can be calculated with one SAS procedure. An example is provided demonstrating how to annotate a mock up table and extract the necessary variables and parameters to include in the ADaM datasets and metadata.
Overview of ADaM BDS, structure, and purpose, emphasizing analysis-readiness with SAS.
Key components of BDS including subject and treatment variables, and steps to create ADaM BDS from mock tables.
Illustration of baseline summary table for Creatine, including group comparisons and means.
Details on new variables for analysis, such as treatment and observation parameters based on annotations. Parameters and types of variables in ADaM, including indicator and supportive variables.
Benefits of using annotated mock tables for easy metadata creation and clarity for SAS programmers.
The importance of Mock Up tables in structuring analysis-ready ADaM datasets for effective SAS programming.
Contact details of the presenter for further inquiries regarding the presentation.
How to BuildADaM Basic Data
Structure from Mock Up tables
By Kevin Lee
Cytel, Inc.
1
2.
Instruction of BasicData Structure
BDS is the standard domain structure in ADaM.
BDS is designed as one or more records per subject
per analysis parameter per analysis time point.
One of the main purposes of ADaM BDS is analysisready, meaning that all the numbers in the final
report should be calculated with one procedure in
SAS.
The naming convention of BDS is ADxxxxxx.
2
Steps to createADaM BDS from Mock Up tables
Design Mock Up Tables (typically created by
Statistician) according to SAP
Annotate Mock Up Tables
Design Metadata according to Mock Up
Tables
Create ADaM BDS data sets according to
Metadata
4
Mock Up table
Table14.4.1
Summary of table of Creatine at baseline
(Per Protocol Population)
Group 1:
Treatment 1
(N=xxx)
n
Mean
Observed
Value
Creatine
Log of
Creatine
6
n
Group 2:
Placebo
(N=xxx)
Mean
Observed
Value
7.
Annotated Mock Uptable
Table 14.4.1
Summary of table of Creatine at baseline ADLB.AVISIT=‘BASELINE’
(Per Protocol Population) ADLB.PPROTFL=‘Y’
Group 1:
Treatment 1
(N=xxx)
ADLB.TRTAN = 1
n
Creatine
where ADLB.
PARAMCD=‘CREAT’
Mean
Observed
Value
Count(
ADLB.
AVAL)
MEAN(ADL
B.AVAL)
Log of Creatine
where ADLB.
PARAMCD=‘L10CREAT’
7
Group 2:
Placebo
(N=xxx)
ADLB.TRTAN = 2
n
Mean
Observed
Value
Count MEAN(ADLB.
(ADLB AVAL)
.AVAL)
8.
New Variables accordingto annotation
Protocol population variable – PPROTFL
Baseline – AVISIT, AVISITN
Treatment variable – TRTAN, TRTA
Parameter Variable – PARAM, PARAMCD
Observed Mean Value Variable – AVAL
New Parameters according to annotation
Creatine – Its paramcd is “CREAT” and its analysis
values, AVAL, come from LB.LBSTRESN.
Log of Creatine – Its paramcd is “L10CREAT” and
its analysis values, AVAL, come from log of
LB.LBSTRESN.
8
9.
Analysis Dataset Metadata
Classof Documentation
Dataset
Dataset
Name
Dataset
Description
Dataset
Location
Dataset
Structure
Key
variables
of
Dataset
ADLB
Laboratory
analysis
data
ADLB.xpt
one record
per subject
per
parameter
per
analysis
timepoint
USUBJID, BDS
PARAM,
AVISIT
9
ADLB.SAS
10.
Analysis Variable Metadataincluding Analysis
Parameter Value-Level Metadata
Parameter
Identifier
Variable
Name
Variable
Label
Type
Format
Codelist/
Controlle
d Term
Source/
Derivation
Subject Identifier Variables
** ALL **
STUDYID
Study
Identifier
Char
$12.
** ALL **
ADDOMAIN
Analysis
Domain
Char
$8.
** ALL **
USUBJID
Unique
Subject
Identifier
Char
$20.
LB.USUBJID
** ALL **
SUBJID
Subject
Identifier for
the Study
Char
$8.
ADSL.SUBJID
** ALL **
SITEID
Study Site
Identifier
Char
$10.
ADSL.SITEID
10
ADSL.STUDYID
ADLB
Derived
Parameter
Identifier
Variable
Name
Variable Label
Type Form
at
Codelist/C
ontrolled
Term
Source/
Derivation
AnalysisParameter Variables
CREAT
PARAM
Parameter
Description
Char $100.
Creatine(
mg/dL)
LB.LBTESTCD
+ unit
L10CREAT PARAM
Parameter
Description
Char $100.
Log of
Creatine(
mg/dL)
LB.LBTESTCD
+ unit
** ALL **
Parameter Code Char $8.
CREAT
LB.LBTESTCD
L10CREAT
L10CREAT PARAMTYP
Parameter Type
Char $8.
DERIVED
CREAT
AVAL
Analysis Value
Num 8.
LB.LBSTRESN
L10CREAT AVAL
Analysis Value
Num 8.
Log10(LB.LBST
RESN)
PARAMCD
12
Other Possible Variables
AnalysisParameter Variables - BASE, CHG
Analysis Descriptor variables – DTYPE
Categorical variables - CRIT1 and CRIT1FL
Indicator variables - ANL1FL
Sample codes using ADaM data set
proc sql;
**** The Count for and Mean value for Creatine and log of Creatine for
protocol population at Baseline;
create table line1_1 as
select trtan, paramcd, count(aval) as count, mean(aval) as mean
from adlb
where paramcd in (‘CREAT’, ‘L10CREAT’) and avisit = ‘BASELINE’
and pprotfl = ‘Y’ and aval is not missing
group by trtan, paramcd;
quit;
14
15.
Advantages using AnnotatedMock Up tables
Easy to create the metadata
Analysis Dataset metadata
Analysis Variable metadata
Analysis Parameter Value-level metadata
Analysis Results metadata
Easy to explain
Easy for SAS programmers to follow
More visual
More accurate number of ADaM data sets
15
16.
Conclusion
ADaM is structuredas analysis-ready. In order to build
analysis-ready ADaM data sets, SAS programmers need to
start from analysis, which are Mock Up tables. From Mock
Up tables, SAS programmers figure out what procedures
could be used for the analysis. Based on the procedure
statements and analyses, SAS programmers annotate the
Mock Up tables. The annotations on the Mock Up tables will
help SAS programmers to find out what variables are
needed in the analyses and eventually what variables and
parameters should be created in ADaM data sets. SAS
programmers now can create Metadata according to the
annotations. According to Metadata, SAS programmers can
create ADaM data sets from SDTM data sets. From ADaM
data sets, SAS programmers will be able to produce all the
results in the Mock Up tables using one proc procedure.
16