Presentation is loading. Please wait.

Presentation is loading. Please wait.

Some Considerations When Designing ADaM Datasets Italian CDISC UN Day - Milan 27th October 2017 Antonio Valenti Principal Statistical Programmer CROS.

Similar presentations


Presentation on theme: "Some Considerations When Designing ADaM Datasets Italian CDISC UN Day - Milan 27th October 2017 Antonio Valenti Principal Statistical Programmer CROS."— Presentation transcript:

1 Some Considerations When Designing ADaM Datasets Italian CDISC UN Day - Milan 27th October Antonio Valenti Principal Statistical Programmer CROS NT - Verona

2 Content Disclaimer All content included in this presentation is for informational purposes only. These are from personal notes taken during the attendance of the webinar in reference. Please refer to the original presentation and to the latest published standards documents for the most authoritative implementation information.

3 Reference CDISC Members Only Mini-Training Series
Some Considerations When Designing ADaM Datasets Nate Freimark, Vice President -Clinical Programming and Date Standards, The Griesser Group CDISC Webinar 09MAR2017

4 Overview General concepts ADSL related tips &FAQ BDS related tips &FAQ
OCCDS related tips &FAQ

5 General #1 Variables selection
Just because a variable is defined in the ADaMIG does not mean it has to be created in an/all ADaM datasets: SITEID/SUBJID in all BDS datasets TM and DTM variables when time is missing Numeric variables not used in analysis (i.e. ARMN) Null variables (i.e. AVISIT/AVISITN) Variables from ADSL can be copied to other ADaM datasets without renaming to a new variable (i.e. AX01SDT in BDS = ADSL.TR01SDT) Variables coming from SDTM should be copied without changes, but bad SDTM should not necessarily translate to bad ADaM (i.e. TPT containing VISIT)

6 General #2 Date/time variables
Respect suffix conventions (DT, TM, DTM, DTF, TMF, DY) Date/time variables should have associated study day variables. When date/time imputation are needed it is a good idea to keep the SDTM variable that contains the partial value Creating the DT, TM, and DTM triplicate just because it can be done is not necessary For a given SDTM DTC variable, if only hh and mm are collected, and ss are imputed in *DTM as 00, then it is not necessary to set *TMF to “S”. However if collected but are missing should be qualified in *TMF.

7 General #2 (example) Date/time Example 1 Date/time Example 2 SDTM ADAM
--DTC T12:00 T10:30 --DT --TM --DY 12:00:00 1 10:30:00 16 --DTC T12:00 T10:31:50 --DT --TM --TMF --DY 12:00:00 S 1 10:31:50 16

8 General #3 Visit/Time Point Variables
AVISIT/AVISITN/ATPT/ATPN should be the timing variables that are in datasets –VISIT/VISITNUM/--TPT/--TPTNUM should also be kept if the values/algorithms differ VISIT/VISITNUM have to come from SDTM and cannot be derived/changed in ADaM but bad SDTM should not necessarily translate to bad ADaM (TPT containing VISIT values) AVISIT –last value within a window is not an ENDPOINT value unless you are outputting an extra record –if true then DTYPE has to be present. If not then ANLzzFLshould be used AVISIT –RESCREEN/UNSCHEDULED are not generally valid AVISIT values unless they are summarized on the table or defined in the SAP –if not they should be null (or windowed)

9 General #3 (example) Visit/time point bad implementation
Visit/time point good implementation uses XXSTRESU value AVISIT ATPT PARAM Day 1 – 12 h Heart rate (bpm) – Day 1 – 12 h Baseline DIASTOLIC BLOOD PRESSURE AVISIT ATPT PARAM Day 1 12 h Heart rate (bpm) Baseline Diastolic Blood Pressure (mmHg)*

10 ADSL #1 Population Flags
ITTFL do not created it, if is same as RANDFL and not defined in protocol/SAP RANDFL – why is it tied to being dosed? DISCFL this appears to be the inverse of COMPLFL (only one) NOMEDFL what is the purpose of a combination flag? (use the available flags) Some population flags in the efficacy analysis are too complicated. Can we generate these population flags by referring to each other? Circular logic is always a concern

