Vous êtes sur la page 1sur 29

Demystify ADaM Specification Creation with a

Case Study Approach

Abhinav Jain
1

What are we discussing today?

Why ADaM?
What is ADaM Implementation?
Where to Start?
How to review study documentation with help of a sample study?
What is ADaM Metadata?
How to create ADaM Metadata with help of a case-study?

Why ADaM?
CDISC - ADaM Data Standards are guidelines for creation of analysis datasets that will be
used to generate statistical analysis for submissions.

In summary, fundamental principles for ADaM are:


Provide clear documentation of the contents, source of analysis datasets, analysis
results (statistical methods, transformations, assumptions, derivations, imputations)
Provide a roadmap of how metadata, programs and documentation translate the
Statistical Analysis Plan (SAP) to the statistical results
Analysis-ready or one-PROC away datasets
Traceability between the analysis data and source data
XML based metadata for future tools development

What is ADaM Implementation?


To perform ADaM implementation Programming teams has to perform a set of activities.

Create ADaM Metadata/Specifications


Programming and Quality check of ADaM datasets
Program analysis tables, listings and figures
Create Define.xml

Where to start?
To start ADaM implementation, first step is to review following documents:

Protocol
CRFs (Prefer SDTM Annotated CRF)
Statistical analysis plan (SAP)
Mock-up shells
SDTM mapping instructions
SDTM datasets

Document Review : What to look for?

Study design
Safety and Efficacy objectives
Schedule of assessment
Population definitions
Analysis covariates
Visit windows
Definition of baseline values
Handling of missing values (imputation rules, missing AE data, etc.)
Handling of multiple records per visit
Variable computations and derivations, including categorical variables

Protocol Example and Sample SDTM

USUBJID

EGSEQ

EGTESTCD

VISIT

VISITNUM

EGDTC

ABC-1001

RR

Screening

100

ABC-1001

QT

Screening

ABC-1001

RR

ABC-1001

ABC-1001

EGSTAT

EGSTRESN

EGSTRESU

2011-05-04

0.5

Sec

100

2011-05-04

328

ms

Week 1

101

2011-05-11

0.69

Sec

QT

Week 1

101

2011-05-11

366

ms

RR

Week 2

102

2011-05-17

0.6

Sec

ABC-1001

QT

Week 2

102

2011-05-17

332

ms

ABC-1001

RR

Week 3

103

Not Done

Sec

ABC-1001

QT

Week 3

103

Not Done

ms

ABC-1001

RR

Week 4

104

2011-05-30

0.68

Sec

ABC-1001

10

QT

Week 4

104

2011-05-30

527.03

ms
7

SAP Example

Mock-up Shell Example 1

Mock-up Shell Example 2

10

Cases from sample study


1. Derive Baseline values taking average value
from Pre-dose readings and create Baseline
record

AVISITN = BASELINE, DTYPE = AVERAGE,


ABLFL = Y, AVAL, BASE

2. Implement LOCF for Post-Dose records

AVISITN, DTYPE = LOCF, AVAL

3. Derive two new parameters

PARAMTYP = Derived, PARAM, PARAMCD,


PARAMN

4. Derive Change from Baseline and Identify


records for By-time point analysis

CHG, ABLFL = Y, ANL01FL = Y

5. Flag abnormal category values

CRITy, CRITyFL

11

ADaM: Basic Data Structure (BDS)


Variable Groups

ADaM Variables

Subject Identifiers

STUDYID, USUBJID, SUBJID, SITEID

ADSL variables

AGE, RACE, SEX, RANDDT, TRTSDT, TRTEDT

ADaM Treatment variables

TRTP, TRTPN, TRTA, TRTAN

ADaM Timing variables

ADT, ADY, AVISITN, AVISIT

ADaM Parameter identifiers

PARAMCD, PARAMN, PARAM, PARAMTYP, AVAL,


AVALC, BASE, CHG, PCHG, SHIFTy, SHIFTyN,

ADaM Analysis Descriptor

DTYPE

ADaM Indicator variables

ABLFL, ANLyFL, CRITyFL

ADaM Visit Windowing

AWRANGE, AWTARGET, AWTDIFF

SDTM Traceability variables

EGSEQ, VISIT, VISITNUM

12

ADaM Metadata
ADaM Metadata facilitates the communication of underlying assumptions, statistical
methods, transformations, derivations and imputations performed in the analysis of a
clinical trial data.
Enables values and results to be easily replicated.
Establishes links between description of the analysis (Protocols data analysis section,
SAP), the analysis results, the data used in the analysis, and the SDTM domains.

