1. ADaM implementation
Vertical Limit
Author: Korak Datta & Vishnu Bapunaidu
Novartis Healthcare Pvt. Ltd., Hyderabad, IN
Abstract
And in all their wisdom, they decided to go Vertical.
The SDTM guidance and the closely-following-it’s-footsteps ADaM guidance are driving
us towards a more vertical structure of late. Of course, lesser number of variables equals
lower file size, lesser storage requirement, and hence more optimized working. And yes,
there have been challenges, as is evident from the recent release of Adverse event &
Time-to-event ADaMs, but more or less, we are still trying to build structural
skyscrapers. But the question that we would like to address is “How much vertical is
vertical enough, and what’s the breaking point?”
Example: Assessing DILI using Hy’s Law in Laboratory data.
Expectation: Report the counts of patients meeting criterion similar to the one below
AT >3xULN and ALP <2xULN and bilirubin ≥2xULN
(A finding of ALT elevation, usually substantial, seen concurrently with bilirubin
>2xULN, and that alkaline phosphatase (ALP) should not be substantially elevated)
Problem: How do you create this information in your ADaM dataset?
Go Vertical
Go Horizontal
A third, hybrid direction
And what’s the impact of these decisions in output programming and dataset review
during submission process?
Let’s explore.
Keywords: ADaM, Vertical, Laboratory data, Review, Submission, Output
Introduction
This paper takes a look at a simple problem, and compares three approaches taken to
solve this problem. All these three approaches claim to follow ADaM-way. Let’s see how
they fare against each other
The Objective
A common table used to evaluate the Drug-induced Liver Toxicity events that can be
detected during a clinical trial program using Hy’s Law in Laboratory data.
2. Expectation: Report the counts of patients meeting criterion similar to the one below
AT >3xULN and ALP <2xULN and BILI >2xULN
A finding of aspartate aminotransferase (AST) or alanine aminotransferase (ALT)
elevation, usually substantial, seen concurrently with Bilirubin (BILI) >2xULN, and that
alkaline phosphatase (ALP) should not be substantially elevated
Problem statement
To create datasets ready to be used for creation of the above report, without a lot of
manipulations, also commonly termed as “ANALYSIS READY”.
The common methodology we as programmers use to solve such a problem can be
displayed as below
3. Proposed Solutions:
Solution I
How many parameters do you need to report?
• 9 individual parameters [e.g. ALT >3xULN, >5xULN, >8xULN, >10,
>20, AST >3xULN, >5xULN, >8, etc.]
• 10 combinations [e.g. AST or ALT >3xULN, >5xULN, >8xULN, >10,
>20, AST or ALT >3xULN & TBIL >2xULN, etc.]
Use CRIT flags?
• For the individual parameters, create CRIT flags, populate with Y if a
criteria is met.
Use COMBO flags?
• For each combination, create a COMBO flag populated with Y if a criteria
is met
4. Review & Reporting
• Filter for a parameter (e.g. ALT)
• Keep CRIT1 – CRIT5 and CRIT1FL – CRIT5FL (applicable for this
parameter), in new datasets for each CRIT
• Concatenate PARAMCD & CRITx value, creating PARAM like ALT >
3xULN, ALT >5xULN, etc.
• Proc freq on this PARAM in each dataset where CRITxFL is Y would
give you the count.
• Set them together to get a dataset with all counts.
• Repeat for each parameter.
5. Solution II
Using 3 flags for the Hy’s law category
• Each comparison coming from different row of data.
• In reporting level, the various rows will be combined and the counts will
be created
Solution III:
• AVISIT='HEPATOTOXICITY ENDPOINT‘, AVISITN=9999
• AVAL and AVALC will be blank.
• If the patient is at risk for the considered abnormality at baseline,
CRIT1FL =‘Y’. CRIT1= “Is Patient at risk at baseline?”
• If the patient meets the abnormality criteria, AVALCAT1=1, else 0.
• PARAM = Full text for the abnormality criteria
• PARAMCD = HTOXn_m, where, n is 1-8 (there are 8 categories
described in shell) and m is 1-5 (abnormality within a category)
6. The Good & The Bad
Solution I Solution II Solution III
• Simplest dataset
program
• No new records
• Categories++ :
variables++
• 19 new variables
• Complicated
reporting and
review
• Reporting requires
removal of
duplicates, merge,
transpose, etc.
• Same flag variables
can be used for
multiple categories
• Reusability of the
flags for various
categories increases
reporting
complexity
• Combination
parameters
processed at
reporting level
• 24 new rows per
subject
• AVISIT used to
filter
• Reporting is simple
• All original records
retained in dataset
for traceability
• Dataset program
complicated with
CTC grading, new
parameters, new
records, and lots
more.
Conclusion:
When venturing into newer territory, like ADaM implementation, keeping an OPEN
mind is very important. The existing solution may not be the most OPTIMUM, and we
have to learn to accept that. And most importantly, we should be able to
READ
UNDERSTAND
EXPERIMENT, and
IMPLEMENT
And if it doesn’t work even after all this, well, the old programs must be lying around
somewhere on the server.
Acknowledgement:
We would like to thank Dr. Deepak Yeole at Novartis for sparking the idea for this talk at
ConSPIC 2014. We have to thank Sadanand Deshmukh, Varsha Mahajan and Harish
Kumar at Novartis for their questions that helped us refine the talk. Special thanks go out
to Sarada Gonuguntla for allowing us to implement solution 3. Lastly we would like to
thank the organizers and volunteers at IASCT for their tireless work and for giving us this
forum called ConSPIC. Every year we come back here to learn, share, and learn more.
We look forward to meeting everyone again in Mysore next year.
7. Author information
Author Name: Korak Datta & Vishnu Bapunaidu
Designation : Senior Statistical Analyst
Company : Novartis Healthcare Pvt. Ltd.
Address : Building # 11, Raheja Mindspace
City : Hyderabad, India
Email : korak.datta@novartis.com
vantakula.v_bapunaidu@novartis.com