11 ADSL #2 Treatment Variables ARM/ARMCD are not analysis variables
do not have to be included in every dataset – Use (TRTSEQP) There is no variable ARMGR1 in ADaM ARMN is not necessary ARM is required per the ADaMIG v1.1 for traceability, ACTARM is perm TRT01A –do you check whether Actual differs from Planned or do you always create? Check order TRT01P vs TRT02P (TR01SDT/TR01EDT vs TR02SDT/TR02EDT). Check also TRTSEQP (order is reversed?)

12 ADSL #3 Treatment duration
Duration AEXDURN –I don’t see why this is prefixed with A/Analysis –EXDURN is sufficient xxxDUR– DUR in SDTM is ISO8601. Use ADaMIG v1.1 defined variables and xxxDURC (if needed) ADSL –do you have any subjects with missing disposition records? it should be null in that case and not “discontinued” –make sure metadata covers all scenarios

13 ADSL #4 Date Variables APxxSDT/APxxEDT are paired variables –both or neither should be present There should not be more APxx variables then there are TRTxxP ADSL.TRTSDT/TRTEDT –required ADSL.TR01SDT/TR01EDT –not needed in a single period trial TRTSDT/TRTEDT based on RFX not RF (start of trt not the study) LSTVST (based on Last SV record in spec)? SV has no “order” unless VISITNUM is in the correct order VISITNUM (i.e. 99 for Unscheduled) Is there a reason you format dates as DATE9 instead of YYMMDD10? No right or wrong but you should be consistent across datasets

14 ADSL #5 Other Variables SEX per SDTM is M/F –you cannot change any SDTM variable value in ADaM DEATHFL –why not use SDTM variable DTHFL? DSTERM/DSDECOD may be one of several DS records –renaming to useful concept is helpful HEIGHT should be HEIGHTBL or BLHEIGHT to indicate it is a baseline value (similar to label) Baseline variables should start or end with BL and not just B AGEU is required

15 BDS #1 Population flags all BDS have to have at least one population flag variable –however not all ADSL population variables have to included in every ADaM dataset Can we add free text to the label of ANLzzFL or any variable with y, zz, xx? e.g: added text “Analysis Flag zz–Last for Dup. Records” Yes for y and zz but not for xx ADxx-xxxxxFL–values of 1-4 are not allowed for an FL variable ADLB -no ANLzzFL variables are needed for analysis? (this is possible if there are no multiple nominal visit values and unscheduled values are not summarized) Is –BLFL=Y always the value where ABLFL=Y?

16 BDS #2 Incorrect/Iffy Variables/Values
AVALU is not a valid ADaM variable –if unit is relevant it should be included in PARAM if not then just keep ORRESU/STRESU ADxx-AVALC is not left-justified for numeric values (nor does AVALC have to be populated for numeric parameters) ADDV -AVALC – are these values actually analyzed/summarized? Is there a protocol deviation summary –why was this ADaM created? Shouldn’t ADDV be OCCDS in any case? ADPE -Summary is by AVISIT –why are ABLFL/BASEC needed?

17 BDS #3 PARAM/PARAMCD/LBCAT
ADLB -LBTEST/LBTESTCD generally are not sufficient for PARAM/PARAMCD in labs since there are the same –TEST in CHEMISTRY and URINALYSISPARAM/PARAMCD have to uniquely identify -using PARCAT1 is not allowed –GLUC cannot have two different PARCAT1 values Is it your standard or the sponsor’s standard to capture LBCAT in PARAM instead of only the ones that are common in more than one LBCAT? Any value added in capturing on all PARAMCD? Only add U to the ones that are in more than one LBCAT can be enough

18 BDS #3 (Example) PARAM/PARAMCD/LBCAT Wrong definition
Correct definition PARAMCD PARAM PARCAT1 CA Urine Calcium URINALYSIS Blood Calcium CHEMISTRY RBC Blood Erythrocytes HAEMATOLOGY CAU Urine Calcium URINALYSIS CA Calcium CHEMISTRY RBC Erythrocytes HAEMATOLOGY