Components of ADaM Metadata:


Analysis Dataset metadata
Analysis Variable metadata
Analysis Parameter Value Level metadata
Analysis Results Metadata

13

Analysis Dataset metadata


Dataset Name
filename of the
dataset.

ADEG

Dataset
Description
short
summary of
contents of
the dataset

ECG analysis
data

Dataset Location
where the dataset can be
found

Study ABC/Data/
ADaM/ADEG.XPT

Dataset Structure
the level of detail in the
dataset

Key Variables of Class of


Dataset
Dataset
variable names
that parallel the
structure

USUBJID,
One record per subject per PARAMCD,
parameter per analysis
AVISITN,
visit
EGSEQ

general
class of the
dataset
using
controlled
terminology

BDS

Documentation
links or
references to
documentation re
how the dataset
was created

SAP Section 7.8.3


ADEG.SAS

14

Parameter Level Metadata ADSL Variables


Codelist /
Controlled
Terms

Dataset Name

Parameter Variable
Identifier Name

Variable Label

Variable Type

Display
Format

file name of the


analysis dataset

PARAMCD or
*ALL* or
name
*DEFAULT*

description

type

display
valid values or
where the variable came from in the source
informa-tion codes and decodes data or how the variable was derived

Study Identifier
Study Site Identifier
Unique Subject
Identifier
Age
Sex
Race

text
text

$12
$3

ADSL.STUDYID
ADSL.SITEID

text
integer
text
text

$11
$1
$50

SEX.
RACE.

ADSL.USUBJID
ADSL.AGE
ADSL.SEX
ADSL.RACE

Source / Derivation

ADEG
ADEG

*ALL*
*ALL*

STUDYID
SITEID

ADEG
ADEG
ADEG
ADEG

*ALL*
*ALL*
*ALL*
*ALL*

USUBJID
AGE
SEX
RACE

*ALL*

ITTFL

Intent-to-Treat
Population Flag

text

$1

Y, N

ADSL.ITTFL

*ALL*

SAFFL

Safety Population Flag

text

$1

Y., N

ADSL.SAFFL

*ALL*

TRTSDT

Date of First Exposure to


integer
Treatment

yymmdd10.

ADSL.TRTSDT

*ALL*

TRTEDT

Date of Last Exposure to


integer
Treatment

yymmdd10.

ADSL.TRTEDT

*ALL*

TRTP

Planned Treatment

$20

*ALL*

TRTPN

Planned Treatment (N) integer

ADEG

ADEG

ADEG

ADEG
ADEG

ADEG

text

Arm A, Arm B,
Arm C
1 = Arm A,
1 2 = Arm B,
3 = Arm C

ADSL.TRTP
ADSL.TRTPN

15

Parameter Level Metadata Traceability Variables


Dataset
Name

Parameter
Variable Name
Identifier

Variable Label

Variable
Type

Display
Format

ADEG
ADEG
ADEG

*ALL*
*ALL*
*ALL*

Sequence Number
Visit Number
Visit Name

integer
integer
text

4
4
$19

EGSEQ
VISITNUM
VISIT

Codelist / Controlled
Terms

Source / Derivation

EG.EGSEQ from the records in the SDTM


EG.
EG.VISITNUM
EG.VISIT

16

Parameter Level Metadata Timing Variables


Dataset
Name

ADEG

ADEG

Parameter
Variable Name
Identifier

*ALL*

*ALL*

ADT

ADY

Variable Label

Analysis Date

Variable
Type

integer

Analysis Relative Day integer

Display
Format

Codelist / Controlled
Terms

Source / Derivation

yymmdd10.

Convert date portion of EG.EGDTC from


character to a numeric date variable and
format using yymmdd10. date format.

If ADEG.TRTSDT less than or equal to


ADEG.ADT then ADY=ADEG.ADT
ADEG.TRTSDT+1
Else ADY=ADEG.ADT - ADEG.TRTSDT
If ADEG.SAFFL='Y' then AVISIT is the
name of the analysis visit; if
ADEG.SAFFL=blank then AVISIT=blank.
Create a row for each parameter with
AVISIT = 'Baseline'.
Refer to Section 5.2 of the SAP for a
detailed description of how Baseline will
be derived and derivation of AVAL.

ADEG

*ALL*

AVISIT

Analysis Visit

text

$19

ADEG

*ALL*

AVISITN

Analysis Visit (N)

integer

Baseline, Week 1,
Week 2, Week 3,
Week 4, Week 5,
Week 6, Week 7,
Week 8
1= Baseline, 2 = Week 1,
3 = Week 2, 4 = Week 3,
5 = Week 4, 6 = Week 5, if ADEG.SAFFL='Y' AVISITN=numeric
7 = Week 6, 8 = Week 7, code for AVISIT, blank if
9 = Week 8
ADEG.SAFFL=blank

17

What is Parameter Identifier?


For each derived variable and row in BDS dataset it is critical to understand how it was created, and
whether that derivation applies to all PARAMCD values in the dataset, or to most of them, or to a few
specific PARAMCD values.

Value of metadata element PARAMETER IDENTIFIER provides the information on which


derivations if it is applicable on All the PARAMCD values, or few specific PARAMCD values.
Parameter Identifier

Description

*ALL*

The metadata for that variable is the same for all values of
PARAM/PARAMCD in the analysis dataset.

*DEFAULT*

The specified metadata for that variable should be considered the


metadata for all values of PARAM/PARAMCD in the analysis dataset
unless otherwise specified.

Particular PARAMCD

The specified metadata for that variable should be considered the


metadata applicable to the particular PARAMCD, overriding the
specified *DEFAULT* metadata, if any.

18

Parameter Level Metadata Parameter Variables


Dataset
Name

Parameter
Identifier

Variable
Name

Variable Label

Variable Display
Type
Format

ADEG

PARAMCD

PARAMCD

Parameter Code

text

$8

ADEG

*ALL*

PARAMN

Parameter Code
Numeric

integer

RR, QT, QTCF,


QTCB
RR' = 1 ,'QT' = 2,
'QTCF' = 3,
'QTCB' = 4

ADEG

*DEFAULT* PARAMTYP Parameter

text

Null

ADEG

QTCF

PARAMTYP Parameter

text

Derived

ADEG

QTCB

PARAMTYP Parameter

text

ADEG

*DEFAULT* AVAL

Analysis Value

float

8.1

ADEG

QTCF

AVAL

Analysis Value

float

8.1

ADEG

QTCB

AVAL

Analysis Value

float

8.1

Derived
AVAL = EG.EGSTRESN or an imputed/calculated value.
For AVISIT = BASELINE apply AVERAGE to all pre-dose
reading to calculate the analysis value.
if EG.EGSTRESN is missing, apply the LOCF algorithm, i.e.
set AVAL equal to the value for the previous scheduled
post-baseline time point (AVISIT). If the previous
timepoint is baseline, leave AVAL missing
Calculate analysis value at each visit using ADEG.AVAL for
ADEG.PARAMCD in ('QT', 'RR') derive AVAL =
QT value/RR value**0.33
Use AVAL to apply AVERAGE and LOCF.
Calculate analysis value at each visit using ADEG.AVAL for
ADEG.PARAMCD in ('QT', 'RR') derive AVAL =
QT value/RR value **0.5
Use AVAL to apply AVERAGE and LOCF.

ADEG

*ALL*

BASE

Baseline Value

float

8.1

BASE=ADEG.AVAL where ADEG.ABLFL=Y

*ALL*

CHG

Change from
Baseline

float

8.1

CHG=ADEG.AVAL - ADEG.BASE for post-baseline visits

ADEG

Codelist /
Source / Derivation
Controlled Terms

One-to-one correspondence with ADEG.PARAM

One-to-one correspondence with ADEG.PARAMCD

19

Parameter Level Metadata Descriptor Variables


Dataset
Name

Parameter
Identifier

Variable
Name

Variable Label

Variable Display
Type
Format

Codelist /
Source / Derivation
Controlled Terms

ADEG

*ALL*

DTYPE

Derivation Type

text

$8

LOCF,
AVERAGE

ADEG

*ALL*

ABLFL

Baseline Record
Flag

text

$1

ADEG

*ALL*

ANL01FL

Analysis Record
Flag 01

text

$1

DTYPE = 'AVERAGE' for AVISIT = 'BASELINE' case when


average of Pre-dose readings is derived.
DTYPE = LOCF if EG.EGSTRESN is missing and when the
value of ADEG.AVAL is populated using Last Observation
Carried Forward method.
Blank Otherwise.
Y if record contains the baseline value, i.e., if
AVISIT='BASELINE'; blank otherwise.
Populate with Y to identify the record selected to be
analysed for the specific value of AVISIT (Scheduled Time
points for ECG as Schedule of events) within the specified
subject.
For Pre-Dose reading flag only record with AVISIT =
'Baseline'.