19 BDS #4 Incorrect/Iffy Variables/Values (continue)
ADLB -A lot of the PARAM appear to be CRIT values and should not be added parameters (e.gALKGR15) -for the ones that look at multiple PARAM it makes sense but not so much for the ones that are within PARAM

20 BDS #4 (Example) PARAM/PARAMCD/LBCAT Bad definition Good definition
AVAL AVALC ALK 20 ALKGR15 Y PARAMCD AVAL CRIT1 CRIT1FL ALK 20 ALK > 15 Y

21 BDS #5 BASE/BASETYPE AVALCATy/CRITy
ADLB -BASETYPE is not populated for all records within a PARAM ADLB/ADVS -Having BASE and not CHG seems odd –what is the purpose? BASE should reference ABLFL and not AVISITN ADaMIG -BASE contains the value of AVAL copied from a record within the parameter on which ABLFL = “Y” (and BNRIND=ANRIND where ABLFL=‘Y’) AVALCATy/CRITy ADxx.AVALCAT1/AVALCAT2 -these can only be categorizations of AVAL –only CRITy/MCRITy can be based on “any” variable CRITy has to be a constant value within PARAM – if it varies then use AVALCATy (or MCRITyML)

22 BDS #5 (Example) AVALCATy/CRITy Bad definition Good definition AVAL
CHG AVALCAT1* 90 High 20 GT 90 and CHG > 20 95 10 AVAL AVALC CHG AVALCAT1 CRIT1* CRIT1FL* 90 20 High GT 90 and CHG > 20 Y 95 10

23 BDS #6 Timing Variables ENDPOINT BASELINE is not a correct AVISIT value –this should be AVISIT=BASELINE with DTYPE=AVERAGE. Why are there AVISIT=ENDPOINT xxxx in any case –it does not have that on the tables What does ATPT=ENDPOINT 0.5 H POST-DOSE mean? If these are supposed to identify the average value then DBTYPE should be used and not a changed ATPT value –it is not a different visit/timepoint ADTC – often included this. Value added?

24 BDS #7 DTYPE DTYPE=SUM or COMBINED is incorrect –DTYPE is for records within a parameter and not totally derived parameters DTYPE=MAXIMUM (used to identify a maximum record) -this is incorrect usage of DTYPE -there is no indication that there is an added row with AVISIT="Maximum" -this should be identified with an ANLzzFL DTYPE=EOT is not correct –it does not describe the derivation method (it could be LOV Last Observed Value) ADLB -LBMAXFL/LBMINFL/POSTHIFL/POSTLOFL (and all the rest of the flags) –these should all be ANLzzFL (or AVISIT added rows) –see section of the ADaMIG

25 BDS #7 (Example) Wrong Use ANLxxFL Add AVISIT and Use DBTYPE AVISIT
PARAMCD AVAL DBTYPE Week 1 DBP 80 Week 2 120 MAXIMUM POSTHIFL Y AVISIT PARAMCD AVAL ANL01FL Week 1 DBP 80 Week 2 120 Y AVISIT PARAMCD AVAL DBTYPE Week 1 DBP 80 Week 2 120 Post-Baseline Maximum MAXIMUM

26 OCCDS #1 ADAE ADAE -Creating records with ANYAE=N and populating AETERM with None for subjects with no AEs is not allowed AEDUR is an SDTM variable that is character and ISO 8601 –it cannot be changed to numeric in ADaM. Use ADURN (derived) Do not change SDTM variables as AEOUTR (SDTM.AE.AEOUT), AESEV should be SDTM.AESEV TRTEMFL -derivation may not be correct if time is imputed –use caution in defining TRTEMFL ASTDT should be included even if ASTDTM is present. No a requirement –just a suggestion

27 OCCDS #2 ADCM /ADMH ADCM -CMDOSU/CMDOSFRQ/CMROUTE changed from SDTM values –this is not allowed ADMH –ASTDT/AENDT –do these add value? These appear to be mostly partial dates

28 Conclusion Thanks for your attention Questions?


Download ppt "Some Considerations When Designing ADaM Datasets Italian CDISC UN Day - Milan 27th October 2017 Antonio Valenti Principal Statistical Programmer CROS."

Similar presentations


Ads by Google