20

Parameter Level Metadata Indicator Variables


Codelist /
Variable Display
Controlled
Type
Format
Terms

Dataset
Name

Parameter
Identifier

Variable
Name

ADEG

QTCF

CRIT1

ADEG

QTCB

CRIT1

ADEG

*ALL*

CRIT1FL

Analysis
Criterion 1
text
Criterion 1 Evaluation
Result Flag
text

ADEG

QTCF

CRIT2

Analysis Criterion 2

text

$50

ADEG

QTCB

CRIT2

$50

ADEG

*ALL*

CRIT2FL

Analysis Criterion 2 text


Criterion 2 Evaluation
Result Flag
text

ADEG

QTCF

CRIT3

Analysis Criterion 3

text

$50

ADEG

QTCB

CRIT3

$50

ADEG

*ALL*

CRIT3FL

Analysis Criterion 3 text


Criterion 3 Evaluation
Result Flag
text

ADEG

QTCF

CRIT4

Analysis Criterion 4

text

$50

ADEG

QTCB

CRIT4

$50

ADEG

*ALL*

CRIT4FL

Analysis Criterion 4 text


Criterion 4 Evaluation
Result Flag
text

ADEG

QTCF

CRIT5

Analysis Criterion 5

text

$50

ADEG

QTCB

CRIT5

$50

ADEG

*ALL*

CRIT5FL

Analysis Criterion 5
text
Criterion 5 Evaluation
Result Flag
text

Variable Label

Analysis
Criterion 1

text

Source / Derivation

$50

Populated with QTcF > 450 msec when ADEG.PARAMCD =


QTCF and ADEG.AVAL>450

$50

Populated with QTcB > 450 msec when ADEG.PARAMCD =


QTCB and ADEG.AVAL>450

$1

$1

$1

$1

$1

Set to Y when ADEG.CRIT1 is populated


Populated with QTcF > 480 msec when ADEG.PARAMCD =
QTCF and ADEG.AVAL>480
Populated with QTcB > 480 msec when ADEG.PARAMCD =
QTCB and ADEG.AVAL>480

Set to Y when ADEG.CRIT2 is populated


Populated with QTcF > 500 msec when ADEG.PARAMCD =
QTCF and ADEG.AVAL>500
Populated with QTcB > 500 msec when ADEG.PARAMCD =
QTCB and ADEG.AVAL>500

Set to Y when ADEG.CRIT3 is populated


Populated with QTcF Increase from Baseline > 30 msec when
ADEG.PARAMCD = QTCF and ADEG.CHG>30
Populated with QTcB Increase from Baseline > 30 msec when
ADEG.PARAMCD = QTCB and ADEG.CHG>30

Set to Y when ADEG.CRIT4 is populated


Populated with QTcF Increase from Baseline > 50 msec when
ADEG.PARAMCD = QTCF and ADEG.CHG>50
Populated with QTcB Increase from Baseline > 50 msec when
ADEG.PARAMCD = QTCB and ADEG.CHG>50

Set to Y when ADEG.CRIT5 is populated

21

ADEG ADaM dataset


SUBJID AVISIT

PARAM

PARAMCD PARAMTYP AVAL

BASE CHG DTYPE

ABLFL

ANL01FL

1001

Screening RR (sec)

RR

0.5

0.59

1001

Week 1

RR (sec)

RR

0.69

0.59

1001

Baseline

RR (sec)

RR

0.59

0.59

1001

Week 2

RR (sec)

RR

0.6

0.59

0.01

1001

Week 3

RR (sec)

RR

0.6

0.59

0.01 LOCF

1001

Week 4

RR (sec)

RR

0.68

0.59

0.09

..

..

. .. . ..

..

AVERAGE

1001

Screening QTcF (msec)

QTCF

DERIVED

413

412.5

1001

Week 1

QTcF (msec)

QTCF

DERIVED

412

412.5

1001

Baseline

QTcF (msec)

QTCF

DERIVED

412.5

412.5

1001

Week 2

QTcF (msec)

QTCF

DERIVED

394

412.5

-18.5

1001

Week 3

QTcF (msec)

QTCF

DERIVED

394

412.5

-18.5 LOCF

1001

Week 4

QTcF (msec)

QTCF

DERIVED

465

412.5

AVERAGE

52.5

CRIT1

CRIT1FL

..

QTcF > 450 msec Y

22

Have we covered all the cases?


1. Derive Baseline values taking average value from Pre-dose
readings and create Baseline record.
Variables: AVISIT = BASELINE,
DTYPE = AVERAGE, ABLFL = Y, AVAL, BASE
2. Implement LOCF for Post-Dose records
Variables: AVISITN, DTYPE = LOCF, AVAL

3. Derive two new parameters


Variables: PARAMTYP = Derived, PARAM, PARAMCD,
PARAMN

4. Derive Change from Baseline and Identify records for Bytime point analysis
Variables: CHG, ABLFL = Y, ANL01FL = Y

5. Flag abnormal category values


Variables: CRITy, CRITyFL

23

Analysis Result Metadata


Table 14.3.4.1 - Post-baseline and Change from Baseline of ECG (Safety population)
Metadata Field

Metadata

DISPLAY IDENTIFIER

Table 14.3.4.1

DISPLAY NAME

Post-baseline and Change from Baseline of ECG (Safety population)

RESULT IDENTIFIER

Visit wise Analysis of all ECG parameters

PARAM

RR (sec), QT (msec), QTcF (msec), QTcB (msec)

PARAMCD

RR, QT, QTCF, QTCB

ANALYSIS VARIABLE

AVAL, CHG

REASON

Safety Analysis as specified in SAP section 7 (7.8.3)

DATASET

ADEG

SELECTION CRITERIA

SAFFL=Y and PARAMCD in (RR, QT, QTCF, QTCB) and ANL01FL=Y

DOCUMENTATION

Analysis description specified in SAP section 5.2, 5.4 and 7.8.3

PROGRAMMING
STATEMENTS

For each TRTAN compute the statistics using ;


PROC UNIVARIATE DATA=ADEG;
BY AVISITN AVISIT PARAMCD;
VAR AVAL CHG;
RUN;

24

Analysis Result Metadata


Table 14.3.4.2- Summary of Post-baseline Abnormal QTc (Safety population)
Metadata Field

Metadata

DISPLAY IDENTIFIER

Table 14.3.4.2

DISPLAY NAME

Summary of Post-baseline Abnormal QTc (Safety population)

RESULT IDENTIFIER

Summary analysis of Abnormal ECG parameters (QTCB and QTCF)

PARAM

QTcF (msec), QTcB (msec)

PARAMCD

QTCF, QTCB

ANALYSIS VARIABLE

CRIT1FL, CRIT2FL, CRIT3FL, CRIT4FL, CRIT5FL

REASON

Safety Analysis as specified in SAP 7.8 (7.8.3)

DATASET

ADEG

SELECTION CRITERIA

SAFFL=Y and PARAMCD in (QTCF, QTCB) and CRIT1FL=Y


SAFFL=Y and PARAMCD in (QTCF, QTCB) and CRIT2FL=Y
SAFFL=Y and PARAMCD in (QTCF, QTCB) and CRIT3FL=Y
SAFFL=Y and PARAMCD in (QTCF, QTCB) and CRIT4FL=Y
SAFFL=Y and PARAMCD in (QTCF, QTCB) and CRIT5FL=Y
Analysis description specified in SAP section 5.2, 5.4 and 7.8.3

DOCUMENTATION
PROGRAMMING
STATEMENTS

Compute the following for CRIT1FL to CRIT5FL;


PROC FREQ DATA=ADEG;
TABLES CRIT1FL * TRTAN;
BY PARAMCD;
RUN;
25

Take away

What is ADaM Metadata?


How to document ADaM Metadata?
What are ADaM BDS Variable groups?
How to review the study documentation to create ADaM specification?
How ADaM standards are a roadmap of how metadata, programs and
documentation translate the Statistical Analysis Plan (SAP) to the statistical results

26

Food for thought - Cases I have not covered?


?
?
?
?
?

How to handle Visit Windowing


How to deal with analysis results when the domain has both character only results
How to implement SDTM Traceability with SRC variables
How to deal with cases when there are multiple reading at same visit or having
multiple time point readings within single visit.
How to create ADaM variables for shift tables

27

References
ADaM version 2.1 and the ADaMig 1.0 can be downloaded from http://www.cdisc.org.

28

THANK YOU
29

Vous aimerez peut-être aussi