Validator Configuration

Global Rules Section

Dataset Structure
Variable Description Required Data Type Length

 

Validation Rules
ID Description Validator Message
AD0001 ADaM Subject level (ADSL) dataset should be included in every submission. Find Missing ADSL dataset
AD0061 The presence of SDTM.EX (Exposure) domain implies that there should be a Treatment Start Date (TRTSDT) / Datetime (TRTSDTM) variable present in the ADaM data. Find SDTM.EX is present, but neither ADSL TRTSDT nor TRTSDTM are present
AD0061A The presence of SDTM.EX (Exposure) domain implies that there should be a Treatment End Date (TRTEDT) / Datetime (TRTEDTM) variable present in the ADaM data. ADaM rule AD0061 corresponds to Start Date and Times. ADaM IG requires it if there is an investigational product. Find SDTM.EX is present, but neither ADSL TRTEDT nor TRTEDTM are present
AD1024 When validating ADaM datasets, the DM dataset must also be included to ensure traceability. Note: For the final submission the eCTD structure should be maintained. Therefore, the SDTM and ADaM datasets should be submitted in their appropriate locations. Do not include the DM dataset in the ../analysis/adam/datasets folder. Find Traceability rules not executed due to missing DM dataset
AD1025 When validating ADaM datasets, the AE dataset must also be included to ensure traceability. Note: For the final submission the eCTD structure should be maintained. Therefore, the SDTM and ADaM datasets should be submitted in their appropriate locations. Do not include the AE dataset in the ../analysis/adam/datasets folder. Find Traceability rules not executed due to missing AE dataset
AD1026 When validating ADaM datasets, the EX dataset must also be included to ensure traceability. Note: For the final submission the eCTD structure should be maintained. Therefore, the SDTM and ADaM datasets should be submitted in their appropriate locations. Do not include the EX dataset in the ../analysis/adam/datasets folder. Find Traceability rules not executed due to missing EX dataset
SD0061 Domains referenced in data definition document (define.xml) should be included in the submission. Find Domain referenced in define.xml, but dataset is missing

Unrecognized

Dataset Structure
Variable Description Required Data Type Length

 

Validation Rules
ID Description Validator Message
AD9999 Validation is defined only for ADSL, BDS, and OCCDS datasets. Other dataset structures are not currently supported. Property Dataset %Domain% not validated

Subject-Level Analysis Dataset

Dataset Structure
Variable Description Required Data Type Length
STUDYID Study Identifier yes text 200
USUBJID Unique Subject Identifier yes text 200
SUBJID Subject Identifier for the Study yes text 200
SITEID Study Site Identifier yes text 200
SITEGR# Pooled Site Group $1 text 200
SITEGR#N Pooled Site Group $1 (N) integer 200
REGION# Geographic Region $1 text 200
REGION#N Geographic Region $1 (N) integer 200
AGE Age yes integer 200
AGEU Age Units yes text 200
AGEGR# Pooled Age Group $1 text 200
AGEGR#N Pooled Age Group $1 (N) integer 200
AAGE Analysis Age float 200
SEX Sex yes text 200
RACE Race yes text 200
RACEGR# Pooled Race Group $1 text 200
RACEGR#N Pooled Race Group $1 (N) integer 200
FASFL Full Analysis Set Population Flag text 200
FASFN Full Analysis Set Population Flag (N) integer 200
SAFFL Safety Population Flag text 200
SAFFN Safety Population Flag (N) integer 200
ITTFL Intent-To-Treat Population Flag text 200
ITTFN Intent-To-Treat Population Flag (N) integer 200
PPROTFL Per-Protocol Population Flag text 200
PPROTFN Per-Protocol Population Flag (N) integer 200
COMPLFL Completers Population Flag text 200
COMPLFN Completers Population Flag (N) integer 200
RANDFL Randomized Population Flag text 200
RANDFN Randomized Population Flag (N) integer 200
ENRLFL Enrolled Population Flag text 200
ENRLFN Enrolled Population Flag (N) integer 200
ARM Description of Planned Arm yes text 200
ACTARM Description of Actual Arm text 200
*FL text 200
TRT01P Planned Treatment for Period 01 yes text 200
TRT#P Planned Treatment for Period $1 text 200
TRT#PN Planned Treatment for Period $1 (N) integer 200
TRT#A Actual Treatment for Period $1 text 200
TRT#AN Actual Treatment for Period $1 (N) integer 200
TRTSEQP Planned Sequence of Treatments text 200
TRTSEQPN Planned Sequence of Treatments (N) integer 200
TRTSEQA Actual Sequence of Treatments text 200
TRTSEQAN Actual Sequence of Treatments (N) integer 200
TR#PG# Planned Pooled Treatment $2 for Period $1 text 200
TR#PG#N Planned Pooled Trt $2 for Period $1 (N) integer 200
TR#AG# Actual Pooled Treatment $2 for Period $1 text 200
TR#AG#N Actual Pooled Trt $2 for Period $1 (N) integer 200
TSEQPG# Planned Pooled Treatment Sequence $1 text 200
TSEQPG#N Planned Pooled Treatment Sequence $1 (N) integer 200
TSEQAG# Actual Pooled Treatment Sequence $1 text 200
TSEQAG#N Actual Pooled Treatment Sequence $1 (N) integer 200
DOSE#P Planned Treatment Dose for Period $1 float 200
DOSE#A Actual Treatment Dose for Period $1 float 200
DOSE#U Units for Dose for Period $1 text 200
TRTSDT Date of First Exposure to Treatment integer 200
TRTSTM Time of First Exposure to Treatment integer 200
TRTSDTM Datetime of First Exposure to Treatment integer 200
TRTSDTF Date of First Exposure Imput. Flag text 200
TRTSTMF Time of First Exposure Imput. Flag text 200
TRTEDT Date of Last Exposure to Treatment integer 200
TRTETM Time of Last Exposure to Treatment integer 200
TRTEDTM Datetime of Last Exposure to Treatment integer 200
TRTEDTF Date of Last Exposure Imput. Flag text 200
TRTETMF Time of Last Exposure Imput. Flag text 200
TR#SDT Date of First Exposure in Period $1 integer 200
TR#STM Time of First Exposure in Period $1 integer 200
TR#SDTM Datetime of First Exposure in Period $1 integer 200
TR#SDTF Date 1st Exposure Period $1 Imput. Flag text 200
TR#STMF Time 1st Exposure Period $1 Imput. Flag text 200
TR#EDT Date of Last Exposure in Period $1 integer 200
TR#ETM Time of Last Exposure in Period $1 integer 200
TR#EDTM Datetime of Last Exposure in Period $1 integer 200
TR#EDTF Date Last Exposure Period $1 Imput. Flag text 200
TR#ETMF Time Last Exposure Period $1 Imput. Flag text 200
AP#SDT Period $1 Start Date integer 200
AP#STM Period $1 Start Time integer 200
AP#SDTM Period $1 Start Datetime integer 200
AP#SDTF Period $1 Start Date Imput. Flag text 200
AP#STMF Period $1 Start Time Imput. Flag text 200
AP#EDT Period $1 End Date integer 200
AP#ETM Period $1 End Time integer 200
AP#EDTM Period $1 End Datetime integer 200
AP#EDTF Period $1 End Date Imput. Flag text 200
AP#ETMF Period $1 End Time Imput. Flag text 200
P#S# Description of Period $1 Subperiod $2 text 200
P#S#SDT Period $1 Subperiod $2 Start Date integer 200
P#S#STM Period $1 Subperiod $2 Start Time integer 200
P#S#SDM Period $1 Subperiod $2 Start Datetime integer 200
P#S#SDF Period $1 Subper $2 Start Date Imput Flag text 200
P#S#STF Period $1 Subper $2 Start Time Imput Flag text 200
P#S#EDT Period $1 Subperiod $2 End Date integer 200
P#S#ETM Period $1 Subperiod $2 End Time integer 200
P#S#EDM Period $1 Subperiod $2 End Datetime integer 200
P#S#EDF Period $1 Subper $2 End Date Imput Flag text 200
P#S#ETF Period $1 Subper $2 End Time Imput Flag text 200
APHASE# Description of Phase $1 text 200
PH#SDT Phase $1 Start Date integer 200
PH#STM Phase $1 Start Time integer 200
PH#SDTM Phase $1 Start Datetime integer 200
PH#SDTF Phase $1 Start Date Imputation Flag text 200
PH#STMF Phase $1 Start Time Imputation Flag text 200
PH#EDT Phase $1 End Date integer 200
PH#ETM Phase $1 End Time integer 200
PH#EDTM Phase $1 End Datetime integer 200
PH#EDTF Phase $1 End Date Imputation Flag text 200
PH#ETMF Phase $1 End Time Imputation Flag text 200
EOSSTT End of Study Status text 200
EOSDT End of Study Date integer 200
DCSREAS Reason for Discontinuation from Study text 200
DCSREASP Reason Spec for Discont from Study text 200
EOTSTT End of Treatment Status text 200
DCTREAS Reason for Discontinuation of Treatment text 200
DCTREASP Reason Specify for Discont of Treatment text 200
EOT#STT End of Treatment Status in Period $1 text 200
DCT#RS Reason for Discont of Treat in Period $1 text 200
DCT#RSP Reason Spec for Disc of Trt in Period $1 text 200
EOP#STT End of Period $1 Status text 200
DCP#RS Reason for Discont from Period $1 text 200
DCP#RSP Reason Spec for Discont from Period $1 text 200
RFICDT Date of Informed Consent integer 200
ENRLDT Date of Enrollment integer 200
RANDDT Date of Randomization integer 200
RFIC#DT Date of Informed Consent $1 integer 200
ENRL#DT Date of Enrollment $1 integer 200
RAND#DT Date of Randomization $1 integer 200
LSTALVDT Date Last Known Alive integer 200
TRCMP Treatment Compliance (%) float 200
TRCMPG# Treatment Compliance (%) Group $1 text 200
TRCMPG#N Treatment Compliance (%) Group $1 (N) integer 200
TR#DURD Treatment Duration in Period $1 (Days) integer 200
TR#DURM Treatment Duration in Period $1 (Months) integer 200
TR#DURY Treatment Duration in Period $1 (Years) integer 200
TRTDURD Total Treatment Duration (Days) integer 200
TRTDURM Total Treatment Duration (Months) integer 200
TRTDURY Total Treatment Duration (Years) integer 200
DTHDT Date of Death integer 200
DTHDTF Date of Death Imputation Flag text 200
DTHCAUS Cause of Death text 200
DTHCAUSN Cause of Death (N) integer 200
DTHCGR# Cause of Death Group $1 text 200
DTHCGR#N Cause of Death Group $1 (N) integer 200
STRATAR Strata Used for Randomization text 200
STRATARN Strata Used for Randomization (N) float 200
STRATAV Strata from Verification Source text 200
STRATAVN Strata from Verification Source (N) float 200
STRAT#D Description of Stratification Factor $1 text 200
STRAT#R Strat Factor $1 Value Used for Rand text 200
STRAT#RN Strat Factor $1 Value Used for Rand (N) float 200
STRAT#V Strat Factor $1 Value from Verif Source text 200
STRAT#VN Strat Fact $1 Val from Verif Source (N) float 200
* text 200
*DTF text 200
*TMF text 200

 

Validation Rules
ID Description Validator Message
AD0005B A variable with a suffix of FL must have value that is Y, N or null (Exception 1: ABLFL, ANLzzFL. Exception 2: Population flags COMPLFL, FASFL, ITTFL, PPROTFL, SAFFL, RANDFL, ENRLFL cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FL value is not Y, N or null
AD0006B A variable with a suffix of FN has a value that is not 0, 1, or null (Exception: ABLFN, ANLzzFN, and numeric population flags COMPLFN, FASFN, ITTFN, PPROTFN, SAFFN, RANDFN, ENRLFN cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FN value is not 0, 1 or null
AD0007 If a Flag Numeric (*FN) variable is present, its corresponding Flag Character (*FL) variable must be present. Find Secondary variable *FN is present, but its primary variable *FL is not present
AD0010 When a Flag variable (FL) is Y, its corresponding Flag numeric variable (FN) must be 1. Condition %Variable.1%FL = Y and %Variable.1%FN != 1
AD0011 When a Flag variable (FL) is N, its corresponding Flag numeric variable (FN) must be 0. Condition %Variable.1%FL = N and %Variable.1%FN != 0
AD0012 When a numeric Flag variable (*FN) is populated, its corresponding character Flag variable (*FL) must be populated. Condition Secondary variable %Variable.1%FN is populated, but its primary variable %Variable.1%FL is not populated
AD0013 A variable must be a max of 8 characters, start with a letter A-Z and does not contain anything other than letters, numbers, underscore (_). Regex Illegal variable name: basic format is violated
AD0016 All ADaM variable labels must be no more than 40 characters in length. This should not be possible to fail with sas v5 xpt. Dataset-XML or .csv can fail this rule. Regex Variable label length is greater than 40 characters
AD0018 The variable label in the dataset should match the variable label described in ADaM. When creating a new variable, labels can be adjusted as appropriate. Currently, this rule runs if a variable has a label that is defined in the ADaM metadata. Condition Variable label mismatch between dataset and ADaM standard
AD0019 For subject-level character population flag variables: N = no (not included), Y = yes (included). Null values are not allowed. Required %Variable% subject-population flag value is null
AD0026 For subject-level numeric population flag variables: 0 = no (not included), 1 = yes (included). Null values are not allowed. Required %Variable% subject-population flag value is null
AD0037B Within a study, all *GRyN values must be the same for each unique value of *GRy when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%N
AD0038B Within a study, all *GRy values must be the same for each unique value of *GRyN when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%
AD0041 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DA, B8601DN , DATE, DAY, DDMMYY, DDMMYYB, DDMMYYC, DDMMYYD, DDMMYYN, DDMMYYP, DDMMYYS, DOWNAME, DTMONYY, E8601DA, JULDAY, JULIAN, MMDDYY, MMDDYYB, MMDDYYC, MMDDYYD, MMDDYYN, MMDDYYP, MMDDYYS, MMYY, MMYYB, MMYYC, MMYYD, MMYYN, MMYYP, MMYYS, MONNAME, MONTH, MONYY, PDJULG, PDJULI, QTR, QTRR, WEEKDATE, WEEKDATX, WEEKDAY, WEEKU, WEEKV, WEEKW, WORDDATE, WORDDATX, YEAR, YYMM, YYMMDD, YYMMDDB, YYMMDDC, YYMMDDD, YYMMDDN, YYMMDDP, YYMMDDS, YYMMB, YYMMC, YYMMD, YYMMN, YYMMP, YYMMS, YYMON, YYQ, YYQB, YYQC, YYQD, YYQN, YYQP, YYQS, YYQR, YYQRB, YYQRC, YYQRD, YYQRN, YYQRP, YYQRS, IS8601DA. Match *DT does not have the ADaM required SAS Date format
AD0041A *DT variables must have non-missing SAS Date Format. Required *DT variable has missing SAS Date Format
AD0042 The SAS format listed in the dataset must be valid. Here is a list of SAS Time formats utilized in the rule algorithm: B8601LZ, B8601TM, B8601TZ, E8601LZ, E8601TM, E8601TZ, HHMM, HOUR, MMSS, TIME, TIMEAMPM, IS8601TM, IS8601TZ, TOD. Match *TM does not have the ADaM required SAS time format
AD0042A *TM variables must have non-missing SAS Time Format. Required *TM variable has missing SAS Time Format
AD0043 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DT, B8601DZ, DATEAMPM, DATETIME, DTDATE, DTWKDATX, DTYEAR, DTYYQC, E8601DN, E8601DT, E8601DZ, MDYAMPM, TOD, IS8601DN, IS8601DT, IS8601DZ. Match *DTM does not have the ADaM required SAS Datetime format
AD0043A *DTM variables must have non-missing SAS Datetime Format. Required *DTM variable has missing SAS Datetime Format
AD0044 When both time and datetime variables are collected on the same record for the same observation, the Time portion of the datetime variable should be equal to the Time variable itself. Condition %Variable.1%TM and its corresponding %Variable.1%DTM variable have different time values
AD0045 When both date and datetime variables are collected on the same record for the same observation, the Date portion of the datetime variable should be equal to the Date variable itself. Condition %Variable.1%DT and its corresponding %Variable.1%DTM variable have different date values
AD0046 A variable with a suffix of DY (day) must not equal zero. Variables whose names end in DY are relative day variables. In ADaM as in the SDTM, there is no day 0. If there is a need to create a relative day variable that includes day 0, then its name must not end in DY. Regex %Variable.1%DY = 0
AD0047 Variables described in ADaM as Required must be included in the dataset. Find Required variable is not present
AD0048 ADSL must have at least one variable that ends in FL because you need at least one population flag. Find *FL subject-population flag variable is not present
AD0053 The combination of Study Identifier (STUDYID) and Unique Subject Identifier (USUBJID) is not found in the SDTM Demographics domain. There must be traceability between ADaM and SDTM. Lookup The combination of STUDYID and USUBJID value does not exist in the SDTM DM domain
AD0054 There should be only one record for a unique value of USUBJID per study in the ADSL dataset. Unique USUBJID duplicate values are not allowed within a study
AD0058 The SAS TYPE for *DT variable must be equal Num. Match *DT is not a numeric variable
AD0059 The SAS TYPE for *TM variable must be equal Num. Match *TM is not a numeric variable
AD0060 The SAS TYPE for *DTM variable must be equal Num. Match *DTM is not a numeric variable
AD0064 If Actual Treatment (TRTxxAN) numeric variable is present, there must be a corresponding Actual Treatment (TRTxxA) character variable. Find TRTxxAN is present, but TRTxxA is not present
AD0066 If Planned Pooled Treatment y for Period xx (TRxxPGyN) numeric variable is present, there must be a corresponding Planned Pooled Treatment y for Period xx (TRxxPGy) character variable. Find TRxxPGyN is present, but TRxxPGy is not present
AD0070 If Actual Pooled Treatment y for Period xx (TRxxAGyN) numeric variable is present, there must be a corresponding Actual Pooled Treatment y for Period xx (TRxxAGy) character variable. Find TRxxAGyN is present, but TRxxAGy is not present
AD0075 If the Planned Treatment (TRTxxPN) numeric variable is present, there must be a corresponding Planned Treatment (TRTxxP) character variable. Find TRTxxPN is present, but TRTxxP is not present
AD0076B Within a study, all TRTxxPN values must be the same for each unique value of TRTxxP when the primary variable TRTxxP is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRT%Variable.1%PN
AD0077B Within a study, all TRTxxP values must be the same for each unique value of TRTxxPN when the primary variable TRTxxP is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRT%Variable.1%P
AD0078 If Planned Treatment for Period xx (TRTxxP) is present, First Treatment date for period xx (TRxxSDT) must be present if there is more than one Treatment Period. When there is only 1 Treatment Period 01, TRTSDT is sufficient. Find TRTxxP is present, but TRxxSDT is not present for periods greater than 01
AD0079 If Planned Treatment for Period xx (TRTxxP) is present, Last Treatment Date for Period xx (TRxxEDT) must be present if there is more than one Treatment Period. When there is only 1 Treatment Period 01, TRTEDT is sufficient. Find TRTxxP is present, but TRxxEDT is not present for periods greater than 01
AD0080 If Actual Treatment (TRTxxA) is present, its corresponding Planned Treatment (TRTxxP) must be present. Find TRTxxA is present, but TRTxxP is not present
AD0084 Date of Last Exposure to Treatment (TRTEDT) for this patient record should be equal to the max Last Treatment Date (TRxxEDT) among all Periods 01 thru xx. Condition TRTEDT != Maximum TRxxEDT on this record
AD0121 Any variable ending in SDT (Start Date) must have a value less than or equal to its corresponding EDT (End Date) value (e.g., ADSL - TRTSDT, TR01SDT, AP01SDT; BDS - APERSDT). Condition %Variable.1%SDT is greater than %Variable.1%EDT
AD0122 Any variable ending in SDTM (Start Date Time) must have a value less than or equal to its corresponding EDTM (End Date Time) value (e.g., ADSL - TRTSDTM, TR01SDTM, AP01SDTM; BDS - APERSDTM). Condition %Variable.1%SDTM is greater than %Variable.1%EDTM
AD0196 Unlike SDTM, only some of ADaM Required variables (where Core attribute is 'Req') must be populated. CDISC ADaM rules affirm that PARAM and PARAMCD must be populated, while others are populated as appropriate. Known Exceptions: TRTP, TRTxxP, AGE, AGEU, RACE, SUBJID, AESER. Required Required %Variable% value is null
AD0204 The same subject in ADSL and DM must have the same value for Age (AGE). There must be traceability between ADaM and SDTM. Lookup For the same USUBJID, the ADSL.AGE != DM.AGE
AD0205 The same subject in ADSL and DM must have the same value for Age Unit (AGEU). There must be traceability between ADaM and SDTM. Lookup For the same USUBJID, the ADSL.AGEU != DM.AGEU
AD0206 The same subject in ADSL and DM must have the same value for Sex (SEX). There must be traceability between ADaM and SDTM. Lookup For the same USUBJID, the ADSL.SEX != DM.SEX
AD0207 The same subject in ADSL and DM must have the same value for Race (RACE). There must be traceability between ADaM and SDTM. Lookup For the same USUBJID, the ADSL.RACE != DM.RACE
AD0208 The same subject in ADSL and DM must have the same value for Subject ID (SUBJID). There must be traceability between ADaM and SDTM. Lookup For the same USUBJID, the ADSL.SUBJID != DM.SUBJID
AD0209 The same subject in ADSL and DM must have the same value for Site ID (SITEID). There must be traceability between ADaM and SDTM. Lookup For the same USUBJID, the ADSL.SITEID != DM.SITEID
AD0210 The same subject in ADSL and DM must have the same value for Arm (ARM). There must be traceability between ADaM and SDTM. Lookup For the same USUBJID, the ADSL.ARM != DM.ARM
AD0227B Within a study, all Planned Sequence of Treatments (TRTSEQP) variable values must be the same for each unique value of Planned Sequence of Treatments (N) (TRTSEQPN) when both variables are populated. Unique Inconsistent value for TRTSEQP
AD0228B Within a study, all Planned Sequence of Treatments (N) (TRTSEQPN) variable values must be the same for each unique value of Planned Sequence of Treatments (TRTSEQP) when both variables are populated. Unique Inconsistent value for TRTSEQPN
AD0229B Within a study, all Actual Sequence of Treatment (TRTSEQA) variable values must be the same for each unique value of Actual Sequence of Treatments (N) (TRTSEQAN) when both variables are populated. Unique Inconsistent value for TRTSEQA
AD0230B Within a study, all Actual Sequence of Treatments (N) (TRTSEQAN) variable values must be the same for each unique value of Actual Sequence of Treatment (TRTSEQA) variable when both variables are populated. Unique Inconsistent value for TRTSEQAN
AD0231 Within a study, all Planned Pooled Treatment y for Period xx (TRxxPGy) variable values must be the same for each unique value of Planned Treatment for Period xx (TRTxxP) variable when TRTxxP is populated. TRxxPGy is a more general pooled treatment for TRTxxP, therefore it may be used for many TRTxxP. Unique Inconsistent value for TR%Variable.1%PG%Variable.2% within a unique TRT%Variable.1%P
AD0232B Within a study, all Planned Pooled Treatment y for Period xx (TRxxPGy) variable values must be the same for each unique value of Planned Pooled Trt y for Period xx (N) (TRxxPGyN) variable when both variables are populated. Analogous rule for AD0235. Unique Inconsistent value for TR%Variable.1%PG%Variable.2%
AD0233 Within a study, all Planned Pooled Trt y for Period xx (N) (TRxxPGyN) variable values must be the same for each unique value of Planned Pooled Treatment y for Period xx (TRxxPGy) variable when the primary variable TRxxPGy is populated. analogous rule for AD0236. Unique Inconsistent value for TR%Variable.1%PG%Variable.2%N
AD0234 Within a study, all Actual Pooled Treatment y for Period xx (TRxxAGy) variable values must be the same for each unique value of Actual Treatment for Period xx (TRTxxA) when TRTxxA is populated. TRxxAGy is a more general pooled treatment for TRTxxA, therefore it may be used for many TRTxxA. Unique Inconsistent value for TR%Variable.1%AG%Variable.2% within a unique TRT%Variable.1%A
AD0235B Within a study, all Actual Pooled Treatment y for Period xx (TRxxAGy) variable values must be the same for each unique value of Actual Pooled Trt y for Period xx (N) (TRxxAGyN) variable when both variables are populated. Analogous rule for AD0232. Unique Inconsistent value for TR%Variable.1%AG%Variable.2%
AD0236B Within a study, all Actual Pooled Trt y for Period xx (N) (TRxxAGyN) variable values must be the same for each unique value of Actual Pooled Treatment y for Period xx (TRxxAGy) variable when both variables are populated. Analogous rule for AD0233. Unique Inconsistent value for TR%Variable.1%AG%Variable.2%N
AD0239A For a given period xx, If both Actual Treatment for Period xx (TRTxxA) and Planned Pooled Treatment y for Period xx (TRxxPGy) variables are present, then Actual Pooled Treatment y for Period xx (TRxxAGy) variable must be present. Find TRxxPGy and TRTxxA are present, but TRxxAGy is not present
AD0242B Within a study, all Actual Treatment for Period xx (N) (TRTxxAN) variable values must be the same for each unique value of Actual Treatment for Period xx (TRTxxA) variable when both variables are populated. Unique Inconsistent value for TRT%Variable.1%AN
AD0243B Within a study, all Actual Treatment for Period xx (TRTxxA) variable values must be the same for each unique value of Actual Treatment for Period xx (N) (TRTxxAN) variable when both variables are populated. Unique Inconsistent value for TRT%Variable.1%A
AD0252 Variables described in ADaM IG as inappropriate for usage must be not included in the dataset. i.e., for ADAE, there is no need for AVAL, AVALC and Parameter variables. Find Variable present in dataset is prohibited for use in ADaM
AD0320 The dataset label for a dataset named 'ADSL' must be 'Subject-Level Analysis Dataset'. Property Non-standard dataset label
AD0355 Within a study, all Geographic Region y (REGIONy) variable values must be the same for each unique value of Geographic Region y (N) (REGIONyN) when variable REGIONyN is populated. Unique Inconsistent value for REGION%Variable.1%
AD0356 Within a study, all Geographic Region y (N) (REGIONyN) variable values must be the same for each unique value of Geographic Region y (REGIONy) when the primary variable REGIONy is populated. Unique Inconsistent value for REGION%Variable.1%N
AD0359 Within a study, Cause of Death (DTHCAUS) variable values must be the same for each unique value of Cause of Death(N) (DTHCAUSN) variable when variable DTHCAUSN is populated. Unique Inconsistent value for DTHCAUS
AD0360 Within a study, Cause of Death(N) (DTHCAUSN) variable values must be the same for each unique value of Cause of Death (DTHCAUS) variable when the primary variable DTHCAUS is populated. Unique Inconsistent value for DTHCAUSN
AD0361 The value of Analysis Start Date (ASTDT) variable must be less or equal to Analysis End Date (AENDT) variable value. Condition Value of ASTDT is greater than value of AENDT
AD0362 The value of Analysis Start Datetime (ASTDTM) variable must be less or equal to Analysis End Datetime (AENDTM) variable value. Condition Value of ASTDTM is greater than value of AENDTM
AD0366 Date of Randomization (RANDDT) variable should be included into dataset when Randomized Population Flag (RANDFL) variable is present. Find Missing RANDDT variable when RANDFL variable is present
AD0366A Date of Randomization (RANDDT) variable value should be populated for randomized subjects (when Randomized Population Flag (RANDFL) variable value is 'Y'). Required Missing value for RANDDT when RANDFL is Y
AD0366B Randomized Population Flag (RANDFL) variable value should be 'Y' for randomized subject (when Date of Randomization (RANDDT) variable value is populated). Condition RANDFL value is not Y when RANDDT is populated
AD0367 The same subject in ADSL and DM datasets must have the same value for Actual Arm (ACTARM). There must be traceability between ADaM and SDTM. Lookup For the same USUBJID, the ADSL.ACTARM != DM.ACTARM
AD0369 If a Date variable is indicated to be imputated by population of an Imputation Flag (*DTF), that Date variable (*DT) or Datetime variable (*DTM) must have a value. Condition %Variable.1%DTF is populated, but %Variable.1%DT or %Variable.1%DTM is not populated
AD0370 If a Time variable is indicated to be imputated by population of an Imputation Flag (*TMF), that Time variable (*TM) or Datetime variable (*DTM) must have a value. Condition %Variable.1%TMF is populated, but %Variable.1%TM or %Variable.1%DTM is not populated
AD0376 In a pair of corresponding character and numeric variables, the secondary variable must be populated if its primary variable is populated. Exceptions: *DTC, *FN, TRTPN, TRT01PN, PARAMN, AVALC, BASEC. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Primary variable %Variable.1% is populated, but its secondary variable %Variable% is not populated
AD0468 There should be only a single value of Strata Used for Randomization (STRATAR) variable for a given value of Strata Used for Randomization (N) (STRATARN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for STRATAR
AD0469 There should be only a single value of Strata Used for Randomization (N) (STRATARN) variable for a given value of Strata Used for Randomization (STRATAR) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for STRATARN
AD0472 There should be only a single value of Strat Factor w Value Used for Rand (STRATwR) variable for a given value of Strat Factor w Value Used for Rand (N) (STRATwRN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for STRATwR
AD0473 There should be only a single value of Strat Factor w Value Used for Rand (N) (STRATwRN) variable for a given value of Strat Factor w Value Used for Rand (STRATwR) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for STRATwRN
AD0476 There should be only a single value of Strata from Verification Source (STRATAV) variable for a given value of Strata from Verification Source (N) (STRATAVN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for STRATAV
AD0477 There should be only a single value of Strata from Verification Source (N) (STRATAVN) variable for a given value of Strata from Verification Source (STRATAV) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for STRATAVN
AD0480 There should be only a single value of Strat Factor w Value from Verif Source (STRATwV) variable for a given value of Strat Fact w Val from Verif Source (N) (STRATwVN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for STRATwV
AD0481 There should be only a single value of Strat Fact w Val from Verif Source (N) (STRATwVN) variable for a given value of Strat Factor w Value from Verif Source (STRATwV) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for STRATwVN
AD0570 If any of the subject-level subperiod timing variables (PxxSw, PxxSwSDT, PxxSwSTM, PxxSwSDM, PxxSwSDF, PxxSwSTF, PxxSwEDT, PxxSwETM, PxxSwEDM, PxxSwEDF, PxxSwETF) are present, there must be a corresponding Planned Treatment for Period xx (TRTxxP) character variable present for the same xx value. Find %Variable% is present, but TRT%Variable.1%P is not present
AD0616 There should be only a single value of Treatment Compliance (%) Group y (TRCMPGy) variable for a given value of Treatment Compliance (%) Group y (N) (TRCMPGyN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for TRCMPGy
AD0617 There should be only a single value of Treatment Compliance (%) Group y (N) (TRCMPGyN) variable for a given value of Treatment Compliance (%) Group y (TRCMPGy) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for TRCMPGyN
AD0618 On a given record, if Treatment Compliance (%) Group y (TRCMPGy) variable value is populated, then Treatment Compliance (%) (TRCMP) variable value must be populated. Condition TRCMPGy is populated and TRCMP is not populated
AD1011 In a pair of corresponding character and numeric variables (* and *N or *C) the primary or most commonly used variable must be populated if its secondary variable describing it is populated. Exceptions: *DTC, *FN, TRTPN, TRT01PN, PARAMN, AVALC, BASEC, *LOC, and *HIC. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Secondary variable %Variable% is populated, but its primary variable %Variable.1% is not populated
AD1012A In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be present if its secondary version describing it (*N or *C) is present. This is a rule designed to look explicitly at variable pairs defined in the CDISC standard documents. A similar rule that checks custom *N or *C variables (with a few exceptions) is AD1012. This rule is expected to be added to CDISC ADaM Conformance Rules in the future. Find Secondary variable is present, but its primary variable is not present
AD1019 For ADSL Trial Dates xx variables of form TRxx... and APxx..., ‘xx’ must be the treatment period (01 to 99). This rule covers 20 distinct variable forms listed in ADSL. It's anticipated that the CDISC ADaM Validation team will release 20 new rules to cover this scenario. Condition Illegal variable name: xx is not in [01-99] for an ADSL trial date
CT2001 Variable must be populated with terms from its CDISC controlled terminology codelist. New terms cannot be added into non-extensible codelists. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' non-extensible codelist
CT2002 Variable should be populated with terms from its CDISC controlled terminology codelist. New terms can be added as long as they are not duplicates, synonyms or subsets of existing standard terms. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' extensible codelist
CT2003 Paired variables such as TEST/TESTCD must be populated using terms with the same Codelist Code value in CDISC control terminology. There is one-to-one relationship between paired variable values defined in CDISC control terminology by Codelist Code value. Match %Variable% and %Variable.DecodedVariable% values do not have the same Code in CDISC CT
CT2004 Variable must be populated with terms from its CDISC controlled terminology codelist when its value level condition is met. New terms cannot be added into non-extensible codelists. Match %Variable% value not found in '%Variable.Config.@Clause.CodeList.Name%' non-extensible codelist when %Variable.Config.@Clause.Expression%
CT2005 Variable should be populated with terms from its CDISC controlled terminology codelist when its value level condition is met. New terms can be added as long as they are not duplicates, synonyms or subsets of existing standard terms. Match %Variable% value not found in '%Variable.Config.@Clause.CodeList.Name%' extensible codelist when %Variable.Config.@Clause.Expression%
CT2006 Paired variables such as TEST/TESTCD must be populated using terms with the same Codelist Code value in CDISC control terminology. There is one-to-one relationship between paired variable values defined in CDISC control terminology by Codelist Code value within the same value level condition. Match %Variable% and %Variable.DecodedVariable% values do not have the same Code in CDISC CT when %Variable.Config.@Clause.Expression%
SD0001 Domain table should have at least one record. Property No records in data source
SD0037 Variable values should be populated with terms found in the user-defined codelist associated with the variable in define.xml. Match Value for %Variable% not found in (%Variable.CodeList.Name%) user-defined codelist
SD0054 Variables listed in the data definition document (define.xml) should be included in the dataset. Find Variable in define.xml is not present in the dataset
SD0059 Variable DataType in define.xml must match variable Type in dataset. Define-XML data types of 'integer' and 'float' match dataset type of 'Num', all other match 'Char'. Condition Define.xml/dataset variable type mismatch
SD0060 Variables included in the dataset must be described in the data definition document (define.xml). Match Variable in dataset is not present in define.xml
SD0062 Domain table must have a valid format (e.g., SAS transport (XPORT) v.5 or text-delimited). Property Incompatible data source
SD1063 Datasets included in study data must be described in the data definition document (define.xml). Match Dataset is not present in define.xml
SD1071 Datasets greater than 5 gigabytes (GB) in size should be split into smaller datasets no larger than 5 GB. Property Dataset is greater than 5 GB in size
SD1082 Variable length should be assigned based on actual stored data to minimize file size. Datasets should be re-sized to the maximum length of actual data used prior to splitting. Varlength Variable length is too long for actual data
SD1228 Variable value must be populated with terms from user-defined value level codelist as specified in define.xml file. Match %Variable% value not found in user-defined codelist '%Variable.@Clause.CodeList.Name%' when %Variable.@Clause.Expression%
SD1229 Variable value must be populated when value level attribute Mandatory='Yes' as specified in define.xml file. Required %Variable% value is null when %Variable.@Clause.Expression%
SD1230 Value level datatype must match the datatype described in define.xml. Condition %Variable% datatype is not %Variable.@Clause.DataType% when %Variable.@Clause.Expression%
SD1231 Value level length must not exceed the length as specified define.xml. Condition %Variable% value is longer than defined max length %Variable.@Clause.Length% when %Variable.@Clause.Expression%
SD1324 Variable Label in define.xml must match variable Label in dataset. Match Define.xml/dataset variable label mismatch
SD1325 Dataset Description in define.xml must match dataset Description. Property Define.xml/dataset description mismatch

Non-Compartmental Analysis

Dataset Structure
Variable Description Required Data Type Length
STUDYID Study Identifier yes text 200
USUBJID Unique Subject Identifier yes text 200
SUBJID Subject Identifier for the Study text 200
SITEID Study Site Identifier text 200
ASEQ Analysis Sequence Number float 200
TRTP Planned Treatment text 200
TRTPN Planned Treatment (N) float 200
TRTA Actual Treatment text 200
TRTAN Actual Treatment (N) float 200
TRT#P Planned Treatment for Period $1 text 200
TRT#PN Planned Treatment for Period $1 (N) integer 200
TRT#A Actual Treatment for Period $1 text 200
TRT#AN Actual Treatment for Period $1 (N) integer 200
TRTPG# Planned Pooled Treatment $1 text 200
TRTPG#N Planned Pooled Treatment $1 (N) integer 200
TRTAG# Actual Pooled Treatment $1 text 200
TRTAG#N Actual Pooled Treatment $1 (N) integer 200
DOSEP Planned Treatment Dose float 200
DOSCUMP Cumulative Planned Treatment Dose float 200
DOSEA Actual Treatment Dose yes float 200
DOSCUMA Cumulative Actual Treatment Dose float 200
DOSEU Treatment Dose Units yes text 200
ADT Analysis Date integer 200
ATM Analysis Time integer 200
ADTM Analysis Datetime integer 200
ADY Analysis Relative Day integer 200
ADTF Analysis Date Imputation Flag text 200
ATMF Analysis Time Imputation Flag text 200
ASTDT Analysis Start Date integer 200
ASTTM Analysis Start Time integer 200
ASTDTM Analysis Start Datetime integer 200
ASTDY Analysis Start Relative Day integer 200
ASTDTF Analysis Start Date Imputation Flag text 200
ASTTMF Analysis Start Time Imputation Flag text 200
AENDT Analysis End Date integer 200
AENTM Analysis End Time integer 200
AENDTM Analysis End Datetime integer 200
AENDY Analysis End Relative Day integer 200
AENDTF Analysis End Date Imputation Flag text 200
AENTMF Analysis End Time Imputation Flag text 200
AVISIT Analysis Visit yes text 200
AVISITN Analysis Visit (N) float 200
ATPT Analysis Timepoint text 200
ATPTN Analysis Timepoint (N) integer 200
ATPTREF Analysis Timepoint Reference text 200
APHASE Phase text 200
APHASEN Phase (N) integer 200
APERIOD Period integer 200
APERIODC Period (C) text 200
ASPER Subperiod within Period integer 200
ASPERC Subperiod within Period (C) text 200
ARELTM Analysis Relative Time integer 200
ARELTMU Analysis Relative Time Unit text 200
APERSDT Period Start Date integer 200
APERSTM Period Start Time integer 200
APERSDTM Period Start Datetime integer 200
APERSDTF Period Start Date Imput. Flag text 200
APERSTMF Period Start Time Imput. Flag text 200
APEREDT Period End Date integer 200
APERETM Period End Time integer 200
APEREDTM Period End Datetime integer 200
APEREDTF Period End Date Imput. Flag text 200
APERETMF Period End Time Imput. Flag text 200
ASPRSDT Subperiod Start Date integer 200
ASPRSTM Subperiod Start Time integer 200
ASPRSDTM Subperiod Start Datetime integer 200
ASPRSDTF Subperiod Start Date Imput. Flag text 200
ASPRSTMF Subperiod Start Time Imput. Flag text 200
ASPREDT Subperiod End Date integer 200
ASPRETM Subperiod End Time integer 200
ASPREDTM Subperiod End Datetime integer 200
ASPREDTF Subperiod End Date Imput. Flag text 200
ASPRETMF Subperiod End Time Imput. Flag text 200
PHSDT Phase Start Date integer 200
PHSTM Phase Start Time integer 200
PHSDTM Phase Start Datetime integer 200
PHSDTF Phase Start Date Imput. Flag text 200
PHSTMF Phase Start Time Imput. Flag text 200
PHEDT Phase End Date integer 200
PHETM Phase End Time integer 200
PHEDTM Phase End Datetime integer 200
PHEDTF Phase End Date Imput. Flag text 200
PHETMF Phase End Time Imput. Flag text 200
*DT integer 200
*TM integer 200
*DTM integer 200
*ADY integer 200
*DTF text 200
*TMF text 200
*SDT integer 200
*STM integer 200
*SDTM integer 200
*SDY integer 200
*SDTF text 200
*STMF text 200
*EDT integer 200
*ETM integer 200
*EDTM integer 200
*EDY integer 200
*EDTF text 200
*ETMF text 200
PARAM Parameter yes text 200
PARAMCD Parameter Code yes text 200
PARAMN Parameter (N) float 200
PARCAT# Parameter Category $1 text 200
PARCAT#N Parameter Category $1 (N) integer 200
AVAL Analysis Value float 200
AVALC Analysis Value (C) text 200
AVALCAT# Analysis Value Category $1 text 200
AVALCA#N Analysis Value Category $1 (N) integer 200
BASE Baseline Value float 200
BASEC Baseline Value (C) text 200
BASECAT# Baseline Category $1 text 200
BASECA#N Baseline Category $1 (N) integer 200
BASETYPE Baseline Type text 200
CHG Change from Baseline float 200
CHGCAT# Change from Baseline Category $1 text 200
CHGCAT#N Change from Baseline Category $1 (N) integer 200
PCHG Percent Change from Baseline float 200
PCHGCAT# Percent Chg from Baseline Category $1 text 200
PCHGCA#N Percent Chg from Baseline Category $1 (N) integer 200
R2BASE Ratio to Baseline float 200
R2A#LO Ratio to Analysis Range $1 Lower Limit float 200
R2A#HI Ratio to Analysis Range $1 Upper Limit float 200
SHIFT# Shift $1 text 200
SHIFT#N Shift $1 (N) integer 200
BCHG Change to Baseline float 200
BCHGCAT# Change to Baseline Category $1 text 200
BCHGCA#N Change to Baseline Category $1 (N) integer 200
PBCHG Percent Change to Baseline float 200
PBCHGCA# Percent Change to Baseline Category $1 text 200
PBCHGC#N Percent Change to Baseline Category $1 (N) integer 200
CRIT# Analysis Criterion $1 text 200
CRIT#FL Criterion $1 Evaluation Result Flag text 200
CRIT#FN Criterion $1 Evaluation Result Flag (N) integer 200
MCRIT# Analysis Multi-Response Criterion $1 text 200
MCRIT#ML Multi-Response Criterion $1 Evaluation text 200
MCRIT#MN Multi-Response Criterion $1 Eval (N) float 200
DTYPE Derivation Type text 200
AWRANGE Analysis Window Valid Relative Range text 200
AWTARGET Analysis Window Target integer 200
AWTDIFF Analysis Window Diff from Target integer 200
AWLO Analysis Window Beginning Timepoint integer 200
AWHI Analysis Window Ending Timepoint integer 200
AWU Analysis Window Unit text 200
STARTDT Time-to-Event Origin Date for Subject integer 200
STARTDTM Time-to-Event Origin Datetime integer 200
STARTDTF Origin Date Imputation Flag text 200
STARTTMF Origin Time Imputation Flag text 200
CNSR Censor integer 200
EVNTDESC Event or Censoring Description text 200
CNSDTDSC Censor Date Description text 200
ATOXGR Analysis Toxicity Grade text 200
ATOXGRN Analysis Toxicity Grade (N) float 200
BTOXGR Baseline Toxicity Grade text 200
BTOXGRN Baseline Toxicity Grade (N) float 200
ANRIND Analysis Reference Range Indicator text 200
BNRIND Baseline Reference Range Indicator text 200
ANRLO Analysis Normal Range Lower Limit float 200
ANRLOC Analysis Normal Range Lower Limit (C) text 200
ANRHI Analysis Normal Range Upper Limit float 200
ANRHIC Analysis Normal Range Upper Limit (C) text 200
A#LO Analysis Range $1 Lower Limit float 200
A#LOC Analysis Range $1 Lower Limit (C) text 200
A#HI Analysis Range $1 Upper Limit float 200
A#HIC Analysis Range $1 Upper Limit (C) text 200
A#IND Analysis Range $1 Indicator text 200
B#IND Baseline Analysis Range $1 Indicator text 200
ATOXGRL Analysis Toxicity Grade Low text 200
ATOXGRLN Analysis Toxicity Grade Low (N) float 200
ATOXGRH Analysis Toxicity Grade High text 200
ATOXGRHN Analysis Toxicity Grade High (N) float 200
BTOXGRL Baseline Toxicity Grade Low text 200
BTOXGRLN Baseline Toxicity Grade Low (N) float 200
BTOXGRH Baseline Toxicity Grade High text 200
BTOXGRHN Baseline Toxicity Grade High (N) float 200
ATOXDSCL Analysis Toxicity Description Low text 200
ATOXDSCH Analysis Toxicity Description High text 200
NCAXFL PK NCA Exclusion Flag  text 200
NCAXFN PK NCA Exclusion Flag (N) integer 200
NCAwXRS Reason w for PK NCA Exclusion text 200
NCAwXRSN Reason for PK NCA Exclusion of w (N) integer 200
PKSUMXF PK Summary Exclusion Flag text 200
PKSUMXFN PK Summary Exclusion Flag (N) integer 200
METABFL Metabolite Flag text 200
COHORT Subject Cohort  text 200
COHORTN Subject Cohort (N) integer 200
ROUTE Route text 200
TRTRINT Planned Treatment Interval float 200
TRTRINTU Planned Treatment Interval Units text 200
DOSPCTDF Percent Diff. Nominal vs. Actual Dose float 200
DOSEFRQ Dose Frequency text 200
ACYCLE Analysis Cycle integer 200
ACYCLEC Analysis Cycle (C) text 200
FANLDT First Date of Dose for Analyte integer 200
FANLTM First Time of Dose for Analyte integer 200
FANLDTM First Datetime of Dose for Analyte integer 200
FANLEDT First End Date of Dose for Analyte integer 200
FANLETM First End Time of Dose for Analyte integer 200
FANLEDTM First End Datetime of Dose for Analyte integer 200
PCRFTDT Reference Date of Dose for Analyte yes integer 200
PCRFTTM Reference Time of Dose for Analyte yes integer 200
PCRFTDTM Reference Datetime of Dose for Analyte yes integer 200
PCRFEDT Reference End Date of Dose for Analyte integer 200
PCRFETM Reference End Time of Dose for Analyte integer 200
PCRFEDTM Ref. End Datetime of Dose for Analyte integer 200
NFRLT Nom. Rel. Time from Analyte First Dose float 200
AFRLT Act. Rel. Time from Analyte First Dose float 200
NEFRLT Nom. Rel. End Time from First Dose float 200
AEFRLT Act. Rel. End Time from First Dose float 200
FRLTU Rel. Time from First Dose Unit text 200
NRRLT Nominal Rel. Time from Ref. Dose  yes float 200
ARRLT Actual Rel. Time from Ref. Dose yes float 200
MRRLT Modified Rel. Time from Ref. Dose float 200
NERRLT Nominal Rel. End Time from Ref. Dose  float 200
AERRLT Actual Rel. End Time from Ref. Dose float 200
MERRLT Modified Rel. End Time from Ref. Dose float 200
RRLTU Rel. Time from Ref. Dose Unit yes text 200
TMPCTDF Percent Diff. Nominal vs. Actual Time float 200
ADOSEDUR Actual Duration of Treatment Dose float 200
NDOSEDUR Nominal duration of Treatment Dose float 200
DOSEDURU Duration of Treatment Dose Units text 200
AVALU Analysis Value Unit yes text 200
PCSPEC Specimen Material Type text 200
PCSTRESC Character Result/Finding in Std Format text 200
PCSTRESU Standard Units text 200
ALLOQ Analysis Lower Limit of Quantitation float 200
PCLLOQ Lower Limit of Quantitation float 200
VOLUME Volume Value float 200
VOLUMEU Volume Value Unit text 200
SPWEIGHT Specimen Weight Value float 200
SPWEIGHU Specimen Weight Value Unit text 200
PCGRPID Group ID text 200
PCSEQ Sequence Number integer 200
ABLFL Baseline Record Flag text 200
ABLFN Baseline Record Flag (N) integer 200
ANL#FL Analysis Flag $1 text 200
ANL#FN Analysis Flag $1 (N) integer 200
ONTRTFL On Treatment Record Flag text 200
ONTRTFN On Treatment Record Flag (N) integer 200
LVOTFL Last Value On Treatment Record Flag text 200
LVOTFN Last Value On Treatment Record Flag (N) integer 200
ITTRFL Intent-To-Treat Record-Level Flag text 200
ITTRFN Intent-To-Treat Record-Level Flag (N) integer 200
SAFRFL Safety Analysis Record-Level Flag text 200
SAFRFN Safety Analysis Record-Level Flag (N) integer 200
FASRFL Full Analysis Set Record-Level Flag text 200
FASRFN Full Analysis Set Record-Level Flag (N) integer 200
PPROTRFL Per-Protocol Record-Level Flag text 200
PPROTRFN Per-Protocol Record-Level Flag (N) integer 200
COMPLRFL Completers Record-Level Flag text 200
COMPRFN Completers Record-Level Flag (N) integer 200
ITTPFL Intent-To-Treat Parameter-Level Flag text 200
ITTPFN Intent-To-Treat Param-Level Flag (N) integer 200
SAFPFL Safety Analysis Parameter-Level Flag text 200
SAFPFN Safety Analysis Param-Level Flag (N) integer 200
FASPFL Full Analysis Set Parameter-Level Flag text 200
FASPFN Full Analysis Set Param-Level Flag (N) integer 200
PPROTPFL Per-Protocol Parameter-Level Flag text 200
PPROTPFN Per-Protocol Parameter-Level Flag (N) integer 200
COMPLPFL Completers Parameter-Level Flag text 200
COMPLPFN Completers Parameter-Level Flag (N) integer 200
SRCDOM Source Data text 200
SRCVAR Source Variable text 200
SRCSEQ Source Sequence Number float 200
SITEGR# Pooled Site Group $1 text 200
SITEGR#N Pooled Site Group $1 (N) integer 200
REGION# Geographic Region $1 text 200
REGION#N Geographic Region $1 (N) integer 200
AGE Age integer 200
AGEU Age Units text 200
AGEGR# Pooled Age Group $1 text 200
AGEGR#N Pooled Age Group $1 (N) integer 200
AAGE Analysis Age float 200
SEX Sex text 200
RACE Race text 200
RACEGR# Pooled Race Group $1 text 200
RACEGR#N Pooled Race Group $1 (N) integer 200
FASFL Full Analysis Set Population Flag text 200
FASFN Full Analysis Set Population Flag (N) integer 200
SAFFL Safety Population Flag text 200
SAFFN Safety Population Flag (N) integer 200
ITTFL Intent-To-Treat Population Flag text 200
ITTFN Intent-To-Treat Population Flag (N) integer 200
PPROTFL Per-Protocol Population Flag text 200
PPROTFN Per-Protocol Population Flag (N) integer 200
COMPLFL Completers Population Flag text 200
COMPLFN Completers Population Flag (N) integer 200
RANDFL Randomized Population Flag text 200
RANDFN Randomized Population Flag (N) integer 200
ENRLFL Enrolled Population Flag text 200
ENRLFN Enrolled Population Flag (N) integer 200
ARM Description of Planned Arm text 200
ACTARM Description of Actual Arm text 200
*FL text 200
TRTSEQP Planned Sequence of Treatments text 200
TRTSEQPN Planned Sequence of Treatments (N) integer 200
TRTSEQA Actual Sequence of Treatments text 200
TRTSEQAN Actual Sequence of Treatments (N) integer 200
TR#PG# Planned Pooled Treatment $2 for Period $1 text 200
TR#PG#N Planned Pooled Trt $2 for Period $1 (N) integer 200
TR#AG# Actual Pooled Treatment $2 for Period $1 text 200
TR#AG#N Actual Pooled Trt $2 for Period $1 (N) integer 200
TSEQPG# Planned Pooled Treatment Sequence $1 text 200
TSEQPG#N Planned Pooled Treatment Sequence $1 (N) integer 200
TSEQAG# Actual Pooled Treatment Sequence $1 text 200
TSEQAG#N Actual Pooled Treatment Sequence $1 (N) integer 200
DOSE#P Planned Treatment Dose for Period $1 float 200
DOSE#A Actual Treatment Dose for Period $1 float 200
DOSE#U Units for Dose for Period $1 text 200
TRTSDT Date of First Exposure to Treatment integer 200
TRTSTM Time of First Exposure to Treatment integer 200
TRTSDTM Datetime of First Exposure to Treatment integer 200
TRTSDTF Date of First Exposure Imput. Flag text 200
TRTSTMF Time of First Exposure Imput. Flag text 200
TRTEDT Date of Last Exposure to Treatment integer 200
TRTETM Time of Last Exposure to Treatment integer 200
TRTEDTM Datetime of Last Exposure to Treatment integer 200
TRTEDTF Date of Last Exposure Imput. Flag text 200
TRTETMF Time of Last Exposure Imput. Flag text 200
TR#SDT Date of First Exposure in Period $1 integer 200
TR#STM Time of First Exposure in Period $1 integer 200
TR#SDTM Datetime of First Exposure in Period $1 integer 200
TR#SDTF Date 1st Exposure Period $1 Imput. Flag text 200
TR#STMF Time 1st Exposure Period $1 Imput. Flag text 200
TR#EDT Date of Last Exposure in Period $1 integer 200
TR#ETM Time of Last Exposure in Period $1 integer 200
TR#EDTM Datetime of Last Exposure in Period $1 integer 200
TR#EDTF Date Last Exposure Period $1 Imput. Flag text 200
TR#ETMF Time Last Exposure Period $1 Imput. Flag text 200
AP#SDT Period $1 Start Date integer 200
AP#STM Period $1 Start Time integer 200
AP#SDTM Period $1 Start Datetime integer 200
AP#SDTF Period $1 Start Date Imput. Flag text 200
AP#STMF Period $1 Start Time Imput. Flag text 200
AP#EDT Period $1 End Date integer 200
AP#ETM Period $1 End Time integer 200
AP#EDTM Period $1 End Datetime integer 200
AP#EDTF Period $1 End Date Imput. Flag text 200
AP#ETMF Period $1 End Time Imput. Flag text 200
P#S# Description of Period $1 Subperiod $2 text 200
P#S#SDT Period $1 Subperiod $2 Start Date integer 200
P#S#STM Period $1 Subperiod $2 Start Time integer 200
P#S#SDM Period $1 Subperiod $2 Start Datetime integer 200
P#S#SDF Period $1 Subper $2 Start Date Imput Flag text 200
P#S#STF Period $1 Subper $2 Start Time Imput Flag text 200
P#S#EDT Period $1 Subperiod $2 End Date integer 200
P#S#ETM Period $1 Subperiod $2 End Time integer 200
P#S#EDM Period $1 Subperiod $2 End Datetime integer 200
P#S#EDF Period $1 Subper $2 End Date Imput Flag text 200
P#S#ETF Period $1 Subper $2 End Time Imput Flag text 200
APHASE# Description of Phase $1 text 200
PH#SDT Phase $1 Start Date integer 200
PH#STM Phase $1 Start Time integer 200
PH#SDTM Phase $1 Start Datetime integer 200
PH#SDTF Phase $1 Start Date Imputation Flag text 200
PH#STMF Phase $1 Start Time Imputation Flag text 200
PH#EDT Phase $1 End Date integer 200
PH#ETM Phase $1 End Time integer 200
PH#EDTM Phase $1 End Datetime integer 200
PH#EDTF Phase $1 End Date Imputation Flag text 200
PH#ETMF Phase $1 End Time Imputation Flag text 200
EOSSTT End of Study Status text 200
EOSDT End of Study Date integer 200
DCSREAS Reason for Discontinuation from Study text 200
DCSREASP Reason Spec for Discont from Study text 200
EOTSTT End of Treatment Status text 200
DCTREAS Reason for Discontinuation of Treatment text 200
DCTREASP Reason Specify for Discont of Treatment text 200
EOT#STT End of Treatment Status in Period $1 text 200
DCT#RS Reason for Discont of Treat in Period $1 text 200
DCT#RSP Reason Spec for Disc of Trt in Period $1 text 200
EOP#STT End of Period $1 Status text 200
DCP#RS Reason for Discont from Period $1 text 200
DCP#RSP Reason Spec for Discont from Period $1 text 200
RFICDT Date of Informed Consent integer 200
ENRLDT Date of Enrollment integer 200
RANDDT Date of Randomization integer 200
RFIC#DT Date of Informed Consent $1 integer 200
ENRL#DT Date of Enrollment $1 integer 200
RAND#DT Date of Randomization $1 integer 200
LSTALVDT Date Last Known Alive integer 200
TRCMP Treatment Compliance (%) float 200
TRCMPG# Treatment Compliance (%) Group $1 text 200
TRCMPG#N Treatment Compliance (%) Group $1 (N) integer 200
TR#DURD Treatment Duration in Period $1 (Days) integer 200
TR#DURM Treatment Duration in Period $1 (Months) integer 200
TR#DURY Treatment Duration in Period $1 (Years) integer 200
TRTDURD Total Treatment Duration (Days) integer 200
TRTDURM Total Treatment Duration (Months) integer 200
TRTDURY Total Treatment Duration (Years) integer 200
DTHDT Date of Death integer 200
DTHDTF Date of Death Imputation Flag text 200
DTHCAUS Cause of Death text 200
DTHCAUSN Cause of Death (N) integer 200
DTHCGR# Cause of Death Group $1 text 200
DTHCGR#N Cause of Death Group $1 (N) integer 200
* text 200

 

Validation Rules
ID Description Validator Message
AD0005B A variable with a suffix of FL must have value that is Y, N or null (Exception 1: ABLFL, ANLzzFL. Exception 2: Population flags COMPLFL, FASFL, ITTFL, PPROTFL, SAFFL, RANDFL, ENRLFL cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FL value is not Y, N or null
AD0006B A variable with a suffix of FN has a value that is not 0, 1, or null (Exception: ABLFN, ANLzzFN, and numeric population flags COMPLFN, FASFN, ITTFN, PPROTFN, SAFFN, RANDFN, ENRLFN cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FN value is not 0, 1 or null
AD0007 If a Flag Numeric (*FN) variable is present, its corresponding Flag Character (*FL) variable must be present. Find Secondary variable *FN is present, but its primary variable *FL is not present
AD0010 When a Flag variable (FL) is Y, its corresponding Flag numeric variable (FN) must be 1. Condition %Variable.1%FL = Y and %Variable.1%FN != 1
AD0011 When a Flag variable (FL) is N, its corresponding Flag numeric variable (FN) must be 0. Condition %Variable.1%FL = N and %Variable.1%FN != 0
AD0012 When a numeric Flag variable (*FN) is populated, its corresponding character Flag variable (*FL) must be populated. Condition Secondary variable %Variable.1%FN is populated, but its primary variable %Variable.1%FL is not populated
AD0013 A variable must be a max of 8 characters, start with a letter A-Z and does not contain anything other than letters, numbers, underscore (_). Regex Illegal variable name: basic format is violated
AD0016 All ADaM variable labels must be no more than 40 characters in length. This should not be possible to fail with sas v5 xpt. Dataset-XML or .csv can fail this rule. Regex Variable label length is greater than 40 characters
AD0018 The variable label in the dataset should match the variable label described in ADaM. When creating a new variable, labels can be adjusted as appropriate. Currently, this rule runs if a variable has a label that is defined in the ADaM metadata. Condition Variable label mismatch between dataset and ADaM standard
AD0019 For subject-level character population flag variables: N = no (not included), Y = yes (included). Null values are not allowed. Required %Variable% subject-population flag value is null
AD0037B Within a study, all *GRyN values must be the same for each unique value of *GRy when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%N
AD0038B Within a study, all *GRy values must be the same for each unique value of *GRyN when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%
AD0041 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DA, B8601DN , DATE, DAY, DDMMYY, DDMMYYB, DDMMYYC, DDMMYYD, DDMMYYN, DDMMYYP, DDMMYYS, DOWNAME, DTMONYY, E8601DA, JULDAY, JULIAN, MMDDYY, MMDDYYB, MMDDYYC, MMDDYYD, MMDDYYN, MMDDYYP, MMDDYYS, MMYY, MMYYB, MMYYC, MMYYD, MMYYN, MMYYP, MMYYS, MONNAME, MONTH, MONYY, PDJULG, PDJULI, QTR, QTRR, WEEKDATE, WEEKDATX, WEEKDAY, WEEKU, WEEKV, WEEKW, WORDDATE, WORDDATX, YEAR, YYMM, YYMMDD, YYMMDDB, YYMMDDC, YYMMDDD, YYMMDDN, YYMMDDP, YYMMDDS, YYMMB, YYMMC, YYMMD, YYMMN, YYMMP, YYMMS, YYMON, YYQ, YYQB, YYQC, YYQD, YYQN, YYQP, YYQS, YYQR, YYQRB, YYQRC, YYQRD, YYQRN, YYQRP, YYQRS, IS8601DA. Match *DT does not have the ADaM required SAS Date format
AD0041A *DT variables must have non-missing SAS Date Format. Required *DT variable has missing SAS Date Format
AD0042 The SAS format listed in the dataset must be valid. Here is a list of SAS Time formats utilized in the rule algorithm: B8601LZ, B8601TM, B8601TZ, E8601LZ, E8601TM, E8601TZ, HHMM, HOUR, MMSS, TIME, TIMEAMPM, IS8601TM, IS8601TZ, TOD. Match *TM does not have the ADaM required SAS time format
AD0042A *TM variables must have non-missing SAS Time Format. Required *TM variable has missing SAS Time Format
AD0043 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DT, B8601DZ, DATEAMPM, DATETIME, DTDATE, DTWKDATX, DTYEAR, DTYYQC, E8601DN, E8601DT, E8601DZ, MDYAMPM, TOD, IS8601DN, IS8601DT, IS8601DZ. Match *DTM does not have the ADaM required SAS Datetime format
AD0043A *DTM variables must have non-missing SAS Datetime Format. Required *DTM variable has missing SAS Datetime Format
AD0044 When both time and datetime variables are collected on the same record for the same observation, the Time portion of the datetime variable should be equal to the Time variable itself. Condition %Variable.1%TM and its corresponding %Variable.1%DTM variable have different time values
AD0045 When both date and datetime variables are collected on the same record for the same observation, the Date portion of the datetime variable should be equal to the Date variable itself. Condition %Variable.1%DT and its corresponding %Variable.1%DTM variable have different date values
AD0046 A variable with a suffix of DY (day) must not equal zero. Variables whose names end in DY are relative day variables. In ADaM as in the SDTM, there is no day 0. If there is a need to create a relative day variable that includes day 0, then its name must not end in DY. Regex %Variable.1%DY = 0
AD0047 Variables described in ADaM as Required must be included in the dataset. Find Required variable is not present
AD0058 The SAS TYPE for *DT variable must be equal Num. Match *DT is not a numeric variable
AD0059 The SAS TYPE for *TM variable must be equal Num. Match *TM is not a numeric variable
AD0060 The SAS TYPE for *DTM variable must be equal Num. Match *DTM is not a numeric variable
AD0090 At least 1 treatment variable is required in a BDS dataset. This requirement is satisfied by any of the subject-level (ARM, ACTARM, TRTxxP, TRTxxA, TRTSEQP, TRTSEQA, TRxxPGy, TRxxAGy, TSEQPGy, TSEQAGy) or record-level (TRTP, TRTA, TRTPGy, TRTAGy) treatment variables. One is allowed to use any treatment variable in analysis of BDS. Any subject-level treatment variable may be copied into the BDS dataset from ADSL. Find None of the subject-level or record-level treatment variables defined in the IG are present
AD0092B Within a study, all TRTPN values must be the same for each unique value of TRTP when the primary variable TRTP is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRTPN
AD0093B Within a study, all TRTP values must be the same for each unique value of TRTPN when the primary variable TRTP is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRTP
AD0095B Within a study, all TRTAN values must be the same for each unique value of TRTA when the primary variable TRTA is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRTAN
AD0096B Within a study, all TRTA values must be the same for each unique value of TRTAN when the primary variable TRTA is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRTA
AD0097 If Planned Pooled Treatment y (TRTPGyN) numeric variable is present, there must be a corresponding Planned Pooled Treatment y (TRTPGy) character variable. Find TRTPGyN is present, but TRTPGy is not present
AD0098 Any variable ending in SDY (Start day) must have a value less than or equal to its corresponding EDY (end day) value. Condition %Variable.1%SDY is greater than %Variable.1%EDY
AD0099 Any variable ending in STDY (Start day) must have a value less than or equal to its corresponding ENDY (end day) value. Condition %Variable.1%STDY is greater than %Variable.1%ENDY
AD0102 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Planned Treatment for Period xx variable (like TRT01P) in ADSL dataset. Metadata There is no TRTxxP variable in ADSL for every unique xx value of APERIOD
AD0103 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Date of First Exposure in Period xx variable for this period (like TR01SDT) in ADSL dataset. Metadata There is no TRxxSDT variable in ADSL for every unique xx value of APERIOD
AD0104 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Date of Last Exposure in Period xx variable for this period (like TR01EDT) in ADSL dataset. Metadata There is no TRxxEDT variable in ADSL for every unique xx value of APERIOD
AD0105B Within a study, all APERIODC values must be the same for each unique value of APERIOD when the primary variable APERIOD is populated. Unique Inconsistent value for APERIODC
AD0106B Within a study, all APERIOD values must be the same for each unique value of APERIODC when the primary variable APERIOD is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for APERIOD
AD0109B Within a study, all AVISITN values must be the same for each unique value group of [PARAMCD, AVISIT] when PARAMCD and primary variable AVISIT are populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for AVISITN
AD0110B Within a study, all AVISIT values must be the same for each unique value group of [PARAMCD, AVISITN] when PARAMCD and primary variable AVISIT are populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for AVISIT
AD0111 When ARELTM is present, the Anchor Time variable and ARELTMU (Analysis Relative Time unit) must also be included in the dataset, and the anchor time variable must be identified in the metadata for ARELTM. Find ARELTM is present, but ARELTMU is not present
AD0112 If ARELTMU (Analysis Relative Time unit) or ARELTM (Analysis Relative Time) is populated, then both must be populated together. Condition Only one of these variables is populated: ARELTM, ARELTMU
AD0113 When ARELTM is present, the anchor time variable and ARELTMU must also be included in the dataset, and the anchor time variable must be identified in the metadata for ARELTM. Find ARELTMU is present, but ARELTM is not present
AD0117B Within a study, all ATPT values must be the same for each unique value group of [PARAMCD, ATPTN] when PARAMCD and primary variable ATPT are populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for ATPT
AD0118B Within a study, all ATPTN values must be the same for each unique value group of [PARAMCD, ATPT] when PARAMCD and primary variable ATPT are populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for ATPTN
AD0121 Any variable ending in SDT (Start Date) must have a value less than or equal to its corresponding EDT (End Date) value (e.g., ADSL - TRTSDT, TR01SDT, AP01SDT; BDS - APERSDT). Condition %Variable.1%SDT is greater than %Variable.1%EDT
AD0122 Any variable ending in SDTM (Start Date Time) must have a value less than or equal to its corresponding EDTM (End Date Time) value (e.g., ADSL - TRTSDTM, TR01SDTM, AP01SDTM; BDS - APERSDTM). Condition %Variable.1%SDTM is greater than %Variable.1%EDTM
AD0123 Within a study, all PARAMTYP values must be the same for each unique value of PARAMCD when PARAMCD is populated. If a PARAMCD is said to be derived, all instances must be derived. More than one parameter can be derived. Unique Inconsistent value for PARAMTYP
AD0124 Within a study, all PARCATy values must be the same for each unique value of PARAMCD when PARAMCD is populated. A Parameter can only be categorized once. However, that Category can be used across PARAMs. Unique Inconsistent value for PARCAT%Variable.1% within a unique PARAMCD
AD0125B Within a study, all PARCATy values must be the same for each unique value of PARCATyN when both variables are populated. Unique Inconsistent value for PARCAT%Variable.1%
AD0126B Within a study, all PARCATyN values must be the same for each unique value of PARCATy when both variables are populated. Unique Inconsistent value for PARCAT%Variable.1%N
AD0127 Within a given Subject's PARAMCD, a baseline value is populated (either BASE or BASEC) and there is not at least one record in that group marked as the baseline (ABLFL = Y). Find BASE or BASEC is populated for a unique USUBJID, PARAMCD, but no baseline record exists
AD0127A ABLFL is required if BASE or BASEC is present in the dataset. Find BASE or BASEC is present, but ABLFL is not present
AD0129 Within a study, all BASE values must be the same for each unique value group of [PARAMCD, BASEC] when PARAMCD, BASE and BASEC are populated (ADaM IG: There must be a one-to-one map between BASE and BASEC within a given PARAM if BOTH are populated). Unique Inconsistent value for BASE
AD0130 Within a study, all BASEC values must be the same for each unique value group of [PARAMCD, BASE] when PARAMCD, BASE and BASEC are populated. (ADaM IG: There must be a one-to-one map between BASE and BASEC within a given PARAM if BOTH are populated). Unique Inconsistent value for BASEC
AD0132 When all 3 variables are populated and BASE does not equal 0, Ratio to Base (R2BASE) must equal Analysis Value (AVAL) / Baseline Value (BASE). AD0132A will raise errors when BASE equals 0. AD0132B also complements this check. Condition Calculation issue: R2BASE != AVAL / BASE
AD0132A When baseline (BASE) equals 0, the Ratio to Baseline (R2BASE) should not be populated since you cannot divide by 0. AD0132 checks the RSBASE calculation is correct when BASE does not equal 0. Condition Calculation issue: BASE = 0, but R2BASE is populated
AD0132B If any of CHG (change), PCHG (percent change), or R2BASE (ratio of Analysis Value to Base) is populated, the values necessary for its calculation must both be present and populated. CHG = AVAL - BASE, PCHG = (AVAL - BASE)/BASE * 100, R2BASE = AVAL / BASE. Once this issue is resolved, there is greater potential for rules AD0132, AD0225, AD0223 to fire. Condition Calculation issue: CHG, PCHG or R2BASE is populated, but AVAL and/or BASE are not present and populated
AD0133 When all 3 variables are populated and AyLO does not equal 0, Ratio to AyLO (R2AyLO) must equal Analysis Value (AVAL) / Analysis Range y LO Value (AyLO). Condition Calculation issue: R2A%Variable.1%LO != AVAL / A%Variable.1%LO
AD0133A R2AyLO = AVAL / AyLO. therefore if R2AyLO is present, both AVAL and AyLO must be present for calculation consistency. Find Calculation issue: R2A%Variable.1%LO is present, but AVAL and/or A%Variable.1%LO is not present
AD0133B If R2AyLO is populated, the values necessary for its calculation must both be present and populated. R2AyLO = AVAL / AyLO. Once this issue is resolved, there is greater potential for AD0133 to fire. Condition Calculation issue: R2A%Variable.1%LO is populated, but AVAL and/or A%Variable.1%LO are not populated
AD0133C When Analysis Range Low (AyLO) equals 0, the Ratio to Analysis Range Low (R2AyLO) should not be populated since you cannot divide by 0. AD0133 checks the calculation is correct when AyLO does not equal 0. Condition Calculation issue: A%Variable.1%LO = 0, but R2A%Variable.1%LO is populated
AD0134 When all 3 variables are populated and AyHI does not equal 0, Ratio to AyHI (R2AyHI) must equal Analysis Value (AVAL) / Analysis Range y HI Value (AyHI). Condition Calculation issue: R2A%Variable.1%HI != AVAL / A%Variable.1%HI
AD0134A R2AyHI = AVAL / AyHI. Therefore, if R2AyHI is present, both AVAL and AyHI must be present for calculation consistency. Find Calculation issue: R2A%Variable.1%HI is present, but AVAL and/or A%Variable.1%HI is not present
AD0134B If R2AyHI is populated, the values necessary for its calculation must both be present and populated. R2AyHI = AVAL / AyHI. Once this issue is resolved, there is greater potential for AD0134 to fire. Condition Calculation issue: R2A%Variable.1%HI is populated, but AVAL and/or A%Variable.1%HI are not populated
AD0134C When Analysis Range High (AyHI) = 0, the Ratio to Analysis Range High (R2AyHI) should not be populated since you cannot divide by 0. AD0134 checks the calculation is correct when AyLO != '0'. Condition Calculation issue: A%Variable.1%HI = 0, but R2A%Variable.1%HI is populated
AD0135B Within a study, all SHIFTy values must be the same for each unique value of SHIFTyN when PARAMCD, SHIFTy, and SHIFTyN variables are populated. Unique Inconsistent value for SHIFT%Variable.1%
AD0136B Within a study, all SHIFTyN values must be the same for each unique value of SHIFTy when PARAMCD, SHIFTy, and SHIFTyN variables are populated. Unique Inconsistent value for SHIFT%Variable.1%N
AD0137 When CRITyFL (Analysis Criterion Flag) is populated, it's corresponding parent Analysis Criterion y must be populated. Condition CRITyFL is populated, but CRITy is not populated
AD0141 Within a study, All PARAM values must be the same for each unique value of PARAMCD when both PARAMCD and PARAM are populated. Unique Inconsistent value for PARAM within a unique PARAMCD
AD0142 Within a study, All PARAMCD values must be the same for each unique value of PARAM when both PARAMCD and PARAM are populated. Unique Inconsistent value for PARAMCD within a unique PARAM
AD0143 PARAMCD value must be a max of 8 characters, start with a letter A-Z or underscore, and not contain anything other than letters, numbers, or underscore (_). Regex Illegal PARAMCD value
AD0146B Within a study, all PARAM values must be the same for each unique value of PARAMN when both variables PARAM and PARAMN are populated. Unique Inconsistent value for PARAM
AD0147B Within a study, all PARAMN values must be the same for each unique value of PARAM when both variables PARAM and PARAMN are populated. Unique Inconsistent value for PARAMN
AD0149B Within a study and a given value of PARAMCD when both AVAL and AVALC are populated, then all AVALC values must be the same for each unique value of AVAL creating a one-to-one mapping. Considering only those rows on which both variables are populated. Unique Inconsistent value for AVALC
AD0150 Within a study and a given value of PARAMCD when both AVAL and AVALC are populated, then all AVAL values must be the same for each unique value of AVALC creating a one-to-one mapping. Unique Inconsistent value for AVAL
AD0151 Within a study, all CRITy values must be the same for each unique value of PARAMCD when PARAMCD and CRITy are populated. Example: PARAMCD = SYSBP (mm Hg), CRIT1 = SYSBP >160. Unique Inconsistent value for CRIT%Variable.1% within a unique PARAMCD
AD0152 If the record is flagged as the baseline (ABLFL = Y), then the baseline Value (BASE) must equal the Analysis Value (AVAL). Condition ABLFL = Y, but BASE != AVAL
AD0154 For a set of [Subject (USUBJID), Parameter (PARAMCD), baseline type (BASETYPE)] only one record can be the actual baseline value, marked by ABLFL = Y. Unique Multiple baseline records exist for a unique USUBJID, PARAMCD, BASETYPE
AD0156 If Criterion y Flag (CRITyFL) variable is present, there must also be a corresponding Criterion y (CRITy) variable. Find CRITyFL is present, but CRITy is not present
AD0157 If Criterion y (CRITy) variable is present, there must also be a corresponding Criterion y Flag (CRITyFL) variable. Find CRITy is present, but CRITyFL is not present
AD0159 If AWTDIFF (Analysis Window Diff from Target) is populated AWTARGET (Analysis Window Target) must be populated. AWTDIFF = Absolute value of (ADY or ARELTM) - AWTARGET. Note: A future rule should validate that the calculation is correct. Rule enhanced by Pinnacle 21 to include ADY and ARELTM. If only AWTDIFF is present and populated, this rule will fire even if some or all other variables are not present. This may fire simultaneously with AD0158. Condition Calculation issue: AWTDIFF is populated, but AWTARGET and/or one of [ADY, ARELTM] are not both present and populated
AD0160 If Analysis Window Unit (AWU) variable is present, then Analysis Window Beginning Timepoint (AWLO) and (Analysis Window Ending Timepoint) AWHI variables must be present. Find AWU is present, but both AWLO and AWHI are not present
AD0163 If Baseline Toxicity Grade (BTOXGR) variable is present, then Analysis Toxicity Grade (ATOXGR) and Baseline Record Flag (ABLFL) variables must be present. Find BTOXGR is present, but ATOXGR is not present
AD0164 If Baseline Toxicity Grade (BTOXGR) variable is present, then Analysis Toxicity Grade (ATOXGR) and Baseline Record Flag (ABLFL) variables must be present. Find BTOXGR is present, but ABLFL is not present
AD0165 If the record is flagged as the baseline (ABLFL = Y), then the baseline toxicity grade (BTOXGR) value must equal the analysis toxicity grade (ATOXGR) value. Condition ABLFL = Y, but BTOXGR != ATOXGR
AD0166 If Baseline Reference Range Indicator (BNRIND) variable is present, then Analysis Reference Range Indicator (ANRIND) and Baseline Record Flag (ABLFL) variables must be present. Find BNRIND is present, but ANRIND is not present
AD0167 If Baseline Reference Range Indicator (BNRIND) variable is present, then Analysis Reference Range Indicator (ANRIND) and Baseline Record Flag (ABLFL) variables must be present. Find BNRIND is present, but ABLFL is not present
AD0168 If the record is flagged as the baseline (ABLFL = Y), then the baseline normal range indicator (BNRIND) value must equal the analysis normal range indicator (ANRIND) value. Condition ABLFL = Y, but BNRIND != ANRIND
AD0169 Censor (CNSR) value must be an integer. Defines whether the event was censored (period of observation truncated prior to event being observed). It is strongly recommended to use 0 as an event indicator and positive integers as censoring indicators. It is also recommended that unique positive integers be used to indicate coded descriptions of censoring reasons. CNSR is required for time-to-event parameters. Regex CNSR is not an integer >= 0
AD0176 Analysis Baseline Flag character (ABLFL) must be Y or null. For parameter-level and record-level character population flag variables: Y = yes (included). Null values are allowed. Match ABLFL value is not Y or null
AD0178 A variable of form ANLzzFL (analysis record flag) must be Y or null. Match ANL%Variable.1%FL value is not Y or null
AD0196 Unlike SDTM, only some of ADaM Required variables (where Core attribute is 'Req') must be populated. CDISC ADaM rules affirm that PARAM and PARAMCD must be populated, while others are populated as appropriate. Known Exceptions: TRTP, TRTxxP, AGE, AGEU, RACE, SUBJID, AESER. Required Required %Variable% value is null
AD0198 At least one Analysis Value (numeric or character) variable must be present in BDS datasets. Find Neither AVAL nor AVALC are present in dataset
AD0201 If Actual Pooled Treatment y (TRTAGyN) numeric variable is present, there must be a corresponding Planned Pooled Treatment y (TRTPGy) character variable. Find TRTAGyN is present, but TRTAGy is not present
AD0211 ABLFN (Analysis Baseline Flag Numeric) must be 1 or null. For Parameter-Level and Record-Level Numeric Population Flag variables: 1 = yes (included). Null values are allowed. Match ABLFN value is not 1 or null
AD0212 ANLzzFN (Analyzed Record Flag zz Numeric) must be 1 or null. For Parameter-Level and Record-Level Numeric Population Flag variables: 1 = yes (included). Null values are allowed. Match ANL%Variable.1%FN value is not 1 or null
AD0221 Within a study, all Category y (*CATy) variable values must be the same for each unique value of the variable it categorizes within a PARAMCD. [AVAL:AVALCATy], [AVALC:AVALCATy], [BASE:BASECATy], [BASEC:BASECATy], [CHG:CHGCATy], [PCHG:PCHGCATy]. A Category may be the same across values. Unique Inconsistent value for %Variable.1%CAT%Variable.2%
AD0223 When all 3 variables are populated, Change from Baseline (CHG) must equal Analysis Value (AVAL) minus Baseline Value (BASE). Condition Calculation issue: CHG != AVAL - BASE
AD0225 When all 3 variables are populated and base <> 0, Percent Change from Baseline (PCHG) must equal the difference of Analysis Value (AVAL) minus Baseline Value (BASE) divided by the Baseline Value (BASE), expressed as a percentage. AD0225A will raise errors when BASE = 0. AD0132B also complements this check. Condition Calculation issue: PCHG != (AVAL - BASE)/BASE * 100
AD0225A When Baseline (BASE) equals 0, the Percent Change from Baseline (PCHG) should not be populated since you cannot divide by 0. AD0225 checks the PCHG calculation is correct when BASE does not equal 0. AD0132B also complements this rule. Condition Calculation issue: BASE = 0, but PCHG is populated
AD0237B Within a study, all Planned Pooled Treatment y (TRTPGy) variable values must be the same for each unique value of Planned Pooled Treatment y (N) (TRTPGyN) variable when both variables are populated. Analogous rule for AD0240. Unique Inconsistent value for TRTPG%Variable.1%
AD0238B Within a study, all Planned Pooled Treatment y (N) (TRTPGyN) variable values must be the same for each unique value of Planned Pooled Treatment y (TRTPGy) variable when both variables are populated. Analogous rule for AD0241. Unique Inconsistent value for TRTPG%Variable.1%N
AD0239 If both actual treatment (TRTA) and Planned Pooled Treatment y (TRTPGy) are present, then Actual Pooled Treatment y (TRTAGy) variable must be present. Find TRTPGy and TRTA are present, but TRTAGy is not present
AD0240B Within a study, all Actual Pooled Treatment y (TRTAGy) variable values must be the same for each unique value of Actual Pooled Treatment y (N) (TRTAGyN) variable when both variables are populated. Analogous rule for AD0237. Unique Inconsistent value for TRTAG%Variable.1%
AD0241B Within a study, all Actual Pooled Treatment y (N) (TRTAGyN) variable values must be the same for each unique value of Actual Pooled Treatment y (TRTAGy) variable when both variables are populated. Analogous rule for AD0238. Unique Inconsistent value for TRTAG%Variable.1%N
AD0245 When Censor (CNSR) variable is present, the Time-to-Event Origin Date for Subject (STARTDT) and one of Analysis Date (ADT) or Analysis Datetime (ADTM) variables must be included in the dataset. In Time to Event studies, the basis of analysis is the time from a defined starting point to the time of occurrence of the event of interest. Find CNSR is present, but STARTDT is not present
AD0246 When Censor (CNSR) variable is present, the Time-to-Event Origin Date for Subject (STARTDT) and one of Analysis Date (ADT) or Analysis Datetime (ADTM) variables must be included in the dataset. In Time to Event studies, the basis of analysis is the time from a defined starting point to the time of occurrence of the event of interest. Find CNSR is present, but both ADT and ADTM are not present
AD0247 When an event is censored, 3 other variables must be populated. Censor (CNSR) variable qualifies the Analysis Value (AVAL) variable. ADT and ADTM variables are the Analysis Date and Time of event or censoring associated with AVAL. Origin Date for Subject (STARTDT) variable is the original date of risk for the time-to-event analysis. This is generally the time at which a subject is first at risk for the event of interest evaluation. Condition CNSR is populated, but AVAL, STARTDT, and one of [ADT, ADTM] are not populated
AD0250 In Time to Event studies, Event or Censoring Description (EVNTDESC) variable is the description of the event of interest or an event that warrants censoring. Therefore, Censor (CNSR) variable should be present. Censor Date Description (CNSDTDSC) variable describes the circumstance represented by the censoring date if different from the event date that warrants censoring. If present, CNSR must be present. Note that adding CNSDTDSC provides additional information when there is a difference between the event date that warrants censoring and the actual date of censoring. If the event that warrants censoring is the same as the onset date of the event that represents the censoring date, then the CNSDTDSC column is not needed in the analysis dataset. Find EVNTDESC and/or CNSDTDSC is present, but CNSR is not present
AD0251 In Time to Event studies, Censor Date Description (CNSDTDSC) variable describes the circumstance represented by the censoring date if different from the event date that warrants censoring. If present, Censor (CNSR) variable must be present. Note that adding CNSDTDSC provides additional information when there is a difference between the event date that warrants censoring and the actual date of censoring. If the event that warrants censoring is the same as the onset date of the event that represents the censoring date, then the CNSDTDSC column is not needed in the analysis dataset. Find CNSDTDSC is present, but CNSR is not present
AD0252 Variables described in ADaM IG as inappropriate for usage must be not included in the dataset. i.e., for ADAE, there is no need for AVAL, AVALC and Parameter variables. Find Variable present in dataset is prohibited for use in ADaM
AD0256 All subjects included into ADaM datasets should be present in ADSL dataset and use the same Unique Subject Identifier (USUBJID). Lookup USUBJID value does not exist in the ADaM ADSL domain
AD0269 A Treatment Flag variable must have a value that is Y or null. Examples of such Flags variables in ADaM-IG 1.2 are Treatment Emergent Analysis Flag (TRTEMFL), Pre-treatment Flag (PREFL), On Treatment Record Flag (ONTRTFL), Follow-up Flag (FUPFL), and Last Value On Treatment Record Flag (LVOTFL). Match %Variable% flag value is not Y or null
AD0322 Within a given value of Planned Treatment (TRTP) variable, there can only be one unique value of Planned Pooled Treatment y (TRTPGy) variable. Unique Inconsistent value for TRTPGy within a given TRTP
AD0323 Within a Study, all Phase (N) (APHASEN) variable values must be the same for each unique value of Phase (APHASE) variable when the primary variable APHASE is populated. Unique Inconsistent value for APHASEN
AD0324 Within a Study, all Phase(APHASE) variable values must be the same for each unique value of Phase (N) (APHASEN) variable when the primary variable APHASEN is populated. Unique Inconsistent value for APHASE
AD0325 Within a Study and a Period, all Subperiod within Period (ASPER) variable values must be the same for each unique value of Subperiod within Period (C) (ASPERC) variable when the primary variable ASPERC is populated. Unique Inconsistent value for ASPER
AD0326 Within a Study and a Period, all Subperiod within Period (C) (ASPERC) variable values must be the same for each unique value of Subperiod within Period (ASPER) variable when the primary variable ASPER is populated. Unique Inconsistent value for ASPERC
AD0327 Within a Study and a Parameter, all Analysis Value Category y (AVALCATy) variable values must be the same for each unique value of Analysis Value Category y (N) (AVALCAyN) variable when the primary variable AVALCAy is populated. Unique Inconsistent value for AVALCAT%Variable.1%
AD0328 Within a Study and a Parameter, all Analysis Value Category y (N) (AVALCAyN) variable values must be the same for each unique value of Analysis Value Category y (AVALCATy) variable when the primary variable AVALCATy is populated. Unique Inconsistent value for AVALCA%Variable.1%N
AD0329 Within a Study and a Parameter, all Baseline Category y (BASECATy) variable values must be the same for each unique value of Baseline Category y (N) (BASECAyN) variable when the primary variable BASECATy is populated. Unique Inconsistent value for BASECAT%Variable.1%
AD0330 Within a Study and a Parameter, all Baseline Category y (N) (BASECAyN) variable values must be the same for each unique value of Baseline Category y (BASECATy) variable when the primary variable BASECATy is populated. Unique Inconsistent value for BASECA%Variable.1%N
AD0331 Within a Study and a Parameter, all Change from Baseline Category y (CHGCATy) variable values must be the same for each unique value of Change from Baseline Category y (N) (CHGCATyN) variable when variable CHGCATyN is populated. Unique Inconsistent value for CHGCAT%Variable.1%
AD0332 Within a Study and a Parameter, all Change from Baseline Category y (N) (CHGCATyN) variable values must be the same for each unique value of Change from Baseline Category y (CHGCATy) variable when the primary variable CHGCATy is populated. Unique Inconsistent value for CHGCAT%Variable.1%N
AD0333 Within a Study and a Parameter, all Percent Chg from Baseline Category y (PCHGCATy) variable values must be the same for each unique value of Percent Chg from Baseline Category y (N) (PCHGCAyN) variable when variable PCHGCAyN is populated. Unique Inconsistent value for PCHGCAT%Variable.1%
AD0334 Within a Study and a Parameter, all Percent Chg from Baseline Category y (N) (PCHGCAyN) variable values must be the same for each unique value of Percent Chg from Baseline Category y (PCHGCATy) when the primary variable PCHGCATy is populated. Unique Inconsistent value for PCHGCA%Variable.1%N
AD0337 If Multi-Response Criterion y Evaluation (MCRITyML) flag variable is present, there must also be a corresponding Analysis Multi-Response Criterion y (MCRITy) variable. Find MCRIT%Variable.1% variable is not present when MCRIT%Variable.1%ML is present
AD0338 If Analysis Multi-Response Criterion y (MCRITy) variable is present, there must also be a corresponding Multi-Response Criterion y Evaluation (MCRITyML) flag variable. Find MCRIT%Variable.1%ML is not present when MCRIT%Variable.1% is present
AD0339 When Multi-Response Criterion y Evaluation (MCRITyML) variable value is populated, then its corresponding Analysis Multi-Response Criterion y (MCRITy) variable must be also populated. Condition MCRIT%Variable.1% is not populated when MCRIT%Variable.1%ML is populated
AD0340 Within a Study and a Parameter, all Multi-Response Criterion y Evaluation (MCRITyML) variable values must be the same for each unique value of Multi-Response Criterion y Eval (N) (MCRITyMN) variable when variable MCRITyMN is populated. Unique Inconsistent value for MCRIT%Variable.1%ML
AD0341 Within a Study and a Parameter, all Multi-Response Criterion y Eval (N) (MCRITyMN) variable values must be the same for each unique value of Multi-Response Criterion y Evaluation (MCRITyML) variable when the primary variable MCRITyML is populated. Unique Inconsistent value for MCRIT%Variable.1%MN
AD0342 Within a Study and a Parameter, all Analysis Normal Range Lower Limit (ANRLO) variable values must be the same for each unique value of Analysis Normal Range Lower Limit (C) (ANRLOC) variable when variable ANRLOC is populated. Unique Inconsistent value for ANRLO
AD0343 Within a Study and a Parameter, all Analysis Normal Range Lower Limit (C) (ANRLOC) variable values must be the same for each unique value of Analysis Normal Range Lower Limit (ANRLO) variable when variable ANRLO is populated. Unique Inconsistent value for ANRLOC
AD0344 Within a Study and a Parameter, all Analysis Normal Range Upper Limit (ANRHI) variable values must be the same for each unique value of Analysis Normal Range Upper Limit (C) (ANRHIC) variable when variable ANRHIC is populated. Unique Inconsistent value for ANRHI
AD0345 Within a Study and a Parameter, all Analysis Normal Range Upper Limit (C) (ANRHIC) variable values must be the same for each unique value of Analysis Normal Range Upper Limit (ANRHI) when variable ANRHI is populated. Unique Inconsistent value for ANRHIC
AD0346 If Ratio to Analysis Range y Lower Limit (R2AyLO) flag variable is present, there must also be a corresponding Analysis Range y Lower Limit (AyLO) variable. Find A%Variable.1%LO variable is not present when R2A%Variable.1%LO is present
AD0347 Within a Study and a Parameter, all Analysis Range y Lower Limit( AyLO) variable values must be the same for each unique value of Analysis Range y Lower Limit (C) (AyLOC) variable when variable AyLOC is populated. Unique Inconsistent value for A%Variable.1%LO
AD0348 Within a Study and a Parameter, all Analysis Range y Lower Limit (C) (AyLOC) variable values must be the same for each unique value of Analysis Range y Lower Limit (AyLO) variable when variable AyLO is populated. Unique Inconsistent value for A%Variable.1%LOC
AD0349 If Ratio to Analysis Range y Upper Limit (R2AyHI) variable is present, there must also be a corresponding Analysis Range y Upper Limit (AyHI) variable. Find A%Variable.1%HI variable is not present when R2A%Variable.1%HI is present
AD0350 Within a Study and a Parameter, all Analysis Range y Upper Limit (AyHI) variable values must be the same for each unique value of Analysis Range y Upper Limit (C) (AyHIC) variable when variable AyHIC is populated. Unique Inconsistent value for A%Variable.1%HI
AD0351 Within a Study and a Parameter, all Analysis Range y Upper Limit (C) (AyHIC) variable values must be the same for each unique value of Analysis Range y Upper Limit (AyHI) variable when variable AyHI is populated. Unique Inconsistent value for A%Variable.1%HIC
AD0352 Analysis Range y Indicator (AyIND) variable indicates the relationship of Analysis Value (AVAL) to the analysis range variables Analysis Range y Lower Limit (AyLO) and/or Analysis Range y Upper Limit (AyHI), or the relationship of Analysis Value (C) (AVALC) variable to the analysis range variables Analysis Range y Lower Limit (C) (AyLOC) and/or Analysis Range y Upper Limit (C) AyHIC. At least one of AyLO, AyHI, AyLOC, and AyHIC is expected to be present for use of AyIND variable. Find None of A%Variable.1%LO, A%Variable.1%HI, A%Variable.1%LOC, or A%Variable.1%HIC variables is present when A%Variable.1%IND is present
AD0353 If the record is flagged as the Analysis Baseline (ABLFL = Y), then the value of Baseline Analysis Range y Indicator (ByIND) variable must equal the value of Analysis Range y Indicator (AyIND) variable. Condition B%Variable.1%IND != A%Variable.1%IND when ABLFL = Y
AD0361 The value of Analysis Start Date (ASTDT) variable must be less or equal to Analysis End Date (AENDT) variable value. Condition Value of ASTDT is greater than value of AENDT
AD0362 The value of Analysis Start Datetime (ASTDTM) variable must be less or equal to Analysis End Datetime (AENDTM) variable value. Condition Value of ASTDTM is greater than value of AENDTM
AD0369 If a Date variable is indicated to be imputated by population of an Imputation Flag (*DTF), that Date variable (*DT) or Datetime variable (*DTM) must have a value. Condition %Variable.1%DTF is populated, but %Variable.1%DT or %Variable.1%DTM is not populated
AD0370 If a Time variable is indicated to be imputated by population of an Imputation Flag (*TMF), that Time variable (*TM) or Datetime variable (*DTM) must have a value. Condition %Variable.1%TMF is populated, but %Variable.1%TM or %Variable.1%DTM is not populated
AD0376 In a pair of corresponding character and numeric variables, the secondary variable must be populated if its primary variable is populated. Exceptions: *DTC, *FN, TRTPN, TRT01PN, PARAMN, AVALC, BASEC. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Primary variable %Variable.1% is populated, but its secondary variable %Variable% is not populated
AD0381 Within a parameter, there should be only a single value of a primary variable (*) for a given value of secondary variable (*N), considering only those rows on which both variables are populated. Covers variable pairs: BTOXGR/BTOXGRN, BTOXGRL/BTOXGRLN, BTOXGRH/BTOXGRHN, ATOXGRL/ATOXGRLN, ATOXGRH/ATOXGRHN. Unique Inconsistent value for %Variable% within a unique PARAMCD
AD0382 Within a parameter, there should be only a single value of Baseline Toxicity Grade (N) (BTOXGRN) variable for a given value of Baseline Toxicity Grade (BTOXGR) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BTOXGRN within a unique PARAMCD
AD0384 Within a parameter, there should be only a single value of Baseline Toxicity Grade Low (N) (BTOXGRLN) variable for a given value of Baseline Toxicity Grade Low (BTOXGRL) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BTOXGRLN within a unique PARAMCD
AD0388 Within a parameter, there should be only a single value of Baseline Toxicity Grade High (N) (BTOXGRHN) variable for a given value of Baseline Toxicity Grade High (BTOXGRH) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BTOXGRHN within a unique PARAMCD
AD0396 Within a parameter, there should be only a single value of ATOXGRLN for a given value of ATOXGRL, considering only those rows on which both variables are populated. Unique Inconsistent value for ATOXGRLN within a unique PARAMCD
AD0400 Within a parameter, there should be only a single value of Analysis Toxicity Grade Low (N) (ATOXGRHN) variable for a given value of Analysis Toxicity Grade Low (ATOXGRH) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for ATOXGRHN within a unique PARAMCD
AD0401 On a given record, if Analysis Toxicity Description Low (ATOXDSCL) variable value is populated, then both Analysis Value (AVAL) and the Analysis Toxicity Grade Low (ATOXGRL) variable values must be populated. Condition AVAL is not populated or ATOXGRL is not populated, and ATOXDSCL is populated
AD0402 On a given record, if Analysis Toxicity Description High (ATOXDSCH) variable value is populated, then both Analysis Value (AVAL) and the Analysis Toxicity Grade High (ATOXGRH) variable values must be populated. Condition AVAL is not populated or ATOXGRH is not populated, and ATOXDSCH is populated
AD0403 Within a subject, there should be only a single value of Analysis Toxicity Description Low (ATOXDSCL) variable for a given value of Parameter Code (PARAMCD) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for ATOXDSCL within a subject and parameter
AD0405 Within a subject, there should be only a single value of Analysis Toxicity Description High (ATOXDSCH) variable for a given value of Parameter Code (PARAMCD) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for ATOXDSCH within a subject and parameter
AD0450 On a given record, if Multi-Response Criterion y Evaluation (MCRITyML) variable value is populated, then Multi-Response Criterion y Eval (N) (MCRITyMN) variable value must also be populated. Condition MCRITyML is populated, but MCRITyMN is not populated
AD0451 On a given record, if Multi-Response Criterion y Eval (N) (MCRITyMN) variable value is populated, then Multi-Response Criterion y Evaluation (MCRITyML) variable value must also be populated. Condition MCRITyMN is populated, but MCRITyML is not populated
AD0482 In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be populated if its secondary variable describing it is populated. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Primary variable BCHGCATy is populated, but its secondary variable BCHGCAyN is not populated
AD0483 In a pair of corresponding character and numeric variables, the secondary variable must be populated if its primary variable is populated. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Secondary variable BCHGCAyN is populated, but its primary variable BCHGCATy is not populated
AD0484 In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be populated if its secondary variable describing it is populated. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Primary variable PBCHGCAy is populated, but its secondary variable PBCHGCyN is not populated
AD0485 In a pair of corresponding character and numeric variables, the secondary variable must be populated if its primary variable is populated. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Secondary variable PBCHGCyN is populated, but its primary variable PBCHGCAy is not populated
AD0492 If Shift $y (SHIFTy) variable is present, the variable pair it is describing should also be present. Pairs include (BASECATy/ AVALCATy), (BNRIND/ANRIND), (ByIND/AyIND), (BTOXGR/ATOXGR), (BTOXGRL/ATOXGRL), (BTOXGRH/ATOXGRH), (BASE/AVAL) and (BASEC/AVALC). Find SHIFTy is present and all of the following variable pairs (BASECATy, AVALCATy), (BNRIND, ANRIND), (ByIND, AyIND), (BTOXGR, ATOXGR), (BTOXGRL, ATOXGRL), (BTOXGRH, ATOXGRH), (BASE, AVAL) and (BASEC, AVALC) are not present
AD0499 If Subperiod within Period (ASPER) variable is used in a dataset, Period (APERIOD) variable must also be present in that dataset. Find ASPER is present and APERIOD is not present
AD0501 On a given record, if Subperiod within Period (ASPER) variable is populated, then Period (APERIOD) variable must be populated. Condition ASPER is populated and APERIOD is not populated
AD0543 If Analysis Value Category y (N) (AVALCAyN) variable is used in a dataset, Analysis Value Category y (AVALCATy) variable must also be present in that dataset. Find AVALCAyN is present and AVALCATy is not present
AD0544 If Baseline Category y (N) (BASECAyN) variable is used in a dataset, Baseline Category y (BASECATy) variable must also be present in that dataset. Find BASECAyN is present and BASECATy is not present
AD0545 If Change from Baseline Category y (N) (CHGCATyN) variable is used in a dataset, Change from Baseline Category y (CHGCATy) variable must also be present in that dataset. Find CHGCATyN is present and CHGCATy is not present
AD0546 If Percent Chg from Baseline Category y (N) (PCHGCAyN) variable is used in a dataset, Percent Chg from Baseline Category y (PCHGCATy) variable must also be present in that dataset. Find PCHGCAyN is present and PCHGCATy is not present
AD0552 If Multi-Response Criterion y Eval (N) (MCRITyMN) variable is used in a dataset, Multi-Response Criterion y Evaluation (MCRITyML) variable must also be present in that dataset. Find MCRITyMN is present and MCRITyML is not present
AD0565 If Change to Baseline Category y (N) (BCHGCAyN) variable is used in a dataset, Change to Baseline Category y (BCHGCATy) variable must also be present in that dataset. Find BCHGCAyN is present and BCHGCATy is not present
AD0566 If Percent Change to Baseline Category y (N) (PBCHGCyN) variable is used in a dataset, Percent Change to Baseline Category y (PBCHGCAy) variable must also be present in that dataset. Find PBCHGCyN is present and PBCHGCAy is not present
AD0582 When all 3 variables are populated, Change to Baseline (BCHG) must equal Baseline Value (BASE) minus Analysis Value (AVAL). Condition Calculation issue: BCHG != BASE - AVAL
AD0584 Within a parameter, there should be only a single value of Change to Baseline Category y (BCHGCATy) variable for a given value of Change to Baseline Category y (N) (BCHGCAyN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BCHGCATy within a unique PARAMCD
AD0585 Within a parameter, there should be only a single value of Change to Baseline Category y (N) (BCHGCAyN) variable for a given value of Change to Baseline Category y (BCHGCATy) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BCHGCAyN within a unique PARAMCD
AD0586 When all 3 variables are populated and base &lt;&gt; 0, Percent Change to Baseline (PBCHG) must equal the difference of Baseline Value (BASE) minus Analysis Value (AVAL) divided by the analysis value (AVAL), expressed as a percentage. Condition Calculation issue: PBCHG != (BASE - AVAL)/AVAL * 100
AD0588 Within a parameter, there should be only a single value of Percent Change to Baseline Category y (PBCHGCAy) variable for a given value of Percent Change to Baseline Category y (N) (PBCHGCyN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for PBCHGCAy within a unique PARAMCD
AD0589 Within a parameter, there should be only a single value of Percent Change to Baseline Category y (N) (PBCHGCyN) variable for a given value of Percent Change to Baseline Category y (PBCHGCAy) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for PBCHGCyN within a unique PARAMCD
AD0605 When analysis Phase (APHASE) variable is defined, the Phase Start Date (PHSDT) variable value must equal ADSL Phase w Start Date (PHwSDT) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSDT != ADSL.PHwSDT
AD0607 When analysis Phase (APHASE) variable is defined, the analysis Phase Start Time (PHSTM) variable value must equal ADSL Phase w Start Time (PHwSTM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSTM != ADSL.PHwSTM
AD0609 When analysis Phase (APHASE) variable is defined, the analysis Phase Start Datetime (PHSDTM) variable value must equal ADSL Phase w Start Datetime (PHwSDTM) for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSDTM != ADSL.PHwSDTM
AD0611 When analysis Phase (APHASE) is defined, the Phase End Date (PHEDT) variable value must equal ADSL Phase w End Date (PHwEDT) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHEDT != ADSL.PHwEDT
AD0613 When analysis Phase (APHASE) variable is defined, the Phase End Time (PHETM) variable value must equal ADSL Phase w End Time (PHwETM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHETM != ADSL.PHwETM
AD0615 When analysis Phase (APHASE) variable) is defined, the Phase End Datetime (PHEDTM) variable value must equal ADSL Phase w End Datetime (PHwEDTM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHEDTM != ADSL.PHwEDTM
AD0658 NCAXFN (PK NCA Exclusion Flag (N)) must be 1 or null. It is a numeric flag for exclusion of a record into a PK NCA calculation: 1 = exclusion, null = inclusion. Match NCAXFN value is not 1 or null
AD0659 PKSUMXFN (PK Summary Exclusion Flag (N)) must be 1 or null. It is a numeric flag for exclusion of a record from a PK summary: 1 = exclusion, null = inclusion. Match PKSUMXFN value is not 1 or null
AD0660 METABFL (Metabolite Flag) must be Y or null. Match METABFL value is not Y or null
AD0661 When ADOSEDUR is present, NDOSEDUR and/or DOSEDURU must also be included in the dataset. Find ADOSEDUR is present and NDOSEDUR or DOSEDURU is not present
AD0662 If TMPCTDF (Percent Diff. Nominal vs. Actual Time) is populated, both ARRLT (Actual Rel. Time from Ref. Dose) and NRRLT (Nominal Rel. Time from Ref. Dose) must be populated. Condition TMPCTDF is populated and ARRLT or NRRLT are not populated
AD0665 If Subject Cohort (COHORTN) numeric variable is present, there must be a corresponding Subject Cohort (COHORT) character variable. Find COHORTN is present and COHORT is not present
AD0666 If DOSPCTDF (Percent Diff. Nominal vs. Actual Dose) is populated, both DOSEP (Planned Treatment Dose) and DOSEA (Actual Treatment Dose) must be populated. Condition DOSPCTDF is populated and DOSEP and DOSEA are not populated
AD0667 If DOSPCTDF (Percent Diff. Nominal vs. Actual Dose) is populated, then TRTA (Actual Treatment) must be populated. Condition DOSPCTDF is populated and TRTA is not populated
AD0670 If Analysis Cycle (ACYCLEC) character variable is present, there must be a corresponding Analysis Cycle (ACYCLE) numeric variable. Find ACYCLEC is present and ACYCLE is not present
AD1011 In a pair of corresponding character and numeric variables (* and *N or *C) the primary or most commonly used variable must be populated if its secondary variable describing it is populated. Exceptions: *DTC, *FN, TRTPN, TRT01PN, PARAMN, AVALC, BASEC, *LOC, and *HIC. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Secondary variable %Variable% is populated, but its primary variable %Variable.1% is not populated
AD1012A In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be present if its secondary version describing it (*N or *C) is present. This is a rule designed to look explicitly at variable pairs defined in the CDISC standard documents. A similar rule that checks custom *N or *C variables (with a few exceptions) is AD1012. This rule is expected to be added to CDISC ADaM Conformance Rules in the future. Find Secondary variable is present, but its primary variable is not present
AD1018 For Analysis Flag zz (ANLzzFL) and Analysis Flag zz (N) (ANLzzFN) variables, 'zz' is an index for the zzth record selection algorithm where 'zz' is must be in [01-99]. Similar to CDISC ADaM Validation Checks No. 299-303. Condition Illegal variable name: zz is not in [01-99] for ANLzzFL/FN
CT2001 Variable must be populated with terms from its CDISC controlled terminology codelist. New terms cannot be added into non-extensible codelists. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' non-extensible codelist
CT2002 Variable should be populated with terms from its CDISC controlled terminology codelist. New terms can be added as long as they are not duplicates, synonyms or subsets of existing standard terms. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' extensible codelist
CT2003 Paired variables such as TEST/TESTCD must be populated using terms with the same Codelist Code value in CDISC control terminology. There is one-to-one relationship between paired variable values defined in CDISC control terminology by Codelist Code value. Match %Variable% and %Variable.DecodedVariable% values do not have the same Code in CDISC CT
CT2004 Variable must be populated with terms from its CDISC controlled terminology codelist when its value level condition is met. New terms cannot be added into non-extensible codelists. Match %Variable% value not found in '%Variable.Config.@Clause.CodeList.Name%' non-extensible codelist when %Variable.Config.@Clause.Expression%
CT2005 Variable should be populated with terms from its CDISC controlled terminology codelist when its value level condition is met. New terms can be added as long as they are not duplicates, synonyms or subsets of existing standard terms. Match %Variable% value not found in '%Variable.Config.@Clause.CodeList.Name%' extensible codelist when %Variable.Config.@Clause.Expression%
CT2006 Paired variables such as TEST/TESTCD must be populated using terms with the same Codelist Code value in CDISC control terminology. There is one-to-one relationship between paired variable values defined in CDISC control terminology by Codelist Code value within the same value level condition. Match %Variable% and %Variable.DecodedVariable% values do not have the same Code in CDISC CT when %Variable.Config.@Clause.Expression%
SD0001 Domain table should have at least one record. Property No records in data source
SD0037 Variable values should be populated with terms found in the user-defined codelist associated with the variable in define.xml. Match Value for %Variable% not found in (%Variable.CodeList.Name%) user-defined codelist
SD0054 Variables listed in the data definition document (define.xml) should be included in the dataset. Find Variable in define.xml is not present in the dataset
SD0059 Variable DataType in define.xml must match variable Type in dataset. Define-XML data types of 'integer' and 'float' match dataset type of 'Num', all other match 'Char'. Condition Define.xml/dataset variable type mismatch
SD0060 Variables included in the dataset must be described in the data definition document (define.xml). Match Variable in dataset is not present in define.xml
SD0062 Domain table must have a valid format (e.g., SAS transport (XPORT) v.5 or text-delimited). Property Incompatible data source
SD1063 Datasets included in study data must be described in the data definition document (define.xml). Match Dataset is not present in define.xml
SD1071 Datasets greater than 5 gigabytes (GB) in size should be split into smaller datasets no larger than 5 GB. Property Dataset is greater than 5 GB in size
SD1082 Variable length should be assigned based on actual stored data to minimize file size. Datasets should be re-sized to the maximum length of actual data used prior to splitting. Varlength Variable length is too long for actual data
SD1228 Variable value must be populated with terms from user-defined value level codelist as specified in define.xml file. Match %Variable% value not found in user-defined codelist '%Variable.@Clause.CodeList.Name%' when %Variable.@Clause.Expression%
SD1229 Variable value must be populated when value level attribute Mandatory='Yes' as specified in define.xml file. Required %Variable% value is null when %Variable.@Clause.Expression%
SD1230 Value level datatype must match the datatype described in define.xml. Condition %Variable% datatype is not %Variable.@Clause.DataType% when %Variable.@Clause.Expression%
SD1231 Value level length must not exceed the length as specified define.xml. Condition %Variable% value is longer than defined max length %Variable.@Clause.Length% when %Variable.@Clause.Expression%
SD1324 Variable Label in define.xml must match variable Label in dataset. Match Define.xml/dataset variable label mismatch
SD1325 Dataset Description in define.xml must match dataset Description. Property Define.xml/dataset description mismatch

Basic Data Structure

Dataset Structure
Variable Description Required Data Type Length
STUDYID Study Identifier yes text 200
USUBJID Unique Subject Identifier yes text 200
SUBJID Subject Identifier for the Study text 200
SITEID Study Site Identifier text 200
ASEQ Analysis Sequence Number float 200
TRTP Planned Treatment text 200
TRTPN Planned Treatment (N) float 200
TRTA Actual Treatment text 200
TRTAN Actual Treatment (N) float 200
TRT#P Planned Treatment for Period $1 text 200
TRT#PN Planned Treatment for Period $1 (N) integer 200
TRT#A Actual Treatment for Period $1 text 200
TRT#AN Actual Treatment for Period $1 (N) integer 200
TRTPG# Planned Pooled Treatment $1 text 200
TRTPG#N Planned Pooled Treatment $1 (N) integer 200
TRTAG# Actual Pooled Treatment $1 text 200
TRTAG#N Actual Pooled Treatment $1 (N) integer 200
DOSEP Planned Treatment Dose float 200
DOSCUMP Cumulative Planned Treatment Dose float 200
DOSEA Actual Treatment Dose float 200
DOSCUMA Cumulative Actual Treatment Dose float 200
DOSEU Treatment Dose Units text 200
ADT Analysis Date integer 200
ATM Analysis Time integer 200
ADTM Analysis Datetime integer 200
ADY Analysis Relative Day integer 200
ADTF Analysis Date Imputation Flag text 200
ATMF Analysis Time Imputation Flag text 200
ASTDT Analysis Start Date integer 200
ASTTM Analysis Start Time integer 200
ASTDTM Analysis Start Datetime integer 200
ASTDY Analysis Start Relative Day integer 200
ASTDTF Analysis Start Date Imputation Flag text 200
ASTTMF Analysis Start Time Imputation Flag text 200
AENDT Analysis End Date integer 200
AENTM Analysis End Time integer 200
AENDTM Analysis End Datetime integer 200
AENDY Analysis End Relative Day integer 200
AENDTF Analysis End Date Imputation Flag text 200
AENTMF Analysis End Time Imputation Flag text 200
AVISIT Analysis Visit text 200
AVISITN Analysis Visit (N) float 200
ATPT Analysis Timepoint text 200
ATPTN Analysis Timepoint (N) integer 200
ATPTREF Analysis Timepoint Reference text 200
APHASE Phase text 200
APHASEN Phase (N) integer 200
APERIOD Period integer 200
APERIODC Period (C) text 200
ASPER Subperiod within Period integer 200
ASPERC Subperiod within Period (C) text 200
ARELTM Analysis Relative Time integer 200
ARELTMU Analysis Relative Time Unit text 200
APERSDT Period Start Date integer 200
APERSTM Period Start Time integer 200
APERSDTM Period Start Datetime integer 200
APERSDTF Period Start Date Imput. Flag text 200
APERSTMF Period Start Time Imput. Flag text 200
APEREDT Period End Date integer 200
APERETM Period End Time integer 200
APEREDTM Period End Datetime integer 200
APEREDTF Period End Date Imput. Flag text 200
APERETMF Period End Time Imput. Flag text 200
ASPRSDT Subperiod Start Date integer 200
ASPRSTM Subperiod Start Time integer 200
ASPRSDTM Subperiod Start Datetime integer 200
ASPRSDTF Subperiod Start Date Imput. Flag text 200
ASPRSTMF Subperiod Start Time Imput. Flag text 200
ASPREDT Subperiod End Date integer 200
ASPRETM Subperiod End Time integer 200
ASPREDTM Subperiod End Datetime integer 200
ASPREDTF Subperiod End Date Imput. Flag text 200
ASPRETMF Subperiod End Time Imput. Flag text 200
PHSDT Phase Start Date integer 200
PHSTM Phase Start Time integer 200
PHSDTM Phase Start Datetime integer 200
PHSDTF Phase Start Date Imput. Flag text 200
PHSTMF Phase Start Time Imput. Flag text 200
PHEDT Phase End Date integer 200
PHETM Phase End Time integer 200
PHEDTM Phase End Datetime integer 200
PHEDTF Phase End Date Imput. Flag text 200
PHETMF Phase End Time Imput. Flag text 200
*DT integer 200
*TM integer 200
*DTM integer 200
*ADY integer 200
*DTF text 200
*TMF text 200
*SDT integer 200
*STM integer 200
*SDTM integer 200
*SDY integer 200
*SDTF text 200
*STMF text 200
*EDT integer 200
*ETM integer 200
*EDTM integer 200
*EDY integer 200
*EDTF text 200
*ETMF text 200
PARAM Parameter yes text 200
PARAMCD Parameter Code yes text 200
PARAMN Parameter (N) float 200
PARCAT# Parameter Category $1 text 200
PARCAT#N Parameter Category $1 (N) integer 200
AVAL Analysis Value float 200
AVALC Analysis Value (C) text 200
AVALCAT# Analysis Value Category $1 text 200
AVALCA#N Analysis Value Category $1 (N) integer 200
BASE Baseline Value float 200
BASEC Baseline Value (C) text 200
BASECAT# Baseline Category $1 text 200
BASECA#N Baseline Category $1 (N) integer 200
BASETYPE Baseline Type text 200
CHG Change from Baseline float 200
CHGCAT# Change from Baseline Category $1 text 200
CHGCAT#N Change from Baseline Category $1 (N) integer 200
PCHG Percent Change from Baseline float 200
PCHGCAT# Percent Chg from Baseline Category $1 text 200
PCHGCA#N Percent Chg from Baseline Category $1 (N) integer 200
R2BASE Ratio to Baseline float 200
R2A#LO Ratio to Analysis Range $1 Lower Limit float 200
R2A#HI Ratio to Analysis Range $1 Upper Limit float 200
SHIFT# Shift $1 text 200
SHIFT#N Shift $1 (N) integer 200
BCHG Change to Baseline float 200
BCHGCAT# Change to Baseline Category $1 text 200
BCHGCA#N Change to Baseline Category $1 (N) integer 200
PBCHG Percent Change to Baseline float 200
PBCHGCA# Percent Change to Baseline Category $1 text 200
PBCHGC#N Percent Change to Baseline Category $1 (N) integer 200
CRIT# Analysis Criterion $1 text 200
CRIT#FL Criterion $1 Evaluation Result Flag text 200
CRIT#FN Criterion $1 Evaluation Result Flag (N) integer 200
MCRIT# Analysis Multi-Response Criterion $1 text 200
MCRIT#ML Multi-Response Criterion $1 Evaluation text 200
MCRIT#MN Multi-Response Criterion $1 Eval (N) float 200
DTYPE Derivation Type text 200
AWRANGE Analysis Window Valid Relative Range text 200
AWTARGET Analysis Window Target integer 200
AWTDIFF Analysis Window Diff from Target integer 200
AWLO Analysis Window Beginning Timepoint integer 200
AWHI Analysis Window Ending Timepoint integer 200
AWU Analysis Window Unit text 200
STARTDT Time-to-Event Origin Date for Subject integer 200
STARTDTM Time-to-Event Origin Datetime integer 200
STARTDTF Origin Date Imputation Flag text 200
STARTTMF Origin Time Imputation Flag text 200
CNSR Censor integer 200
EVNTDESC Event or Censoring Description text 200
CNSDTDSC Censor Date Description text 200
ATOXGR Analysis Toxicity Grade text 200
ATOXGRN Analysis Toxicity Grade (N) float 200
BTOXGR Baseline Toxicity Grade text 200
BTOXGRN Baseline Toxicity Grade (N) float 200
ANRIND Analysis Reference Range Indicator text 200
BNRIND Baseline Reference Range Indicator text 200
ANRLO Analysis Normal Range Lower Limit float 200
ANRLOC Analysis Normal Range Lower Limit (C) text 200
ANRHI Analysis Normal Range Upper Limit float 200
ANRHIC Analysis Normal Range Upper Limit (C) text 200
A#LO Analysis Range $1 Lower Limit float 200
A#LOC Analysis Range $1 Lower Limit (C) text 200
A#HI Analysis Range $1 Upper Limit float 200
A#HIC Analysis Range $1 Upper Limit (C) text 200
A#IND Analysis Range $1 Indicator text 200
B#IND Baseline Analysis Range $1 Indicator text 200
ATOXGRL Analysis Toxicity Grade Low text 200
ATOXGRLN Analysis Toxicity Grade Low (N) float 200
ATOXGRH Analysis Toxicity Grade High text 200
ATOXGRHN Analysis Toxicity Grade High (N) float 200
BTOXGRL Baseline Toxicity Grade Low text 200
BTOXGRLN Baseline Toxicity Grade Low (N) float 200
BTOXGRH Baseline Toxicity Grade High text 200
BTOXGRHN Baseline Toxicity Grade High (N) float 200
ATOXDSCL Analysis Toxicity Description Low text 200
ATOXDSCH Analysis Toxicity Description High text 200
ABLFL Baseline Record Flag text 200
ABLFN Baseline Record Flag (N) integer 200
ANL#FL Analysis Flag $1 text 200
ANL#FN Analysis Flag $1 (N) integer 200
ONTRTFL On Treatment Record Flag text 200
ONTRTFN On Treatment Record Flag (N) integer 200
LVOTFL Last Value On Treatment Record Flag text 200
LVOTFN Last Value On Treatment Record Flag (N) integer 200
ITTRFL Intent-To-Treat Record-Level Flag text 200
ITTRFN Intent-To-Treat Record-Level Flag (N) integer 200
SAFRFL Safety Analysis Record-Level Flag text 200
SAFRFN Safety Analysis Record-Level Flag (N) integer 200
FASRFL Full Analysis Set Record-Level Flag text 200
FASRFN Full Analysis Set Record-Level Flag (N) integer 200
PPROTRFL Per-Protocol Record-Level Flag text 200
PPROTRFN Per-Protocol Record-Level Flag (N) integer 200
COMPLRFL Completers Record-Level Flag text 200
COMPRFN Completers Record-Level Flag (N) integer 200
ITTPFL Intent-To-Treat Parameter-Level Flag text 200
ITTPFN Intent-To-Treat Param-Level Flag (N) integer 200
SAFPFL Safety Analysis Parameter-Level Flag text 200
SAFPFN Safety Analysis Param-Level Flag (N) integer 200
FASPFL Full Analysis Set Parameter-Level Flag text 200
FASPFN Full Analysis Set Param-Level Flag (N) integer 200
PPROTPFL Per-Protocol Parameter-Level Flag text 200
PPROTPFN Per-Protocol Parameter-Level Flag (N) integer 200
COMPLPFL Completers Parameter-Level Flag text 200
COMPLPFN Completers Parameter-Level Flag (N) integer 200
SRCDOM Source Data text 200
SRCVAR Source Variable text 200
SRCSEQ Source Sequence Number float 200
SITEGR# Pooled Site Group $1 text 200
SITEGR#N Pooled Site Group $1 (N) integer 200
REGION# Geographic Region $1 text 200
REGION#N Geographic Region $1 (N) integer 200
AGE Age integer 200
AGEU Age Units text 200
AGEGR# Pooled Age Group $1 text 200
AGEGR#N Pooled Age Group $1 (N) integer 200
AAGE Analysis Age float 200
SEX Sex text 200
RACE Race text 200
RACEGR# Pooled Race Group $1 text 200
RACEGR#N Pooled Race Group $1 (N) integer 200
FASFL Full Analysis Set Population Flag text 200
FASFN Full Analysis Set Population Flag (N) integer 200
SAFFL Safety Population Flag text 200
SAFFN Safety Population Flag (N) integer 200
ITTFL Intent-To-Treat Population Flag text 200
ITTFN Intent-To-Treat Population Flag (N) integer 200
PPROTFL Per-Protocol Population Flag text 200
PPROTFN Per-Protocol Population Flag (N) integer 200
COMPLFL Completers Population Flag text 200
COMPLFN Completers Population Flag (N) integer 200
RANDFL Randomized Population Flag text 200
RANDFN Randomized Population Flag (N) integer 200
ENRLFL Enrolled Population Flag text 200
ENRLFN Enrolled Population Flag (N) integer 200
ARM Description of Planned Arm text 200
ACTARM Description of Actual Arm text 200
*FL text 200
TRTSEQP Planned Sequence of Treatments text 200
TRTSEQPN Planned Sequence of Treatments (N) integer 200
TRTSEQA Actual Sequence of Treatments text 200
TRTSEQAN Actual Sequence of Treatments (N) integer 200
TR#PG# Planned Pooled Treatment $2 for Period $1 text 200
TR#PG#N Planned Pooled Trt $2 for Period $1 (N) integer 200
TR#AG# Actual Pooled Treatment $2 for Period $1 text 200
TR#AG#N Actual Pooled Trt $2 for Period $1 (N) integer 200
TSEQPG# Planned Pooled Treatment Sequence $1 text 200
TSEQPG#N Planned Pooled Treatment Sequence $1 (N) integer 200
TSEQAG# Actual Pooled Treatment Sequence $1 text 200
TSEQAG#N Actual Pooled Treatment Sequence $1 (N) integer 200
DOSE#P Planned Treatment Dose for Period $1 float 200
DOSE#A Actual Treatment Dose for Period $1 float 200
DOSE#U Units for Dose for Period $1 text 200
TRTSDT Date of First Exposure to Treatment integer 200
TRTSTM Time of First Exposure to Treatment integer 200
TRTSDTM Datetime of First Exposure to Treatment integer 200
TRTSDTF Date of First Exposure Imput. Flag text 200
TRTSTMF Time of First Exposure Imput. Flag text 200
TRTEDT Date of Last Exposure to Treatment integer 200
TRTETM Time of Last Exposure to Treatment integer 200
TRTEDTM Datetime of Last Exposure to Treatment integer 200
TRTEDTF Date of Last Exposure Imput. Flag text 200
TRTETMF Time of Last Exposure Imput. Flag text 200
TR#SDT Date of First Exposure in Period $1 integer 200
TR#STM Time of First Exposure in Period $1 integer 200
TR#SDTM Datetime of First Exposure in Period $1 integer 200
TR#SDTF Date 1st Exposure Period $1 Imput. Flag text 200
TR#STMF Time 1st Exposure Period $1 Imput. Flag text 200
TR#EDT Date of Last Exposure in Period $1 integer 200
TR#ETM Time of Last Exposure in Period $1 integer 200
TR#EDTM Datetime of Last Exposure in Period $1 integer 200
TR#EDTF Date Last Exposure Period $1 Imput. Flag text 200
TR#ETMF Time Last Exposure Period $1 Imput. Flag text 200
AP#SDT Period $1 Start Date integer 200
AP#STM Period $1 Start Time integer 200
AP#SDTM Period $1 Start Datetime integer 200
AP#SDTF Period $1 Start Date Imput. Flag text 200
AP#STMF Period $1 Start Time Imput. Flag text 200
AP#EDT Period $1 End Date integer 200
AP#ETM Period $1 End Time integer 200
AP#EDTM Period $1 End Datetime integer 200
AP#EDTF Period $1 End Date Imput. Flag text 200
AP#ETMF Period $1 End Time Imput. Flag text 200
P#S# Description of Period $1 Subperiod $2 text 200
P#S#SDT Period $1 Subperiod $2 Start Date integer 200
P#S#STM Period $1 Subperiod $2 Start Time integer 200
P#S#SDM Period $1 Subperiod $2 Start Datetime integer 200
P#S#SDF Period $1 Subper $2 Start Date Imput Flag text 200
P#S#STF Period $1 Subper $2 Start Time Imput Flag text 200
P#S#EDT Period $1 Subperiod $2 End Date integer 200
P#S#ETM Period $1 Subperiod $2 End Time integer 200
P#S#EDM Period $1 Subperiod $2 End Datetime integer 200
P#S#EDF Period $1 Subper $2 End Date Imput Flag text 200
P#S#ETF Period $1 Subper $2 End Time Imput Flag text 200
APHASE# Description of Phase $1 text 200
PH#SDT Phase $1 Start Date integer 200
PH#STM Phase $1 Start Time integer 200
PH#SDTM Phase $1 Start Datetime integer 200
PH#SDTF Phase $1 Start Date Imputation Flag text 200
PH#STMF Phase $1 Start Time Imputation Flag text 200
PH#EDT Phase $1 End Date integer 200
PH#ETM Phase $1 End Time integer 200
PH#EDTM Phase $1 End Datetime integer 200
PH#EDTF Phase $1 End Date Imputation Flag text 200
PH#ETMF Phase $1 End Time Imputation Flag text 200
EOSSTT End of Study Status text 200
EOSDT End of Study Date integer 200
DCSREAS Reason for Discontinuation from Study text 200
DCSREASP Reason Spec for Discont from Study text 200
EOTSTT End of Treatment Status text 200
DCTREAS Reason for Discontinuation of Treatment text 200
DCTREASP Reason Specify for Discont of Treatment text 200
EOT#STT End of Treatment Status in Period $1 text 200
DCT#RS Reason for Discont of Treat in Period $1 text 200
DCT#RSP Reason Spec for Disc of Trt in Period $1 text 200
EOP#STT End of Period $1 Status text 200
DCP#RS Reason for Discont from Period $1 text 200
DCP#RSP Reason Spec for Discont from Period $1 text 200
RFICDT Date of Informed Consent integer 200
ENRLDT Date of Enrollment integer 200
RANDDT Date of Randomization integer 200
RFIC#DT Date of Informed Consent $1 integer 200
ENRL#DT Date of Enrollment $1 integer 200
RAND#DT Date of Randomization $1 integer 200
LSTALVDT Date Last Known Alive integer 200
TRCMP Treatment Compliance (%) float 200
TRCMPG# Treatment Compliance (%) Group $1 text 200
TRCMPG#N Treatment Compliance (%) Group $1 (N) integer 200
TR#DURD Treatment Duration in Period $1 (Days) integer 200
TR#DURM Treatment Duration in Period $1 (Months) integer 200
TR#DURY Treatment Duration in Period $1 (Years) integer 200
TRTDURD Total Treatment Duration (Days) integer 200
TRTDURM Total Treatment Duration (Months) integer 200
TRTDURY Total Treatment Duration (Years) integer 200
DTHDT Date of Death integer 200
DTHDTF Date of Death Imputation Flag text 200
DTHCAUS Cause of Death text 200
DTHCAUSN Cause of Death (N) integer 200
DTHCGR# Cause of Death Group $1 text 200
DTHCGR#N Cause of Death Group $1 (N) integer 200
* text 200

 

Validation Rules
ID Description Validator Message
AD0005B A variable with a suffix of FL must have value that is Y, N or null (Exception 1: ABLFL, ANLzzFL. Exception 2: Population flags COMPLFL, FASFL, ITTFL, PPROTFL, SAFFL, RANDFL, ENRLFL cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FL value is not Y, N or null
AD0006B A variable with a suffix of FN has a value that is not 0, 1, or null (Exception: ABLFN, ANLzzFN, and numeric population flags COMPLFN, FASFN, ITTFN, PPROTFN, SAFFN, RANDFN, ENRLFN cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FN value is not 0, 1 or null
AD0007 If a Flag Numeric (*FN) variable is present, its corresponding Flag Character (*FL) variable must be present. Find Secondary variable *FN is present, but its primary variable *FL is not present
AD0010 When a Flag variable (FL) is Y, its corresponding Flag numeric variable (FN) must be 1. Condition %Variable.1%FL = Y and %Variable.1%FN != 1
AD0011 When a Flag variable (FL) is N, its corresponding Flag numeric variable (FN) must be 0. Condition %Variable.1%FL = N and %Variable.1%FN != 0
AD0012 When a numeric Flag variable (*FN) is populated, its corresponding character Flag variable (*FL) must be populated. Condition Secondary variable %Variable.1%FN is populated, but its primary variable %Variable.1%FL is not populated
AD0013 A variable must be a max of 8 characters, start with a letter A-Z and does not contain anything other than letters, numbers, underscore (_). Regex Illegal variable name: basic format is violated
AD0016 All ADaM variable labels must be no more than 40 characters in length. This should not be possible to fail with sas v5 xpt. Dataset-XML or .csv can fail this rule. Regex Variable label length is greater than 40 characters
AD0018 The variable label in the dataset should match the variable label described in ADaM. When creating a new variable, labels can be adjusted as appropriate. Currently, this rule runs if a variable has a label that is defined in the ADaM metadata. Condition Variable label mismatch between dataset and ADaM standard
AD0019 For subject-level character population flag variables: N = no (not included), Y = yes (included). Null values are not allowed. Required %Variable% subject-population flag value is null
AD0037B Within a study, all *GRyN values must be the same for each unique value of *GRy when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%N
AD0038B Within a study, all *GRy values must be the same for each unique value of *GRyN when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%
AD0041 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DA, B8601DN , DATE, DAY, DDMMYY, DDMMYYB, DDMMYYC, DDMMYYD, DDMMYYN, DDMMYYP, DDMMYYS, DOWNAME, DTMONYY, E8601DA, JULDAY, JULIAN, MMDDYY, MMDDYYB, MMDDYYC, MMDDYYD, MMDDYYN, MMDDYYP, MMDDYYS, MMYY, MMYYB, MMYYC, MMYYD, MMYYN, MMYYP, MMYYS, MONNAME, MONTH, MONYY, PDJULG, PDJULI, QTR, QTRR, WEEKDATE, WEEKDATX, WEEKDAY, WEEKU, WEEKV, WEEKW, WORDDATE, WORDDATX, YEAR, YYMM, YYMMDD, YYMMDDB, YYMMDDC, YYMMDDD, YYMMDDN, YYMMDDP, YYMMDDS, YYMMB, YYMMC, YYMMD, YYMMN, YYMMP, YYMMS, YYMON, YYQ, YYQB, YYQC, YYQD, YYQN, YYQP, YYQS, YYQR, YYQRB, YYQRC, YYQRD, YYQRN, YYQRP, YYQRS, IS8601DA. Match *DT does not have the ADaM required SAS Date format
AD0041A *DT variables must have non-missing SAS Date Format. Required *DT variable has missing SAS Date Format
AD0042 The SAS format listed in the dataset must be valid. Here is a list of SAS Time formats utilized in the rule algorithm: B8601LZ, B8601TM, B8601TZ, E8601LZ, E8601TM, E8601TZ, HHMM, HOUR, MMSS, TIME, TIMEAMPM, IS8601TM, IS8601TZ, TOD. Match *TM does not have the ADaM required SAS time format
AD0042A *TM variables must have non-missing SAS Time Format. Required *TM variable has missing SAS Time Format
AD0043 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DT, B8601DZ, DATEAMPM, DATETIME, DTDATE, DTWKDATX, DTYEAR, DTYYQC, E8601DN, E8601DT, E8601DZ, MDYAMPM, TOD, IS8601DN, IS8601DT, IS8601DZ. Match *DTM does not have the ADaM required SAS Datetime format
AD0043A *DTM variables must have non-missing SAS Datetime Format. Required *DTM variable has missing SAS Datetime Format
AD0044 When both time and datetime variables are collected on the same record for the same observation, the Time portion of the datetime variable should be equal to the Time variable itself. Condition %Variable.1%TM and its corresponding %Variable.1%DTM variable have different time values
AD0045 When both date and datetime variables are collected on the same record for the same observation, the Date portion of the datetime variable should be equal to the Date variable itself. Condition %Variable.1%DT and its corresponding %Variable.1%DTM variable have different date values
AD0046 A variable with a suffix of DY (day) must not equal zero. Variables whose names end in DY are relative day variables. In ADaM as in the SDTM, there is no day 0. If there is a need to create a relative day variable that includes day 0, then its name must not end in DY. Regex %Variable.1%DY = 0
AD0047 Variables described in ADaM as Required must be included in the dataset. Find Required variable is not present
AD0058 The SAS TYPE for *DT variable must be equal Num. Match *DT is not a numeric variable
AD0059 The SAS TYPE for *TM variable must be equal Num. Match *TM is not a numeric variable
AD0060 The SAS TYPE for *DTM variable must be equal Num. Match *DTM is not a numeric variable
AD0090 At least 1 treatment variable is required in a BDS dataset. This requirement is satisfied by any of the subject-level (ARM, ACTARM, TRTxxP, TRTxxA, TRTSEQP, TRTSEQA, TRxxPGy, TRxxAGy, TSEQPGy, TSEQAGy) or record-level (TRTP, TRTA, TRTPGy, TRTAGy) treatment variables. One is allowed to use any treatment variable in analysis of BDS. Any subject-level treatment variable may be copied into the BDS dataset from ADSL. Find None of the subject-level or record-level treatment variables defined in the IG are present
AD0092B Within a study, all TRTPN values must be the same for each unique value of TRTP when the primary variable TRTP is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRTPN
AD0093B Within a study, all TRTP values must be the same for each unique value of TRTPN when the primary variable TRTP is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRTP
AD0095B Within a study, all TRTAN values must be the same for each unique value of TRTA when the primary variable TRTA is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRTAN
AD0096B Within a study, all TRTA values must be the same for each unique value of TRTAN when the primary variable TRTA is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRTA
AD0097 If Planned Pooled Treatment y (TRTPGyN) numeric variable is present, there must be a corresponding Planned Pooled Treatment y (TRTPGy) character variable. Find TRTPGyN is present, but TRTPGy is not present
AD0098 Any variable ending in SDY (Start day) must have a value less than or equal to its corresponding EDY (end day) value. Condition %Variable.1%SDY is greater than %Variable.1%EDY
AD0099 Any variable ending in STDY (Start day) must have a value less than or equal to its corresponding ENDY (end day) value. Condition %Variable.1%STDY is greater than %Variable.1%ENDY
AD0102 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Planned Treatment for Period xx variable (like TRT01P) in ADSL dataset. Metadata There is no TRTxxP variable in ADSL for every unique xx value of APERIOD
AD0103 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Date of First Exposure in Period xx variable for this period (like TR01SDT) in ADSL dataset. Metadata There is no TRxxSDT variable in ADSL for every unique xx value of APERIOD
AD0104 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Date of Last Exposure in Period xx variable for this period (like TR01EDT) in ADSL dataset. Metadata There is no TRxxEDT variable in ADSL for every unique xx value of APERIOD
AD0105B Within a study, all APERIODC values must be the same for each unique value of APERIOD when the primary variable APERIOD is populated. Unique Inconsistent value for APERIODC
AD0106B Within a study, all APERIOD values must be the same for each unique value of APERIODC when the primary variable APERIOD is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for APERIOD
AD0109B Within a study, all AVISITN values must be the same for each unique value group of [PARAMCD, AVISIT] when PARAMCD and primary variable AVISIT are populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for AVISITN
AD0110B Within a study, all AVISIT values must be the same for each unique value group of [PARAMCD, AVISITN] when PARAMCD and primary variable AVISIT are populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for AVISIT
AD0111 When ARELTM is present, the Anchor Time variable and ARELTMU (Analysis Relative Time unit) must also be included in the dataset, and the anchor time variable must be identified in the metadata for ARELTM. Find ARELTM is present, but ARELTMU is not present
AD0112 If ARELTMU (Analysis Relative Time unit) or ARELTM (Analysis Relative Time) is populated, then both must be populated together. Condition Only one of these variables is populated: ARELTM, ARELTMU
AD0113 When ARELTM is present, the anchor time variable and ARELTMU must also be included in the dataset, and the anchor time variable must be identified in the metadata for ARELTM. Find ARELTMU is present, but ARELTM is not present
AD0117B Within a study, all ATPT values must be the same for each unique value group of [PARAMCD, ATPTN] when PARAMCD and primary variable ATPT are populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for ATPT
AD0118B Within a study, all ATPTN values must be the same for each unique value group of [PARAMCD, ATPT] when PARAMCD and primary variable ATPT are populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for ATPTN
AD0121 Any variable ending in SDT (Start Date) must have a value less than or equal to its corresponding EDT (End Date) value (e.g., ADSL - TRTSDT, TR01SDT, AP01SDT; BDS - APERSDT). Condition %Variable.1%SDT is greater than %Variable.1%EDT
AD0122 Any variable ending in SDTM (Start Date Time) must have a value less than or equal to its corresponding EDTM (End Date Time) value (e.g., ADSL - TRTSDTM, TR01SDTM, AP01SDTM; BDS - APERSDTM). Condition %Variable.1%SDTM is greater than %Variable.1%EDTM
AD0123 Within a study, all PARAMTYP values must be the same for each unique value of PARAMCD when PARAMCD is populated. If a PARAMCD is said to be derived, all instances must be derived. More than one parameter can be derived. Unique Inconsistent value for PARAMTYP
AD0124 Within a study, all PARCATy values must be the same for each unique value of PARAMCD when PARAMCD is populated. A Parameter can only be categorized once. However, that Category can be used across PARAMs. Unique Inconsistent value for PARCAT%Variable.1% within a unique PARAMCD
AD0125B Within a study, all PARCATy values must be the same for each unique value of PARCATyN when both variables are populated. Unique Inconsistent value for PARCAT%Variable.1%
AD0126B Within a study, all PARCATyN values must be the same for each unique value of PARCATy when both variables are populated. Unique Inconsistent value for PARCAT%Variable.1%N
AD0127 Within a given Subject's PARAMCD, a baseline value is populated (either BASE or BASEC) and there is not at least one record in that group marked as the baseline (ABLFL = Y). Find BASE or BASEC is populated for a unique USUBJID, PARAMCD, but no baseline record exists
AD0127A ABLFL is required if BASE or BASEC is present in the dataset. Find BASE or BASEC is present, but ABLFL is not present
AD0129 Within a study, all BASE values must be the same for each unique value group of [PARAMCD, BASEC] when PARAMCD, BASE and BASEC are populated (ADaM IG: There must be a one-to-one map between BASE and BASEC within a given PARAM if BOTH are populated). Unique Inconsistent value for BASE
AD0130 Within a study, all BASEC values must be the same for each unique value group of [PARAMCD, BASE] when PARAMCD, BASE and BASEC are populated. (ADaM IG: There must be a one-to-one map between BASE and BASEC within a given PARAM if BOTH are populated). Unique Inconsistent value for BASEC
AD0132 When all 3 variables are populated and BASE does not equal 0, Ratio to Base (R2BASE) must equal Analysis Value (AVAL) / Baseline Value (BASE). AD0132A will raise errors when BASE equals 0. AD0132B also complements this check. Condition Calculation issue: R2BASE != AVAL / BASE
AD0132A When baseline (BASE) equals 0, the Ratio to Baseline (R2BASE) should not be populated since you cannot divide by 0. AD0132 checks the RSBASE calculation is correct when BASE does not equal 0. Condition Calculation issue: BASE = 0, but R2BASE is populated
AD0132B If any of CHG (change), PCHG (percent change), or R2BASE (ratio of Analysis Value to Base) is populated, the values necessary for its calculation must both be present and populated. CHG = AVAL - BASE, PCHG = (AVAL - BASE)/BASE * 100, R2BASE = AVAL / BASE. Once this issue is resolved, there is greater potential for rules AD0132, AD0225, AD0223 to fire. Condition Calculation issue: CHG, PCHG or R2BASE is populated, but AVAL and/or BASE are not present and populated
AD0133 When all 3 variables are populated and AyLO does not equal 0, Ratio to AyLO (R2AyLO) must equal Analysis Value (AVAL) / Analysis Range y LO Value (AyLO). Condition Calculation issue: R2A%Variable.1%LO != AVAL / A%Variable.1%LO
AD0133A R2AyLO = AVAL / AyLO. therefore if R2AyLO is present, both AVAL and AyLO must be present for calculation consistency. Find Calculation issue: R2A%Variable.1%LO is present, but AVAL and/or A%Variable.1%LO is not present
AD0133B If R2AyLO is populated, the values necessary for its calculation must both be present and populated. R2AyLO = AVAL / AyLO. Once this issue is resolved, there is greater potential for AD0133 to fire. Condition Calculation issue: R2A%Variable.1%LO is populated, but AVAL and/or A%Variable.1%LO are not populated
AD0133C When Analysis Range Low (AyLO) equals 0, the Ratio to Analysis Range Low (R2AyLO) should not be populated since you cannot divide by 0. AD0133 checks the calculation is correct when AyLO does not equal 0. Condition Calculation issue: A%Variable.1%LO = 0, but R2A%Variable.1%LO is populated
AD0134 When all 3 variables are populated and AyHI does not equal 0, Ratio to AyHI (R2AyHI) must equal Analysis Value (AVAL) / Analysis Range y HI Value (AyHI). Condition Calculation issue: R2A%Variable.1%HI != AVAL / A%Variable.1%HI
AD0134A R2AyHI = AVAL / AyHI. Therefore, if R2AyHI is present, both AVAL and AyHI must be present for calculation consistency. Find Calculation issue: R2A%Variable.1%HI is present, but AVAL and/or A%Variable.1%HI is not present
AD0134B If R2AyHI is populated, the values necessary for its calculation must both be present and populated. R2AyHI = AVAL / AyHI. Once this issue is resolved, there is greater potential for AD0134 to fire. Condition Calculation issue: R2A%Variable.1%HI is populated, but AVAL and/or A%Variable.1%HI are not populated
AD0134C When Analysis Range High (AyHI) = 0, the Ratio to Analysis Range High (R2AyHI) should not be populated since you cannot divide by 0. AD0134 checks the calculation is correct when AyLO != '0'. Condition Calculation issue: A%Variable.1%HI = 0, but R2A%Variable.1%HI is populated
AD0135B Within a study, all SHIFTy values must be the same for each unique value of SHIFTyN when PARAMCD, SHIFTy, and SHIFTyN variables are populated. Unique Inconsistent value for SHIFT%Variable.1%
AD0136B Within a study, all SHIFTyN values must be the same for each unique value of SHIFTy when PARAMCD, SHIFTy, and SHIFTyN variables are populated. Unique Inconsistent value for SHIFT%Variable.1%N
AD0137 When CRITyFL (Analysis Criterion Flag) is populated, it's corresponding parent Analysis Criterion y must be populated. Condition CRITyFL is populated, but CRITy is not populated
AD0141 Within a study, All PARAM values must be the same for each unique value of PARAMCD when both PARAMCD and PARAM are populated. Unique Inconsistent value for PARAM within a unique PARAMCD
AD0142 Within a study, All PARAMCD values must be the same for each unique value of PARAM when both PARAMCD and PARAM are populated. Unique Inconsistent value for PARAMCD within a unique PARAM
AD0143 PARAMCD value must be a max of 8 characters, start with a letter A-Z or underscore, and not contain anything other than letters, numbers, or underscore (_). Regex Illegal PARAMCD value
AD0146B Within a study, all PARAM values must be the same for each unique value of PARAMN when both variables PARAM and PARAMN are populated. Unique Inconsistent value for PARAM
AD0147B Within a study, all PARAMN values must be the same for each unique value of PARAM when both variables PARAM and PARAMN are populated. Unique Inconsistent value for PARAMN
AD0149B Within a study and a given value of PARAMCD when both AVAL and AVALC are populated, then all AVALC values must be the same for each unique value of AVAL creating a one-to-one mapping. Considering only those rows on which both variables are populated. Unique Inconsistent value for AVALC
AD0150 Within a study and a given value of PARAMCD when both AVAL and AVALC are populated, then all AVAL values must be the same for each unique value of AVALC creating a one-to-one mapping. Unique Inconsistent value for AVAL
AD0151 Within a study, all CRITy values must be the same for each unique value of PARAMCD when PARAMCD and CRITy are populated. Example: PARAMCD = SYSBP (mm Hg), CRIT1 = SYSBP >160. Unique Inconsistent value for CRIT%Variable.1% within a unique PARAMCD
AD0152 If the record is flagged as the baseline (ABLFL = Y), then the baseline Value (BASE) must equal the Analysis Value (AVAL). Condition ABLFL = Y, but BASE != AVAL
AD0154 For a set of [Subject (USUBJID), Parameter (PARAMCD), baseline type (BASETYPE)] only one record can be the actual baseline value, marked by ABLFL = Y. Unique Multiple baseline records exist for a unique USUBJID, PARAMCD, BASETYPE
AD0156 If Criterion y Flag (CRITyFL) variable is present, there must also be a corresponding Criterion y (CRITy) variable. Find CRITyFL is present, but CRITy is not present
AD0157 If Criterion y (CRITy) variable is present, there must also be a corresponding Criterion y Flag (CRITyFL) variable. Find CRITy is present, but CRITyFL is not present
AD0159 If AWTDIFF (Analysis Window Diff from Target) is populated AWTARGET (Analysis Window Target) must be populated. AWTDIFF = Absolute value of (ADY or ARELTM) - AWTARGET. Note: A future rule should validate that the calculation is correct. Rule enhanced by Pinnacle 21 to include ADY and ARELTM. If only AWTDIFF is present and populated, this rule will fire even if some or all other variables are not present. This may fire simultaneously with AD0158. Condition Calculation issue: AWTDIFF is populated, but AWTARGET and/or one of [ADY, ARELTM] are not both present and populated
AD0160 If Analysis Window Unit (AWU) variable is present, then Analysis Window Beginning Timepoint (AWLO) and (Analysis Window Ending Timepoint) AWHI variables must be present. Find AWU is present, but both AWLO and AWHI are not present
AD0163 If Baseline Toxicity Grade (BTOXGR) variable is present, then Analysis Toxicity Grade (ATOXGR) and Baseline Record Flag (ABLFL) variables must be present. Find BTOXGR is present, but ATOXGR is not present
AD0164 If Baseline Toxicity Grade (BTOXGR) variable is present, then Analysis Toxicity Grade (ATOXGR) and Baseline Record Flag (ABLFL) variables must be present. Find BTOXGR is present, but ABLFL is not present
AD0165 If the record is flagged as the baseline (ABLFL = Y), then the baseline toxicity grade (BTOXGR) value must equal the analysis toxicity grade (ATOXGR) value. Condition ABLFL = Y, but BTOXGR != ATOXGR
AD0166 If Baseline Reference Range Indicator (BNRIND) variable is present, then Analysis Reference Range Indicator (ANRIND) and Baseline Record Flag (ABLFL) variables must be present. Find BNRIND is present, but ANRIND is not present
AD0167 If Baseline Reference Range Indicator (BNRIND) variable is present, then Analysis Reference Range Indicator (ANRIND) and Baseline Record Flag (ABLFL) variables must be present. Find BNRIND is present, but ABLFL is not present
AD0168 If the record is flagged as the baseline (ABLFL = Y), then the baseline normal range indicator (BNRIND) value must equal the analysis normal range indicator (ANRIND) value. Condition ABLFL = Y, but BNRIND != ANRIND
AD0169 Censor (CNSR) value must be an integer. Defines whether the event was censored (period of observation truncated prior to event being observed). It is strongly recommended to use 0 as an event indicator and positive integers as censoring indicators. It is also recommended that unique positive integers be used to indicate coded descriptions of censoring reasons. CNSR is required for time-to-event parameters. Regex CNSR is not an integer >= 0
AD0176 Analysis Baseline Flag character (ABLFL) must be Y or null. For parameter-level and record-level character population flag variables: Y = yes (included). Null values are allowed. Match ABLFL value is not Y or null
AD0178 A variable of form ANLzzFL (analysis record flag) must be Y or null. Match ANL%Variable.1%FL value is not Y or null
AD0196 Unlike SDTM, only some of ADaM Required variables (where Core attribute is 'Req') must be populated. CDISC ADaM rules affirm that PARAM and PARAMCD must be populated, while others are populated as appropriate. Known Exceptions: TRTP, TRTxxP, AGE, AGEU, RACE, SUBJID, AESER. Required Required %Variable% value is null
AD0198 At least one Analysis Value (numeric or character) variable must be present in BDS datasets. Find Neither AVAL nor AVALC are present in dataset
AD0201 If Actual Pooled Treatment y (TRTAGyN) numeric variable is present, there must be a corresponding Planned Pooled Treatment y (TRTPGy) character variable. Find TRTAGyN is present, but TRTAGy is not present
AD0211 ABLFN (Analysis Baseline Flag Numeric) must be 1 or null. For Parameter-Level and Record-Level Numeric Population Flag variables: 1 = yes (included). Null values are allowed. Match ABLFN value is not 1 or null
AD0212 ANLzzFN (Analyzed Record Flag zz Numeric) must be 1 or null. For Parameter-Level and Record-Level Numeric Population Flag variables: 1 = yes (included). Null values are allowed. Match ANL%Variable.1%FN value is not 1 or null
AD0221 Within a study, all Category y (*CATy) variable values must be the same for each unique value of the variable it categorizes within a PARAMCD. [AVAL:AVALCATy], [AVALC:AVALCATy], [BASE:BASECATy], [BASEC:BASECATy], [CHG:CHGCATy], [PCHG:PCHGCATy]. A Category may be the same across values. Unique Inconsistent value for %Variable.1%CAT%Variable.2%
AD0223 When all 3 variables are populated, Change from Baseline (CHG) must equal Analysis Value (AVAL) minus Baseline Value (BASE). Condition Calculation issue: CHG != AVAL - BASE
AD0225 When all 3 variables are populated and base <> 0, Percent Change from Baseline (PCHG) must equal the difference of Analysis Value (AVAL) minus Baseline Value (BASE) divided by the Baseline Value (BASE), expressed as a percentage. AD0225A will raise errors when BASE = 0. AD0132B also complements this check. Condition Calculation issue: PCHG != (AVAL - BASE)/BASE * 100
AD0225A When Baseline (BASE) equals 0, the Percent Change from Baseline (PCHG) should not be populated since you cannot divide by 0. AD0225 checks the PCHG calculation is correct when BASE does not equal 0. AD0132B also complements this rule. Condition Calculation issue: BASE = 0, but PCHG is populated
AD0237B Within a study, all Planned Pooled Treatment y (TRTPGy) variable values must be the same for each unique value of Planned Pooled Treatment y (N) (TRTPGyN) variable when both variables are populated. Analogous rule for AD0240. Unique Inconsistent value for TRTPG%Variable.1%
AD0238B Within a study, all Planned Pooled Treatment y (N) (TRTPGyN) variable values must be the same for each unique value of Planned Pooled Treatment y (TRTPGy) variable when both variables are populated. Analogous rule for AD0241. Unique Inconsistent value for TRTPG%Variable.1%N
AD0239 If both actual treatment (TRTA) and Planned Pooled Treatment y (TRTPGy) are present, then Actual Pooled Treatment y (TRTAGy) variable must be present. Find TRTPGy and TRTA are present, but TRTAGy is not present
AD0240B Within a study, all Actual Pooled Treatment y (TRTAGy) variable values must be the same for each unique value of Actual Pooled Treatment y (N) (TRTAGyN) variable when both variables are populated. Analogous rule for AD0237. Unique Inconsistent value for TRTAG%Variable.1%
AD0241B Within a study, all Actual Pooled Treatment y (N) (TRTAGyN) variable values must be the same for each unique value of Actual Pooled Treatment y (TRTAGy) variable when both variables are populated. Analogous rule for AD0238. Unique Inconsistent value for TRTAG%Variable.1%N
AD0245 When Censor (CNSR) variable is present, the Time-to-Event Origin Date for Subject (STARTDT) and one of Analysis Date (ADT) or Analysis Datetime (ADTM) variables must be included in the dataset. In Time to Event studies, the basis of analysis is the time from a defined starting point to the time of occurrence of the event of interest. Find CNSR is present, but STARTDT is not present
AD0246 When Censor (CNSR) variable is present, the Time-to-Event Origin Date for Subject (STARTDT) and one of Analysis Date (ADT) or Analysis Datetime (ADTM) variables must be included in the dataset. In Time to Event studies, the basis of analysis is the time from a defined starting point to the time of occurrence of the event of interest. Find CNSR is present, but both ADT and ADTM are not present
AD0247 When an event is censored, 3 other variables must be populated. Censor (CNSR) variable qualifies the Analysis Value (AVAL) variable. ADT and ADTM variables are the Analysis Date and Time of event or censoring associated with AVAL. Origin Date for Subject (STARTDT) variable is the original date of risk for the time-to-event analysis. This is generally the time at which a subject is first at risk for the event of interest evaluation. Condition CNSR is populated, but AVAL, STARTDT, and one of [ADT, ADTM] are not populated
AD0250 In Time to Event studies, Event or Censoring Description (EVNTDESC) variable is the description of the event of interest or an event that warrants censoring. Therefore, Censor (CNSR) variable should be present. Censor Date Description (CNSDTDSC) variable describes the circumstance represented by the censoring date if different from the event date that warrants censoring. If present, CNSR must be present. Note that adding CNSDTDSC provides additional information when there is a difference between the event date that warrants censoring and the actual date of censoring. If the event that warrants censoring is the same as the onset date of the event that represents the censoring date, then the CNSDTDSC column is not needed in the analysis dataset. Find EVNTDESC and/or CNSDTDSC is present, but CNSR is not present
AD0251 In Time to Event studies, Censor Date Description (CNSDTDSC) variable describes the circumstance represented by the censoring date if different from the event date that warrants censoring. If present, Censor (CNSR) variable must be present. Note that adding CNSDTDSC provides additional information when there is a difference between the event date that warrants censoring and the actual date of censoring. If the event that warrants censoring is the same as the onset date of the event that represents the censoring date, then the CNSDTDSC column is not needed in the analysis dataset. Find CNSDTDSC is present, but CNSR is not present
AD0252 Variables described in ADaM IG as inappropriate for usage must be not included in the dataset. i.e., for ADAE, there is no need for AVAL, AVALC and Parameter variables. Find Variable present in dataset is prohibited for use in ADaM
AD0256 All subjects included into ADaM datasets should be present in ADSL dataset and use the same Unique Subject Identifier (USUBJID). Lookup USUBJID value does not exist in the ADaM ADSL domain
AD0269 A Treatment Flag variable must have a value that is Y or null. Examples of such Flags variables in ADaM-IG 1.2 are Treatment Emergent Analysis Flag (TRTEMFL), Pre-treatment Flag (PREFL), On Treatment Record Flag (ONTRTFL), Follow-up Flag (FUPFL), and Last Value On Treatment Record Flag (LVOTFL). Match %Variable% flag value is not Y or null
AD0322 Within a given value of Planned Treatment (TRTP) variable, there can only be one unique value of Planned Pooled Treatment y (TRTPGy) variable. Unique Inconsistent value for TRTPGy within a given TRTP
AD0323 Within a Study, all Phase (N) (APHASEN) variable values must be the same for each unique value of Phase (APHASE) variable when the primary variable APHASE is populated. Unique Inconsistent value for APHASEN
AD0324 Within a Study, all Phase(APHASE) variable values must be the same for each unique value of Phase (N) (APHASEN) variable when the primary variable APHASEN is populated. Unique Inconsistent value for APHASE
AD0325 Within a Study and a Period, all Subperiod within Period (ASPER) variable values must be the same for each unique value of Subperiod within Period (C) (ASPERC) variable when the primary variable ASPERC is populated. Unique Inconsistent value for ASPER
AD0326 Within a Study and a Period, all Subperiod within Period (C) (ASPERC) variable values must be the same for each unique value of Subperiod within Period (ASPER) variable when the primary variable ASPER is populated. Unique Inconsistent value for ASPERC
AD0327 Within a Study and a Parameter, all Analysis Value Category y (AVALCATy) variable values must be the same for each unique value of Analysis Value Category y (N) (AVALCAyN) variable when the primary variable AVALCAy is populated. Unique Inconsistent value for AVALCAT%Variable.1%
AD0328 Within a Study and a Parameter, all Analysis Value Category y (N) (AVALCAyN) variable values must be the same for each unique value of Analysis Value Category y (AVALCATy) variable when the primary variable AVALCATy is populated. Unique Inconsistent value for AVALCA%Variable.1%N
AD0329 Within a Study and a Parameter, all Baseline Category y (BASECATy) variable values must be the same for each unique value of Baseline Category y (N) (BASECAyN) variable when the primary variable BASECATy is populated. Unique Inconsistent value for BASECAT%Variable.1%
AD0330 Within a Study and a Parameter, all Baseline Category y (N) (BASECAyN) variable values must be the same for each unique value of Baseline Category y (BASECATy) variable when the primary variable BASECATy is populated. Unique Inconsistent value for BASECA%Variable.1%N
AD0331 Within a Study and a Parameter, all Change from Baseline Category y (CHGCATy) variable values must be the same for each unique value of Change from Baseline Category y (N) (CHGCATyN) variable when variable CHGCATyN is populated. Unique Inconsistent value for CHGCAT%Variable.1%
AD0332 Within a Study and a Parameter, all Change from Baseline Category y (N) (CHGCATyN) variable values must be the same for each unique value of Change from Baseline Category y (CHGCATy) variable when the primary variable CHGCATy is populated. Unique Inconsistent value for CHGCAT%Variable.1%N
AD0333 Within a Study and a Parameter, all Percent Chg from Baseline Category y (PCHGCATy) variable values must be the same for each unique value of Percent Chg from Baseline Category y (N) (PCHGCAyN) variable when variable PCHGCAyN is populated. Unique Inconsistent value for PCHGCAT%Variable.1%
AD0334 Within a Study and a Parameter, all Percent Chg from Baseline Category y (N) (PCHGCAyN) variable values must be the same for each unique value of Percent Chg from Baseline Category y (PCHGCATy) when the primary variable PCHGCATy is populated. Unique Inconsistent value for PCHGCA%Variable.1%N
AD0337 If Multi-Response Criterion y Evaluation (MCRITyML) flag variable is present, there must also be a corresponding Analysis Multi-Response Criterion y (MCRITy) variable. Find MCRIT%Variable.1% variable is not present when MCRIT%Variable.1%ML is present
AD0338 If Analysis Multi-Response Criterion y (MCRITy) variable is present, there must also be a corresponding Multi-Response Criterion y Evaluation (MCRITyML) flag variable. Find MCRIT%Variable.1%ML is not present when MCRIT%Variable.1% is present
AD0339 When Multi-Response Criterion y Evaluation (MCRITyML) variable value is populated, then its corresponding Analysis Multi-Response Criterion y (MCRITy) variable must be also populated. Condition MCRIT%Variable.1% is not populated when MCRIT%Variable.1%ML is populated
AD0340 Within a Study and a Parameter, all Multi-Response Criterion y Evaluation (MCRITyML) variable values must be the same for each unique value of Multi-Response Criterion y Eval (N) (MCRITyMN) variable when variable MCRITyMN is populated. Unique Inconsistent value for MCRIT%Variable.1%ML
AD0341 Within a Study and a Parameter, all Multi-Response Criterion y Eval (N) (MCRITyMN) variable values must be the same for each unique value of Multi-Response Criterion y Evaluation (MCRITyML) variable when the primary variable MCRITyML is populated. Unique Inconsistent value for MCRIT%Variable.1%MN
AD0342 Within a Study and a Parameter, all Analysis Normal Range Lower Limit (ANRLO) variable values must be the same for each unique value of Analysis Normal Range Lower Limit (C) (ANRLOC) variable when variable ANRLOC is populated. Unique Inconsistent value for ANRLO
AD0343 Within a Study and a Parameter, all Analysis Normal Range Lower Limit (C) (ANRLOC) variable values must be the same for each unique value of Analysis Normal Range Lower Limit (ANRLO) variable when variable ANRLO is populated. Unique Inconsistent value for ANRLOC
AD0344 Within a Study and a Parameter, all Analysis Normal Range Upper Limit (ANRHI) variable values must be the same for each unique value of Analysis Normal Range Upper Limit (C) (ANRHIC) variable when variable ANRHIC is populated. Unique Inconsistent value for ANRHI
AD0345 Within a Study and a Parameter, all Analysis Normal Range Upper Limit (C) (ANRHIC) variable values must be the same for each unique value of Analysis Normal Range Upper Limit (ANRHI) when variable ANRHI is populated. Unique Inconsistent value for ANRHIC
AD0346 If Ratio to Analysis Range y Lower Limit (R2AyLO) flag variable is present, there must also be a corresponding Analysis Range y Lower Limit (AyLO) variable. Find A%Variable.1%LO variable is not present when R2A%Variable.1%LO is present
AD0347 Within a Study and a Parameter, all Analysis Range y Lower Limit( AyLO) variable values must be the same for each unique value of Analysis Range y Lower Limit (C) (AyLOC) variable when variable AyLOC is populated. Unique Inconsistent value for A%Variable.1%LO
AD0348 Within a Study and a Parameter, all Analysis Range y Lower Limit (C) (AyLOC) variable values must be the same for each unique value of Analysis Range y Lower Limit (AyLO) variable when variable AyLO is populated. Unique Inconsistent value for A%Variable.1%LOC
AD0349 If Ratio to Analysis Range y Upper Limit (R2AyHI) variable is present, there must also be a corresponding Analysis Range y Upper Limit (AyHI) variable. Find A%Variable.1%HI variable is not present when R2A%Variable.1%HI is present
AD0350 Within a Study and a Parameter, all Analysis Range y Upper Limit (AyHI) variable values must be the same for each unique value of Analysis Range y Upper Limit (C) (AyHIC) variable when variable AyHIC is populated. Unique Inconsistent value for A%Variable.1%HI
AD0351 Within a Study and a Parameter, all Analysis Range y Upper Limit (C) (AyHIC) variable values must be the same for each unique value of Analysis Range y Upper Limit (AyHI) variable when variable AyHI is populated. Unique Inconsistent value for A%Variable.1%HIC
AD0352 Analysis Range y Indicator (AyIND) variable indicates the relationship of Analysis Value (AVAL) to the analysis range variables Analysis Range y Lower Limit (AyLO) and/or Analysis Range y Upper Limit (AyHI), or the relationship of Analysis Value (C) (AVALC) variable to the analysis range variables Analysis Range y Lower Limit (C) (AyLOC) and/or Analysis Range y Upper Limit (C) AyHIC. At least one of AyLO, AyHI, AyLOC, and AyHIC is expected to be present for use of AyIND variable. Find None of A%Variable.1%LO, A%Variable.1%HI, A%Variable.1%LOC, or A%Variable.1%HIC variables is present when A%Variable.1%IND is present
AD0353 If the record is flagged as the Analysis Baseline (ABLFL = Y), then the value of Baseline Analysis Range y Indicator (ByIND) variable must equal the value of Analysis Range y Indicator (AyIND) variable. Condition B%Variable.1%IND != A%Variable.1%IND when ABLFL = Y
AD0361 The value of Analysis Start Date (ASTDT) variable must be less or equal to Analysis End Date (AENDT) variable value. Condition Value of ASTDT is greater than value of AENDT
AD0362 The value of Analysis Start Datetime (ASTDTM) variable must be less or equal to Analysis End Datetime (AENDTM) variable value. Condition Value of ASTDTM is greater than value of AENDTM
AD0369 If a Date variable is indicated to be imputated by population of an Imputation Flag (*DTF), that Date variable (*DT) or Datetime variable (*DTM) must have a value. Condition %Variable.1%DTF is populated, but %Variable.1%DT or %Variable.1%DTM is not populated
AD0370 If a Time variable is indicated to be imputated by population of an Imputation Flag (*TMF), that Time variable (*TM) or Datetime variable (*DTM) must have a value. Condition %Variable.1%TMF is populated, but %Variable.1%TM or %Variable.1%DTM is not populated
AD0376 In a pair of corresponding character and numeric variables, the secondary variable must be populated if its primary variable is populated. Exceptions: *DTC, *FN, TRTPN, TRT01PN, PARAMN, AVALC, BASEC. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Primary variable %Variable.1% is populated, but its secondary variable %Variable% is not populated
AD0381 Within a parameter, there should be only a single value of a primary variable (*) for a given value of secondary variable (*N), considering only those rows on which both variables are populated. Covers variable pairs: BTOXGR/BTOXGRN, BTOXGRL/BTOXGRLN, BTOXGRH/BTOXGRHN, ATOXGRL/ATOXGRLN, ATOXGRH/ATOXGRHN. Unique Inconsistent value for %Variable% within a unique PARAMCD
AD0382 Within a parameter, there should be only a single value of Baseline Toxicity Grade (N) (BTOXGRN) variable for a given value of Baseline Toxicity Grade (BTOXGR) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BTOXGRN within a unique PARAMCD
AD0384 Within a parameter, there should be only a single value of Baseline Toxicity Grade Low (N) (BTOXGRLN) variable for a given value of Baseline Toxicity Grade Low (BTOXGRL) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BTOXGRLN within a unique PARAMCD
AD0388 Within a parameter, there should be only a single value of Baseline Toxicity Grade High (N) (BTOXGRHN) variable for a given value of Baseline Toxicity Grade High (BTOXGRH) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BTOXGRHN within a unique PARAMCD
AD0396 Within a parameter, there should be only a single value of ATOXGRLN for a given value of ATOXGRL, considering only those rows on which both variables are populated. Unique Inconsistent value for ATOXGRLN within a unique PARAMCD
AD0400 Within a parameter, there should be only a single value of Analysis Toxicity Grade Low (N) (ATOXGRHN) variable for a given value of Analysis Toxicity Grade Low (ATOXGRH) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for ATOXGRHN within a unique PARAMCD
AD0401 On a given record, if Analysis Toxicity Description Low (ATOXDSCL) variable value is populated, then both Analysis Value (AVAL) and the Analysis Toxicity Grade Low (ATOXGRL) variable values must be populated. Condition AVAL is not populated or ATOXGRL is not populated, and ATOXDSCL is populated
AD0402 On a given record, if Analysis Toxicity Description High (ATOXDSCH) variable value is populated, then both Analysis Value (AVAL) and the Analysis Toxicity Grade High (ATOXGRH) variable values must be populated. Condition AVAL is not populated or ATOXGRH is not populated, and ATOXDSCH is populated
AD0403 Within a subject, there should be only a single value of Analysis Toxicity Description Low (ATOXDSCL) variable for a given value of Parameter Code (PARAMCD) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for ATOXDSCL within a subject and parameter
AD0405 Within a subject, there should be only a single value of Analysis Toxicity Description High (ATOXDSCH) variable for a given value of Parameter Code (PARAMCD) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for ATOXDSCH within a subject and parameter
AD0450 On a given record, if Multi-Response Criterion y Evaluation (MCRITyML) variable value is populated, then Multi-Response Criterion y Eval (N) (MCRITyMN) variable value must also be populated. Condition MCRITyML is populated, but MCRITyMN is not populated
AD0451 On a given record, if Multi-Response Criterion y Eval (N) (MCRITyMN) variable value is populated, then Multi-Response Criterion y Evaluation (MCRITyML) variable value must also be populated. Condition MCRITyMN is populated, but MCRITyML is not populated
AD0482 In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be populated if its secondary variable describing it is populated. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Primary variable BCHGCATy is populated, but its secondary variable BCHGCAyN is not populated
AD0483 In a pair of corresponding character and numeric variables, the secondary variable must be populated if its primary variable is populated. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Secondary variable BCHGCAyN is populated, but its primary variable BCHGCATy is not populated
AD0484 In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be populated if its secondary variable describing it is populated. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Primary variable PBCHGCAy is populated, but its secondary variable PBCHGCyN is not populated
AD0485 In a pair of corresponding character and numeric variables, the secondary variable must be populated if its primary variable is populated. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Secondary variable PBCHGCyN is populated, but its primary variable PBCHGCAy is not populated
AD0492 If Shift $y (SHIFTy) variable is present, the variable pair it is describing should also be present. Pairs include (BASECATy/ AVALCATy), (BNRIND/ANRIND), (ByIND/AyIND), (BTOXGR/ATOXGR), (BTOXGRL/ATOXGRL), (BTOXGRH/ATOXGRH), (BASE/AVAL) and (BASEC/AVALC). Find SHIFTy is present and all of the following variable pairs (BASECATy, AVALCATy), (BNRIND, ANRIND), (ByIND, AyIND), (BTOXGR, ATOXGR), (BTOXGRL, ATOXGRL), (BTOXGRH, ATOXGRH), (BASE, AVAL) and (BASEC, AVALC) are not present
AD0499 If Subperiod within Period (ASPER) variable is used in a dataset, Period (APERIOD) variable must also be present in that dataset. Find ASPER is present and APERIOD is not present
AD0501 On a given record, if Subperiod within Period (ASPER) variable is populated, then Period (APERIOD) variable must be populated. Condition ASPER is populated and APERIOD is not populated
AD0543 If Analysis Value Category y (N) (AVALCAyN) variable is used in a dataset, Analysis Value Category y (AVALCATy) variable must also be present in that dataset. Find AVALCAyN is present and AVALCATy is not present
AD0544 If Baseline Category y (N) (BASECAyN) variable is used in a dataset, Baseline Category y (BASECATy) variable must also be present in that dataset. Find BASECAyN is present and BASECATy is not present
AD0545 If Change from Baseline Category y (N) (CHGCATyN) variable is used in a dataset, Change from Baseline Category y (CHGCATy) variable must also be present in that dataset. Find CHGCATyN is present and CHGCATy is not present
AD0546 If Percent Chg from Baseline Category y (N) (PCHGCAyN) variable is used in a dataset, Percent Chg from Baseline Category y (PCHGCATy) variable must also be present in that dataset. Find PCHGCAyN is present and PCHGCATy is not present
AD0552 If Multi-Response Criterion y Eval (N) (MCRITyMN) variable is used in a dataset, Multi-Response Criterion y Evaluation (MCRITyML) variable must also be present in that dataset. Find MCRITyMN is present and MCRITyML is not present
AD0565 If Change to Baseline Category y (N) (BCHGCAyN) variable is used in a dataset, Change to Baseline Category y (BCHGCATy) variable must also be present in that dataset. Find BCHGCAyN is present and BCHGCATy is not present
AD0566 If Percent Change to Baseline Category y (N) (PBCHGCyN) variable is used in a dataset, Percent Change to Baseline Category y (PBCHGCAy) variable must also be present in that dataset. Find PBCHGCyN is present and PBCHGCAy is not present
AD0582 When all 3 variables are populated, Change to Baseline (BCHG) must equal Baseline Value (BASE) minus Analysis Value (AVAL). Condition Calculation issue: BCHG != BASE - AVAL
AD0584 Within a parameter, there should be only a single value of Change to Baseline Category y (BCHGCATy) variable for a given value of Change to Baseline Category y (N) (BCHGCAyN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BCHGCATy within a unique PARAMCD
AD0585 Within a parameter, there should be only a single value of Change to Baseline Category y (N) (BCHGCAyN) variable for a given value of Change to Baseline Category y (BCHGCATy) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BCHGCAyN within a unique PARAMCD
AD0586 When all 3 variables are populated and base &lt;&gt; 0, Percent Change to Baseline (PBCHG) must equal the difference of Baseline Value (BASE) minus Analysis Value (AVAL) divided by the analysis value (AVAL), expressed as a percentage. Condition Calculation issue: PBCHG != (BASE - AVAL)/AVAL * 100
AD0588 Within a parameter, there should be only a single value of Percent Change to Baseline Category y (PBCHGCAy) variable for a given value of Percent Change to Baseline Category y (N) (PBCHGCyN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for PBCHGCAy within a unique PARAMCD
AD0589 Within a parameter, there should be only a single value of Percent Change to Baseline Category y (N) (PBCHGCyN) variable for a given value of Percent Change to Baseline Category y (PBCHGCAy) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for PBCHGCyN within a unique PARAMCD
AD0605 When analysis Phase (APHASE) variable is defined, the Phase Start Date (PHSDT) variable value must equal ADSL Phase w Start Date (PHwSDT) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSDT != ADSL.PHwSDT
AD0607 When analysis Phase (APHASE) variable is defined, the analysis Phase Start Time (PHSTM) variable value must equal ADSL Phase w Start Time (PHwSTM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSTM != ADSL.PHwSTM
AD0609 When analysis Phase (APHASE) variable is defined, the analysis Phase Start Datetime (PHSDTM) variable value must equal ADSL Phase w Start Datetime (PHwSDTM) for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSDTM != ADSL.PHwSDTM
AD0611 When analysis Phase (APHASE) is defined, the Phase End Date (PHEDT) variable value must equal ADSL Phase w End Date (PHwEDT) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHEDT != ADSL.PHwEDT
AD0613 When analysis Phase (APHASE) variable is defined, the Phase End Time (PHETM) variable value must equal ADSL Phase w End Time (PHwETM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHETM != ADSL.PHwETM
AD0615 When analysis Phase (APHASE) variable) is defined, the Phase End Datetime (PHEDTM) variable value must equal ADSL Phase w End Datetime (PHwEDTM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHEDTM != ADSL.PHwEDTM
AD1011 In a pair of corresponding character and numeric variables (* and *N or *C) the primary or most commonly used variable must be populated if its secondary variable describing it is populated. Exceptions: *DTC, *FN, TRTPN, TRT01PN, PARAMN, AVALC, BASEC, *LOC, and *HIC. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Secondary variable %Variable% is populated, but its primary variable %Variable.1% is not populated
AD1012A In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be present if its secondary version describing it (*N or *C) is present. This is a rule designed to look explicitly at variable pairs defined in the CDISC standard documents. A similar rule that checks custom *N or *C variables (with a few exceptions) is AD1012. This rule is expected to be added to CDISC ADaM Conformance Rules in the future. Find Secondary variable is present, but its primary variable is not present
AD1018 For Analysis Flag zz (ANLzzFL) and Analysis Flag zz (N) (ANLzzFN) variables, 'zz' is an index for the zzth record selection algorithm where 'zz' is must be in [01-99]. Similar to CDISC ADaM Validation Checks No. 299-303. Condition Illegal variable name: zz is not in [01-99] for ANLzzFL/FN
CT2001 Variable must be populated with terms from its CDISC controlled terminology codelist. New terms cannot be added into non-extensible codelists. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' non-extensible codelist
CT2002 Variable should be populated with terms from its CDISC controlled terminology codelist. New terms can be added as long as they are not duplicates, synonyms or subsets of existing standard terms. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' extensible codelist
CT2003 Paired variables such as TEST/TESTCD must be populated using terms with the same Codelist Code value in CDISC control terminology. There is one-to-one relationship between paired variable values defined in CDISC control terminology by Codelist Code value. Match %Variable% and %Variable.DecodedVariable% values do not have the same Code in CDISC CT
CT2004 Variable must be populated with terms from its CDISC controlled terminology codelist when its value level condition is met. New terms cannot be added into non-extensible codelists. Match %Variable% value not found in '%Variable.Config.@Clause.CodeList.Name%' non-extensible codelist when %Variable.Config.@Clause.Expression%
CT2005 Variable should be populated with terms from its CDISC controlled terminology codelist when its value level condition is met. New terms can be added as long as they are not duplicates, synonyms or subsets of existing standard terms. Match %Variable% value not found in '%Variable.Config.@Clause.CodeList.Name%' extensible codelist when %Variable.Config.@Clause.Expression%
CT2006 Paired variables such as TEST/TESTCD must be populated using terms with the same Codelist Code value in CDISC control terminology. There is one-to-one relationship between paired variable values defined in CDISC control terminology by Codelist Code value within the same value level condition. Match %Variable% and %Variable.DecodedVariable% values do not have the same Code in CDISC CT when %Variable.Config.@Clause.Expression%
SD0001 Domain table should have at least one record. Property No records in data source
SD0037 Variable values should be populated with terms found in the user-defined codelist associated with the variable in define.xml. Match Value for %Variable% not found in (%Variable.CodeList.Name%) user-defined codelist
SD0054 Variables listed in the data definition document (define.xml) should be included in the dataset. Find Variable in define.xml is not present in the dataset
SD0059 Variable DataType in define.xml must match variable Type in dataset. Define-XML data types of 'integer' and 'float' match dataset type of 'Num', all other match 'Char'. Condition Define.xml/dataset variable type mismatch
SD0060 Variables included in the dataset must be described in the data definition document (define.xml). Match Variable in dataset is not present in define.xml
SD0062 Domain table must have a valid format (e.g., SAS transport (XPORT) v.5 or text-delimited). Property Incompatible data source
SD1063 Datasets included in study data must be described in the data definition document (define.xml). Match Dataset is not present in define.xml
SD1071 Datasets greater than 5 gigabytes (GB) in size should be split into smaller datasets no larger than 5 GB. Property Dataset is greater than 5 GB in size
SD1082 Variable length should be assigned based on actual stored data to minimize file size. Datasets should be re-sized to the maximum length of actual data used prior to splitting. Varlength Variable length is too long for actual data
SD1228 Variable value must be populated with terms from user-defined value level codelist as specified in define.xml file. Match %Variable% value not found in user-defined codelist '%Variable.@Clause.CodeList.Name%' when %Variable.@Clause.Expression%
SD1229 Variable value must be populated when value level attribute Mandatory='Yes' as specified in define.xml file. Required %Variable% value is null when %Variable.@Clause.Expression%
SD1230 Value level datatype must match the datatype described in define.xml. Condition %Variable% datatype is not %Variable.@Clause.DataType% when %Variable.@Clause.Expression%
SD1231 Value level length must not exceed the length as specified define.xml. Condition %Variable% value is longer than defined max length %Variable.@Clause.Length% when %Variable.@Clause.Expression%
SD1324 Variable Label in define.xml must match variable Label in dataset. Match Define.xml/dataset variable label mismatch
SD1325 Dataset Description in define.xml must match dataset Description. Property Define.xml/dataset description mismatch

Analysis Adverse Events

Dataset Structure
Variable Description Required Data Type Length
STUDYID Study Identifier yes text 200
USUBJID Unique Subject Identifier yes text 200
SUBJID Subject Identifier for the Study text 200
SITEID Study Site Identifier text 200
AESEQ Sequence Number yes float 200
ASEQ Analysis Sequence Number float 200
SRCDOM Source Data text 200
SRCSEQ Source Sequence Number float 200
AETERM Reported Term for the Adverse Event yes text 200
AEDECOD Dictionary-Derived Term yes text 200
AEBODSYS Body System or Organ Class yes text 200
AEBDSYCD Body System or Organ Class Code yes integer 200
AELLT Lowest Level Term yes text 200
AELLTCD Lowest Level Term Code yes integer 200
AEPTCD Preferred Term Code yes integer 200
AEHLT High Level Term yes text 200
AEHLTCD High Level Term Code yes integer 200
AEHLGT High Level Group Term yes text 200
AEHLGTCD High Level Group Term Code yes integer 200
AESOC Primary System Organ Class yes text 200
AESOCCD Primary System Organ Class Code yes integer 200
CMTRT Reported Name of Drug, Med, or Therapy text 200
CMDECOD Standardized Medication Name text 200
CMCLAS Medication Class text 200
CMCLASCD Medication Class Code text 200
ATC# ATC Level $1 Text text 200
ATC#CD ATC Level $1 Code text 200
AECAT Category for Adverse Event text 200
AESCAT Subcategory for Adverse Event text 200
ACAT# Analysis Category $1 text 200
AESTDTC Start Date/Time of Adverse Event yes datetime 200
ASTDT Analysis Start Date yes integer 200
ASTTM Analysis Start Time integer 200
ASTDTM Analysis Start Date/Time integer 200
ASTDTF Analysis Start Date Imputation Flag text 200
ASTTMF Analysis Start Time Imputation Flag text 200
AEENDTC End Date/Time of Adverse Event yes datetime 200
AENDT Analysis End Date yes integer 200
AENTM Analysis End Time integer 200
AENDTM Analysis End Date/Time integer 200
AENDTF Analysis End Date Imputation Flag text 200
AENTMF Analysis End Time Imputation Flag text 200
ASTDY Analysis Start Relative Day yes integer 200
AESTDY Study Day of Start of Adverse Event integer 200
AENDY Analysis End Relative Day yes integer 200
AEENDY Study Day of End of Adverse Event integer 200
ADURN Analysis Duration (N) float 200
ADURU Analysis Duration Units text 200
AEDUR Duration of Adverse Event datetime 200
APERIOD Period float 200
APERIODC Period (C) text 200
APHASE Phase text 200
AEOCCUR Occurrence text 200
AEPRESP Pre-Specified Adverse Event text 200
ANL#FL Analysis Flag $1 text 200
TRTEMFL Treatment Emergent Analysis Flag yes text 200
AETRTEM Treatment Emergent Flag text 200
TREM#FL Treatment Emergent Period $1 Flag text 200
TRTEM#FL Treatment Emergent Analysis $1 Flag text 200
ONTRTFL On Treatment Record Flag text 200
ONTR#FL On Treatment Period $1 Flag text 200
ONTRT#FL On Treatment Record $1 Flag text 200
PREFL Pre-treatment Flag text 200
FUPFL Follow-up Flag text 200
AOCCFL 1st Occurrence within Subject Flag text 200
AOCCPFL 1st Occurrence of Preferred Term Flag text 200
AOCCIFL 1st Max Sev./Int. Occurrence Flag text 200
AOCCPIFL 1st Max Sev./Int. Occur Within PT Flag text 200
AOCC*FL text 200
AOCCSFL 1st Occurrence of SOC Flag text 200
AOCCSIFL 1st Max Sev./Int. Occur Within SOC Flag text 200
DOSEON Treatment Dose at Record Start float 200
DOSCUMA Cumulative Actual Treatment Dose float 200
DOSEU Treatment Dose Units text 200
AESER Serious Event yes text 200
AESEV Severity/Intensity text 200
AESEVN Severity/Intensity (N) integer 200
ASEV Analysis Severity/Intensity text 200
ASEVN Analysis Severity/Intensity (N) integer 200
SEVGR# Pooled Severity Group $1 text 200
SEVGR#N Pooled Severity Group $1 (N) integer 200
AEREL Causality yes text 200
AERELN Causality (N) float 200
AREL Analysis Causality text 200
ARELN Analysis Causality (N) float 200
RELGR# Pooled Causality Group $1 text 200
RELGR#N Pooled Causality Group $1 (N) integer 200
AETOXGR Standard Toxicity Grade text 200
AETOXGRN Standard Toxicity Grade (N) integer 200
ATOXGR Analysis Toxicity Grade text 200
ATOXGRN Analysis Toxicity Grade (N) integer 200
TOXGGR# Pooled Toxicity Grade Group $1 text 200
TOXGGR#N Pooled Toxicity Grade $1 (N) integer 200
AEACN Action Taken with Study Treatment text 200
CMSTAT Completion Status text 200
CMINDC Indication text 200
CMDOSE Dose per Administration float 200
CMDOSFRM Dose Form text 200
CMDOSRGM Intended Dose Regimen text 200
CMROUTE Route of Administration text 200
SMQ#NAM SMQ $1 Name text 200
SMQ#CD SMQ $1 Code integer 200
SMQ#SC SMQ $1 Scope text 200
SMQ#SCN SMQ $1 Scope (N) integer 200
CQ#NAM Customized Query $1 Name text 200
ADECOD# Analysis Dictionary-Derived Term $1 text 200
DECDORG# PT in Original Dictionary $1 text 200
BDSYORG# SOC in Original Dictionary $1 text 200
HLGTORG# HLGT in Original Dictionary $1 text 200
HLTORG# HLT in Original Dictionary $1 text 200
LLTORG# LLT in Original Dictionary $1 text 200
LLTNORG# LLT Code in Original Dictionary $1 text 200
CLASORG# Medication Class in Orig Dictionary $1 text 200
CLCDORG# Medication Class Code in Orig Dict $1 text 200
ATyCORG# ATC Level y Code in Orig Dictionary $1 text 200
ATyTORG# ATC Level y Text in Orig Dictionary $1 text 200
SITEGR# Pooled Site Group $1 text 200
SITEGR#N Pooled Site Group $1 (N) integer 200
REGION# Geographic Region $1 text 200
REGION#N Geographic Region $1 (N) integer 200
AGE Age integer 200
AGEU Age Units text 200
AGEGR# Pooled Age Group $1 text 200
AGEGR#N Pooled Age Group $1 (N) integer 200
AAGE Analysis Age float 200
SEX Sex text 200
RACE Race text 200
RACEGR# Pooled Race Group $1 text 200
RACEGR#N Pooled Race Group $1 (N) integer 200
FASFL Full Analysis Set Population Flag text 200
FASFN Full Analysis Set Population Flag (N) integer 200
SAFFL Safety Population Flag text 200
SAFFN Safety Population Flag (N) integer 200
ITTFL Intent-To-Treat Population Flag text 200
ITTFN Intent-To-Treat Population Flag (N) integer 200
PPROTFL Per-Protocol Population Flag text 200
PPROTFN Per-Protocol Population Flag (N) integer 200
COMPLFL Completers Population Flag text 200
COMPLFN Completers Population Flag (N) integer 200
RANDFL Randomized Population Flag text 200
RANDFN Randomized Population Flag (N) integer 200
ENRLFL Enrolled Population Flag text 200
ENRLFN Enrolled Population Flag (N) integer 200
ARM Description of Planned Arm text 200
ACTARM Description of Actual Arm text 200
*FL text 200
TRT#P Planned Treatment for Period $1 text 200
TRT#PN Planned Treatment for Period $1 (N) integer 200
TRT#A Actual Treatment for Period $1 text 200
TRT#AN Actual Treatment for Period $1 (N) integer 200
TRTSEQP Planned Sequence of Treatments text 200
TRTSEQPN Planned Sequence of Treatments (N) integer 200
TRTSEQA Actual Sequence of Treatments text 200
TRTSEQAN Actual Sequence of Treatments (N) integer 200
TR#PG# Planned Pooled Treatment $2 for Period $1 text 200
TR#PG#N Planned Pooled Trt $2 for Period $1 (N) integer 200
TR#AG# Actual Pooled Treatment $2 for Period $1 text 200
TR#AG#N Actual Pooled Trt $2 for Period $1 (N) integer 200
TSEQPG# Planned Pooled Treatment Sequence $1 text 200
TSEQPG#N Planned Pooled Treatment Sequence $1 (N) integer 200
TSEQAG# Actual Pooled Treatment Sequence $1 text 200
TSEQAG#N Actual Pooled Treatment Sequence $1 (N) integer 200
DOSE#P Planned Treatment Dose for Period $1 float 200
DOSE#A Actual Treatment Dose for Period $1 float 200
DOSE#U Units for Dose for Period $1 text 200
TRTSDT Date of First Exposure to Treatment integer 200
TRTSTM Time of First Exposure to Treatment integer 200
TRTSDTM Datetime of First Exposure to Treatment integer 200
TRTSDTF Date of First Exposure Imput. Flag text 200
TRTSTMF Time of First Exposure Imput. Flag text 200
TRTEDT Date of Last Exposure to Treatment integer 200
TRTETM Time of Last Exposure to Treatment integer 200
TRTEDTM Datetime of Last Exposure to Treatment integer 200
TRTEDTF Date of Last Exposure Imput. Flag text 200
TRTETMF Time of Last Exposure Imput. Flag text 200
TR#SDT Date of First Exposure in Period $1 integer 200
TR#STM Time of First Exposure in Period $1 integer 200
TR#SDTM Datetime of First Exposure in Period $1 integer 200
TR#SDTF Date 1st Exposure Period $1 Imput. Flag text 200
TR#STMF Time 1st Exposure Period $1 Imput. Flag text 200
TR#EDT Date of Last Exposure in Period $1 integer 200
TR#ETM Time of Last Exposure in Period $1 integer 200
TR#EDTM Datetime of Last Exposure in Period $1 integer 200
TR#EDTF Date Last Exposure Period $1 Imput. Flag text 200
TR#ETMF Time Last Exposure Period $1 Imput. Flag text 200
AP#SDT Period $1 Start Date integer 200
AP#STM Period $1 Start Time integer 200
AP#SDTM Period $1 Start Datetime integer 200
AP#SDTF Period $1 Start Date Imput. Flag text 200
AP#STMF Period $1 Start Time Imput. Flag text 200
AP#EDT Period $1 End Date integer 200
AP#ETM Period $1 End Time integer 200
AP#EDTM Period $1 End Datetime integer 200
AP#EDTF Period $1 End Date Imput. Flag text 200
AP#ETMF Period $1 End Time Imput. Flag text 200
P#S# Description of Period $1 Subperiod $2 text 200
P#S#SDT Period $1 Subperiod $2 Start Date integer 200
P#S#STM Period $1 Subperiod $2 Start Time integer 200
P#S#SDM Period $1 Subperiod $2 Start Datetime integer 200
P#S#SDF Period $1 Subper $2 Start Date Imput Flag text 200
P#S#STF Period $1 Subper $2 Start Time Imput Flag text 200
P#S#EDT Period $1 Subperiod $2 End Date integer 200
P#S#ETM Period $1 Subperiod $2 End Time integer 200
P#S#EDM Period $1 Subperiod $2 End Datetime integer 200
P#S#EDF Period $1 Subper $2 End Date Imput Flag text 200
P#S#ETF Period $1 Subper $2 End Time Imput Flag text 200
APHASE# Description of Phase $1 text 200
PH#SDT Phase $1 Start Date integer 200
PH#STM Phase $1 Start Time integer 200
PH#SDTM Phase $1 Start Datetime integer 200
PH#SDTF Phase $1 Start Date Imputation Flag text 200
PH#STMF Phase $1 Start Time Imputation Flag text 200
PH#EDT Phase $1 End Date integer 200
PH#ETM Phase $1 End Time integer 200
PH#EDTM Phase $1 End Datetime integer 200
PH#EDTF Phase $1 End Date Imputation Flag text 200
PH#ETMF Phase $1 End Time Imputation Flag text 200
EOSSTT End of Study Status text 200
EOSDT End of Study Date integer 200
DCSREAS Reason for Discontinuation from Study text 200
DCSREASP Reason Spec for Discont from Study text 200
EOTSTT End of Treatment Status text 200
DCTREAS Reason for Discontinuation of Treatment text 200
DCTREASP Reason Specify for Discont of Treatment text 200
EOT#STT End of Treatment Status in Period $1 text 200
DCT#RS Reason for Discont of Treat in Period $1 text 200
DCT#RSP Reason Spec for Disc of Trt in Period $1 text 200
EOP#STT End of Period $1 Status text 200
DCP#RS Reason for Discont from Period $1 text 200
DCP#RSP Reason Spec for Discont from Period $1 text 200
RFICDT Date of Informed Consent integer 200
ENRLDT Date of Enrollment integer 200
RANDDT Date of Randomization integer 200
RFIC#DT Date of Informed Consent $1 integer 200
ENRL#DT Date of Enrollment $1 integer 200
RAND#DT Date of Randomization $1 integer 200
LSTALVDT Date Last Known Alive integer 200
TRCMP Treatment Compliance (%) float 200
TRCMPG# Treatment Compliance (%) Group $1 text 200
TRCMPG#N Treatment Compliance (%) Group $1 (N) integer 200
TR#DURD Treatment Duration in Period $1 (Days) integer 200
TR#DURM Treatment Duration in Period $1 (Months) integer 200
TR#DURY Treatment Duration in Period $1 (Years) integer 200
TRTDURD Total Treatment Duration (Days) integer 200
TRTDURM Total Treatment Duration (Months) integer 200
TRTDURY Total Treatment Duration (Years) integer 200
DTHDT Date of Death integer 200
DTHDTF Date of Death Imputation Flag text 200
DTHCAUS Cause of Death text 200
DTHCAUSN Cause of Death (N) integer 200
DTHCGR# Cause of Death Group $1 text 200
DTHCGR#N Cause of Death Group $1 (N) integer 200
AVAL Analysis Value integer 200
AVALC Analysis Value (C) text 200
PARAM Parameter text 200
PARAMCD Parameter Code text 200
PARAMN Parameter (N) integer 200
PARAMTYP Parameter Type text 200
PARCAT# Parameter Category $1 text 200
PARCAT#N Parameter Category $1 (N) integer 200
* text 200
*DTF text 200
*TMF text 200

 

Validation Rules
ID Description Validator Message
AD0005B A variable with a suffix of FL must have value that is Y, N or null (Exception 1: ABLFL, ANLzzFL. Exception 2: Population flags COMPLFL, FASFL, ITTFL, PPROTFL, SAFFL, RANDFL, ENRLFL cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FL value is not Y, N or null
AD0006B A variable with a suffix of FN has a value that is not 0, 1, or null (Exception: ABLFN, ANLzzFN, and numeric population flags COMPLFN, FASFN, ITTFN, PPROTFN, SAFFN, RANDFN, ENRLFN cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FN value is not 0, 1 or null
AD0007 If a Flag Numeric (*FN) variable is present, its corresponding Flag Character (*FL) variable must be present. Find Secondary variable *FN is present, but its primary variable *FL is not present
AD0010 When a Flag variable (FL) is Y, its corresponding Flag numeric variable (FN) must be 1. Condition %Variable.1%FL = Y and %Variable.1%FN != 1
AD0011 When a Flag variable (FL) is N, its corresponding Flag numeric variable (FN) must be 0. Condition %Variable.1%FL = N and %Variable.1%FN != 0
AD0012 When a numeric Flag variable (*FN) is populated, its corresponding character Flag variable (*FL) must be populated. Condition Secondary variable %Variable.1%FN is populated, but its primary variable %Variable.1%FL is not populated
AD0013 A variable must be a max of 8 characters, start with a letter A-Z and does not contain anything other than letters, numbers, underscore (_). Regex Illegal variable name: basic format is violated
AD0016 All ADaM variable labels must be no more than 40 characters in length. This should not be possible to fail with sas v5 xpt. Dataset-XML or .csv can fail this rule. Regex Variable label length is greater than 40 characters
AD0018 The variable label in the dataset should match the variable label described in ADaM. When creating a new variable, labels can be adjusted as appropriate. Currently, this rule runs if a variable has a label that is defined in the ADaM metadata. Condition Variable label mismatch between dataset and ADaM standard
AD0019 For subject-level character population flag variables: N = no (not included), Y = yes (included). Null values are not allowed. Required %Variable% subject-population flag value is null
AD0037B Within a study, all *GRyN values must be the same for each unique value of *GRy when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%N
AD0038B Within a study, all *GRy values must be the same for each unique value of *GRyN when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%
AD0041 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DA, B8601DN , DATE, DAY, DDMMYY, DDMMYYB, DDMMYYC, DDMMYYD, DDMMYYN, DDMMYYP, DDMMYYS, DOWNAME, DTMONYY, E8601DA, JULDAY, JULIAN, MMDDYY, MMDDYYB, MMDDYYC, MMDDYYD, MMDDYYN, MMDDYYP, MMDDYYS, MMYY, MMYYB, MMYYC, MMYYD, MMYYN, MMYYP, MMYYS, MONNAME, MONTH, MONYY, PDJULG, PDJULI, QTR, QTRR, WEEKDATE, WEEKDATX, WEEKDAY, WEEKU, WEEKV, WEEKW, WORDDATE, WORDDATX, YEAR, YYMM, YYMMDD, YYMMDDB, YYMMDDC, YYMMDDD, YYMMDDN, YYMMDDP, YYMMDDS, YYMMB, YYMMC, YYMMD, YYMMN, YYMMP, YYMMS, YYMON, YYQ, YYQB, YYQC, YYQD, YYQN, YYQP, YYQS, YYQR, YYQRB, YYQRC, YYQRD, YYQRN, YYQRP, YYQRS, IS8601DA. Match *DT does not have the ADaM required SAS Date format
AD0041A *DT variables must have non-missing SAS Date Format. Required *DT variable has missing SAS Date Format
AD0042 The SAS format listed in the dataset must be valid. Here is a list of SAS Time formats utilized in the rule algorithm: B8601LZ, B8601TM, B8601TZ, E8601LZ, E8601TM, E8601TZ, HHMM, HOUR, MMSS, TIME, TIMEAMPM, IS8601TM, IS8601TZ, TOD. Match *TM does not have the ADaM required SAS time format
AD0042A *TM variables must have non-missing SAS Time Format. Required *TM variable has missing SAS Time Format
AD0043 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DT, B8601DZ, DATEAMPM, DATETIME, DTDATE, DTWKDATX, DTYEAR, DTYYQC, E8601DN, E8601DT, E8601DZ, MDYAMPM, TOD, IS8601DN, IS8601DT, IS8601DZ. Match *DTM does not have the ADaM required SAS Datetime format
AD0043A *DTM variables must have non-missing SAS Datetime Format. Required *DTM variable has missing SAS Datetime Format
AD0044 When both time and datetime variables are collected on the same record for the same observation, the Time portion of the datetime variable should be equal to the Time variable itself. Condition %Variable.1%TM and its corresponding %Variable.1%DTM variable have different time values
AD0045 When both date and datetime variables are collected on the same record for the same observation, the Date portion of the datetime variable should be equal to the Date variable itself. Condition %Variable.1%DT and its corresponding %Variable.1%DTM variable have different date values
AD0046 A variable with a suffix of DY (day) must not equal zero. Variables whose names end in DY are relative day variables. In ADaM as in the SDTM, there is no day 0. If there is a need to create a relative day variable that includes day 0, then its name must not end in DY. Regex %Variable.1%DY = 0
AD0047 Variables described in ADaM as Required must be included in the dataset. Find Required variable is not present
AD0058 The SAS TYPE for *DT variable must be equal Num. Match *DT is not a numeric variable
AD0059 The SAS TYPE for *TM variable must be equal Num. Match *TM is not a numeric variable
AD0060 The SAS TYPE for *DTM variable must be equal Num. Match *DTM is not a numeric variable
AD0102 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Planned Treatment for Period xx variable (like TRT01P) in ADSL dataset. Metadata There is no TRTxxP variable in ADSL for every unique xx value of APERIOD
AD0103 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Date of First Exposure in Period xx variable for this period (like TR01SDT) in ADSL dataset. Metadata There is no TRxxSDT variable in ADSL for every unique xx value of APERIOD
AD0104 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Date of Last Exposure in Period xx variable for this period (like TR01EDT) in ADSL dataset. Metadata There is no TRxxEDT variable in ADSL for every unique xx value of APERIOD
AD0105B Within a study, all APERIODC values must be the same for each unique value of APERIOD when the primary variable APERIOD is populated. Unique Inconsistent value for APERIODC
AD0106B Within a study, all APERIOD values must be the same for each unique value of APERIODC when the primary variable APERIOD is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for APERIOD
AD0121 Any variable ending in SDT (Start Date) must have a value less than or equal to its corresponding EDT (End Date) value (e.g., ADSL - TRTSDT, TR01SDT, AP01SDT; BDS - APERSDT). Condition %Variable.1%SDT is greater than %Variable.1%EDT
AD0122 Any variable ending in SDTM (Start Date Time) must have a value less than or equal to its corresponding EDTM (End Date Time) value (e.g., ADSL - TRTSDTM, TR01SDTM, AP01SDTM; BDS - APERSDTM). Condition %Variable.1%SDTM is greater than %Variable.1%EDTM
AD0178 A variable of form ANLzzFL (analysis record flag) must be Y or null. Match ANL%Variable.1%FL value is not Y or null
AD0252 Variables described in ADaM IG as inappropriate for usage must be not included in the dataset. i.e., for ADAE, there is no need for AVAL, AVALC and Parameter variables. Find Variable present in dataset is prohibited for use in ADaM
AD0256 All subjects included into ADaM datasets should be present in ADSL dataset and use the same Unique Subject Identifier (USUBJID). Lookup USUBJID value does not exist in the ADaM ADSL domain
AD0258 Adverse Events specified in ADAE dataset must be traceable to the SDTM AE domain based on Study Identifier (STUDYID), Unique Subject Identifier (USUBJID) and Sequence Number (AESEQ) variables. ADaM ADAE dataset should be validated with SDTM AE domain to facility this check. There must be traceability between ADaM and SDTM study data. This usually refers to mapping issues since an ADaM ADAE records must have been born from SDTM AE domain. Lookup Record key from ADaM ADAE is not traceable to SDTM.AE (extra ADAE recs)
AD0269 A Treatment Flag variable must have a value that is Y or null. Examples of such Flags variables in ADaM-IG 1.2 are Treatment Emergent Analysis Flag (TRTEMFL), Pre-treatment Flag (PREFL), On Treatment Record Flag (ONTRTFL), Follow-up Flag (FUPFL), and Last Value On Treatment Record Flag (LVOTFL). Match %Variable% flag value is not Y or null
AD0272 1st Occurrence * Flag (AOCC*FL) variable values must be Y or null. Match %Variable% flag value is not Y or null
AD0273 For additional Flag (AOCCzzFL) variables representing the 1st Occurrence of an analysis event or datapoint, zz must be nth flag variable (01 to 99). The main purpose of these flags is to facilitate data point traceability between records in the dataset and unique counts in the summary displays. In addition, if a Time to Event (TTE) Analysis dataset is built off of Adverse Events, the flags provide a crucial link between the summary records in the TTE BDS and the source of the records in ADAE. If the producer of the ADAE dataset has standard programs in place to summarize unique counts of events, then they may choose not to create these flags. Condition Illegal variable name: zz is not in [01-99] for AOCCzzFL
AD0279 Severity/Intensity (N) (AESEVN) and Analysis Severity/Intensity (N) (ASEVN) variables must have values in [1, 2, 3] when populated. AESEVN can be null. ASEVN cannot be null. Match %Variable% value != 1, 2, 3, or null
AD0280B Across studies, all Severity/Intensity (AESEV) variable values must be the same for each unique value of Severity/Intensity (N) (AESEVN) variable when both variables are populated. Unique Inconsistent value for AESEV
AD0281B Across studies, all Severity/Intensity (N) (AESEVN) variable must be the same for each unique value of Severity/Intensity (AESEV) variable when both variables are populated. Unique Inconsistent value for AESEVN
AD0283B Across studies, all Analysis Severity/Intensity (ASEV) variable values must be the same for each unique value of Analysis Severity/Intensity (N) (ASEVN) variable when both variables are populated. Unique Inconsistent value for ASEV
AD0284B Across studies, all Analysis Severity/Intensity (N) (ASEVN) variable values must be the same for each unique value of Analysis Severity/Intensity (ASEV) variable when both variables are populated. Unique Inconsistent value for ASEVN
AD0287B Across studies, all Causality (AEREL) variable values must be the same for each unique value of Causality (N) (AERELN) variable when both variables are populated. Unique Inconsistent value for AEREL
AD0288B Across studies, all Causality (N) (AERELN) variable values must be the same for each unique value of Causality (AEREL) variable when both variables are populated. Unique Inconsistent value for AERELN
AD0289B Across studies, all Analysis Causality (AREL) variable values must be the same for each unique value of Analysis Causality (N) (ARELN) variable when both variables are populated. Unique Inconsistent value for AREL
AD0290B Across studies, all Analysis Causality (N) (ARELN) variable values must be the same for each unique value of Analysis Causality (AREL) variable when both variables are populated. Unique Inconsistent value for ARELN
AD0293B Across studies, all Standard Toxicity Grade (AETOXGR) variable values must be the same for each unique value of Standard Toxicity Grade (N) (AETOXGRN) variable when both variables are populated. Unique Inconsistent value for AETOXGR
AD0294B Across studies, all Standard Toxicity Grade (N) (AETOXGRN) variable values must be the same for each unique value of Standard Toxicity Grade (AETOXGR) variable when both variables are populated. Unique Inconsistent value for AETOXGRN
AD0295B Across studies, all Analysis Toxicity Grade (ATOXGR) variable values must be the same for each unique value of Analysis Toxicity Grade (N) (ATOXGRN) variable when both variables are populated. Unique Inconsistent value for ATOXGR
AD0296B Across studies, all Analysis Toxicity Grade (N) (ATOXGRN) variable values must be the same for each unique value of Analysis Toxicity Grade (ATOXGR) variable when both variables are populated. Unique Inconsistent value for ATOXGRN
AD0299 For Standardized MedDRA Query Variables of Name, Code and Scope(N), zz must be the ordered SMQ of interest (01 to 99). This ordering can be based on importance or some other sponsor-defined criteria. It is recommended that the ordering be consistent across studies within a development program. Condition Illegal variable name: zz is not in [01-99] for SMQzz(NAM, CD, SC, SCN)
AD0303 For Customized MedDRA Query Name (SMQzzNAM) variables , zz must be the ordered CQ of interest (01 to 99). This ordering can be based on importance or some other sponsor-defined criteria. It is recommended that the ordering be consistent across studies within a development program. Condition Illegal variable name: zz is not in [01-99] for CQzzNAM
AD0304 If any of SMQ Name (SMQzzNAM), SMQ Code (SMQzzCD) or SMQ Scope (SMQzzSC) variable is populated, then all of these MedDRA SMQ variables must be populated together. Condition Only some of these variables are present and populated: SMQ%Variable.1%NAM, SMQ%Variable.1%CD, SMQ%Variable.1%SC
AD0310B Across studies, all SMQ Scope (SMQzzSC ) variable values must be the same for each unique value of SMQ Scope (N) (SMQzzSCN) variable when both variables are populated. The usual mapping is BROAD=1, NARROW=2. Unique Inconsistent value for SMQ%Variable.1%SC
AD0311B Across studies, all SMQ Scope (N) (SMQzzSCN) variable values must be the same for each unique value of SMQ Scope (SMQzzSC ) variable when both variables are populated. The usual mapping is BROAD=1, NARROW=2. Unique Inconsistent value for SMQ%Variable.1%SCN
AD0312 Standardized MedDRA Query Scope (SMQzzSC) variable value must be BROAD, NARROW, or NULL. The search strategy for SMQs can be narrow or broad. The preferred terms that are narrow in scope have high specificity for identifying events of interest while the broad terms have high sensitivity. By definition, all narrow terms are also considered within the broad score. Therefore, to summarize all broad terms, terms with either narrow OR broad would be considered. Will be null for terms that do not meet the criteria. Conditional on whether SMQ analysis is done. Match SMQ%Variable.1%SC value != BROAD, NARROW or null
AD0313 Standardized MedDRA Query Scope Numeric (SMQzzSCN) variable value must be 1 (BROAD), 2 (NARROW), or NULL. The search strategy for SMQs can be narrow or broad. The preferred terms that are narrow in scope have high specificity for identifying events of interest while the broad terms have high sensitivity. By definition, all narrow terms are also considered within the broad score. Therefore, to summarize all broad terms, terms with either narrow OR broad would be considered. Will be null for terms that do not meet the criteria. Conditional on whether SMQ analysis is done. Match SMQ%Variable.1%SCN value != 1, 2 or null
AD0323 Within a Study, all Phase (N) (APHASEN) variable values must be the same for each unique value of Phase (APHASE) variable when the primary variable APHASE is populated. Unique Inconsistent value for APHASEN
AD0324 Within a Study, all Phase(APHASE) variable values must be the same for each unique value of Phase (N) (APHASEN) variable when the primary variable APHASEN is populated. Unique Inconsistent value for APHASE
AD0325 Within a Study and a Period, all Subperiod within Period (ASPER) variable values must be the same for each unique value of Subperiod within Period (C) (ASPERC) variable when the primary variable ASPERC is populated. Unique Inconsistent value for ASPER
AD0326 Within a Study and a Period, all Subperiod within Period (C) (ASPERC) variable values must be the same for each unique value of Subperiod within Period (ASPER) variable when the primary variable ASPER is populated. Unique Inconsistent value for ASPERC
AD0361 The value of Analysis Start Date (ASTDT) variable must be less or equal to Analysis End Date (AENDT) variable value. Condition Value of ASTDT is greater than value of AENDT
AD0362 The value of Analysis Start Datetime (ASTDTM) variable must be less or equal to Analysis End Datetime (AENDTM) variable value. Condition Value of ASTDTM is greater than value of AENDTM
AD0364 Treatment Dose Units (DOSEU) variable is required, Treatment Dose at Record Start (DOSEON) or Cumulative Actual Treatment Dose (DOSCUMA) variable is present in the dataset. Find DOSEU variable is not present when DOSEON or DOSCUMA is present
AD0369 If a Date variable is indicated to be imputated by population of an Imputation Flag (*DTF), that Date variable (*DT) or Datetime variable (*DTM) must have a value. Condition %Variable.1%DTF is populated, but %Variable.1%DT or %Variable.1%DTM is not populated
AD0370 If a Time variable is indicated to be imputated by population of an Imputation Flag (*TMF), that Time variable (*TM) or Datetime variable (*DTM) must have a value. Condition %Variable.1%TMF is populated, but %Variable.1%TM or %Variable.1%DTM is not populated
AD0376 In a pair of corresponding character and numeric variables, the secondary variable must be populated if its primary variable is populated. Exceptions: *DTC, *FN, TRTPN, TRT01PN, PARAMN, AVALC, BASEC. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Primary variable %Variable.1% is populated, but its secondary variable %Variable% is not populated
AD0499 If Subperiod within Period (ASPER) variable is used in a dataset, Period (APERIOD) variable must also be present in that dataset. Find ASPER is present and APERIOD is not present
AD0501 On a given record, if Subperiod within Period (ASPER) variable is populated, then Period (APERIOD) variable must be populated. Condition ASPER is populated and APERIOD is not populated
AD0552 If Multi-Response Criterion y Eval (N) (MCRITyMN) variable is used in a dataset, Multi-Response Criterion y Evaluation (MCRITyML) variable must also be present in that dataset. Find MCRITyMN is present and MCRITyML is not present
AD0605 When analysis Phase (APHASE) variable is defined, the Phase Start Date (PHSDT) variable value must equal ADSL Phase w Start Date (PHwSDT) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSDT != ADSL.PHwSDT
AD0607 When analysis Phase (APHASE) variable is defined, the analysis Phase Start Time (PHSTM) variable value must equal ADSL Phase w Start Time (PHwSTM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSTM != ADSL.PHwSTM
AD0609 When analysis Phase (APHASE) variable is defined, the analysis Phase Start Datetime (PHSDTM) variable value must equal ADSL Phase w Start Datetime (PHwSDTM) for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSDTM != ADSL.PHwSDTM
AD0611 When analysis Phase (APHASE) is defined, the Phase End Date (PHEDT) variable value must equal ADSL Phase w End Date (PHwEDT) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHEDT != ADSL.PHwEDT
AD0613 When analysis Phase (APHASE) variable is defined, the Phase End Time (PHETM) variable value must equal ADSL Phase w End Time (PHwETM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHETM != ADSL.PHwETM
AD0615 When analysis Phase (APHASE) variable) is defined, the Phase End Datetime (PHEDTM) variable value must equal ADSL Phase w End Datetime (PHwEDTM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHEDTM != ADSL.PHwEDTM
AD0647 If TREMxxFL is included, TRTEMFL is defined as the overall treatment emergent flag. If any Treatment Emergent Period xx Flag (TREMxxFL) variables are flagged Y, then the overall Treatment Emergent Analysis Flag (TRTEMFL) variable should also be Y. Condition TREMxxFL = Y and TRTEMFL != Y
AD0648 If TRTEMwFL is included, TRTEMFL is defined as the overall treatment emergent flag. If any Treatment Emergent Analysis w Flag (TRTEMwFL) variables are flagged Y, then the overall Treatment Emergent Analysis Flag (TRTEMFL) variable should also be Y. Condition TRTEMwFL = Y and TRTEMFL != Y
AD0649 If ONTRxxFL is included, ONTRTFL is defined as the overall on-treatment flag. If any On Treatment Period xx Flag (ONTRxxFL) variables are flagged Y, then the overall On Treatment Record Flag (ONTRTFL) variable should also be Y. Condition ONTRxxFL = Y and ONTRTFL != Y
AD0650 If ONTRTwFL is included, ONTRTFL is defined as the overall on-treatment flag. If any On Treatment Record w Flag (ONTRTwFL) variables are flagged Y, then the overall On Treatment Record Flag (ONTRTFL) variable should also be Y. Condition ONTRTwFL = Y and ONTRTFL != Y
AD0651 If ONTRxxFL is included, then ONTRTFL must be included and is defined as the overall on treatment flag. Find ONTRxxFL is present but ONTRTFL is not present
AD0652 If ONTRTwFL is included, then ONTRTFL must be included and is defined as the overall on treatment flag. Find ONTRTwFL is present but ONTRTFL is not present
AD1012A In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be present if its secondary version describing it (*N or *C) is present. This is a rule designed to look explicitly at variable pairs defined in the CDISC standard documents. A similar rule that checks custom *N or *C variables (with a few exceptions) is AD1012. This rule is expected to be added to CDISC ADaM Conformance Rules in the future. Find Secondary variable is present, but its primary variable is not present
CT2001 Variable must be populated with terms from its CDISC controlled terminology codelist. New terms cannot be added into non-extensible codelists. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' non-extensible codelist
CT2002 Variable should be populated with terms from its CDISC controlled terminology codelist. New terms can be added as long as they are not duplicates, synonyms or subsets of existing standard terms. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' extensible codelist
SD0001 Domain table should have at least one record. Property No records in data source
SD0037 Variable values should be populated with terms found in the user-defined codelist associated with the variable in define.xml. Match Value for %Variable% not found in (%Variable.CodeList.Name%) user-defined codelist
SD0054 Variables listed in the data definition document (define.xml) should be included in the dataset. Find Variable in define.xml is not present in the dataset
SD0059 Variable DataType in define.xml must match variable Type in dataset. Define-XML data types of 'integer' and 'float' match dataset type of 'Num', all other match 'Char'. Condition Define.xml/dataset variable type mismatch
SD0060 Variables included in the dataset must be described in the data definition document (define.xml). Match Variable in dataset is not present in define.xml
SD0062 Domain table must have a valid format (e.g., SAS transport (XPORT) v.5 or text-delimited). Property Incompatible data source
SD1063 Datasets included in study data must be described in the data definition document (define.xml). Match Dataset is not present in define.xml
SD1071 Datasets greater than 5 gigabytes (GB) in size should be split into smaller datasets no larger than 5 GB. Property Dataset is greater than 5 GB in size
SD1082 Variable length should be assigned based on actual stored data to minimize file size. Datasets should be re-sized to the maximum length of actual data used prior to splitting. Varlength Variable length is too long for actual data
SD1230 Value level datatype must match the datatype described in define.xml. Condition %Variable% datatype is not %Variable.@Clause.DataType% when %Variable.@Clause.Expression%
SD1231 Value level length must not exceed the length as specified define.xml. Condition %Variable% value is longer than defined max length %Variable.@Clause.Length% when %Variable.@Clause.Expression%
SD1324 Variable Label in define.xml must match variable Label in dataset. Match Define.xml/dataset variable label mismatch
SD1325 Dataset Description in define.xml must match dataset Description. Property Define.xml/dataset description mismatch

Occurrence Data Structure

Dataset Structure
Variable Description Required Data Type Length
STUDYID Study Identifier yes text 200
USUBJID Unique Subject Identifier yes text 200
SUBJID Subject Identifier for the Study text 200
SITEID Study Site Identifier text 200
*SEQ float 200
ASEQ Analysis Sequence Number float 200
SRCDOM Source Data text 200
SRCSEQ Source Sequence Number float 200
--TERM Reported Term yes text 200
--DECOD Dictionary-Derived Term text 200
--BODSYS Body System or Organ Class text 200
--BDSYCD Body System or Organ Class Code integer 200
--LLT Lowest Level Term text 200
--LLTCD Lowest Level Term Code integer 200
--PTCD Preferred Term Code integer 200
--HLT High Level Term text 200
--HLTCD High Level Term Code integer 200
--HLGT High Level Group Term text 200
--HLGTCD High Level Group Term Code integer 200
--SOC Primary System Organ Class text 200
--SOCCD Primary System Organ Class Code integer 200
CMTRT Reported Name of Drug, Med, or Therapy text 200
CMDECOD Standardized Medication Name text 200
CMCLAS Medication Class text 200
CMCLASCD Medication Class Code text 200
ATC# ATC Level $1 Text text 200
ATC#CD ATC Level $1 Code text 200
--CAT Category text 200
--SCAT Subcategory text 200
ACAT# Analysis Category $1 text 200
--STDTC Start Date/Time of Observation datetime 200
ASTDT Analysis Start Date integer 200
ASTTM Analysis Start Time integer 200
ASTDTM Analysis Start Date/Time integer 200
ASTDTF Analysis Start Date Imputation Flag text 200
ASTTMF Analysis Start Time Imputation Flag text 200
--ENDTC End Date/Time of Observation datetime 200
AENDT Analysis End Date integer 200
AENTM Analysis End Time integer 200
AENDTM Analysis End Date/Time integer 200
AENDTF Analysis End Date Imputation Flag text 200
AENTMF Analysis End Time Imputation Flag text 200
ASTDY Analysis Start Relative Day integer 200
--STDY Study Day of Start of Observation integer 200
AENDY Analysis End Relative Day integer 200
--ENDY Study Day of End of Observation integer 200
ADURN Analysis Duration (N) float 200
ADURU Analysis Duration Units text 200
--DUR Duration of XX datetime 200
APERIOD Period float 200
APERIODC Period (C) text 200
APHASE Phase text 200
--OCCUR XX Occurrence text 200
--PRESP XX Pre-Specified text 200
ANL#FL Analysis Flag $1 text 200
TRTEMFL Treatment Emergent Analysis Flag text 200
AETRTEM Treatment Emergent Flag text 200
TREM#FL Treatment Emergent Period $1 Flag text 200
TRTEM#FL Treatment Emergent Analysis $1 Flag text 200
ONTRTFL On Treatment Record Flag text 200
ONTR#FL On Treatment Period $1 Flag text 200
ONTRT#FL On Treatment Record $1 Flag text 200
PREFL Pre-treatment Flag text 200
FUPFL Follow-up Flag text 200
AOCCFL 1st Occurrence within Subject Flag text 200
AOCCPFL 1st Occurrence of Preferred Term Flag text 200
AOCCIFL 1st Max Sev./Int. Occurrence Flag text 200
AOCCPIFL 1st Max Sev./Int. Occur Within PT Flag text 200
AOCC*FL text 200
AOCCSFL 1st Occurrence of SOC Flag text 200
AOCCSIFL 1st Max Sev./Int. Occur Within SOC Flag text 200
DOSEON Treatment Dose at Record Start float 200
DOSCUMA Cumulative Actual Treatment Dose float 200
DOSEU Treatment Dose Units text 200
AESER Serious Event text 200
AESEV Severity/Intensity text 200
AESEVN Severity/Intensity (N) integer 200
ASEV Analysis Severity/Intensity text 200
ASEVN Analysis Severity/Intensity (N) integer 200
SEVGR# Pooled Severity Group $1 text 200
SEVGR#N Pooled Severity Group $1 (N) integer 200
AEREL Causality text 200
AERELN Causality (N) float 200
AREL Analysis Causality text 200
ARELN Analysis Causality (N) float 200
RELGR# Pooled Causality Group $1 text 200
RELGR#N Pooled Causality Group $1 (N) integer 200
AETOXGR Standard Toxicity Grade text 200
AETOXGRN Standard Toxicity Grade (N) integer 200
ATOXGR Analysis Toxicity Grade text 200
ATOXGRN Analysis Toxicity Grade (N) integer 200
TOXGGR# Pooled Toxicity Grade Group $1 text 200
TOXGGR#N Pooled Toxicity Grade $1 (N) integer 200
AEACN Action Taken with Study Treatment text 200
CMSTAT Completion Status text 200
CMINDC Indication text 200
CMDOSE Dose per Administration float 200
CMDOSFRM Dose Form text 200
CMDOSRGM Intended Dose Regimen text 200
CMROUTE Route of Administration text 200
SMQ#NAM SMQ $1 Name text 200
SMQ#CD SMQ $1 Code integer 200
SMQ#SC SMQ $1 Scope text 200
SMQ#SCN SMQ $1 Scope (N) integer 200
CQ#NAM Customized Query $1 Name text 200
ADECOD# Analysis Dictionary-Derived Term $1 text 200
DECDORG# PT in Original Dictionary $1 text 200
BDSYORG# SOC in Original Dictionary $1 text 200
HLGTORG# HLGT in Original Dictionary $1 text 200
HLTORG# HLT in Original Dictionary $1 text 200
LLTORG# LLT in Original Dictionary $1 text 200
LLTNORG# LLT Code in Original Dictionary $1 text 200
CLASORG# Medication Class in Orig Dictionary $1 text 200
CLCDORG# Medication Class Code in Orig Dict $1 text 200
ATyCORG# ATC Level y Code in Orig Dictionary $1 text 200
ATyTORG# ATC Level y Text in Orig Dictionary $1 text 200
SITEGR# Pooled Site Group $1 text 200
SITEGR#N Pooled Site Group $1 (N) integer 200
REGION# Geographic Region $1 text 200
REGION#N Geographic Region $1 (N) integer 200
AGE Age integer 200
AGEU Age Units text 200
AGEGR# Pooled Age Group $1 text 200
AGEGR#N Pooled Age Group $1 (N) integer 200
AAGE Analysis Age float 200
SEX Sex text 200
RACE Race text 200
RACEGR# Pooled Race Group $1 text 200
RACEGR#N Pooled Race Group $1 (N) integer 200
FASFL Full Analysis Set Population Flag text 200
FASFN Full Analysis Set Population Flag (N) integer 200
SAFFL Safety Population Flag text 200
SAFFN Safety Population Flag (N) integer 200
ITTFL Intent-To-Treat Population Flag text 200
ITTFN Intent-To-Treat Population Flag (N) integer 200
PPROTFL Per-Protocol Population Flag text 200
PPROTFN Per-Protocol Population Flag (N) integer 200
COMPLFL Completers Population Flag text 200
COMPLFN Completers Population Flag (N) integer 200
RANDFL Randomized Population Flag text 200
RANDFN Randomized Population Flag (N) integer 200
ENRLFL Enrolled Population Flag text 200
ENRLFN Enrolled Population Flag (N) integer 200
ARM Description of Planned Arm text 200
ACTARM Description of Actual Arm text 200
*FL text 200
TRT#P Planned Treatment for Period $1 text 200
TRT#PN Planned Treatment for Period $1 (N) integer 200
TRT#A Actual Treatment for Period $1 text 200
TRT#AN Actual Treatment for Period $1 (N) integer 200
TRTSEQP Planned Sequence of Treatments text 200
TRTSEQPN Planned Sequence of Treatments (N) integer 200
TRTSEQA Actual Sequence of Treatments text 200
TRTSEQAN Actual Sequence of Treatments (N) integer 200
TR#PG# Planned Pooled Treatment $2 for Period $1 text 200
TR#PG#N Planned Pooled Trt $2 for Period $1 (N) integer 200
TR#AG# Actual Pooled Treatment $2 for Period $1 text 200
TR#AG#N Actual Pooled Trt $2 for Period $1 (N) integer 200
TSEQPG# Planned Pooled Treatment Sequence $1 text 200
TSEQPG#N Planned Pooled Treatment Sequence $1 (N) integer 200
TSEQAG# Actual Pooled Treatment Sequence $1 text 200
TSEQAG#N Actual Pooled Treatment Sequence $1 (N) integer 200
DOSE#P Planned Treatment Dose for Period $1 float 200
DOSE#A Actual Treatment Dose for Period $1 float 200
DOSE#U Units for Dose for Period $1 text 200
TRTSDT Date of First Exposure to Treatment integer 200
TRTSTM Time of First Exposure to Treatment integer 200
TRTSDTM Datetime of First Exposure to Treatment integer 200
TRTSDTF Date of First Exposure Imput. Flag text 200
TRTSTMF Time of First Exposure Imput. Flag text 200
TRTEDT Date of Last Exposure to Treatment integer 200
TRTETM Time of Last Exposure to Treatment integer 200
TRTEDTM Datetime of Last Exposure to Treatment integer 200
TRTEDTF Date of Last Exposure Imput. Flag text 200
TRTETMF Time of Last Exposure Imput. Flag text 200
TR#SDT Date of First Exposure in Period $1 integer 200
TR#STM Time of First Exposure in Period $1 integer 200
TR#SDTM Datetime of First Exposure in Period $1 integer 200
TR#SDTF Date 1st Exposure Period $1 Imput. Flag text 200
TR#STMF Time 1st Exposure Period $1 Imput. Flag text 200
TR#EDT Date of Last Exposure in Period $1 integer 200
TR#ETM Time of Last Exposure in Period $1 integer 200
TR#EDTM Datetime of Last Exposure in Period $1 integer 200
TR#EDTF Date Last Exposure Period $1 Imput. Flag text 200
TR#ETMF Time Last Exposure Period $1 Imput. Flag text 200
AP#SDT Period $1 Start Date integer 200
AP#STM Period $1 Start Time integer 200
AP#SDTM Period $1 Start Datetime integer 200
AP#SDTF Period $1 Start Date Imput. Flag text 200
AP#STMF Period $1 Start Time Imput. Flag text 200
AP#EDT Period $1 End Date integer 200
AP#ETM Period $1 End Time integer 200
AP#EDTM Period $1 End Datetime integer 200
AP#EDTF Period $1 End Date Imput. Flag text 200
AP#ETMF Period $1 End Time Imput. Flag text 200
P#S# Description of Period $1 Subperiod $2 text 200
P#S#SDT Period $1 Subperiod $2 Start Date integer 200
P#S#STM Period $1 Subperiod $2 Start Time integer 200
P#S#SDM Period $1 Subperiod $2 Start Datetime integer 200
P#S#SDF Period $1 Subper $2 Start Date Imput Flag text 200
P#S#STF Period $1 Subper $2 Start Time Imput Flag text 200
P#S#EDT Period $1 Subperiod $2 End Date integer 200
P#S#ETM Period $1 Subperiod $2 End Time integer 200
P#S#EDM Period $1 Subperiod $2 End Datetime integer 200
P#S#EDF Period $1 Subper $2 End Date Imput Flag text 200
P#S#ETF Period $1 Subper $2 End Time Imput Flag text 200
APHASE# Description of Phase $1 text 200
PH#SDT Phase $1 Start Date integer 200
PH#STM Phase $1 Start Time integer 200
PH#SDTM Phase $1 Start Datetime integer 200
PH#SDTF Phase $1 Start Date Imputation Flag text 200
PH#STMF Phase $1 Start Time Imputation Flag text 200
PH#EDT Phase $1 End Date integer 200
PH#ETM Phase $1 End Time integer 200
PH#EDTM Phase $1 End Datetime integer 200
PH#EDTF Phase $1 End Date Imputation Flag text 200
PH#ETMF Phase $1 End Time Imputation Flag text 200
EOSSTT End of Study Status text 200
EOSDT End of Study Date integer 200
DCSREAS Reason for Discontinuation from Study text 200
DCSREASP Reason Spec for Discont from Study text 200
EOTSTT End of Treatment Status text 200
DCTREAS Reason for Discontinuation of Treatment text 200
DCTREASP Reason Specify for Discont of Treatment text 200
EOT#STT End of Treatment Status in Period $1 text 200
DCT#RS Reason for Discont of Treat in Period $1 text 200
DCT#RSP Reason Spec for Disc of Trt in Period $1 text 200
EOP#STT End of Period $1 Status text 200
DCP#RS Reason for Discont from Period $1 text 200
DCP#RSP Reason Spec for Discont from Period $1 text 200
RFICDT Date of Informed Consent integer 200
ENRLDT Date of Enrollment integer 200
RANDDT Date of Randomization integer 200
RFIC#DT Date of Informed Consent $1 integer 200
ENRL#DT Date of Enrollment $1 integer 200
RAND#DT Date of Randomization $1 integer 200
LSTALVDT Date Last Known Alive integer 200
TRCMP Treatment Compliance (%) float 200
TRCMPG# Treatment Compliance (%) Group $1 text 200
TRCMPG#N Treatment Compliance (%) Group $1 (N) integer 200
TR#DURD Treatment Duration in Period $1 (Days) integer 200
TR#DURM Treatment Duration in Period $1 (Months) integer 200
TR#DURY Treatment Duration in Period $1 (Years) integer 200
TRTDURD Total Treatment Duration (Days) integer 200
TRTDURM Total Treatment Duration (Months) integer 200
TRTDURY Total Treatment Duration (Years) integer 200
DTHDT Date of Death integer 200
DTHDTF Date of Death Imputation Flag text 200
DTHCAUS Cause of Death text 200
DTHCAUSN Cause of Death (N) integer 200
DTHCGR# Cause of Death Group $1 text 200
DTHCGR#N Cause of Death Group $1 (N) integer 200
AVAL Analysis Value integer 200
AVALC Analysis Value (C) text 200
PARAM Parameter text 200
PARAMCD Parameter Code text 200
PARAMN Parameter (N) integer 200
PARAMTYP Parameter Type text 200
PARCAT# Parameter Category $1 text 200
PARCAT#N Parameter Category $1 (N) integer 200
* text 200
*DTF text 200
*TMF text 200

 

Validation Rules
ID Description Validator Message
AD0005B A variable with a suffix of FL must have value that is Y, N or null (Exception 1: ABLFL, ANLzzFL. Exception 2: Population flags COMPLFL, FASFL, ITTFL, PPROTFL, SAFFL, RANDFL, ENRLFL cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FL value is not Y, N or null
AD0006B A variable with a suffix of FN has a value that is not 0, 1, or null (Exception: ABLFN, ANLzzFN, and numeric population flags COMPLFN, FASFN, ITTFN, PPROTFN, SAFFN, RANDFN, ENRLFN cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FN value is not 0, 1 or null
AD0007 If a Flag Numeric (*FN) variable is present, its corresponding Flag Character (*FL) variable must be present. Find Secondary variable *FN is present, but its primary variable *FL is not present
AD0010 When a Flag variable (FL) is Y, its corresponding Flag numeric variable (FN) must be 1. Condition %Variable.1%FL = Y and %Variable.1%FN != 1
AD0011 When a Flag variable (FL) is N, its corresponding Flag numeric variable (FN) must be 0. Condition %Variable.1%FL = N and %Variable.1%FN != 0
AD0012 When a numeric Flag variable (*FN) is populated, its corresponding character Flag variable (*FL) must be populated. Condition Secondary variable %Variable.1%FN is populated, but its primary variable %Variable.1%FL is not populated
AD0013 A variable must be a max of 8 characters, start with a letter A-Z and does not contain anything other than letters, numbers, underscore (_). Regex Illegal variable name: basic format is violated
AD0016 All ADaM variable labels must be no more than 40 characters in length. This should not be possible to fail with sas v5 xpt. Dataset-XML or .csv can fail this rule. Regex Variable label length is greater than 40 characters
AD0018 The variable label in the dataset should match the variable label described in ADaM. When creating a new variable, labels can be adjusted as appropriate. Currently, this rule runs if a variable has a label that is defined in the ADaM metadata. Condition Variable label mismatch between dataset and ADaM standard
AD0019 For subject-level character population flag variables: N = no (not included), Y = yes (included). Null values are not allowed. Required %Variable% subject-population flag value is null
AD0037B Within a study, all *GRyN values must be the same for each unique value of *GRy when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%N
AD0038B Within a study, all *GRy values must be the same for each unique value of *GRyN when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%
AD0041 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DA, B8601DN , DATE, DAY, DDMMYY, DDMMYYB, DDMMYYC, DDMMYYD, DDMMYYN, DDMMYYP, DDMMYYS, DOWNAME, DTMONYY, E8601DA, JULDAY, JULIAN, MMDDYY, MMDDYYB, MMDDYYC, MMDDYYD, MMDDYYN, MMDDYYP, MMDDYYS, MMYY, MMYYB, MMYYC, MMYYD, MMYYN, MMYYP, MMYYS, MONNAME, MONTH, MONYY, PDJULG, PDJULI, QTR, QTRR, WEEKDATE, WEEKDATX, WEEKDAY, WEEKU, WEEKV, WEEKW, WORDDATE, WORDDATX, YEAR, YYMM, YYMMDD, YYMMDDB, YYMMDDC, YYMMDDD, YYMMDDN, YYMMDDP, YYMMDDS, YYMMB, YYMMC, YYMMD, YYMMN, YYMMP, YYMMS, YYMON, YYQ, YYQB, YYQC, YYQD, YYQN, YYQP, YYQS, YYQR, YYQRB, YYQRC, YYQRD, YYQRN, YYQRP, YYQRS, IS8601DA. Match *DT does not have the ADaM required SAS Date format
AD0041A *DT variables must have non-missing SAS Date Format. Required *DT variable has missing SAS Date Format
AD0042 The SAS format listed in the dataset must be valid. Here is a list of SAS Time formats utilized in the rule algorithm: B8601LZ, B8601TM, B8601TZ, E8601LZ, E8601TM, E8601TZ, HHMM, HOUR, MMSS, TIME, TIMEAMPM, IS8601TM, IS8601TZ, TOD. Match *TM does not have the ADaM required SAS time format
AD0042A *TM variables must have non-missing SAS Time Format. Required *TM variable has missing SAS Time Format
AD0043 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DT, B8601DZ, DATEAMPM, DATETIME, DTDATE, DTWKDATX, DTYEAR, DTYYQC, E8601DN, E8601DT, E8601DZ, MDYAMPM, TOD, IS8601DN, IS8601DT, IS8601DZ. Match *DTM does not have the ADaM required SAS Datetime format
AD0043A *DTM variables must have non-missing SAS Datetime Format. Required *DTM variable has missing SAS Datetime Format
AD0044 When both time and datetime variables are collected on the same record for the same observation, the Time portion of the datetime variable should be equal to the Time variable itself. Condition %Variable.1%TM and its corresponding %Variable.1%DTM variable have different time values
AD0045 When both date and datetime variables are collected on the same record for the same observation, the Date portion of the datetime variable should be equal to the Date variable itself. Condition %Variable.1%DT and its corresponding %Variable.1%DTM variable have different date values
AD0046 A variable with a suffix of DY (day) must not equal zero. Variables whose names end in DY are relative day variables. In ADaM as in the SDTM, there is no day 0. If there is a need to create a relative day variable that includes day 0, then its name must not end in DY. Regex %Variable.1%DY = 0
AD0047 Variables described in ADaM as Required must be included in the dataset. Find Required variable is not present
AD0058 The SAS TYPE for *DT variable must be equal Num. Match *DT is not a numeric variable
AD0059 The SAS TYPE for *TM variable must be equal Num. Match *TM is not a numeric variable
AD0060 The SAS TYPE for *DTM variable must be equal Num. Match *DTM is not a numeric variable
AD0102 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Planned Treatment for Period xx variable (like TRT01P) in ADSL dataset. Metadata There is no TRTxxP variable in ADSL for every unique xx value of APERIOD
AD0103 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Date of First Exposure in Period xx variable for this period (like TR01SDT) in ADSL dataset. Metadata There is no TRxxSDT variable in ADSL for every unique xx value of APERIOD
AD0104 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Date of Last Exposure in Period xx variable for this period (like TR01EDT) in ADSL dataset. Metadata There is no TRxxEDT variable in ADSL for every unique xx value of APERIOD
AD0105B Within a study, all APERIODC values must be the same for each unique value of APERIOD when the primary variable APERIOD is populated. Unique Inconsistent value for APERIODC
AD0106B Within a study, all APERIOD values must be the same for each unique value of APERIODC when the primary variable APERIOD is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for APERIOD
AD0121 Any variable ending in SDT (Start Date) must have a value less than or equal to its corresponding EDT (End Date) value (e.g., ADSL - TRTSDT, TR01SDT, AP01SDT; BDS - APERSDT). Condition %Variable.1%SDT is greater than %Variable.1%EDT
AD0122 Any variable ending in SDTM (Start Date Time) must have a value less than or equal to its corresponding EDTM (End Date Time) value (e.g., ADSL - TRTSDTM, TR01SDTM, AP01SDTM; BDS - APERSDTM). Condition %Variable.1%SDTM is greater than %Variable.1%EDTM
AD0178 A variable of form ANLzzFL (analysis record flag) must be Y or null. Match ANL%Variable.1%FL value is not Y or null
AD0252 Variables described in ADaM IG as inappropriate for usage must be not included in the dataset. i.e., for ADAE, there is no need for AVAL, AVALC and Parameter variables. Find Variable present in dataset is prohibited for use in ADaM
AD0256 All subjects included into ADaM datasets should be present in ADSL dataset and use the same Unique Subject Identifier (USUBJID). Lookup USUBJID value does not exist in the ADaM ADSL domain
AD0269 A Treatment Flag variable must have a value that is Y or null. Examples of such Flags variables in ADaM-IG 1.2 are Treatment Emergent Analysis Flag (TRTEMFL), Pre-treatment Flag (PREFL), On Treatment Record Flag (ONTRTFL), Follow-up Flag (FUPFL), and Last Value On Treatment Record Flag (LVOTFL). Match %Variable% flag value is not Y or null
AD0272 1st Occurrence * Flag (AOCC*FL) variable values must be Y or null. Match %Variable% flag value is not Y or null
AD0273 For additional Flag (AOCCzzFL) variables representing the 1st Occurrence of an analysis event or datapoint, zz must be nth flag variable (01 to 99). The main purpose of these flags is to facilitate data point traceability between records in the dataset and unique counts in the summary displays. In addition, if a Time to Event (TTE) Analysis dataset is built off of Adverse Events, the flags provide a crucial link between the summary records in the TTE BDS and the source of the records in ADAE. If the producer of the ADAE dataset has standard programs in place to summarize unique counts of events, then they may choose not to create these flags. Condition Illegal variable name: zz is not in [01-99] for AOCCzzFL
AD0279 Severity/Intensity (N) (AESEVN) and Analysis Severity/Intensity (N) (ASEVN) variables must have values in [1, 2, 3] when populated. AESEVN can be null. ASEVN cannot be null. Match %Variable% value != 1, 2, 3, or null
AD0280B Across studies, all Severity/Intensity (AESEV) variable values must be the same for each unique value of Severity/Intensity (N) (AESEVN) variable when both variables are populated. Unique Inconsistent value for AESEV
AD0281B Across studies, all Severity/Intensity (N) (AESEVN) variable must be the same for each unique value of Severity/Intensity (AESEV) variable when both variables are populated. Unique Inconsistent value for AESEVN
AD0283B Across studies, all Analysis Severity/Intensity (ASEV) variable values must be the same for each unique value of Analysis Severity/Intensity (N) (ASEVN) variable when both variables are populated. Unique Inconsistent value for ASEV
AD0284B Across studies, all Analysis Severity/Intensity (N) (ASEVN) variable values must be the same for each unique value of Analysis Severity/Intensity (ASEV) variable when both variables are populated. Unique Inconsistent value for ASEVN
AD0287B Across studies, all Causality (AEREL) variable values must be the same for each unique value of Causality (N) (AERELN) variable when both variables are populated. Unique Inconsistent value for AEREL
AD0288B Across studies, all Causality (N) (AERELN) variable values must be the same for each unique value of Causality (AEREL) variable when both variables are populated. Unique Inconsistent value for AERELN
AD0289B Across studies, all Analysis Causality (AREL) variable values must be the same for each unique value of Analysis Causality (N) (ARELN) variable when both variables are populated. Unique Inconsistent value for AREL
AD0290B Across studies, all Analysis Causality (N) (ARELN) variable values must be the same for each unique value of Analysis Causality (AREL) variable when both variables are populated. Unique Inconsistent value for ARELN
AD0293B Across studies, all Standard Toxicity Grade (AETOXGR) variable values must be the same for each unique value of Standard Toxicity Grade (N) (AETOXGRN) variable when both variables are populated. Unique Inconsistent value for AETOXGR
AD0294B Across studies, all Standard Toxicity Grade (N) (AETOXGRN) variable values must be the same for each unique value of Standard Toxicity Grade (AETOXGR) variable when both variables are populated. Unique Inconsistent value for AETOXGRN
AD0295B Across studies, all Analysis Toxicity Grade (ATOXGR) variable values must be the same for each unique value of Analysis Toxicity Grade (N) (ATOXGRN) variable when both variables are populated. Unique Inconsistent value for ATOXGR
AD0296B Across studies, all Analysis Toxicity Grade (N) (ATOXGRN) variable values must be the same for each unique value of Analysis Toxicity Grade (ATOXGR) variable when both variables are populated. Unique Inconsistent value for ATOXGRN
AD0299 For Standardized MedDRA Query Variables of Name, Code and Scope(N), zz must be the ordered SMQ of interest (01 to 99). This ordering can be based on importance or some other sponsor-defined criteria. It is recommended that the ordering be consistent across studies within a development program. Condition Illegal variable name: zz is not in [01-99] for SMQzz(NAM, CD, SC, SCN)
AD0303 For Customized MedDRA Query Name (SMQzzNAM) variables , zz must be the ordered CQ of interest (01 to 99). This ordering can be based on importance or some other sponsor-defined criteria. It is recommended that the ordering be consistent across studies within a development program. Condition Illegal variable name: zz is not in [01-99] for CQzzNAM
AD0304 If any of SMQ Name (SMQzzNAM), SMQ Code (SMQzzCD) or SMQ Scope (SMQzzSC) variable is populated, then all of these MedDRA SMQ variables must be populated together. Condition Only some of these variables are present and populated: SMQ%Variable.1%NAM, SMQ%Variable.1%CD, SMQ%Variable.1%SC
AD0310B Across studies, all SMQ Scope (SMQzzSC ) variable values must be the same for each unique value of SMQ Scope (N) (SMQzzSCN) variable when both variables are populated. The usual mapping is BROAD=1, NARROW=2. Unique Inconsistent value for SMQ%Variable.1%SC
AD0311B Across studies, all SMQ Scope (N) (SMQzzSCN) variable values must be the same for each unique value of SMQ Scope (SMQzzSC ) variable when both variables are populated. The usual mapping is BROAD=1, NARROW=2. Unique Inconsistent value for SMQ%Variable.1%SCN
AD0312 Standardized MedDRA Query Scope (SMQzzSC) variable value must be BROAD, NARROW, or NULL. The search strategy for SMQs can be narrow or broad. The preferred terms that are narrow in scope have high specificity for identifying events of interest while the broad terms have high sensitivity. By definition, all narrow terms are also considered within the broad score. Therefore, to summarize all broad terms, terms with either narrow OR broad would be considered. Will be null for terms that do not meet the criteria. Conditional on whether SMQ analysis is done. Match SMQ%Variable.1%SC value != BROAD, NARROW or null
AD0313 Standardized MedDRA Query Scope Numeric (SMQzzSCN) variable value must be 1 (BROAD), 2 (NARROW), or NULL. The search strategy for SMQs can be narrow or broad. The preferred terms that are narrow in scope have high specificity for identifying events of interest while the broad terms have high sensitivity. By definition, all narrow terms are also considered within the broad score. Therefore, to summarize all broad terms, terms with either narrow OR broad would be considered. Will be null for terms that do not meet the criteria. Conditional on whether SMQ analysis is done. Match SMQ%Variable.1%SCN value != 1, 2 or null
AD0323 Within a Study, all Phase (N) (APHASEN) variable values must be the same for each unique value of Phase (APHASE) variable when the primary variable APHASE is populated. Unique Inconsistent value for APHASEN
AD0324 Within a Study, all Phase(APHASE) variable values must be the same for each unique value of Phase (N) (APHASEN) variable when the primary variable APHASEN is populated. Unique Inconsistent value for APHASE
AD0325 Within a Study and a Period, all Subperiod within Period (ASPER) variable values must be the same for each unique value of Subperiod within Period (C) (ASPERC) variable when the primary variable ASPERC is populated. Unique Inconsistent value for ASPER
AD0326 Within a Study and a Period, all Subperiod within Period (C) (ASPERC) variable values must be the same for each unique value of Subperiod within Period (ASPER) variable when the primary variable ASPER is populated. Unique Inconsistent value for ASPERC
AD0361 The value of Analysis Start Date (ASTDT) variable must be less or equal to Analysis End Date (AENDT) variable value. Condition Value of ASTDT is greater than value of AENDT
AD0362 The value of Analysis Start Datetime (ASTDTM) variable must be less or equal to Analysis End Datetime (AENDTM) variable value. Condition Value of ASTDTM is greater than value of AENDTM
AD0364 Treatment Dose Units (DOSEU) variable is required, Treatment Dose at Record Start (DOSEON) or Cumulative Actual Treatment Dose (DOSCUMA) variable is present in the dataset. Find DOSEU variable is not present when DOSEON or DOSCUMA is present
AD0369 If a Date variable is indicated to be imputated by population of an Imputation Flag (*DTF), that Date variable (*DT) or Datetime variable (*DTM) must have a value. Condition %Variable.1%DTF is populated, but %Variable.1%DT or %Variable.1%DTM is not populated
AD0370 If a Time variable is indicated to be imputated by population of an Imputation Flag (*TMF), that Time variable (*TM) or Datetime variable (*DTM) must have a value. Condition %Variable.1%TMF is populated, but %Variable.1%TM or %Variable.1%DTM is not populated
AD0376 In a pair of corresponding character and numeric variables, the secondary variable must be populated if its primary variable is populated. Exceptions: *DTC, *FN, TRTPN, TRT01PN, PARAMN, AVALC, BASEC. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Primary variable %Variable.1% is populated, but its secondary variable %Variable% is not populated
AD0499 If Subperiod within Period (ASPER) variable is used in a dataset, Period (APERIOD) variable must also be present in that dataset. Find ASPER is present and APERIOD is not present
AD0501 On a given record, if Subperiod within Period (ASPER) variable is populated, then Period (APERIOD) variable must be populated. Condition ASPER is populated and APERIOD is not populated
AD0552 If Multi-Response Criterion y Eval (N) (MCRITyMN) variable is used in a dataset, Multi-Response Criterion y Evaluation (MCRITyML) variable must also be present in that dataset. Find MCRITyMN is present and MCRITyML is not present
AD0605 When analysis Phase (APHASE) variable is defined, the Phase Start Date (PHSDT) variable value must equal ADSL Phase w Start Date (PHwSDT) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSDT != ADSL.PHwSDT
AD0607 When analysis Phase (APHASE) variable is defined, the analysis Phase Start Time (PHSTM) variable value must equal ADSL Phase w Start Time (PHwSTM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSTM != ADSL.PHwSTM
AD0609 When analysis Phase (APHASE) variable is defined, the analysis Phase Start Datetime (PHSDTM) variable value must equal ADSL Phase w Start Datetime (PHwSDTM) for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSDTM != ADSL.PHwSDTM
AD0611 When analysis Phase (APHASE) is defined, the Phase End Date (PHEDT) variable value must equal ADSL Phase w End Date (PHwEDT) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHEDT != ADSL.PHwEDT
AD0613 When analysis Phase (APHASE) variable is defined, the Phase End Time (PHETM) variable value must equal ADSL Phase w End Time (PHwETM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHETM != ADSL.PHwETM
AD0615 When analysis Phase (APHASE) variable) is defined, the Phase End Datetime (PHEDTM) variable value must equal ADSL Phase w End Datetime (PHwEDTM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHEDTM != ADSL.PHwEDTM
AD1011 In a pair of corresponding character and numeric variables (* and *N or *C) the primary or most commonly used variable must be populated if its secondary variable describing it is populated. Exceptions: *DTC, *FN, TRTPN, TRT01PN, PARAMN, AVALC, BASEC, *LOC, and *HIC. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Secondary variable %Variable% is populated, but its primary variable %Variable.1% is not populated
AD1012A In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be present if its secondary version describing it (*N or *C) is present. This is a rule designed to look explicitly at variable pairs defined in the CDISC standard documents. A similar rule that checks custom *N or *C variables (with a few exceptions) is AD1012. This rule is expected to be added to CDISC ADaM Conformance Rules in the future. Find Secondary variable is present, but its primary variable is not present
CT2001 Variable must be populated with terms from its CDISC controlled terminology codelist. New terms cannot be added into non-extensible codelists. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' non-extensible codelist
CT2002 Variable should be populated with terms from its CDISC controlled terminology codelist. New terms can be added as long as they are not duplicates, synonyms or subsets of existing standard terms. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' extensible codelist
CT2003 Paired variables such as TEST/TESTCD must be populated using terms with the same Codelist Code value in CDISC control terminology. There is one-to-one relationship between paired variable values defined in CDISC control terminology by Codelist Code value. Match %Variable% and %Variable.DecodedVariable% values do not have the same Code in CDISC CT
CT2004 Variable must be populated with terms from its CDISC controlled terminology codelist when its value level condition is met. New terms cannot be added into non-extensible codelists. Match %Variable% value not found in '%Variable.Config.@Clause.CodeList.Name%' non-extensible codelist when %Variable.Config.@Clause.Expression%
CT2005 Variable should be populated with terms from its CDISC controlled terminology codelist when its value level condition is met. New terms can be added as long as they are not duplicates, synonyms or subsets of existing standard terms. Match %Variable% value not found in '%Variable.Config.@Clause.CodeList.Name%' extensible codelist when %Variable.Config.@Clause.Expression%
CT2006 Paired variables such as TEST/TESTCD must be populated using terms with the same Codelist Code value in CDISC control terminology. There is one-to-one relationship between paired variable values defined in CDISC control terminology by Codelist Code value within the same value level condition. Match %Variable% and %Variable.DecodedVariable% values do not have the same Code in CDISC CT when %Variable.Config.@Clause.Expression%
SD0001 Domain table should have at least one record. Property No records in data source
SD0037 Variable values should be populated with terms found in the user-defined codelist associated with the variable in define.xml. Match Value for %Variable% not found in (%Variable.CodeList.Name%) user-defined codelist
SD0054 Variables listed in the data definition document (define.xml) should be included in the dataset. Find Variable in define.xml is not present in the dataset
SD0059 Variable DataType in define.xml must match variable Type in dataset. Define-XML data types of 'integer' and 'float' match dataset type of 'Num', all other match 'Char'. Condition Define.xml/dataset variable type mismatch
SD0060 Variables included in the dataset must be described in the data definition document (define.xml). Match Variable in dataset is not present in define.xml
SD0062 Domain table must have a valid format (e.g., SAS transport (XPORT) v.5 or text-delimited). Property Incompatible data source
SD1063 Datasets included in study data must be described in the data definition document (define.xml). Match Dataset is not present in define.xml
SD1071 Datasets greater than 5 gigabytes (GB) in size should be split into smaller datasets no larger than 5 GB. Property Dataset is greater than 5 GB in size
SD1082 Variable length should be assigned based on actual stored data to minimize file size. Datasets should be re-sized to the maximum length of actual data used prior to splitting. Varlength Variable length is too long for actual data
SD1228 Variable value must be populated with terms from user-defined value level codelist as specified in define.xml file. Match %Variable% value not found in user-defined codelist '%Variable.@Clause.CodeList.Name%' when %Variable.@Clause.Expression%
SD1229 Variable value must be populated when value level attribute Mandatory='Yes' as specified in define.xml file. Required %Variable% value is null when %Variable.@Clause.Expression%
SD1230 Value level datatype must match the datatype described in define.xml. Condition %Variable% datatype is not %Variable.@Clause.DataType% when %Variable.@Clause.Expression%
SD1231 Value level length must not exceed the length as specified define.xml. Condition %Variable% value is longer than defined max length %Variable.@Clause.Length% when %Variable.@Clause.Expression%
SD1324 Variable Label in define.xml must match variable Label in dataset. Match Define.xml/dataset variable label mismatch
SD1325 Dataset Description in define.xml must match dataset Description. Property Define.xml/dataset description mismatch

ADaM Other

Dataset Structure
Variable Description Required Data Type Length
STUDYID Study Identifier yes text 200
USUBJID Unique Subject Identifier text 200
SITEID Study Site Identifier text 200
SITEGR# Pooled Site Group $1 text 200
SITEGR#N Pooled Site Group $1 (N) integer 200
REGION# Geographic Region $1 text 200
REGION#N Geographic Region $1 (N) integer 200
AGE Age integer 200
AGEU Age Units text 200
AGEGR# Pooled Age Group $1 text 200
AGEGR#N Pooled Age Group $1 (N) integer 200
AAGE Analysis Age float 200
SEX Sex text 200
RACE Race text 200
RACEGR# Pooled Race Group $1 text 200
RACEGR#N Pooled Race Group $1 (N) integer 200
FASFL Full Analysis Set Population Flag text 200
FASFN Full Analysis Set Population Flag (N) integer 200
SAFFL Safety Population Flag text 200
SAFFN Safety Population Flag (N) integer 200
ITTFL Intent-To-Treat Population Flag text 200
ITTFN Intent-To-Treat Population Flag (N) integer 200
PPROTFL Per-Protocol Population Flag text 200
PPROTFN Per-Protocol Population Flag (N) integer 200
COMPLFL Completers Population Flag text 200
COMPLFN Completers Population Flag (N) integer 200
RANDFL Randomized Population Flag text 200
RANDFN Randomized Population Flag (N) integer 200
ENRLFL Enrolled Population Flag text 200
ENRLFN Enrolled Population Flag (N) integer 200
ARM Description of Planned Arm text 200
ACTARM Description of Actual Arm text 200
*FL text 200
TRT#P Planned Treatment for Period $1 text 200
TRT#PN Planned Treatment for Period $1 (N) integer 200
TRT#A Actual Treatment for Period $1 text 200
TRT#AN Actual Treatment for Period $1 (N) integer 200
TRTSEQP Planned Sequence of Treatments text 200
TRTSEQPN Planned Sequence of Treatments (N) integer 200
TRTSEQA Actual Sequence of Treatments text 200
TRTSEQAN Actual Sequence of Treatments (N) integer 200
TR#PG# Planned Pooled Treatment $2 for Period $1 text 200
TR#PG#N Planned Pooled Trt $2 for Period $1 (N) integer 200
TR#AG# Actual Pooled Treatment $2 for Period $1 text 200
TR#AG#N Actual Pooled Trt $2 for Period $1 (N) integer 200
TSEQPG# Planned Pooled Treatment Sequence $1 text 200
TSEQPG#N Planned Pooled Treatment Sequence $1 (N) integer 200
TSEQAG# Actual Pooled Treatment Sequence $1 text 200
TSEQAG#N Actual Pooled Treatment Sequence $1 (N) integer 200
DOSE#P Planned Treatment Dose for Period $1 float 200
DOSE#A Actual Treatment Dose for Period $1 float 200
DOSE#U Units for Dose for Period $1 text 200
TRTSDT Date of First Exposure to Treatment integer 200
TRTSTM Time of First Exposure to Treatment integer 200
TRTSDTM Datetime of First Exposure to Treatment integer 200
TRTSDTF Date of First Exposure Imput. Flag text 200
TRTSTMF Time of First Exposure Imput. Flag text 200
TRTEDT Date of Last Exposure to Treatment integer 200
TRTETM Time of Last Exposure to Treatment integer 200
TRTEDTM Datetime of Last Exposure to Treatment integer 200
TRTEDTF Date of Last Exposure Imput. Flag text 200
TRTETMF Time of Last Exposure Imput. Flag text 200
TR#SDT Date of First Exposure in Period $1 integer 200
TR#STM Time of First Exposure in Period $1 integer 200
TR#SDTM Datetime of First Exposure in Period $1 integer 200
TR#SDTF Date 1st Exposure Period $1 Imput. Flag text 200
TR#STMF Time 1st Exposure Period $1 Imput. Flag text 200
TR#EDT Date of Last Exposure in Period $1 integer 200
TR#ETM Time of Last Exposure in Period $1 integer 200
TR#EDTM Datetime of Last Exposure in Period $1 integer 200
TR#EDTF Date Last Exposure Period $1 Imput. Flag text 200
TR#ETMF Time Last Exposure Period $1 Imput. Flag text 200
AP#SDT Period $1 Start Date integer 200
AP#STM Period $1 Start Time integer 200
AP#SDTM Period $1 Start Datetime integer 200
AP#SDTF Period $1 Start Date Imput. Flag text 200
AP#STMF Period $1 Start Time Imput. Flag text 200
AP#EDT Period $1 End Date integer 200
AP#ETM Period $1 End Time integer 200
AP#EDTM Period $1 End Datetime integer 200
AP#EDTF Period $1 End Date Imput. Flag text 200
AP#ETMF Period $1 End Time Imput. Flag text 200
P#S# Description of Period $1 Subperiod $2 text 200
P#S#SDT Period $1 Subperiod $2 Start Date integer 200
P#S#STM Period $1 Subperiod $2 Start Time integer 200
P#S#SDM Period $1 Subperiod $2 Start Datetime integer 200
P#S#SDF Period $1 Subper $2 Start Date Imput Flag text 200
P#S#STF Period $1 Subper $2 Start Time Imput Flag text 200
P#S#EDT Period $1 Subperiod $2 End Date integer 200
P#S#ETM Period $1 Subperiod $2 End Time integer 200
P#S#EDM Period $1 Subperiod $2 End Datetime integer 200
P#S#EDF Period $1 Subper $2 End Date Imput Flag text 200
P#S#ETF Period $1 Subper $2 End Time Imput Flag text 200
APHASE# Description of Phase $1 text 200
PH#SDT Phase $1 Start Date integer 200
PH#STM Phase $1 Start Time integer 200
PH#SDTM Phase $1 Start Datetime integer 200
PH#SDTF Phase $1 Start Date Imputation Flag text 200
PH#STMF Phase $1 Start Time Imputation Flag text 200
PH#EDT Phase $1 End Date integer 200
PH#ETM Phase $1 End Time integer 200
PH#EDTM Phase $1 End Datetime integer 200
PH#EDTF Phase $1 End Date Imputation Flag text 200
PH#ETMF Phase $1 End Time Imputation Flag text 200
EOSSTT End of Study Status text 200
EOSDT End of Study Date integer 200
DCSREAS Reason for Discontinuation from Study text 200
DCSREASP Reason Spec for Discont from Study text 200
EOTSTT End of Treatment Status text 200
DCTREAS Reason for Discontinuation of Treatment text 200
DCTREASP Reason Specify for Discont of Treatment text 200
EOT#STT End of Treatment Status in Period $1 text 200
DCT#RS Reason for Discont of Treat in Period $1 text 200
DCT#RSP Reason Spec for Disc of Trt in Period $1 text 200
EOP#STT End of Period $1 Status text 200
DCP#RS Reason for Discont from Period $1 text 200
DCP#RSP Reason Spec for Discont from Period $1 text 200
RFICDT Date of Informed Consent integer 200
ENRLDT Date of Enrollment integer 200
RANDDT Date of Randomization integer 200
RFIC#DT Date of Informed Consent $1 integer 200
ENRL#DT Date of Enrollment $1 integer 200
RAND#DT Date of Randomization $1 integer 200
LSTALVDT Date Last Known Alive integer 200
TRCMP Treatment Compliance (%) float 200
TRCMPG# Treatment Compliance (%) Group $1 text 200
TRCMPG#N Treatment Compliance (%) Group $1 (N) integer 200
TR#DURD Treatment Duration in Period $1 (Days) integer 200
TR#DURM Treatment Duration in Period $1 (Months) integer 200
TR#DURY Treatment Duration in Period $1 (Years) integer 200
TRTDURD Total Treatment Duration (Days) integer 200
TRTDURM Total Treatment Duration (Months) integer 200
TRTDURY Total Treatment Duration (Years) integer 200
DTHDT Date of Death integer 200
DTHDTF Date of Death Imputation Flag text 200
DTHCAUS Cause of Death text 200
DTHCAUSN Cause of Death (N) integer 200
DTHCGR# Cause of Death Group $1 text 200
DTHCGR#N Cause of Death Group $1 (N) integer 200
* text 200
*DTF text 200
*TMF text 200

 

Validation Rules
ID Description Validator Message
AD0005B A variable with a suffix of FL must have value that is Y, N or null (Exception 1: ABLFL, ANLzzFL. Exception 2: Population flags COMPLFL, FASFL, ITTFL, PPROTFL, SAFFL, RANDFL, ENRLFL cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FL value is not Y, N or null
AD0006B A variable with a suffix of FN has a value that is not 0, 1, or null (Exception: ABLFN, ANLzzFN, and numeric population flags COMPLFN, FASFN, ITTFN, PPROTFN, SAFFN, RANDFN, ENRLFN cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FN value is not 0, 1 or null
AD0007 If a Flag Numeric (*FN) variable is present, its corresponding Flag Character (*FL) variable must be present. Find Secondary variable *FN is present, but its primary variable *FL is not present
AD0010 When a Flag variable (FL) is Y, its corresponding Flag numeric variable (FN) must be 1. Condition %Variable.1%FL = Y and %Variable.1%FN != 1
AD0011 When a Flag variable (FL) is N, its corresponding Flag numeric variable (FN) must be 0. Condition %Variable.1%FL = N and %Variable.1%FN != 0
AD0012 When a numeric Flag variable (*FN) is populated, its corresponding character Flag variable (*FL) must be populated. Condition Secondary variable %Variable.1%FN is populated, but its primary variable %Variable.1%FL is not populated
AD0013 A variable must be a max of 8 characters, start with a letter A-Z and does not contain anything other than letters, numbers, underscore (_). Regex Illegal variable name: basic format is violated
AD0016 All ADaM variable labels must be no more than 40 characters in length. This should not be possible to fail with sas v5 xpt. Dataset-XML or .csv can fail this rule. Regex Variable label length is greater than 40 characters
AD0019 For subject-level character population flag variables: N = no (not included), Y = yes (included). Null values are not allowed. Required %Variable% subject-population flag value is null
AD0037B Within a study, all *GRyN values must be the same for each unique value of *GRy when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%N
AD0038B Within a study, all *GRy values must be the same for each unique value of *GRyN when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%
AD0041 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DA, B8601DN , DATE, DAY, DDMMYY, DDMMYYB, DDMMYYC, DDMMYYD, DDMMYYN, DDMMYYP, DDMMYYS, DOWNAME, DTMONYY, E8601DA, JULDAY, JULIAN, MMDDYY, MMDDYYB, MMDDYYC, MMDDYYD, MMDDYYN, MMDDYYP, MMDDYYS, MMYY, MMYYB, MMYYC, MMYYD, MMYYN, MMYYP, MMYYS, MONNAME, MONTH, MONYY, PDJULG, PDJULI, QTR, QTRR, WEEKDATE, WEEKDATX, WEEKDAY, WEEKU, WEEKV, WEEKW, WORDDATE, WORDDATX, YEAR, YYMM, YYMMDD, YYMMDDB, YYMMDDC, YYMMDDD, YYMMDDN, YYMMDDP, YYMMDDS, YYMMB, YYMMC, YYMMD, YYMMN, YYMMP, YYMMS, YYMON, YYQ, YYQB, YYQC, YYQD, YYQN, YYQP, YYQS, YYQR, YYQRB, YYQRC, YYQRD, YYQRN, YYQRP, YYQRS, IS8601DA. Match *DT does not have the ADaM required SAS Date format
AD0041A *DT variables must have non-missing SAS Date Format. Required *DT variable has missing SAS Date Format
AD0042 The SAS format listed in the dataset must be valid. Here is a list of SAS Time formats utilized in the rule algorithm: B8601LZ, B8601TM, B8601TZ, E8601LZ, E8601TM, E8601TZ, HHMM, HOUR, MMSS, TIME, TIMEAMPM, IS8601TM, IS8601TZ, TOD. Match *TM does not have the ADaM required SAS time format
AD0042A *TM variables must have non-missing SAS Time Format. Required *TM variable has missing SAS Time Format
AD0043 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DT, B8601DZ, DATEAMPM, DATETIME, DTDATE, DTWKDATX, DTYEAR, DTYYQC, E8601DN, E8601DT, E8601DZ, MDYAMPM, TOD, IS8601DN, IS8601DT, IS8601DZ. Match *DTM does not have the ADaM required SAS Datetime format
AD0043A *DTM variables must have non-missing SAS Datetime Format. Required *DTM variable has missing SAS Datetime Format
AD0044 When both time and datetime variables are collected on the same record for the same observation, the Time portion of the datetime variable should be equal to the Time variable itself. Condition %Variable.1%TM and its corresponding %Variable.1%DTM variable have different time values
AD0045 When both date and datetime variables are collected on the same record for the same observation, the Date portion of the datetime variable should be equal to the Date variable itself. Condition %Variable.1%DT and its corresponding %Variable.1%DTM variable have different date values
AD0046 A variable with a suffix of DY (day) must not equal zero. Variables whose names end in DY are relative day variables. In ADaM as in the SDTM, there is no day 0. If there is a need to create a relative day variable that includes day 0, then its name must not end in DY. Regex %Variable.1%DY = 0
AD0058 The SAS TYPE for *DT variable must be equal Num. Match *DT is not a numeric variable
AD0059 The SAS TYPE for *TM variable must be equal Num. Match *TM is not a numeric variable
AD0060 The SAS TYPE for *DTM variable must be equal Num. Match *DTM is not a numeric variable
AD0092B Within a study, all TRTPN values must be the same for each unique value of TRTP when the primary variable TRTP is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRTPN
AD0093B Within a study, all TRTP values must be the same for each unique value of TRTPN when the primary variable TRTP is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRTP
AD0095B Within a study, all TRTAN values must be the same for each unique value of TRTA when the primary variable TRTA is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRTAN
AD0096B Within a study, all TRTA values must be the same for each unique value of TRTAN when the primary variable TRTA is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRTA
AD0097 If Planned Pooled Treatment y (TRTPGyN) numeric variable is present, there must be a corresponding Planned Pooled Treatment y (TRTPGy) character variable. Find TRTPGyN is present, but TRTPGy is not present
AD0098 Any variable ending in SDY (Start day) must have a value less than or equal to its corresponding EDY (end day) value. Condition %Variable.1%SDY is greater than %Variable.1%EDY
AD0099 Any variable ending in STDY (Start day) must have a value less than or equal to its corresponding ENDY (end day) value. Condition %Variable.1%STDY is greater than %Variable.1%ENDY
AD0102 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Planned Treatment for Period xx variable (like TRT01P) in ADSL dataset. Metadata There is no TRTxxP variable in ADSL for every unique xx value of APERIOD
AD0103 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Date of First Exposure in Period xx variable for this period (like TR01SDT) in ADSL dataset. Metadata There is no TRxxSDT variable in ADSL for every unique xx value of APERIOD
AD0104 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Date of Last Exposure in Period xx variable for this period (like TR01EDT) in ADSL dataset. Metadata There is no TRxxEDT variable in ADSL for every unique xx value of APERIOD
AD0105B Within a study, all APERIODC values must be the same for each unique value of APERIOD when the primary variable APERIOD is populated. Unique Inconsistent value for APERIODC
AD0106B Within a study, all APERIOD values must be the same for each unique value of APERIODC when the primary variable APERIOD is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for APERIOD
AD0109B Within a study, all AVISITN values must be the same for each unique value group of [PARAMCD, AVISIT] when PARAMCD and primary variable AVISIT are populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for AVISITN
AD0110B Within a study, all AVISIT values must be the same for each unique value group of [PARAMCD, AVISITN] when PARAMCD and primary variable AVISIT are populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for AVISIT
AD0111 When ARELTM is present, the Anchor Time variable and ARELTMU (Analysis Relative Time unit) must also be included in the dataset, and the anchor time variable must be identified in the metadata for ARELTM. Find ARELTM is present, but ARELTMU is not present
AD0112 If ARELTMU (Analysis Relative Time unit) or ARELTM (Analysis Relative Time) is populated, then both must be populated together. Condition Only one of these variables is populated: ARELTM, ARELTMU
AD0113 When ARELTM is present, the anchor time variable and ARELTMU must also be included in the dataset, and the anchor time variable must be identified in the metadata for ARELTM. Find ARELTMU is present, but ARELTM is not present
AD0117B Within a study, all ATPT values must be the same for each unique value group of [PARAMCD, ATPTN] when PARAMCD and primary variable ATPT are populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for ATPT
AD0118B Within a study, all ATPTN values must be the same for each unique value group of [PARAMCD, ATPT] when PARAMCD and primary variable ATPT are populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for ATPTN
AD0121 Any variable ending in SDT (Start Date) must have a value less than or equal to its corresponding EDT (End Date) value (e.g., ADSL - TRTSDT, TR01SDT, AP01SDT; BDS - APERSDT). Condition %Variable.1%SDT is greater than %Variable.1%EDT
AD0122 Any variable ending in SDTM (Start Date Time) must have a value less than or equal to its corresponding EDTM (End Date Time) value (e.g., ADSL - TRTSDTM, TR01SDTM, AP01SDTM; BDS - APERSDTM). Condition %Variable.1%SDTM is greater than %Variable.1%EDTM
AD0137 When CRITyFL (Analysis Criterion Flag) is populated, it's corresponding parent Analysis Criterion y must be populated. Condition CRITyFL is populated, but CRITy is not populated
AD0156 If Criterion y Flag (CRITyFL) variable is present, there must also be a corresponding Criterion y (CRITy) variable. Find CRITyFL is present, but CRITy is not present
AD0157 If Criterion y (CRITy) variable is present, there must also be a corresponding Criterion y Flag (CRITyFL) variable. Find CRITy is present, but CRITyFL is not present
AD0159 If AWTDIFF (Analysis Window Diff from Target) is populated AWTARGET (Analysis Window Target) must be populated. AWTDIFF = Absolute value of (ADY or ARELTM) - AWTARGET. Note: A future rule should validate that the calculation is correct. Rule enhanced by Pinnacle 21 to include ADY and ARELTM. If only AWTDIFF is present and populated, this rule will fire even if some or all other variables are not present. This may fire simultaneously with AD0158. Condition Calculation issue: AWTDIFF is populated, but AWTARGET and/or one of [ADY, ARELTM] are not both present and populated
AD0160 If Analysis Window Unit (AWU) variable is present, then Analysis Window Beginning Timepoint (AWLO) and (Analysis Window Ending Timepoint) AWHI variables must be present. Find AWU is present, but both AWLO and AWHI are not present
AD0178 A variable of form ANLzzFL (analysis record flag) must be Y or null. Match ANL%Variable.1%FL value is not Y or null
AD0201 If Actual Pooled Treatment y (TRTAGyN) numeric variable is present, there must be a corresponding Planned Pooled Treatment y (TRTPGy) character variable. Find TRTAGyN is present, but TRTAGy is not present
AD0212 ANLzzFN (Analyzed Record Flag zz Numeric) must be 1 or null. For Parameter-Level and Record-Level Numeric Population Flag variables: 1 = yes (included). Null values are allowed. Match ANL%Variable.1%FN value is not 1 or null
AD0237B Within a study, all Planned Pooled Treatment y (TRTPGy) variable values must be the same for each unique value of Planned Pooled Treatment y (N) (TRTPGyN) variable when both variables are populated. Analogous rule for AD0240. Unique Inconsistent value for TRTPG%Variable.1%
AD0238B Within a study, all Planned Pooled Treatment y (N) (TRTPGyN) variable values must be the same for each unique value of Planned Pooled Treatment y (TRTPGy) variable when both variables are populated. Analogous rule for AD0241. Unique Inconsistent value for TRTPG%Variable.1%N
AD0240B Within a study, all Actual Pooled Treatment y (TRTAGy) variable values must be the same for each unique value of Actual Pooled Treatment y (N) (TRTAGyN) variable when both variables are populated. Analogous rule for AD0237. Unique Inconsistent value for TRTAG%Variable.1%
AD0241B Within a study, all Actual Pooled Treatment y (N) (TRTAGyN) variable values must be the same for each unique value of Actual Pooled Treatment y (TRTAGy) variable when both variables are populated. Analogous rule for AD0238. Unique Inconsistent value for TRTAG%Variable.1%N
AD0256 All subjects included into ADaM datasets should be present in ADSL dataset and use the same Unique Subject Identifier (USUBJID). Lookup USUBJID value does not exist in the ADaM ADSL domain
AD0269 A Treatment Flag variable must have a value that is Y or null. Examples of such Flags variables in ADaM-IG 1.2 are Treatment Emergent Analysis Flag (TRTEMFL), Pre-treatment Flag (PREFL), On Treatment Record Flag (ONTRTFL), Follow-up Flag (FUPFL), and Last Value On Treatment Record Flag (LVOTFL). Match %Variable% flag value is not Y or null
AD0272 1st Occurrence * Flag (AOCC*FL) variable values must be Y or null. Match %Variable% flag value is not Y or null
AD0283B Across studies, all Analysis Severity/Intensity (ASEV) variable values must be the same for each unique value of Analysis Severity/Intensity (N) (ASEVN) variable when both variables are populated. Unique Inconsistent value for ASEV
AD0284B Across studies, all Analysis Severity/Intensity (N) (ASEVN) variable values must be the same for each unique value of Analysis Severity/Intensity (ASEV) variable when both variables are populated. Unique Inconsistent value for ASEVN
AD0287B Across studies, all Causality (AEREL) variable values must be the same for each unique value of Causality (N) (AERELN) variable when both variables are populated. Unique Inconsistent value for AEREL
AD0289B Across studies, all Analysis Causality (AREL) variable values must be the same for each unique value of Analysis Causality (N) (ARELN) variable when both variables are populated. Unique Inconsistent value for AREL
AD0290B Across studies, all Analysis Causality (N) (ARELN) variable values must be the same for each unique value of Analysis Causality (AREL) variable when both variables are populated. Unique Inconsistent value for ARELN
AD0295B Across studies, all Analysis Toxicity Grade (ATOXGR) variable values must be the same for each unique value of Analysis Toxicity Grade (N) (ATOXGRN) variable when both variables are populated. Unique Inconsistent value for ATOXGR
AD0296B Across studies, all Analysis Toxicity Grade (N) (ATOXGRN) variable values must be the same for each unique value of Analysis Toxicity Grade (ATOXGR) variable when both variables are populated. Unique Inconsistent value for ATOXGRN
AD0322 Within a given value of Planned Treatment (TRTP) variable, there can only be one unique value of Planned Pooled Treatment y (TRTPGy) variable. Unique Inconsistent value for TRTPGy within a given TRTP
AD0325 Within a Study and a Period, all Subperiod within Period (ASPER) variable values must be the same for each unique value of Subperiod within Period (C) (ASPERC) variable when the primary variable ASPERC is populated. Unique Inconsistent value for ASPER
AD0326 Within a Study and a Period, all Subperiod within Period (C) (ASPERC) variable values must be the same for each unique value of Subperiod within Period (ASPER) variable when the primary variable ASPER is populated. Unique Inconsistent value for ASPERC
AD0337 If Multi-Response Criterion y Evaluation (MCRITyML) flag variable is present, there must also be a corresponding Analysis Multi-Response Criterion y (MCRITy) variable. Find MCRIT%Variable.1% variable is not present when MCRIT%Variable.1%ML is present
AD0338 If Analysis Multi-Response Criterion y (MCRITy) variable is present, there must also be a corresponding Multi-Response Criterion y Evaluation (MCRITyML) flag variable. Find MCRIT%Variable.1%ML is not present when MCRIT%Variable.1% is present
AD0339 When Multi-Response Criterion y Evaluation (MCRITyML) variable value is populated, then its corresponding Analysis Multi-Response Criterion y (MCRITy) variable must be also populated. Condition MCRIT%Variable.1% is not populated when MCRIT%Variable.1%ML is populated
AD0340 Within a Study and a Parameter, all Multi-Response Criterion y Evaluation (MCRITyML) variable values must be the same for each unique value of Multi-Response Criterion y Eval (N) (MCRITyMN) variable when variable MCRITyMN is populated. Unique Inconsistent value for MCRIT%Variable.1%ML
AD0341 Within a Study and a Parameter, all Multi-Response Criterion y Eval (N) (MCRITyMN) variable values must be the same for each unique value of Multi-Response Criterion y Evaluation (MCRITyML) variable when the primary variable MCRITyML is populated. Unique Inconsistent value for MCRIT%Variable.1%MN
AD0361 The value of Analysis Start Date (ASTDT) variable must be less or equal to Analysis End Date (AENDT) variable value. Condition Value of ASTDT is greater than value of AENDT
AD0362 The value of Analysis Start Datetime (ASTDTM) variable must be less or equal to Analysis End Datetime (AENDTM) variable value. Condition Value of ASTDTM is greater than value of AENDTM
AD0369 If a Date variable is indicated to be imputated by population of an Imputation Flag (*DTF), that Date variable (*DT) or Datetime variable (*DTM) must have a value. Condition %Variable.1%DTF is populated, but %Variable.1%DT or %Variable.1%DTM is not populated
AD0370 If a Time variable is indicated to be imputated by population of an Imputation Flag (*TMF), that Time variable (*TM) or Datetime variable (*DTM) must have a value. Condition %Variable.1%TMF is populated, but %Variable.1%TM or %Variable.1%DTM is not populated
AD0376 In a pair of corresponding character and numeric variables, the secondary variable must be populated if its primary variable is populated. Exceptions: *DTC, *FN, TRTPN, TRT01PN, PARAMN, AVALC, BASEC. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Primary variable %Variable.1% is populated, but its secondary variable %Variable% is not populated
AD0381 Within a parameter, there should be only a single value of a primary variable (*) for a given value of secondary variable (*N), considering only those rows on which both variables are populated. Covers variable pairs: BTOXGR/BTOXGRN, BTOXGRL/BTOXGRLN, BTOXGRH/BTOXGRHN, ATOXGRL/ATOXGRLN, ATOXGRH/ATOXGRHN. Unique Inconsistent value for %Variable% within a unique PARAMCD
AD0382 Within a parameter, there should be only a single value of Baseline Toxicity Grade (N) (BTOXGRN) variable for a given value of Baseline Toxicity Grade (BTOXGR) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BTOXGRN within a unique PARAMCD
AD0384 Within a parameter, there should be only a single value of Baseline Toxicity Grade Low (N) (BTOXGRLN) variable for a given value of Baseline Toxicity Grade Low (BTOXGRL) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BTOXGRLN within a unique PARAMCD
AD0388 Within a parameter, there should be only a single value of Baseline Toxicity Grade High (N) (BTOXGRHN) variable for a given value of Baseline Toxicity Grade High (BTOXGRH) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BTOXGRHN within a unique PARAMCD
AD0396 Within a parameter, there should be only a single value of ATOXGRLN for a given value of ATOXGRL, considering only those rows on which both variables are populated. Unique Inconsistent value for ATOXGRLN within a unique PARAMCD
AD0400 Within a parameter, there should be only a single value of Analysis Toxicity Grade Low (N) (ATOXGRHN) variable for a given value of Analysis Toxicity Grade Low (ATOXGRH) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for ATOXGRHN within a unique PARAMCD
AD0401 On a given record, if Analysis Toxicity Description Low (ATOXDSCL) variable value is populated, then both Analysis Value (AVAL) and the Analysis Toxicity Grade Low (ATOXGRL) variable values must be populated. Condition AVAL is not populated or ATOXGRL is not populated, and ATOXDSCL is populated
AD0402 On a given record, if Analysis Toxicity Description High (ATOXDSCH) variable value is populated, then both Analysis Value (AVAL) and the Analysis Toxicity Grade High (ATOXGRH) variable values must be populated. Condition AVAL is not populated or ATOXGRH is not populated, and ATOXDSCH is populated
AD0403 Within a subject, there should be only a single value of Analysis Toxicity Description Low (ATOXDSCL) variable for a given value of Parameter Code (PARAMCD) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for ATOXDSCL within a subject and parameter
AD0405 Within a subject, there should be only a single value of Analysis Toxicity Description High (ATOXDSCH) variable for a given value of Parameter Code (PARAMCD) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for ATOXDSCH within a subject and parameter
AD0450 On a given record, if Multi-Response Criterion y Evaluation (MCRITyML) variable value is populated, then Multi-Response Criterion y Eval (N) (MCRITyMN) variable value must also be populated. Condition MCRITyML is populated, but MCRITyMN is not populated
AD0451 On a given record, if Multi-Response Criterion y Eval (N) (MCRITyMN) variable value is populated, then Multi-Response Criterion y Evaluation (MCRITyML) variable value must also be populated. Condition MCRITyMN is populated, but MCRITyML is not populated
AD0482 In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be populated if its secondary variable describing it is populated. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Primary variable BCHGCATy is populated, but its secondary variable BCHGCAyN is not populated
AD0483 In a pair of corresponding character and numeric variables, the secondary variable must be populated if its primary variable is populated. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Secondary variable BCHGCAyN is populated, but its primary variable BCHGCATy is not populated
AD0484 In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be populated if its secondary variable describing it is populated. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Primary variable PBCHGCAy is populated, but its secondary variable PBCHGCyN is not populated
AD0485 In a pair of corresponding character and numeric variables, the secondary variable must be populated if its primary variable is populated. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Secondary variable PBCHGCyN is populated, but its primary variable PBCHGCAy is not populated
AD0492 If Shift $y (SHIFTy) variable is present, the variable pair it is describing should also be present. Pairs include (BASECATy/ AVALCATy), (BNRIND/ANRIND), (ByIND/AyIND), (BTOXGR/ATOXGR), (BTOXGRL/ATOXGRL), (BTOXGRH/ATOXGRH), (BASE/AVAL) and (BASEC/AVALC). Find SHIFTy is present and all of the following variable pairs (BASECATy, AVALCATy), (BNRIND, ANRIND), (ByIND, AyIND), (BTOXGR, ATOXGR), (BTOXGRL, ATOXGRL), (BTOXGRH, ATOXGRH), (BASE, AVAL) and (BASEC, AVALC) are not present
AD0499 If Subperiod within Period (ASPER) variable is used in a dataset, Period (APERIOD) variable must also be present in that dataset. Find ASPER is present and APERIOD is not present
AD0501 On a given record, if Subperiod within Period (ASPER) variable is populated, then Period (APERIOD) variable must be populated. Condition ASPER is populated and APERIOD is not populated
AD0543 If Analysis Value Category y (N) (AVALCAyN) variable is used in a dataset, Analysis Value Category y (AVALCATy) variable must also be present in that dataset. Find AVALCAyN is present and AVALCATy is not present
AD0544 If Baseline Category y (N) (BASECAyN) variable is used in a dataset, Baseline Category y (BASECATy) variable must also be present in that dataset. Find BASECAyN is present and BASECATy is not present
AD0545 If Change from Baseline Category y (N) (CHGCATyN) variable is used in a dataset, Change from Baseline Category y (CHGCATy) variable must also be present in that dataset. Find CHGCATyN is present and CHGCATy is not present
AD0546 If Percent Chg from Baseline Category y (N) (PCHGCAyN) variable is used in a dataset, Percent Chg from Baseline Category y (PCHGCATy) variable must also be present in that dataset. Find PCHGCAyN is present and PCHGCATy is not present
AD0552 If Multi-Response Criterion y Eval (N) (MCRITyMN) variable is used in a dataset, Multi-Response Criterion y Evaluation (MCRITyML) variable must also be present in that dataset. Find MCRITyMN is present and MCRITyML is not present
AD0565 If Change to Baseline Category y (N) (BCHGCAyN) variable is used in a dataset, Change to Baseline Category y (BCHGCATy) variable must also be present in that dataset. Find BCHGCAyN is present and BCHGCATy is not present
AD0566 If Percent Change to Baseline Category y (N) (PBCHGCyN) variable is used in a dataset, Percent Change to Baseline Category y (PBCHGCAy) variable must also be present in that dataset. Find PBCHGCyN is present and PBCHGCAy is not present
AD0582 When all 3 variables are populated, Change to Baseline (BCHG) must equal Baseline Value (BASE) minus Analysis Value (AVAL). Condition Calculation issue: BCHG != BASE - AVAL
AD0584 Within a parameter, there should be only a single value of Change to Baseline Category y (BCHGCATy) variable for a given value of Change to Baseline Category y (N) (BCHGCAyN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BCHGCATy within a unique PARAMCD
AD0585 Within a parameter, there should be only a single value of Change to Baseline Category y (N) (BCHGCAyN) variable for a given value of Change to Baseline Category y (BCHGCATy) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BCHGCAyN within a unique PARAMCD
AD0586 When all 3 variables are populated and base &lt;&gt; 0, Percent Change to Baseline (PBCHG) must equal the difference of Baseline Value (BASE) minus Analysis Value (AVAL) divided by the analysis value (AVAL), expressed as a percentage. Condition Calculation issue: PBCHG != (BASE - AVAL)/AVAL * 100
AD0588 Within a parameter, there should be only a single value of Percent Change to Baseline Category y (PBCHGCAy) variable for a given value of Percent Change to Baseline Category y (N) (PBCHGCyN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for PBCHGCAy within a unique PARAMCD
AD0589 Within a parameter, there should be only a single value of Percent Change to Baseline Category y (N) (PBCHGCyN) variable for a given value of Percent Change to Baseline Category y (PBCHGCAy) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for PBCHGCyN within a unique PARAMCD
AD0605 When analysis Phase (APHASE) variable is defined, the Phase Start Date (PHSDT) variable value must equal ADSL Phase w Start Date (PHwSDT) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSDT != ADSL.PHwSDT
AD0607 When analysis Phase (APHASE) variable is defined, the analysis Phase Start Time (PHSTM) variable value must equal ADSL Phase w Start Time (PHwSTM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSTM != ADSL.PHwSTM
AD0609 When analysis Phase (APHASE) variable is defined, the analysis Phase Start Datetime (PHSDTM) variable value must equal ADSL Phase w Start Datetime (PHwSDTM) for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSDTM != ADSL.PHwSDTM
AD0611 When analysis Phase (APHASE) is defined, the Phase End Date (PHEDT) variable value must equal ADSL Phase w End Date (PHwEDT) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHEDT != ADSL.PHwEDT
AD0613 When analysis Phase (APHASE) variable is defined, the Phase End Time (PHETM) variable value must equal ADSL Phase w End Time (PHwETM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHETM != ADSL.PHwETM
AD0615 When analysis Phase (APHASE) variable) is defined, the Phase End Datetime (PHEDTM) variable value must equal ADSL Phase w End Datetime (PHwEDTM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHEDTM != ADSL.PHwEDTM
AD1011 In a pair of corresponding character and numeric variables (* and *N or *C) the primary or most commonly used variable must be populated if its secondary variable describing it is populated. Exceptions: *DTC, *FN, TRTPN, TRT01PN, PARAMN, AVALC, BASEC, *LOC, and *HIC. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Secondary variable %Variable% is populated, but its primary variable %Variable.1% is not populated
AD1012A In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be present if its secondary version describing it (*N or *C) is present. This is a rule designed to look explicitly at variable pairs defined in the CDISC standard documents. A similar rule that checks custom *N or *C variables (with a few exceptions) is AD1012. This rule is expected to be added to CDISC ADaM Conformance Rules in the future. Find Secondary variable is present, but its primary variable is not present
CT2001 Variable must be populated with terms from its CDISC controlled terminology codelist. New terms cannot be added into non-extensible codelists. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' non-extensible codelist
CT2002 Variable should be populated with terms from its CDISC controlled terminology codelist. New terms can be added as long as they are not duplicates, synonyms or subsets of existing standard terms. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' extensible codelist
SD0001 Domain table should have at least one record. Property No records in data source
SD0037 Variable values should be populated with terms found in the user-defined codelist associated with the variable in define.xml. Match Value for %Variable% not found in (%Variable.CodeList.Name%) user-defined codelist
SD0054 Variables listed in the data definition document (define.xml) should be included in the dataset. Find Variable in define.xml is not present in the dataset
SD0059 Variable DataType in define.xml must match variable Type in dataset. Define-XML data types of 'integer' and 'float' match dataset type of 'Num', all other match 'Char'. Condition Define.xml/dataset variable type mismatch
SD0060 Variables included in the dataset must be described in the data definition document (define.xml). Match Variable in dataset is not present in define.xml
SD0062 Domain table must have a valid format (e.g., SAS transport (XPORT) v.5 or text-delimited). Property Incompatible data source
SD1063 Datasets included in study data must be described in the data definition document (define.xml). Match Dataset is not present in define.xml
SD1071 Datasets greater than 5 gigabytes (GB) in size should be split into smaller datasets no larger than 5 GB. Property Dataset is greater than 5 GB in size
SD1082 Variable length should be assigned based on actual stored data to minimize file size. Datasets should be re-sized to the maximum length of actual data used prior to splitting. Varlength Variable length is too long for actual data
SD1228 Variable value must be populated with terms from user-defined value level codelist as specified in define.xml file. Match %Variable% value not found in user-defined codelist '%Variable.@Clause.CodeList.Name%' when %Variable.@Clause.Expression%
SD1229 Variable value must be populated when value level attribute Mandatory='Yes' as specified in define.xml file. Required %Variable% value is null when %Variable.@Clause.Expression%
SD1230 Value level datatype must match the datatype described in define.xml. Condition %Variable% datatype is not %Variable.@Clause.DataType% when %Variable.@Clause.Expression%
SD1231 Value level length must not exceed the length as specified define.xml. Condition %Variable% value is longer than defined max length %Variable.@Clause.Length% when %Variable.@Clause.Expression%
SD1324 Variable Label in define.xml must match variable Label in dataset. Match Define.xml/dataset variable label mismatch
SD1325 Dataset Description in define.xml must match dataset Description. Property Define.xml/dataset description mismatch

Device-level Analysis Dataset

Dataset Structure
Variable Description Required Data Type Length
STUDYID Study Identifier yes text 200
SPDEVID Sponsor Device Identifier yes text 200
USUBJID Unique Subject Identifier text 200
SUBJID Subject Identifier for the Study text 200
DEVGR# Pooled Device Group $1 text 200
DEVGR#N Pooled Device Group $1 (N) integer 200
DEVTYG# Pooled Device Type Group $1 text 200
DEVTYG#N Pooled Device Type Group $1 (N) integer 200
MODELG# Pooled Device Model Group $1 text 200
MODELG#N Pooled Device Model Group $1 (N) integer 200
SITEID Study Site Identifier yes text 200
SITEGR# Pooled Site Group $1 text 200
SITEGR#N Pooled Site Group $1 (N) integer 200
REGION# Geographic Region $1 text 200
REGION#N Geographic Region $1 (N) integer 200
AGE Age yes integer 200
AGEU Age Units yes text 200
AGEGR# Pooled Age Group $1 text 200
AGEGR#N Pooled Age Group $1 (N) integer 200
AGEDST Subject Age at First Exposure to Device integer 200
AGEDSTU Age at First Exposure to Device Unit text 200
AAGE Analysis Age float 200
SEX Sex yes text 200
RACE Race yes text 200
RACEGR# Pooled Race Group $1 text 200
RACEGR#N Pooled Race Group $1 (N) integer 200
FASFL Full Analysis Set Population Flag text 200
FASFN Full Analysis Set Population Flag (N) integer 200
SAFFL Safety Population Flag text 200
SAFFN Safety Population Flag (N) integer 200
ITTFL Intent-To-Treat Population Flag text 200
ITTFN Intent-To-Treat Population Flag (N) integer 200
PPROTFL Per-Protocol Population Flag text 200
PPROTFN Per-Protocol Population Flag (N) integer 200
COMPLFL Completers Population Flag text 200
COMPLFN Completers Population Flag (N) integer 200
RANDFL Randomized Population Flag text 200
RANDFN Randomized Population Flag (N) integer 200
ENRLFL Enrolled Population Flag text 200
ENRLFN Enrolled Population Flag (N) integer 200
ARM Description of Planned Arm yes text 200
ACTARM Description of Actual Arm text 200
*FL text 200
TRT01P Planned Treatment for Period 01 yes text 200
TRT#P Planned Treatment for Period $1 text 200
TRT#PN Planned Treatment for Period $1 (N) integer 200
TRT#A Actual Treatment for Period $1 text 200
TRT#AN Actual Treatment for Period $1 (N) integer 200
TRTSEQP Planned Sequence of Treatments text 200
TRTSEQPN Planned Sequence of Treatments (N) integer 200
TRTSEQA Actual Sequence of Treatments text 200
TRTSEQAN Actual Sequence of Treatments (N) integer 200
TR#PG# Planned Pooled Treatment $2 for Period $1 text 200
TR#PG#N Planned Pooled Trt $2 for Period $1 (N) integer 200
TR#AG# Actual Pooled Treatment $2 for Period $1 text 200
TR#AG#N Actual Pooled Trt $2 for Period $1 (N) integer 200
TSEQPG# Planned Pooled Treatment Sequence $1 text 200
TSEQPG#N Planned Pooled Treatment Sequence $1 (N) integer 200
TSEQAG# Actual Pooled Treatment Sequence $1 text 200
TSEQAG#N Actual Pooled Treatment Sequence $1 (N) integer 200
DOSE#P Planned Treatment Dose for Period $1 float 200
DOSE#A Actual Treatment Dose for Period $1 float 200
DOSE#U Units for Dose for Period $1 text 200
DEVSDT Date of First Exposure to Device yes integer 200
DEVEDT Date of Last Exposure to Device yes integer 200
DEVAFL Device Active Flag text 200
DEVIPDT Date Device Implanted integer 200
DEVXPDT Date Device Explanted integer 200
DEVONDT Date Device Turned On integer 200
DEVOFDT Date Device Turned Off integer 200
DEVRPDT Date Device Repositioned integer 200
DEVMDDT Date Device Modified integer 200
TRTSDT Date of First Exposure to Treatment integer 200
TRTSTM Time of First Exposure to Treatment integer 200
TRTSDTM Datetime of First Exposure to Treatment integer 200
TRTSDTF Date of First Exposure Imput. Flag text 200
TRTSTMF Time of First Exposure Imput. Flag text 200
TRTEDT Date of Last Exposure to Treatment integer 200
TRTETM Time of Last Exposure to Treatment integer 200
TRTEDTM Datetime of Last Exposure to Treatment integer 200
TRTEDTF Date of Last Exposure Imput. Flag text 200
TRTETMF Time of Last Exposure Imput. Flag text 200
TR#SDT Date of First Exposure in Period $1 integer 200
TR#STM Time of First Exposure in Period $1 integer 200
TR#SDTM Datetime of First Exposure in Period $1 integer 200
TR#SDTF Date 1st Exposure Period $1 Imput. Flag text 200
TR#STMF Time 1st Exposure Period $1 Imput. Flag text 200
TR#EDT Date of Last Exposure in Period $1 integer 200
TR#ETM Time of Last Exposure in Period $1 integer 200
TR#EDTM Datetime of Last Exposure in Period $1 integer 200
TR#EDTF Date Last Exposure Period $1 Imput. Flag text 200
TR#ETMF Time Last Exposure Period $1 Imput. Flag text 200
AP#SDT Period $1 Start Date integer 200
AP#STM Period $1 Start Time integer 200
AP#SDTM Period $1 Start Datetime integer 200
AP#SDTF Period $1 Start Date Imput. Flag text 200
AP#STMF Period $1 Start Time Imput. Flag text 200
AP#EDT Period $1 End Date integer 200
AP#ETM Period $1 End Time integer 200
AP#EDTM Period $1 End Datetime integer 200
AP#EDTF Period $1 End Date Imput. Flag text 200
AP#ETMF Period $1 End Time Imput. Flag text 200
P#S# Description of Period $1 Subperiod $2 text 200
P#S#SDT Period $1 Subperiod $2 Start Date integer 200
P#S#STM Period $1 Subperiod $2 Start Time integer 200
P#S#SDM Period $1 Subperiod $2 Start Datetime integer 200
P#S#SDF Period $1 Subper $2 Start Date Imput Flag text 200
P#S#STF Period $1 Subper $2 Start Time Imput Flag text 200
P#S#EDT Period $1 Subperiod $2 End Date integer 200
P#S#ETM Period $1 Subperiod $2 End Time integer 200
P#S#EDM Period $1 Subperiod $2 End Datetime integer 200
P#S#EDF Period $1 Subper $2 End Date Imput Flag text 200
P#S#ETF Period $1 Subper $2 End Time Imput Flag text 200
APHASE# Description of Phase $1 text 200
PH#SDT Phase $1 Start Date integer 200
PH#STM Phase $1 Start Time integer 200
PH#SDTM Phase $1 Start Datetime integer 200
PH#SDTF Phase $1 Start Date Imputation Flag text 200
PH#STMF Phase $1 Start Time Imputation Flag text 200
PH#EDT Phase $1 End Date integer 200
PH#ETM Phase $1 End Time integer 200
PH#EDTM Phase $1 End Datetime integer 200
PH#EDTF Phase $1 End Date Imputation Flag text 200
PH#ETMF Phase $1 End Time Imputation Flag text 200
EOSSTT End of Study Status text 200
EOSDT End of Study Date integer 200
DCSREAS Reason for Discontinuation from Study text 200
DCSREASP Reason Spec for Discont from Study text 200
EOTSTT End of Treatment Status text 200
DCTREAS Reason for Discontinuation of Treatment text 200
DCTREASP Reason Specify for Discont of Treatment text 200
EOT#STT End of Treatment Status in Period $1 text 200
DCT#RS Reason for Discont of Treat in Period $1 text 200
DCT#RSP Reason Spec for Disc of Trt in Period $1 text 200
EOP#STT End of Period $1 Status text 200
DCP#RS Reason for Discont from Period $1 text 200
DCP#RSP Reason Spec for Discont from Period $1 text 200
RFICDT Date of Informed Consent integer 200
ENRLDT Date of Enrollment integer 200
RANDDT Date of Randomization integer 200
RFIC#DT Date of Informed Consent $1 integer 200
ENRL#DT Date of Enrollment $1 integer 200
RAND#DT Date of Randomization $1 integer 200
LSTALVDT Date Last Known Alive integer 200
TRCMP Treatment Compliance (%) float 200
TRCMPG# Treatment Compliance (%) Group $1 text 200
TRCMPG#N Treatment Compliance (%) Group $1 (N) integer 200
TR#DURD Treatment Duration in Period $1 (Days) integer 200
TR#DURM Treatment Duration in Period $1 (Months) integer 200
TR#DURY Treatment Duration in Period $1 (Years) integer 200
TRTDURD Total Treatment Duration (Days) integer 200
TRTDURM Total Treatment Duration (Months) integer 200
TRTDURY Total Treatment Duration (Years) integer 200
DTHDT Date of Death integer 200
DTHDTF Date of Death Imputation Flag text 200
DTHCAUS Cause of Death text 200
DTHCAUSN Cause of Death (N) integer 200
DTHCGR# Cause of Death Group $1 text 200
DTHCGR#N Cause of Death Group $1 (N) integer 200
STRATAR Strata Used for Randomization text 200
STRATARN Strata Used for Randomization (N) float 200
STRATAV Strata from Verification Source text 200
STRATAVN Strata from Verification Source (N) float 200
STRAT#D Description of Stratification Factor $1 text 200
STRAT#R Strat Factor $1 Value Used for Rand text 200
STRAT#RN Strat Factor $1 Value Used for Rand (N) float 200
STRAT#V Strat Factor $1 Value from Verif Source text 200
STRAT#VN Strat Fact $1 Val from Verif Source (N) float 200
* text 200
*DTF text 200
*TMF text 200

 

Validation Rules
ID Description Validator Message
AD0005B A variable with a suffix of FL must have value that is Y, N or null (Exception 1: ABLFL, ANLzzFL. Exception 2: Population flags COMPLFL, FASFL, ITTFL, PPROTFL, SAFFL, RANDFL, ENRLFL cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FL value is not Y, N or null
AD0006B A variable with a suffix of FN has a value that is not 0, 1, or null (Exception: ABLFN, ANLzzFN, and numeric population flags COMPLFN, FASFN, ITTFN, PPROTFN, SAFFN, RANDFN, ENRLFN cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FN value is not 0, 1 or null
AD0007 If a Flag Numeric (*FN) variable is present, its corresponding Flag Character (*FL) variable must be present. Find Secondary variable *FN is present, but its primary variable *FL is not present
AD0010 When a Flag variable (FL) is Y, its corresponding Flag numeric variable (FN) must be 1. Condition %Variable.1%FL = Y and %Variable.1%FN != 1
AD0011 When a Flag variable (FL) is N, its corresponding Flag numeric variable (FN) must be 0. Condition %Variable.1%FL = N and %Variable.1%FN != 0
AD0012 When a numeric Flag variable (*FN) is populated, its corresponding character Flag variable (*FL) must be populated. Condition Secondary variable %Variable.1%FN is populated, but its primary variable %Variable.1%FL is not populated
AD0013 A variable must be a max of 8 characters, start with a letter A-Z and does not contain anything other than letters, numbers, underscore (_). Regex Illegal variable name: basic format is violated
AD0016 All ADaM variable labels must be no more than 40 characters in length. This should not be possible to fail with sas v5 xpt. Dataset-XML or .csv can fail this rule. Regex Variable label length is greater than 40 characters
AD0018 The variable label in the dataset should match the variable label described in ADaM. When creating a new variable, labels can be adjusted as appropriate. Currently, this rule runs if a variable has a label that is defined in the ADaM metadata. Condition Variable label mismatch between dataset and ADaM standard
AD0019 For subject-level character population flag variables: N = no (not included), Y = yes (included). Null values are not allowed. Required %Variable% subject-population flag value is null
AD0026 For subject-level numeric population flag variables: 0 = no (not included), 1 = yes (included). Null values are not allowed. Required %Variable% subject-population flag value is null
AD0037B Within a study, all *GRyN values must be the same for each unique value of *GRy when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%N
AD0038B Within a study, all *GRy values must be the same for each unique value of *GRyN when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%
AD0041 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DA, B8601DN , DATE, DAY, DDMMYY, DDMMYYB, DDMMYYC, DDMMYYD, DDMMYYN, DDMMYYP, DDMMYYS, DOWNAME, DTMONYY, E8601DA, JULDAY, JULIAN, MMDDYY, MMDDYYB, MMDDYYC, MMDDYYD, MMDDYYN, MMDDYYP, MMDDYYS, MMYY, MMYYB, MMYYC, MMYYD, MMYYN, MMYYP, MMYYS, MONNAME, MONTH, MONYY, PDJULG, PDJULI, QTR, QTRR, WEEKDATE, WEEKDATX, WEEKDAY, WEEKU, WEEKV, WEEKW, WORDDATE, WORDDATX, YEAR, YYMM, YYMMDD, YYMMDDB, YYMMDDC, YYMMDDD, YYMMDDN, YYMMDDP, YYMMDDS, YYMMB, YYMMC, YYMMD, YYMMN, YYMMP, YYMMS, YYMON, YYQ, YYQB, YYQC, YYQD, YYQN, YYQP, YYQS, YYQR, YYQRB, YYQRC, YYQRD, YYQRN, YYQRP, YYQRS, IS8601DA. Match *DT does not have the ADaM required SAS Date format
AD0041A *DT variables must have non-missing SAS Date Format. Required *DT variable has missing SAS Date Format
AD0042 The SAS format listed in the dataset must be valid. Here is a list of SAS Time formats utilized in the rule algorithm: B8601LZ, B8601TM, B8601TZ, E8601LZ, E8601TM, E8601TZ, HHMM, HOUR, MMSS, TIME, TIMEAMPM, IS8601TM, IS8601TZ, TOD. Match *TM does not have the ADaM required SAS time format
AD0042A *TM variables must have non-missing SAS Time Format. Required *TM variable has missing SAS Time Format
AD0043 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DT, B8601DZ, DATEAMPM, DATETIME, DTDATE, DTWKDATX, DTYEAR, DTYYQC, E8601DN, E8601DT, E8601DZ, MDYAMPM, TOD, IS8601DN, IS8601DT, IS8601DZ. Match *DTM does not have the ADaM required SAS Datetime format
AD0043A *DTM variables must have non-missing SAS Datetime Format. Required *DTM variable has missing SAS Datetime Format
AD0044 When both time and datetime variables are collected on the same record for the same observation, the Time portion of the datetime variable should be equal to the Time variable itself. Condition %Variable.1%TM and its corresponding %Variable.1%DTM variable have different time values
AD0045 When both date and datetime variables are collected on the same record for the same observation, the Date portion of the datetime variable should be equal to the Date variable itself. Condition %Variable.1%DT and its corresponding %Variable.1%DTM variable have different date values
AD0046 A variable with a suffix of DY (day) must not equal zero. Variables whose names end in DY are relative day variables. In ADaM as in the SDTM, there is no day 0. If there is a need to create a relative day variable that includes day 0, then its name must not end in DY. Regex %Variable.1%DY = 0
AD0047 Variables described in ADaM as Required must be included in the dataset. Find Required variable is not present
AD0053 The combination of Study Identifier (STUDYID) and Unique Subject Identifier (USUBJID) is not found in the SDTM Demographics domain. There must be traceability between ADaM and SDTM. Lookup The combination of STUDYID and USUBJID value does not exist in the SDTM DM domain
AD0058 The SAS TYPE for *DT variable must be equal Num. Match *DT is not a numeric variable
AD0059 The SAS TYPE for *TM variable must be equal Num. Match *TM is not a numeric variable
AD0060 The SAS TYPE for *DTM variable must be equal Num. Match *DTM is not a numeric variable
AD0064 If Actual Treatment (TRTxxAN) numeric variable is present, there must be a corresponding Actual Treatment (TRTxxA) character variable. Find TRTxxAN is present, but TRTxxA is not present
AD0066 If Planned Pooled Treatment y for Period xx (TRxxPGyN) numeric variable is present, there must be a corresponding Planned Pooled Treatment y for Period xx (TRxxPGy) character variable. Find TRxxPGyN is present, but TRxxPGy is not present
AD0070 If Actual Pooled Treatment y for Period xx (TRxxAGyN) numeric variable is present, there must be a corresponding Actual Pooled Treatment y for Period xx (TRxxAGy) character variable. Find TRxxAGyN is present, but TRxxAGy is not present
AD0075 If the Planned Treatment (TRTxxPN) numeric variable is present, there must be a corresponding Planned Treatment (TRTxxP) character variable. Find TRTxxPN is present, but TRTxxP is not present
AD0076B Within a study, all TRTxxPN values must be the same for each unique value of TRTxxP when the primary variable TRTxxP is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRT%Variable.1%PN
AD0077B Within a study, all TRTxxP values must be the same for each unique value of TRTxxPN when the primary variable TRTxxP is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRT%Variable.1%P
AD0078 If Planned Treatment for Period xx (TRTxxP) is present, First Treatment date for period xx (TRxxSDT) must be present if there is more than one Treatment Period. When there is only 1 Treatment Period 01, TRTSDT is sufficient. Find TRTxxP is present, but TRxxSDT is not present for periods greater than 01
AD0079 If Planned Treatment for Period xx (TRTxxP) is present, Last Treatment Date for Period xx (TRxxEDT) must be present if there is more than one Treatment Period. When there is only 1 Treatment Period 01, TRTEDT is sufficient. Find TRTxxP is present, but TRxxEDT is not present for periods greater than 01
AD0080 If Actual Treatment (TRTxxA) is present, its corresponding Planned Treatment (TRTxxP) must be present. Find TRTxxA is present, but TRTxxP is not present
AD0084 Date of Last Exposure to Treatment (TRTEDT) for this patient record should be equal to the max Last Treatment Date (TRxxEDT) among all Periods 01 thru xx. Condition TRTEDT != Maximum TRxxEDT on this record
AD0121 Any variable ending in SDT (Start Date) must have a value less than or equal to its corresponding EDT (End Date) value (e.g., ADSL - TRTSDT, TR01SDT, AP01SDT; BDS - APERSDT). Condition %Variable.1%SDT is greater than %Variable.1%EDT
AD0122 Any variable ending in SDTM (Start Date Time) must have a value less than or equal to its corresponding EDTM (End Date Time) value (e.g., ADSL - TRTSDTM, TR01SDTM, AP01SDTM; BDS - APERSDTM). Condition %Variable.1%SDTM is greater than %Variable.1%EDTM
AD0196 Unlike SDTM, only some of ADaM Required variables (where Core attribute is 'Req') must be populated. CDISC ADaM rules affirm that PARAM and PARAMCD must be populated, while others are populated as appropriate. Known Exceptions: TRTP, TRTxxP, AGE, AGEU, RACE, SUBJID, AESER. Required Required %Variable% value is null
AD0227B Within a study, all Planned Sequence of Treatments (TRTSEQP) variable values must be the same for each unique value of Planned Sequence of Treatments (N) (TRTSEQPN) when both variables are populated. Unique Inconsistent value for TRTSEQP
AD0228B Within a study, all Planned Sequence of Treatments (N) (TRTSEQPN) variable values must be the same for each unique value of Planned Sequence of Treatments (TRTSEQP) when both variables are populated. Unique Inconsistent value for TRTSEQPN
AD0229B Within a study, all Actual Sequence of Treatment (TRTSEQA) variable values must be the same for each unique value of Actual Sequence of Treatments (N) (TRTSEQAN) when both variables are populated. Unique Inconsistent value for TRTSEQA
AD0230B Within a study, all Actual Sequence of Treatments (N) (TRTSEQAN) variable values must be the same for each unique value of Actual Sequence of Treatment (TRTSEQA) variable when both variables are populated. Unique Inconsistent value for TRTSEQAN
AD0231 Within a study, all Planned Pooled Treatment y for Period xx (TRxxPGy) variable values must be the same for each unique value of Planned Treatment for Period xx (TRTxxP) variable when TRTxxP is populated. TRxxPGy is a more general pooled treatment for TRTxxP, therefore it may be used for many TRTxxP. Unique Inconsistent value for TR%Variable.1%PG%Variable.2% within a unique TRT%Variable.1%P
AD0232B Within a study, all Planned Pooled Treatment y for Period xx (TRxxPGy) variable values must be the same for each unique value of Planned Pooled Trt y for Period xx (N) (TRxxPGyN) variable when both variables are populated. Analogous rule for AD0235. Unique Inconsistent value for TR%Variable.1%PG%Variable.2%
AD0233 Within a study, all Planned Pooled Trt y for Period xx (N) (TRxxPGyN) variable values must be the same for each unique value of Planned Pooled Treatment y for Period xx (TRxxPGy) variable when the primary variable TRxxPGy is populated. analogous rule for AD0236. Unique Inconsistent value for TR%Variable.1%PG%Variable.2%N
AD0234 Within a study, all Actual Pooled Treatment y for Period xx (TRxxAGy) variable values must be the same for each unique value of Actual Treatment for Period xx (TRTxxA) when TRTxxA is populated. TRxxAGy is a more general pooled treatment for TRTxxA, therefore it may be used for many TRTxxA. Unique Inconsistent value for TR%Variable.1%AG%Variable.2% within a unique TRT%Variable.1%A
AD0235B Within a study, all Actual Pooled Treatment y for Period xx (TRxxAGy) variable values must be the same for each unique value of Actual Pooled Trt y for Period xx (N) (TRxxAGyN) variable when both variables are populated. Analogous rule for AD0232. Unique Inconsistent value for TR%Variable.1%AG%Variable.2%
AD0236B Within a study, all Actual Pooled Trt y for Period xx (N) (TRxxAGyN) variable values must be the same for each unique value of Actual Pooled Treatment y for Period xx (TRxxAGy) variable when both variables are populated. Analogous rule for AD0233. Unique Inconsistent value for TR%Variable.1%AG%Variable.2%N
AD0239A For a given period xx, If both Actual Treatment for Period xx (TRTxxA) and Planned Pooled Treatment y for Period xx (TRxxPGy) variables are present, then Actual Pooled Treatment y for Period xx (TRxxAGy) variable must be present. Find TRxxPGy and TRTxxA are present, but TRxxAGy is not present
AD0242B Within a study, all Actual Treatment for Period xx (N) (TRTxxAN) variable values must be the same for each unique value of Actual Treatment for Period xx (TRTxxA) variable when both variables are populated. Unique Inconsistent value for TRT%Variable.1%AN
AD0243B Within a study, all Actual Treatment for Period xx (TRTxxA) variable values must be the same for each unique value of Actual Treatment for Period xx (N) (TRTxxAN) variable when both variables are populated. Unique Inconsistent value for TRT%Variable.1%A
AD0252 Variables described in ADaM IG as inappropriate for usage must be not included in the dataset. i.e., for ADAE, there is no need for AVAL, AVALC and Parameter variables. Find Variable present in dataset is prohibited for use in ADaM
AD0320B The dataset label for a dataset named 'ADDL' must be 'Device-level Analysis Dataset'. Property Non-standard dataset label
AD0355 Within a study, all Geographic Region y (REGIONy) variable values must be the same for each unique value of Geographic Region y (N) (REGIONyN) when variable REGIONyN is populated. Unique Inconsistent value for REGION%Variable.1%
AD0356 Within a study, all Geographic Region y (N) (REGIONyN) variable values must be the same for each unique value of Geographic Region y (REGIONy) when the primary variable REGIONy is populated. Unique Inconsistent value for REGION%Variable.1%N
AD0359 Within a study, Cause of Death (DTHCAUS) variable values must be the same for each unique value of Cause of Death(N) (DTHCAUSN) variable when variable DTHCAUSN is populated. Unique Inconsistent value for DTHCAUS
AD0360 Within a study, Cause of Death(N) (DTHCAUSN) variable values must be the same for each unique value of Cause of Death (DTHCAUS) variable when the primary variable DTHCAUS is populated. Unique Inconsistent value for DTHCAUSN
AD0361 The value of Analysis Start Date (ASTDT) variable must be less or equal to Analysis End Date (AENDT) variable value. Condition Value of ASTDT is greater than value of AENDT
AD0362 The value of Analysis Start Datetime (ASTDTM) variable must be less or equal to Analysis End Datetime (AENDTM) variable value. Condition Value of ASTDTM is greater than value of AENDTM
AD0366 Date of Randomization (RANDDT) variable should be included into dataset when Randomized Population Flag (RANDFL) variable is present. Find Missing RANDDT variable when RANDFL variable is present
AD0366A Date of Randomization (RANDDT) variable value should be populated for randomized subjects (when Randomized Population Flag (RANDFL) variable value is 'Y'). Required Missing value for RANDDT when RANDFL is Y
AD0366B Randomized Population Flag (RANDFL) variable value should be 'Y' for randomized subject (when Date of Randomization (RANDDT) variable value is populated). Condition RANDFL value is not Y when RANDDT is populated
AD0369 If a Date variable is indicated to be imputated by population of an Imputation Flag (*DTF), that Date variable (*DT) or Datetime variable (*DTM) must have a value. Condition %Variable.1%DTF is populated, but %Variable.1%DT or %Variable.1%DTM is not populated
AD0370 If a Time variable is indicated to be imputated by population of an Imputation Flag (*TMF), that Time variable (*TM) or Datetime variable (*DTM) must have a value. Condition %Variable.1%TMF is populated, but %Variable.1%TM or %Variable.1%DTM is not populated
AD0376 In a pair of corresponding character and numeric variables, the secondary variable must be populated if its primary variable is populated. Exceptions: *DTC, *FN, TRTPN, TRT01PN, PARAMN, AVALC, BASEC. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Primary variable %Variable.1% is populated, but its secondary variable %Variable% is not populated
AD0468 There should be only a single value of Strata Used for Randomization (STRATAR) variable for a given value of Strata Used for Randomization (N) (STRATARN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for STRATAR
AD0469 There should be only a single value of Strata Used for Randomization (N) (STRATARN) variable for a given value of Strata Used for Randomization (STRATAR) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for STRATARN
AD0472 There should be only a single value of Strat Factor w Value Used for Rand (STRATwR) variable for a given value of Strat Factor w Value Used for Rand (N) (STRATwRN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for STRATwR
AD0473 There should be only a single value of Strat Factor w Value Used for Rand (N) (STRATwRN) variable for a given value of Strat Factor w Value Used for Rand (STRATwR) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for STRATwRN
AD0476 There should be only a single value of Strata from Verification Source (STRATAV) variable for a given value of Strata from Verification Source (N) (STRATAVN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for STRATAV
AD0477 There should be only a single value of Strata from Verification Source (N) (STRATAVN) variable for a given value of Strata from Verification Source (STRATAV) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for STRATAVN
AD0480 There should be only a single value of Strat Factor w Value from Verif Source (STRATwV) variable for a given value of Strat Fact w Val from Verif Source (N) (STRATwVN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for STRATwV
AD0481 There should be only a single value of Strat Fact w Val from Verif Source (N) (STRATwVN) variable for a given value of Strat Factor w Value from Verif Source (STRATwV) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for STRATwVN
AD0570 If any of the subject-level subperiod timing variables (PxxSw, PxxSwSDT, PxxSwSTM, PxxSwSDM, PxxSwSDF, PxxSwSTF, PxxSwEDT, PxxSwETM, PxxSwEDM, PxxSwEDF, PxxSwETF) are present, there must be a corresponding Planned Treatment for Period xx (TRTxxP) character variable present for the same xx value. Find %Variable% is present, but TRT%Variable.1%P is not present
AD0616 There should be only a single value of Treatment Compliance (%) Group y (TRCMPGy) variable for a given value of Treatment Compliance (%) Group y (N) (TRCMPGyN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for TRCMPGy
AD0617 There should be only a single value of Treatment Compliance (%) Group y (N) (TRCMPGyN) variable for a given value of Treatment Compliance (%) Group y (TRCMPGy) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for TRCMPGyN
AD0618 On a given record, if Treatment Compliance (%) Group y (TRCMPGy) variable value is populated, then Treatment Compliance (%) (TRCMP) variable value must be populated. Condition TRCMPGy is populated and TRCMP is not populated
AD0677 Within a study, All DEVTYGy values must be the same for each unique value of DEVTYGyN, when both variables are populated. Analogous rule for AD0678. Unique Inconsistent value for DEVTYG%Variable.1%
AD0678 Within a study, All DEVTYGyN values must be the same for each unique value of DEVTYGy, when both variables are populated. Analogous rule for AD0677. Unique Inconsistent value for DEVTYG%Variable.1%N
AD0681 Within a study, All MODELGy values must be the same for each unique value of MODELGyN, when both variables are populated. Analogous rule for AD0682. Unique Inconsistent value for MODELG%Variable.1%
AD0682 Within a study, All MODELGyN values must be the same for each unique value of MODELGy, when both variables are populated. Analogous rule for AD0681. Unique Inconsistent value for MODELG%Variable.1%N
AD0687 The value of DEVIPDT (Date Device Implanted) variable must be less or equal to DEVXPDT (Date Device Explanted) Condition Value of DEVIPDT is greater than value of DEVXPDT
AD0688 There is more than one record per study for unique values of USUBJID and SPDEVID in the ADDL dataset. Unique SPDEVID duplicate values are not allowed within a study and subject
AD1011 In a pair of corresponding character and numeric variables (* and *N or *C) the primary or most commonly used variable must be populated if its secondary variable describing it is populated. Exceptions: *DTC, *FN, TRTPN, TRT01PN, PARAMN, AVALC, BASEC, *LOC, and *HIC. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Secondary variable %Variable% is populated, but its primary variable %Variable.1% is not populated
AD1012A In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be present if its secondary version describing it (*N or *C) is present. This is a rule designed to look explicitly at variable pairs defined in the CDISC standard documents. A similar rule that checks custom *N or *C variables (with a few exceptions) is AD1012. This rule is expected to be added to CDISC ADaM Conformance Rules in the future. Find Secondary variable is present, but its primary variable is not present
CT2001 Variable must be populated with terms from its CDISC controlled terminology codelist. New terms cannot be added into non-extensible codelists. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' non-extensible codelist
CT2002 Variable should be populated with terms from its CDISC controlled terminology codelist. New terms can be added as long as they are not duplicates, synonyms or subsets of existing standard terms. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' extensible codelist
CT2003 Paired variables such as TEST/TESTCD must be populated using terms with the same Codelist Code value in CDISC control terminology. There is one-to-one relationship between paired variable values defined in CDISC control terminology by Codelist Code value. Match %Variable% and %Variable.DecodedVariable% values do not have the same Code in CDISC CT
CT2004 Variable must be populated with terms from its CDISC controlled terminology codelist when its value level condition is met. New terms cannot be added into non-extensible codelists. Match %Variable% value not found in '%Variable.Config.@Clause.CodeList.Name%' non-extensible codelist when %Variable.Config.@Clause.Expression%
CT2005 Variable should be populated with terms from its CDISC controlled terminology codelist when its value level condition is met. New terms can be added as long as they are not duplicates, synonyms or subsets of existing standard terms. Match %Variable% value not found in '%Variable.Config.@Clause.CodeList.Name%' extensible codelist when %Variable.Config.@Clause.Expression%
CT2006 Paired variables such as TEST/TESTCD must be populated using terms with the same Codelist Code value in CDISC control terminology. There is one-to-one relationship between paired variable values defined in CDISC control terminology by Codelist Code value within the same value level condition. Match %Variable% and %Variable.DecodedVariable% values do not have the same Code in CDISC CT when %Variable.Config.@Clause.Expression%
SD0001 Domain table should have at least one record. Property No records in data source
SD0037 Variable values should be populated with terms found in the user-defined codelist associated with the variable in define.xml. Match Value for %Variable% not found in (%Variable.CodeList.Name%) user-defined codelist
SD0054 Variables listed in the data definition document (define.xml) should be included in the dataset. Find Variable in define.xml is not present in the dataset
SD0059 Variable DataType in define.xml must match variable Type in dataset. Define-XML data types of 'integer' and 'float' match dataset type of 'Num', all other match 'Char'. Condition Define.xml/dataset variable type mismatch
SD0060 Variables included in the dataset must be described in the data definition document (define.xml). Match Variable in dataset is not present in define.xml
SD0062 Domain table must have a valid format (e.g., SAS transport (XPORT) v.5 or text-delimited). Property Incompatible data source
SD1063 Datasets included in study data must be described in the data definition document (define.xml). Match Dataset is not present in define.xml
SD1071 Datasets greater than 5 gigabytes (GB) in size should be split into smaller datasets no larger than 5 GB. Property Dataset is greater than 5 GB in size
SD1082 Variable length should be assigned based on actual stored data to minimize file size. Datasets should be re-sized to the maximum length of actual data used prior to splitting. Varlength Variable length is too long for actual data
SD1228 Variable value must be populated with terms from user-defined value level codelist as specified in define.xml file. Match %Variable% value not found in user-defined codelist '%Variable.@Clause.CodeList.Name%' when %Variable.@Clause.Expression%
SD1229 Variable value must be populated when value level attribute Mandatory='Yes' as specified in define.xml file. Required %Variable% value is null when %Variable.@Clause.Expression%
SD1230 Value level datatype must match the datatype described in define.xml. Condition %Variable% datatype is not %Variable.@Clause.DataType% when %Variable.@Clause.Expression%
SD1231 Value level length must not exceed the length as specified define.xml. Condition %Variable% value is longer than defined max length %Variable.@Clause.Length% when %Variable.@Clause.Expression%
SD1324 Variable Label in define.xml must match variable Label in dataset. Match Define.xml/dataset variable label mismatch
SD1325 Dataset Description in define.xml must match dataset Description. Property Define.xml/dataset description mismatch

Adverse Events

Dataset Structure
Variable Description Required Data Type Length
STUDYID Study Identifier yes text 200
DOMAIN Domain Abbreviation yes text 200
USUBJID Unique Subject Identifier yes text 200
AESEQ Sequence Number yes float 200
AETERM Reported Term for the Adverse Event yes text 200
AEDECOD Dictionary-Derived Term yes text 200
AESTDTC Start Date/Time of Adverse Event datetime 200

 

Validation Rules
ID Description Validator Message
AD0253 Adverse Events specified in SDTM AE domain must be traceable to ADaM ADAE dataset based on Study Identifier (STUDYID), Unique Subject Identifier (USUBJID) and Sequence Number (AESEQ) variables. The ADAE structure for the standard adverse event safety dataset must have at least one record per each AE recorded in SDTM AE domain. However, subjects not analyzed (e.g., Screen Failures) who have AEs recorded in SDTM AE, but not in ADSL do not need to be included in ADAE. Currently, this check does not take into account the latter. Please check your ADSL file to see if these issues are for Screen Failures. Lookup Record key from SDTM AE is not traceable to ADaM ADAE (not enough ADAE recs)
SD0062 Domain table must have a valid format (e.g., SAS transport (XPORT) v.5 or text-delimited). Property Incompatible data source

Demographics

Dataset Structure
Variable Description Required Data Type Length
STUDYID Study Identifier yes text 200
DOMAIN Domain Abbreviation yes text 200
USUBJID Unique Subject Identifier yes text 200
SUBJID Subject Identifier for the Study yes text 200
SITEID Study Site Identifier yes text 200
SEX Sex yes text 200
RACE Race text 200
COUNTRY Country yes text 200

 

Validation Rules
ID Description Validator Message
SD0062 Domain table must have a valid format (e.g., SAS transport (XPORT) v.5 or text-delimited). Property Incompatible data source

Exposure

Dataset Structure
Variable Description Required Data Type Length
STUDYID Study Identifier yes text 200
DOMAIN Domain Abbreviation yes text 200
USUBJID Unique Subject Identifier text 200
EXSEQ Sequence Number yes float 200
EXTRT Name of Treatment yes text 200
EXSTDTC Start Date/Time of Treatment datetime 200

 

Validation Rules
ID Description Validator Message
SD0062 Domain table must have a valid format (e.g., SAS transport (XPORT) v.5 or text-delimited). Property Incompatible data source

Medical Device Basic Data Structure

Dataset Structure
Variable Description Required Data Type Length
STUDYID Study Identifier yes text 200
SPDEVID Sponsor Device Identifier yes text 200
USUBJID Unique Subject Identifier text 200
SUBJID Subject Identifier for the Study text 200
SITEID Study Site Identifier text 200
ASEQ Analysis Sequence Number float 200
TRTP Planned Treatment text 200
TRTPN Planned Treatment (N) float 200
TRTA Actual Treatment text 200
TRTAN Actual Treatment (N) float 200
TRT#P Planned Treatment for Period $1 text 200
TRT#PN Planned Treatment for Period $1 (N) integer 200
TRT#A Actual Treatment for Period $1 text 200
TRT#AN Actual Treatment for Period $1 (N) integer 200
TRTPG# Planned Pooled Treatment $1 text 200
TRTPG#N Planned Pooled Treatment $1 (N) integer 200
TRTAG# Actual Pooled Treatment $1 text 200
TRTAG#N Actual Pooled Treatment $1 (N) integer 200
DOSEP Planned Treatment Dose float 200
DOSCUMP Cumulative Planned Treatment Dose float 200
DOSEA Actual Treatment Dose float 200
DOSCUMA Cumulative Actual Treatment Dose float 200
DOSEU Treatment Dose Units text 200
ADT Analysis Date integer 200
ATM Analysis Time integer 200
ADTM Analysis Datetime integer 200
ADY Analysis Relative Day integer 200
ADTF Analysis Date Imputation Flag text 200
ATMF Analysis Time Imputation Flag text 200
ASTDT Analysis Start Date integer 200
ASTTM Analysis Start Time integer 200
ASTDTM Analysis Start Datetime integer 200
ASTDY Analysis Start Relative Day integer 200
ASTDTF Analysis Start Date Imputation Flag text 200
ASTTMF Analysis Start Time Imputation Flag text 200
AENDT Analysis End Date integer 200
AENTM Analysis End Time integer 200
AENDTM Analysis End Datetime integer 200
AENDY Analysis End Relative Day integer 200
AENDTF Analysis End Date Imputation Flag text 200
AENTMF Analysis End Time Imputation Flag text 200
AVISIT Analysis Visit text 200
AVISITN Analysis Visit (N) float 200
ATPT Analysis Timepoint text 200
ATPTN Analysis Timepoint (N) integer 200
ATPTREF Analysis Timepoint Reference text 200
APHASE Phase text 200
APHASEN Phase (N) integer 200
APERIOD Period integer 200
APERIODC Period (C) text 200
ASPER Subperiod within Period integer 200
ASPERC Subperiod within Period (C) text 200
ARELTM Analysis Relative Time integer 200
ARELTMU Analysis Relative Time Unit text 200
APERSDT Period Start Date integer 200
APERSTM Period Start Time integer 200
APERSDTM Period Start Datetime integer 200
APERSDTF Period Start Date Imput. Flag text 200
APERSTMF Period Start Time Imput. Flag text 200
APEREDT Period End Date integer 200
APERETM Period End Time integer 200
APEREDTM Period End Datetime integer 200
APEREDTF Period End Date Imput. Flag text 200
APERETMF Period End Time Imput. Flag text 200
ASPRSDT Subperiod Start Date integer 200
ASPRSTM Subperiod Start Time integer 200
ASPRSDTM Subperiod Start Datetime integer 200
ASPRSDTF Subperiod Start Date Imput. Flag text 200
ASPRSTMF Subperiod Start Time Imput. Flag text 200
ASPREDT Subperiod End Date integer 200
ASPRETM Subperiod End Time integer 200
ASPREDTM Subperiod End Datetime integer 200
ASPREDTF Subperiod End Date Imput. Flag text 200
ASPRETMF Subperiod End Time Imput. Flag text 200
PHSDT Phase Start Date integer 200
PHSTM Phase Start Time integer 200
PHSDTM Phase Start Datetime integer 200
PHSDTF Phase Start Date Imput. Flag text 200
PHSTMF Phase Start Time Imput. Flag text 200
PHEDT Phase End Date integer 200
PHETM Phase End Time integer 200
PHEDTM Phase End Datetime integer 200
PHEDTF Phase End Date Imput. Flag text 200
PHETMF Phase End Time Imput. Flag text 200
*DT integer 200
*TM integer 200
*DTM integer 200
*ADY integer 200
*DTF text 200
*TMF text 200
*SDT integer 200
*STM integer 200
*SDTM integer 200
*SDY integer 200
*SDTF text 200
*STMF text 200
*EDT integer 200
*ETM integer 200
*EDTM integer 200
*EDY integer 200
*EDTF text 200
*ETMF text 200
PARAM Parameter yes text 200
PARAMCD Parameter Code yes text 200
PARAMN Parameter (N) float 200
PARCAT# Parameter Category $1 text 200
PARCAT#N Parameter Category $1 (N) integer 200
AVAL Analysis Value float 200
AVALC Analysis Value (C) text 200
AVALCAT# Analysis Value Category $1 text 200
AVALCA#N Analysis Value Category $1 (N) integer 200
BASE Baseline Value float 200
BASEC Baseline Value (C) text 200
BASECAT# Baseline Category $1 text 200
BASECA#N Baseline Category $1 (N) integer 200
BASETYPE Baseline Type text 200
CHG Change from Baseline float 200
CHGCAT# Change from Baseline Category $1 text 200
CHGCAT#N Change from Baseline Category $1 (N) integer 200
PCHG Percent Change from Baseline float 200
PCHGCAT# Percent Chg from Baseline Category $1 text 200
PCHGCA#N Percent Chg from Baseline Category $1 (N) integer 200
R2BASE Ratio to Baseline float 200
R2A#LO Ratio to Analysis Range $1 Lower Limit float 200
R2A#HI Ratio to Analysis Range $1 Upper Limit float 200
SHIFT# Shift $1 text 200
SHIFT#N Shift $1 (N) integer 200
BCHG Change to Baseline float 200
BCHGCAT# Change to Baseline Category $1 text 200
BCHGCA#N Change to Baseline Category $1 (N) integer 200
PBCHG Percent Change to Baseline float 200
PBCHGCA# Percent Change to Baseline Category $1 text 200
PBCHGC#N Percent Change to Baseline Category $1 (N) integer 200
CRIT# Analysis Criterion $1 text 200
CRIT#FL Criterion $1 Evaluation Result Flag text 200
CRIT#FN Criterion $1 Evaluation Result Flag (N) integer 200
MCRIT# Analysis Multi-Response Criterion $1 text 200
MCRIT#ML Multi-Response Criterion $1 Evaluation text 200
MCRIT#MN Multi-Response Criterion $1 Eval (N) float 200
DTYPE Derivation Type text 200
AWRANGE Analysis Window Valid Relative Range text 200
AWTARGET Analysis Window Target integer 200
AWTDIFF Analysis Window Diff from Target integer 200
AWLO Analysis Window Beginning Timepoint integer 200
AWHI Analysis Window Ending Timepoint integer 200
AWU Analysis Window Unit text 200
STARTDT Time-to-Event Origin Date for Subject integer 200
STARTDTM Time-to-Event Origin Datetime integer 200
STARTDTF Origin Date Imputation Flag text 200
STARTTMF Origin Time Imputation Flag text 200
CNSR Censor integer 200
EVNTDESC Event or Censoring Description text 200
CNSDTDSC Censor Date Description text 200
ATOXGR Analysis Toxicity Grade text 200
ATOXGRN Analysis Toxicity Grade (N) float 200
BTOXGR Baseline Toxicity Grade text 200
BTOXGRN Baseline Toxicity Grade (N) float 200
ANRIND Analysis Reference Range Indicator text 200
BNRIND Baseline Reference Range Indicator text 200
ANRLO Analysis Normal Range Lower Limit float 200
ANRLOC Analysis Normal Range Lower Limit (C) text 200
ANRHI Analysis Normal Range Upper Limit float 200
ANRHIC Analysis Normal Range Upper Limit (C) text 200
A#LO Analysis Range $1 Lower Limit float 200
A#LOC Analysis Range $1 Lower Limit (C) text 200
A#HI Analysis Range $1 Upper Limit float 200
A#HIC Analysis Range $1 Upper Limit (C) text 200
A#IND Analysis Range $1 Indicator text 200
B#IND Baseline Analysis Range $1 Indicator text 200
ATOXGRL Analysis Toxicity Grade Low text 200
ATOXGRLN Analysis Toxicity Grade Low (N) float 200
ATOXGRH Analysis Toxicity Grade High text 200
ATOXGRHN Analysis Toxicity Grade High (N) float 200
BTOXGRL Baseline Toxicity Grade Low text 200
BTOXGRLN Baseline Toxicity Grade Low (N) float 200
BTOXGRH Baseline Toxicity Grade High text 200
BTOXGRHN Baseline Toxicity Grade High (N) float 200
ATOXDSCL Analysis Toxicity Description Low text 200
ATOXDSCH Analysis Toxicity Description High text 200
ABLFL Baseline Record Flag text 200
ABLFN Baseline Record Flag (N) integer 200
ANL#FL Analysis Flag $1 text 200
ANL#FN Analysis Flag $1 (N) integer 200
ONTRTFL On Treatment Record Flag text 200
ONTRTFN On Treatment Record Flag (N) integer 200
LVOTFL Last Value On Treatment Record Flag text 200
LVOTFN Last Value On Treatment Record Flag (N) integer 200
ITTRFL Intent-To-Treat Record-Level Flag text 200
ITTRFN Intent-To-Treat Record-Level Flag (N) integer 200
SAFRFL Safety Analysis Record-Level Flag text 200
SAFRFN Safety Analysis Record-Level Flag (N) integer 200
FASRFL Full Analysis Set Record-Level Flag text 200
FASRFN Full Analysis Set Record-Level Flag (N) integer 200
PPROTRFL Per-Protocol Record-Level Flag text 200
PPROTRFN Per-Protocol Record-Level Flag (N) integer 200
COMPLRFL Completers Record-Level Flag text 200
COMPRFN Completers Record-Level Flag (N) integer 200
ITTPFL Intent-To-Treat Parameter-Level Flag text 200
ITTPFN Intent-To-Treat Param-Level Flag (N) integer 200
SAFPFL Safety Analysis Parameter-Level Flag text 200
SAFPFN Safety Analysis Param-Level Flag (N) integer 200
FASPFL Full Analysis Set Parameter-Level Flag text 200
FASPFN Full Analysis Set Param-Level Flag (N) integer 200
PPROTPFL Per-Protocol Parameter-Level Flag text 200
PPROTPFN Per-Protocol Parameter-Level Flag (N) integer 200
COMPLPFL Completers Parameter-Level Flag text 200
COMPLPFN Completers Parameter-Level Flag (N) integer 200
SRCDOM Source Data text 200
SRCVAR Source Variable text 200
SRCSEQ Source Sequence Number float 200
SITEGR# Pooled Site Group $1 text 200
SITEGR#N Pooled Site Group $1 (N) integer 200
REGION# Geographic Region $1 text 200
REGION#N Geographic Region $1 (N) integer 200
AGE Age integer 200
AGEU Age Units text 200
AGEGR# Pooled Age Group $1 text 200
AGEGR#N Pooled Age Group $1 (N) integer 200
AAGE Analysis Age float 200
SEX Sex text 200
RACE Race text 200
RACEGR# Pooled Race Group $1 text 200
RACEGR#N Pooled Race Group $1 (N) integer 200
FASFL Full Analysis Set Population Flag text 200
FASFN Full Analysis Set Population Flag (N) integer 200
SAFFL Safety Population Flag text 200
SAFFN Safety Population Flag (N) integer 200
ITTFL Intent-To-Treat Population Flag text 200
ITTFN Intent-To-Treat Population Flag (N) integer 200
PPROTFL Per-Protocol Population Flag text 200
PPROTFN Per-Protocol Population Flag (N) integer 200
COMPLFL Completers Population Flag text 200
COMPLFN Completers Population Flag (N) integer 200
RANDFL Randomized Population Flag text 200
RANDFN Randomized Population Flag (N) integer 200
ENRLFL Enrolled Population Flag text 200
ENRLFN Enrolled Population Flag (N) integer 200
ARM Description of Planned Arm text 200
ACTARM Description of Actual Arm text 200
*FL text 200
TRTSEQP Planned Sequence of Treatments text 200
TRTSEQPN Planned Sequence of Treatments (N) integer 200
TRTSEQA Actual Sequence of Treatments text 200
TRTSEQAN Actual Sequence of Treatments (N) integer 200
TR#PG# Planned Pooled Treatment $2 for Period $1 text 200
TR#PG#N Planned Pooled Trt $2 for Period $1 (N) integer 200
TR#AG# Actual Pooled Treatment $2 for Period $1 text 200
TR#AG#N Actual Pooled Trt $2 for Period $1 (N) integer 200
TSEQPG# Planned Pooled Treatment Sequence $1 text 200
TSEQPG#N Planned Pooled Treatment Sequence $1 (N) integer 200
TSEQAG# Actual Pooled Treatment Sequence $1 text 200
TSEQAG#N Actual Pooled Treatment Sequence $1 (N) integer 200
DOSE#P Planned Treatment Dose for Period $1 float 200
DOSE#A Actual Treatment Dose for Period $1 float 200
DOSE#U Units for Dose for Period $1 text 200
TRTSDT Date of First Exposure to Treatment integer 200
TRTSTM Time of First Exposure to Treatment integer 200
TRTSDTM Datetime of First Exposure to Treatment integer 200
TRTSDTF Date of First Exposure Imput. Flag text 200
TRTSTMF Time of First Exposure Imput. Flag text 200
TRTEDT Date of Last Exposure to Treatment integer 200
TRTETM Time of Last Exposure to Treatment integer 200
TRTEDTM Datetime of Last Exposure to Treatment integer 200
TRTEDTF Date of Last Exposure Imput. Flag text 200
TRTETMF Time of Last Exposure Imput. Flag text 200
TR#SDT Date of First Exposure in Period $1 integer 200
TR#STM Time of First Exposure in Period $1 integer 200
TR#SDTM Datetime of First Exposure in Period $1 integer 200
TR#SDTF Date 1st Exposure Period $1 Imput. Flag text 200
TR#STMF Time 1st Exposure Period $1 Imput. Flag text 200
TR#EDT Date of Last Exposure in Period $1 integer 200
TR#ETM Time of Last Exposure in Period $1 integer 200
TR#EDTM Datetime of Last Exposure in Period $1 integer 200
TR#EDTF Date Last Exposure Period $1 Imput. Flag text 200
TR#ETMF Time Last Exposure Period $1 Imput. Flag text 200
AP#SDT Period $1 Start Date integer 200
AP#STM Period $1 Start Time integer 200
AP#SDTM Period $1 Start Datetime integer 200
AP#SDTF Period $1 Start Date Imput. Flag text 200
AP#STMF Period $1 Start Time Imput. Flag text 200
AP#EDT Period $1 End Date integer 200
AP#ETM Period $1 End Time integer 200
AP#EDTM Period $1 End Datetime integer 200
AP#EDTF Period $1 End Date Imput. Flag text 200
AP#ETMF Period $1 End Time Imput. Flag text 200
P#S# Description of Period $1 Subperiod $2 text 200
P#S#SDT Period $1 Subperiod $2 Start Date integer 200
P#S#STM Period $1 Subperiod $2 Start Time integer 200
P#S#SDM Period $1 Subperiod $2 Start Datetime integer 200
P#S#SDF Period $1 Subper $2 Start Date Imput Flag text 200
P#S#STF Period $1 Subper $2 Start Time Imput Flag text 200
P#S#EDT Period $1 Subperiod $2 End Date integer 200
P#S#ETM Period $1 Subperiod $2 End Time integer 200
P#S#EDM Period $1 Subperiod $2 End Datetime integer 200
P#S#EDF Period $1 Subper $2 End Date Imput Flag text 200
P#S#ETF Period $1 Subper $2 End Time Imput Flag text 200
APHASE# Description of Phase $1 text 200
PH#SDT Phase $1 Start Date integer 200
PH#STM Phase $1 Start Time integer 200
PH#SDTM Phase $1 Start Datetime integer 200
PH#SDTF Phase $1 Start Date Imputation Flag text 200
PH#STMF Phase $1 Start Time Imputation Flag text 200
PH#EDT Phase $1 End Date integer 200
PH#ETM Phase $1 End Time integer 200
PH#EDTM Phase $1 End Datetime integer 200
PH#EDTF Phase $1 End Date Imputation Flag text 200
PH#ETMF Phase $1 End Time Imputation Flag text 200
EOSSTT End of Study Status text 200
EOSDT End of Study Date integer 200
DCSREAS Reason for Discontinuation from Study text 200
DCSREASP Reason Spec for Discont from Study text 200
EOTSTT End of Treatment Status text 200
DCTREAS Reason for Discontinuation of Treatment text 200
DCTREASP Reason Specify for Discont of Treatment text 200
EOT#STT End of Treatment Status in Period $1 text 200
DCT#RS Reason for Discont of Treat in Period $1 text 200
DCT#RSP Reason Spec for Disc of Trt in Period $1 text 200
EOP#STT End of Period $1 Status text 200
DCP#RS Reason for Discont from Period $1 text 200
DCP#RSP Reason Spec for Discont from Period $1 text 200
RFICDT Date of Informed Consent integer 200
ENRLDT Date of Enrollment integer 200
RANDDT Date of Randomization integer 200
RFIC#DT Date of Informed Consent $1 integer 200
ENRL#DT Date of Enrollment $1 integer 200
RAND#DT Date of Randomization $1 integer 200
LSTALVDT Date Last Known Alive integer 200
TRCMP Treatment Compliance (%) float 200
TRCMPG# Treatment Compliance (%) Group $1 text 200
TRCMPG#N Treatment Compliance (%) Group $1 (N) integer 200
TR#DURD Treatment Duration in Period $1 (Days) integer 200
TR#DURM Treatment Duration in Period $1 (Months) integer 200
TR#DURY Treatment Duration in Period $1 (Years) integer 200
TRTDURD Total Treatment Duration (Days) integer 200
TRTDURM Total Treatment Duration (Months) integer 200
TRTDURY Total Treatment Duration (Years) integer 200
DTHDT Date of Death integer 200
DTHDTF Date of Death Imputation Flag text 200
DTHCAUS Cause of Death text 200
DTHCAUSN Cause of Death (N) integer 200
DTHCGR# Cause of Death Group $1 text 200
DTHCGR#N Cause of Death Group $1 (N) integer 200
* text 200

 

Validation Rules
ID Description Validator Message
AD0005B A variable with a suffix of FL must have value that is Y, N or null (Exception 1: ABLFL, ANLzzFL. Exception 2: Population flags COMPLFL, FASFL, ITTFL, PPROTFL, SAFFL, RANDFL, ENRLFL cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FL value is not Y, N or null
AD0006B A variable with a suffix of FN has a value that is not 0, 1, or null (Exception: ABLFN, ANLzzFN, and numeric population flags COMPLFN, FASFN, ITTFN, PPROTFN, SAFFN, RANDFN, ENRLFN cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FN value is not 0, 1 or null
AD0007 If a Flag Numeric (*FN) variable is present, its corresponding Flag Character (*FL) variable must be present. Find Secondary variable *FN is present, but its primary variable *FL is not present
AD0010 When a Flag variable (FL) is Y, its corresponding Flag numeric variable (FN) must be 1. Condition %Variable.1%FL = Y and %Variable.1%FN != 1
AD0011 When a Flag variable (FL) is N, its corresponding Flag numeric variable (FN) must be 0. Condition %Variable.1%FL = N and %Variable.1%FN != 0
AD0012 When a numeric Flag variable (*FN) is populated, its corresponding character Flag variable (*FL) must be populated. Condition Secondary variable %Variable.1%FN is populated, but its primary variable %Variable.1%FL is not populated
AD0013 A variable must be a max of 8 characters, start with a letter A-Z and does not contain anything other than letters, numbers, underscore (_). Regex Illegal variable name: basic format is violated
AD0016 All ADaM variable labels must be no more than 40 characters in length. This should not be possible to fail with sas v5 xpt. Dataset-XML or .csv can fail this rule. Regex Variable label length is greater than 40 characters
AD0018 The variable label in the dataset should match the variable label described in ADaM. When creating a new variable, labels can be adjusted as appropriate. Currently, this rule runs if a variable has a label that is defined in the ADaM metadata. Condition Variable label mismatch between dataset and ADaM standard
AD0019 For subject-level character population flag variables: N = no (not included), Y = yes (included). Null values are not allowed. Required %Variable% subject-population flag value is null
AD0037B Within a study, all *GRyN values must be the same for each unique value of *GRy when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%N
AD0038B Within a study, all *GRy values must be the same for each unique value of *GRyN when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%
AD0041 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DA, B8601DN , DATE, DAY, DDMMYY, DDMMYYB, DDMMYYC, DDMMYYD, DDMMYYN, DDMMYYP, DDMMYYS, DOWNAME, DTMONYY, E8601DA, JULDAY, JULIAN, MMDDYY, MMDDYYB, MMDDYYC, MMDDYYD, MMDDYYN, MMDDYYP, MMDDYYS, MMYY, MMYYB, MMYYC, MMYYD, MMYYN, MMYYP, MMYYS, MONNAME, MONTH, MONYY, PDJULG, PDJULI, QTR, QTRR, WEEKDATE, WEEKDATX, WEEKDAY, WEEKU, WEEKV, WEEKW, WORDDATE, WORDDATX, YEAR, YYMM, YYMMDD, YYMMDDB, YYMMDDC, YYMMDDD, YYMMDDN, YYMMDDP, YYMMDDS, YYMMB, YYMMC, YYMMD, YYMMN, YYMMP, YYMMS, YYMON, YYQ, YYQB, YYQC, YYQD, YYQN, YYQP, YYQS, YYQR, YYQRB, YYQRC, YYQRD, YYQRN, YYQRP, YYQRS, IS8601DA. Match *DT does not have the ADaM required SAS Date format
AD0041A *DT variables must have non-missing SAS Date Format. Required *DT variable has missing SAS Date Format
AD0042 The SAS format listed in the dataset must be valid. Here is a list of SAS Time formats utilized in the rule algorithm: B8601LZ, B8601TM, B8601TZ, E8601LZ, E8601TM, E8601TZ, HHMM, HOUR, MMSS, TIME, TIMEAMPM, IS8601TM, IS8601TZ, TOD. Match *TM does not have the ADaM required SAS time format
AD0042A *TM variables must have non-missing SAS Time Format. Required *TM variable has missing SAS Time Format
AD0043 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DT, B8601DZ, DATEAMPM, DATETIME, DTDATE, DTWKDATX, DTYEAR, DTYYQC, E8601DN, E8601DT, E8601DZ, MDYAMPM, TOD, IS8601DN, IS8601DT, IS8601DZ. Match *DTM does not have the ADaM required SAS Datetime format
AD0043A *DTM variables must have non-missing SAS Datetime Format. Required *DTM variable has missing SAS Datetime Format
AD0044 When both time and datetime variables are collected on the same record for the same observation, the Time portion of the datetime variable should be equal to the Time variable itself. Condition %Variable.1%TM and its corresponding %Variable.1%DTM variable have different time values
AD0045 When both date and datetime variables are collected on the same record for the same observation, the Date portion of the datetime variable should be equal to the Date variable itself. Condition %Variable.1%DT and its corresponding %Variable.1%DTM variable have different date values
AD0046 A variable with a suffix of DY (day) must not equal zero. Variables whose names end in DY are relative day variables. In ADaM as in the SDTM, there is no day 0. If there is a need to create a relative day variable that includes day 0, then its name must not end in DY. Regex %Variable.1%DY = 0
AD0047 Variables described in ADaM as Required must be included in the dataset. Find Required variable is not present
AD0058 The SAS TYPE for *DT variable must be equal Num. Match *DT is not a numeric variable
AD0059 The SAS TYPE for *TM variable must be equal Num. Match *TM is not a numeric variable
AD0060 The SAS TYPE for *DTM variable must be equal Num. Match *DTM is not a numeric variable
AD0090 At least 1 treatment variable is required in a BDS dataset. This requirement is satisfied by any of the subject-level (ARM, ACTARM, TRTxxP, TRTxxA, TRTSEQP, TRTSEQA, TRxxPGy, TRxxAGy, TSEQPGy, TSEQAGy) or record-level (TRTP, TRTA, TRTPGy, TRTAGy) treatment variables. One is allowed to use any treatment variable in analysis of BDS. Any subject-level treatment variable may be copied into the BDS dataset from ADSL. Find None of the subject-level or record-level treatment variables defined in the IG are present
AD0092B Within a study, all TRTPN values must be the same for each unique value of TRTP when the primary variable TRTP is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRTPN
AD0093B Within a study, all TRTP values must be the same for each unique value of TRTPN when the primary variable TRTP is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRTP
AD0095B Within a study, all TRTAN values must be the same for each unique value of TRTA when the primary variable TRTA is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRTAN
AD0096B Within a study, all TRTA values must be the same for each unique value of TRTAN when the primary variable TRTA is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for TRTA
AD0097 If Planned Pooled Treatment y (TRTPGyN) numeric variable is present, there must be a corresponding Planned Pooled Treatment y (TRTPGy) character variable. Find TRTPGyN is present, but TRTPGy is not present
AD0098 Any variable ending in SDY (Start day) must have a value less than or equal to its corresponding EDY (end day) value. Condition %Variable.1%SDY is greater than %Variable.1%EDY
AD0099 Any variable ending in STDY (Start day) must have a value less than or equal to its corresponding ENDY (end day) value. Condition %Variable.1%STDY is greater than %Variable.1%ENDY
AD0102 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Planned Treatment for Period xx variable (like TRT01P) in ADSL dataset. Metadata There is no TRTxxP variable in ADSL for every unique xx value of APERIOD
AD0103 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Date of First Exposure in Period xx variable for this period (like TR01SDT) in ADSL dataset. Metadata There is no TRxxSDT variable in ADSL for every unique xx value of APERIOD
AD0104 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Date of Last Exposure in Period xx variable for this period (like TR01EDT) in ADSL dataset. Metadata There is no TRxxEDT variable in ADSL for every unique xx value of APERIOD
AD0105B Within a study, all APERIODC values must be the same for each unique value of APERIOD when the primary variable APERIOD is populated. Unique Inconsistent value for APERIODC
AD0106B Within a study, all APERIOD values must be the same for each unique value of APERIODC when the primary variable APERIOD is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for APERIOD
AD0109B Within a study, all AVISITN values must be the same for each unique value group of [PARAMCD, AVISIT] when PARAMCD and primary variable AVISIT are populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for AVISITN
AD0110B Within a study, all AVISIT values must be the same for each unique value group of [PARAMCD, AVISITN] when PARAMCD and primary variable AVISIT are populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for AVISIT
AD0111 When ARELTM is present, the Anchor Time variable and ARELTMU (Analysis Relative Time unit) must also be included in the dataset, and the anchor time variable must be identified in the metadata for ARELTM. Find ARELTM is present, but ARELTMU is not present
AD0112 If ARELTMU (Analysis Relative Time unit) or ARELTM (Analysis Relative Time) is populated, then both must be populated together. Condition Only one of these variables is populated: ARELTM, ARELTMU
AD0113 When ARELTM is present, the anchor time variable and ARELTMU must also be included in the dataset, and the anchor time variable must be identified in the metadata for ARELTM. Find ARELTMU is present, but ARELTM is not present
AD0117B Within a study, all ATPT values must be the same for each unique value group of [PARAMCD, ATPTN] when PARAMCD and primary variable ATPT are populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for ATPT
AD0118B Within a study, all ATPTN values must be the same for each unique value group of [PARAMCD, ATPT] when PARAMCD and primary variable ATPT are populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for ATPTN
AD0121 Any variable ending in SDT (Start Date) must have a value less than or equal to its corresponding EDT (End Date) value (e.g., ADSL - TRTSDT, TR01SDT, AP01SDT; BDS - APERSDT). Condition %Variable.1%SDT is greater than %Variable.1%EDT
AD0122 Any variable ending in SDTM (Start Date Time) must have a value less than or equal to its corresponding EDTM (End Date Time) value (e.g., ADSL - TRTSDTM, TR01SDTM, AP01SDTM; BDS - APERSDTM). Condition %Variable.1%SDTM is greater than %Variable.1%EDTM
AD0123 Within a study, all PARAMTYP values must be the same for each unique value of PARAMCD when PARAMCD is populated. If a PARAMCD is said to be derived, all instances must be derived. More than one parameter can be derived. Unique Inconsistent value for PARAMTYP
AD0124 Within a study, all PARCATy values must be the same for each unique value of PARAMCD when PARAMCD is populated. A Parameter can only be categorized once. However, that Category can be used across PARAMs. Unique Inconsistent value for PARCAT%Variable.1% within a unique PARAMCD
AD0125B Within a study, all PARCATy values must be the same for each unique value of PARCATyN when both variables are populated. Unique Inconsistent value for PARCAT%Variable.1%
AD0126B Within a study, all PARCATyN values must be the same for each unique value of PARCATy when both variables are populated. Unique Inconsistent value for PARCAT%Variable.1%N
AD0127A ABLFL is required if BASE or BASEC is present in the dataset. Find BASE or BASEC is present, but ABLFL is not present
AD0132 When all 3 variables are populated and BASE does not equal 0, Ratio to Base (R2BASE) must equal Analysis Value (AVAL) / Baseline Value (BASE). AD0132A will raise errors when BASE equals 0. AD0132B also complements this check. Condition Calculation issue: R2BASE != AVAL / BASE
AD0132A When baseline (BASE) equals 0, the Ratio to Baseline (R2BASE) should not be populated since you cannot divide by 0. AD0132 checks the RSBASE calculation is correct when BASE does not equal 0. Condition Calculation issue: BASE = 0, but R2BASE is populated
AD0132B If any of CHG (change), PCHG (percent change), or R2BASE (ratio of Analysis Value to Base) is populated, the values necessary for its calculation must both be present and populated. CHG = AVAL - BASE, PCHG = (AVAL - BASE)/BASE * 100, R2BASE = AVAL / BASE. Once this issue is resolved, there is greater potential for rules AD0132, AD0225, AD0223 to fire. Condition Calculation issue: CHG, PCHG or R2BASE is populated, but AVAL and/or BASE are not present and populated
AD0133 When all 3 variables are populated and AyLO does not equal 0, Ratio to AyLO (R2AyLO) must equal Analysis Value (AVAL) / Analysis Range y LO Value (AyLO). Condition Calculation issue: R2A%Variable.1%LO != AVAL / A%Variable.1%LO
AD0133A R2AyLO = AVAL / AyLO. therefore if R2AyLO is present, both AVAL and AyLO must be present for calculation consistency. Find Calculation issue: R2A%Variable.1%LO is present, but AVAL and/or A%Variable.1%LO is not present
AD0133B If R2AyLO is populated, the values necessary for its calculation must both be present and populated. R2AyLO = AVAL / AyLO. Once this issue is resolved, there is greater potential for AD0133 to fire. Condition Calculation issue: R2A%Variable.1%LO is populated, but AVAL and/or A%Variable.1%LO are not populated
AD0133C When Analysis Range Low (AyLO) equals 0, the Ratio to Analysis Range Low (R2AyLO) should not be populated since you cannot divide by 0. AD0133 checks the calculation is correct when AyLO does not equal 0. Condition Calculation issue: A%Variable.1%LO = 0, but R2A%Variable.1%LO is populated
AD0134 When all 3 variables are populated and AyHI does not equal 0, Ratio to AyHI (R2AyHI) must equal Analysis Value (AVAL) / Analysis Range y HI Value (AyHI). Condition Calculation issue: R2A%Variable.1%HI != AVAL / A%Variable.1%HI
AD0134A R2AyHI = AVAL / AyHI. Therefore, if R2AyHI is present, both AVAL and AyHI must be present for calculation consistency. Find Calculation issue: R2A%Variable.1%HI is present, but AVAL and/or A%Variable.1%HI is not present
AD0134B If R2AyHI is populated, the values necessary for its calculation must both be present and populated. R2AyHI = AVAL / AyHI. Once this issue is resolved, there is greater potential for AD0134 to fire. Condition Calculation issue: R2A%Variable.1%HI is populated, but AVAL and/or A%Variable.1%HI are not populated
AD0134C When Analysis Range High (AyHI) = 0, the Ratio to Analysis Range High (R2AyHI) should not be populated since you cannot divide by 0. AD0134 checks the calculation is correct when AyLO != '0'. Condition Calculation issue: A%Variable.1%HI = 0, but R2A%Variable.1%HI is populated
AD0135B Within a study, all SHIFTy values must be the same for each unique value of SHIFTyN when PARAMCD, SHIFTy, and SHIFTyN variables are populated. Unique Inconsistent value for SHIFT%Variable.1%
AD0136B Within a study, all SHIFTyN values must be the same for each unique value of SHIFTy when PARAMCD, SHIFTy, and SHIFTyN variables are populated. Unique Inconsistent value for SHIFT%Variable.1%N
AD0137 When CRITyFL (Analysis Criterion Flag) is populated, it's corresponding parent Analysis Criterion y must be populated. Condition CRITyFL is populated, but CRITy is not populated
AD0141 Within a study, All PARAM values must be the same for each unique value of PARAMCD when both PARAMCD and PARAM are populated. Unique Inconsistent value for PARAM within a unique PARAMCD
AD0142 Within a study, All PARAMCD values must be the same for each unique value of PARAM when both PARAMCD and PARAM are populated. Unique Inconsistent value for PARAMCD within a unique PARAM
AD0143 PARAMCD value must be a max of 8 characters, start with a letter A-Z or underscore, and not contain anything other than letters, numbers, or underscore (_). Regex Illegal PARAMCD value
AD0146B Within a study, all PARAM values must be the same for each unique value of PARAMN when both variables PARAM and PARAMN are populated. Unique Inconsistent value for PARAM
AD0147B Within a study, all PARAMN values must be the same for each unique value of PARAM when both variables PARAM and PARAMN are populated. Unique Inconsistent value for PARAMN
AD0149B Within a study and a given value of PARAMCD when both AVAL and AVALC are populated, then all AVALC values must be the same for each unique value of AVAL creating a one-to-one mapping. Considering only those rows on which both variables are populated. Unique Inconsistent value for AVALC
AD0150 Within a study and a given value of PARAMCD when both AVAL and AVALC are populated, then all AVAL values must be the same for each unique value of AVALC creating a one-to-one mapping. Unique Inconsistent value for AVAL
AD0151 Within a study, all CRITy values must be the same for each unique value of PARAMCD when PARAMCD and CRITy are populated. Example: PARAMCD = SYSBP (mm Hg), CRIT1 = SYSBP >160. Unique Inconsistent value for CRIT%Variable.1% within a unique PARAMCD
AD0152 If the record is flagged as the baseline (ABLFL = Y), then the baseline Value (BASE) must equal the Analysis Value (AVAL). Condition ABLFL = Y, but BASE != AVAL
AD0156 If Criterion y Flag (CRITyFL) variable is present, there must also be a corresponding Criterion y (CRITy) variable. Find CRITyFL is present, but CRITy is not present
AD0157 If Criterion y (CRITy) variable is present, there must also be a corresponding Criterion y Flag (CRITyFL) variable. Find CRITy is present, but CRITyFL is not present
AD0159 If AWTDIFF (Analysis Window Diff from Target) is populated AWTARGET (Analysis Window Target) must be populated. AWTDIFF = Absolute value of (ADY or ARELTM) - AWTARGET. Note: A future rule should validate that the calculation is correct. Rule enhanced by Pinnacle 21 to include ADY and ARELTM. If only AWTDIFF is present and populated, this rule will fire even if some or all other variables are not present. This may fire simultaneously with AD0158. Condition Calculation issue: AWTDIFF is populated, but AWTARGET and/or one of [ADY, ARELTM] are not both present and populated
AD0160 If Analysis Window Unit (AWU) variable is present, then Analysis Window Beginning Timepoint (AWLO) and (Analysis Window Ending Timepoint) AWHI variables must be present. Find AWU is present, but both AWLO and AWHI are not present
AD0163 If Baseline Toxicity Grade (BTOXGR) variable is present, then Analysis Toxicity Grade (ATOXGR) and Baseline Record Flag (ABLFL) variables must be present. Find BTOXGR is present, but ATOXGR is not present
AD0164 If Baseline Toxicity Grade (BTOXGR) variable is present, then Analysis Toxicity Grade (ATOXGR) and Baseline Record Flag (ABLFL) variables must be present. Find BTOXGR is present, but ABLFL is not present
AD0165 If the record is flagged as the baseline (ABLFL = Y), then the baseline toxicity grade (BTOXGR) value must equal the analysis toxicity grade (ATOXGR) value. Condition ABLFL = Y, but BTOXGR != ATOXGR
AD0166 If Baseline Reference Range Indicator (BNRIND) variable is present, then Analysis Reference Range Indicator (ANRIND) and Baseline Record Flag (ABLFL) variables must be present. Find BNRIND is present, but ANRIND is not present
AD0167 If Baseline Reference Range Indicator (BNRIND) variable is present, then Analysis Reference Range Indicator (ANRIND) and Baseline Record Flag (ABLFL) variables must be present. Find BNRIND is present, but ABLFL is not present
AD0168 If the record is flagged as the baseline (ABLFL = Y), then the baseline normal range indicator (BNRIND) value must equal the analysis normal range indicator (ANRIND) value. Condition ABLFL = Y, but BNRIND != ANRIND
AD0169 Censor (CNSR) value must be an integer. Defines whether the event was censored (period of observation truncated prior to event being observed). It is strongly recommended to use 0 as an event indicator and positive integers as censoring indicators. It is also recommended that unique positive integers be used to indicate coded descriptions of censoring reasons. CNSR is required for time-to-event parameters. Regex CNSR is not an integer >= 0
AD0176 Analysis Baseline Flag character (ABLFL) must be Y or null. For parameter-level and record-level character population flag variables: Y = yes (included). Null values are allowed. Match ABLFL value is not Y or null
AD0178 A variable of form ANLzzFL (analysis record flag) must be Y or null. Match ANL%Variable.1%FL value is not Y or null
AD0196 Unlike SDTM, only some of ADaM Required variables (where Core attribute is 'Req') must be populated. CDISC ADaM rules affirm that PARAM and PARAMCD must be populated, while others are populated as appropriate. Known Exceptions: TRTP, TRTxxP, AGE, AGEU, RACE, SUBJID, AESER. Required Required %Variable% value is null
AD0198 At least one Analysis Value (numeric or character) variable must be present in BDS datasets. Find Neither AVAL nor AVALC are present in dataset
AD0201 If Actual Pooled Treatment y (TRTAGyN) numeric variable is present, there must be a corresponding Planned Pooled Treatment y (TRTPGy) character variable. Find TRTAGyN is present, but TRTAGy is not present
AD0211 ABLFN (Analysis Baseline Flag Numeric) must be 1 or null. For Parameter-Level and Record-Level Numeric Population Flag variables: 1 = yes (included). Null values are allowed. Match ABLFN value is not 1 or null
AD0212 ANLzzFN (Analyzed Record Flag zz Numeric) must be 1 or null. For Parameter-Level and Record-Level Numeric Population Flag variables: 1 = yes (included). Null values are allowed. Match ANL%Variable.1%FN value is not 1 or null
AD0221 Within a study, all Category y (*CATy) variable values must be the same for each unique value of the variable it categorizes within a PARAMCD. [AVAL:AVALCATy], [AVALC:AVALCATy], [BASE:BASECATy], [BASEC:BASECATy], [CHG:CHGCATy], [PCHG:PCHGCATy]. A Category may be the same across values. Unique Inconsistent value for %Variable.1%CAT%Variable.2%
AD0223 When all 3 variables are populated, Change from Baseline (CHG) must equal Analysis Value (AVAL) minus Baseline Value (BASE). Condition Calculation issue: CHG != AVAL - BASE
AD0225 When all 3 variables are populated and base <> 0, Percent Change from Baseline (PCHG) must equal the difference of Analysis Value (AVAL) minus Baseline Value (BASE) divided by the Baseline Value (BASE), expressed as a percentage. AD0225A will raise errors when BASE = 0. AD0132B also complements this check. Condition Calculation issue: PCHG != (AVAL - BASE)/BASE * 100
AD0225A When Baseline (BASE) equals 0, the Percent Change from Baseline (PCHG) should not be populated since you cannot divide by 0. AD0225 checks the PCHG calculation is correct when BASE does not equal 0. AD0132B also complements this rule. Condition Calculation issue: BASE = 0, but PCHG is populated
AD0237B Within a study, all Planned Pooled Treatment y (TRTPGy) variable values must be the same for each unique value of Planned Pooled Treatment y (N) (TRTPGyN) variable when both variables are populated. Analogous rule for AD0240. Unique Inconsistent value for TRTPG%Variable.1%
AD0238B Within a study, all Planned Pooled Treatment y (N) (TRTPGyN) variable values must be the same for each unique value of Planned Pooled Treatment y (TRTPGy) variable when both variables are populated. Analogous rule for AD0241. Unique Inconsistent value for TRTPG%Variable.1%N
AD0239 If both actual treatment (TRTA) and Planned Pooled Treatment y (TRTPGy) are present, then Actual Pooled Treatment y (TRTAGy) variable must be present. Find TRTPGy and TRTA are present, but TRTAGy is not present
AD0240B Within a study, all Actual Pooled Treatment y (TRTAGy) variable values must be the same for each unique value of Actual Pooled Treatment y (N) (TRTAGyN) variable when both variables are populated. Analogous rule for AD0237. Unique Inconsistent value for TRTAG%Variable.1%
AD0241B Within a study, all Actual Pooled Treatment y (N) (TRTAGyN) variable values must be the same for each unique value of Actual Pooled Treatment y (TRTAGy) variable when both variables are populated. Analogous rule for AD0238. Unique Inconsistent value for TRTAG%Variable.1%N
AD0245 When Censor (CNSR) variable is present, the Time-to-Event Origin Date for Subject (STARTDT) and one of Analysis Date (ADT) or Analysis Datetime (ADTM) variables must be included in the dataset. In Time to Event studies, the basis of analysis is the time from a defined starting point to the time of occurrence of the event of interest. Find CNSR is present, but STARTDT is not present
AD0246 When Censor (CNSR) variable is present, the Time-to-Event Origin Date for Subject (STARTDT) and one of Analysis Date (ADT) or Analysis Datetime (ADTM) variables must be included in the dataset. In Time to Event studies, the basis of analysis is the time from a defined starting point to the time of occurrence of the event of interest. Find CNSR is present, but both ADT and ADTM are not present
AD0247 When an event is censored, 3 other variables must be populated. Censor (CNSR) variable qualifies the Analysis Value (AVAL) variable. ADT and ADTM variables are the Analysis Date and Time of event or censoring associated with AVAL. Origin Date for Subject (STARTDT) variable is the original date of risk for the time-to-event analysis. This is generally the time at which a subject is first at risk for the event of interest evaluation. Condition CNSR is populated, but AVAL, STARTDT, and one of [ADT, ADTM] are not populated
AD0250 In Time to Event studies, Event or Censoring Description (EVNTDESC) variable is the description of the event of interest or an event that warrants censoring. Therefore, Censor (CNSR) variable should be present. Censor Date Description (CNSDTDSC) variable describes the circumstance represented by the censoring date if different from the event date that warrants censoring. If present, CNSR must be present. Note that adding CNSDTDSC provides additional information when there is a difference between the event date that warrants censoring and the actual date of censoring. If the event that warrants censoring is the same as the onset date of the event that represents the censoring date, then the CNSDTDSC column is not needed in the analysis dataset. Find EVNTDESC and/or CNSDTDSC is present, but CNSR is not present
AD0251 In Time to Event studies, Censor Date Description (CNSDTDSC) variable describes the circumstance represented by the censoring date if different from the event date that warrants censoring. If present, Censor (CNSR) variable must be present. Note that adding CNSDTDSC provides additional information when there is a difference between the event date that warrants censoring and the actual date of censoring. If the event that warrants censoring is the same as the onset date of the event that represents the censoring date, then the CNSDTDSC column is not needed in the analysis dataset. Find CNSDTDSC is present, but CNSR is not present
AD0252 Variables described in ADaM IG as inappropriate for usage must be not included in the dataset. i.e., for ADAE, there is no need for AVAL, AVALC and Parameter variables. Find Variable present in dataset is prohibited for use in ADaM
AD0256 All subjects included into ADaM datasets should be present in ADSL dataset and use the same Unique Subject Identifier (USUBJID). Lookup USUBJID value does not exist in the ADaM ADSL domain
AD0269 A Treatment Flag variable must have a value that is Y or null. Examples of such Flags variables in ADaM-IG 1.2 are Treatment Emergent Analysis Flag (TRTEMFL), Pre-treatment Flag (PREFL), On Treatment Record Flag (ONTRTFL), Follow-up Flag (FUPFL), and Last Value On Treatment Record Flag (LVOTFL). Match %Variable% flag value is not Y or null
AD0322 Within a given value of Planned Treatment (TRTP) variable, there can only be one unique value of Planned Pooled Treatment y (TRTPGy) variable. Unique Inconsistent value for TRTPGy within a given TRTP
AD0323 Within a Study, all Phase (N) (APHASEN) variable values must be the same for each unique value of Phase (APHASE) variable when the primary variable APHASE is populated. Unique Inconsistent value for APHASEN
AD0324 Within a Study, all Phase(APHASE) variable values must be the same for each unique value of Phase (N) (APHASEN) variable when the primary variable APHASEN is populated. Unique Inconsistent value for APHASE
AD0325 Within a Study and a Period, all Subperiod within Period (ASPER) variable values must be the same for each unique value of Subperiod within Period (C) (ASPERC) variable when the primary variable ASPERC is populated. Unique Inconsistent value for ASPER
AD0326 Within a Study and a Period, all Subperiod within Period (C) (ASPERC) variable values must be the same for each unique value of Subperiod within Period (ASPER) variable when the primary variable ASPER is populated. Unique Inconsistent value for ASPERC
AD0327 Within a Study and a Parameter, all Analysis Value Category y (AVALCATy) variable values must be the same for each unique value of Analysis Value Category y (N) (AVALCAyN) variable when the primary variable AVALCAy is populated. Unique Inconsistent value for AVALCAT%Variable.1%
AD0328 Within a Study and a Parameter, all Analysis Value Category y (N) (AVALCAyN) variable values must be the same for each unique value of Analysis Value Category y (AVALCATy) variable when the primary variable AVALCATy is populated. Unique Inconsistent value for AVALCA%Variable.1%N
AD0329 Within a Study and a Parameter, all Baseline Category y (BASECATy) variable values must be the same for each unique value of Baseline Category y (N) (BASECAyN) variable when the primary variable BASECATy is populated. Unique Inconsistent value for BASECAT%Variable.1%
AD0330 Within a Study and a Parameter, all Baseline Category y (N) (BASECAyN) variable values must be the same for each unique value of Baseline Category y (BASECATy) variable when the primary variable BASECATy is populated. Unique Inconsistent value for BASECA%Variable.1%N
AD0331 Within a Study and a Parameter, all Change from Baseline Category y (CHGCATy) variable values must be the same for each unique value of Change from Baseline Category y (N) (CHGCATyN) variable when variable CHGCATyN is populated. Unique Inconsistent value for CHGCAT%Variable.1%
AD0332 Within a Study and a Parameter, all Change from Baseline Category y (N) (CHGCATyN) variable values must be the same for each unique value of Change from Baseline Category y (CHGCATy) variable when the primary variable CHGCATy is populated. Unique Inconsistent value for CHGCAT%Variable.1%N
AD0333 Within a Study and a Parameter, all Percent Chg from Baseline Category y (PCHGCATy) variable values must be the same for each unique value of Percent Chg from Baseline Category y (N) (PCHGCAyN) variable when variable PCHGCAyN is populated. Unique Inconsistent value for PCHGCAT%Variable.1%
AD0334 Within a Study and a Parameter, all Percent Chg from Baseline Category y (N) (PCHGCAyN) variable values must be the same for each unique value of Percent Chg from Baseline Category y (PCHGCATy) when the primary variable PCHGCATy is populated. Unique Inconsistent value for PCHGCA%Variable.1%N
AD0337 If Multi-Response Criterion y Evaluation (MCRITyML) flag variable is present, there must also be a corresponding Analysis Multi-Response Criterion y (MCRITy) variable. Find MCRIT%Variable.1% variable is not present when MCRIT%Variable.1%ML is present
AD0338 If Analysis Multi-Response Criterion y (MCRITy) variable is present, there must also be a corresponding Multi-Response Criterion y Evaluation (MCRITyML) flag variable. Find MCRIT%Variable.1%ML is not present when MCRIT%Variable.1% is present
AD0339 When Multi-Response Criterion y Evaluation (MCRITyML) variable value is populated, then its corresponding Analysis Multi-Response Criterion y (MCRITy) variable must be also populated. Condition MCRIT%Variable.1% is not populated when MCRIT%Variable.1%ML is populated
AD0340 Within a Study and a Parameter, all Multi-Response Criterion y Evaluation (MCRITyML) variable values must be the same for each unique value of Multi-Response Criterion y Eval (N) (MCRITyMN) variable when variable MCRITyMN is populated. Unique Inconsistent value for MCRIT%Variable.1%ML
AD0341 Within a Study and a Parameter, all Multi-Response Criterion y Eval (N) (MCRITyMN) variable values must be the same for each unique value of Multi-Response Criterion y Evaluation (MCRITyML) variable when the primary variable MCRITyML is populated. Unique Inconsistent value for MCRIT%Variable.1%MN
AD0342 Within a Study and a Parameter, all Analysis Normal Range Lower Limit (ANRLO) variable values must be the same for each unique value of Analysis Normal Range Lower Limit (C) (ANRLOC) variable when variable ANRLOC is populated. Unique Inconsistent value for ANRLO
AD0343 Within a Study and a Parameter, all Analysis Normal Range Lower Limit (C) (ANRLOC) variable values must be the same for each unique value of Analysis Normal Range Lower Limit (ANRLO) variable when variable ANRLO is populated. Unique Inconsistent value for ANRLOC
AD0344 Within a Study and a Parameter, all Analysis Normal Range Upper Limit (ANRHI) variable values must be the same for each unique value of Analysis Normal Range Upper Limit (C) (ANRHIC) variable when variable ANRHIC is populated. Unique Inconsistent value for ANRHI
AD0345 Within a Study and a Parameter, all Analysis Normal Range Upper Limit (C) (ANRHIC) variable values must be the same for each unique value of Analysis Normal Range Upper Limit (ANRHI) when variable ANRHI is populated. Unique Inconsistent value for ANRHIC
AD0346 If Ratio to Analysis Range y Lower Limit (R2AyLO) flag variable is present, there must also be a corresponding Analysis Range y Lower Limit (AyLO) variable. Find A%Variable.1%LO variable is not present when R2A%Variable.1%LO is present
AD0347 Within a Study and a Parameter, all Analysis Range y Lower Limit( AyLO) variable values must be the same for each unique value of Analysis Range y Lower Limit (C) (AyLOC) variable when variable AyLOC is populated. Unique Inconsistent value for A%Variable.1%LO
AD0348 Within a Study and a Parameter, all Analysis Range y Lower Limit (C) (AyLOC) variable values must be the same for each unique value of Analysis Range y Lower Limit (AyLO) variable when variable AyLO is populated. Unique Inconsistent value for A%Variable.1%LOC
AD0349 If Ratio to Analysis Range y Upper Limit (R2AyHI) variable is present, there must also be a corresponding Analysis Range y Upper Limit (AyHI) variable. Find A%Variable.1%HI variable is not present when R2A%Variable.1%HI is present
AD0350 Within a Study and a Parameter, all Analysis Range y Upper Limit (AyHI) variable values must be the same for each unique value of Analysis Range y Upper Limit (C) (AyHIC) variable when variable AyHIC is populated. Unique Inconsistent value for A%Variable.1%HI
AD0351 Within a Study and a Parameter, all Analysis Range y Upper Limit (C) (AyHIC) variable values must be the same for each unique value of Analysis Range y Upper Limit (AyHI) variable when variable AyHI is populated. Unique Inconsistent value for A%Variable.1%HIC
AD0352 Analysis Range y Indicator (AyIND) variable indicates the relationship of Analysis Value (AVAL) to the analysis range variables Analysis Range y Lower Limit (AyLO) and/or Analysis Range y Upper Limit (AyHI), or the relationship of Analysis Value (C) (AVALC) variable to the analysis range variables Analysis Range y Lower Limit (C) (AyLOC) and/or Analysis Range y Upper Limit (C) AyHIC. At least one of AyLO, AyHI, AyLOC, and AyHIC is expected to be present for use of AyIND variable. Find None of A%Variable.1%LO, A%Variable.1%HI, A%Variable.1%LOC, or A%Variable.1%HIC variables is present when A%Variable.1%IND is present
AD0353 If the record is flagged as the Analysis Baseline (ABLFL = Y), then the value of Baseline Analysis Range y Indicator (ByIND) variable must equal the value of Analysis Range y Indicator (AyIND) variable. Condition B%Variable.1%IND != A%Variable.1%IND when ABLFL = Y
AD0361 The value of Analysis Start Date (ASTDT) variable must be less or equal to Analysis End Date (AENDT) variable value. Condition Value of ASTDT is greater than value of AENDT
AD0362 The value of Analysis Start Datetime (ASTDTM) variable must be less or equal to Analysis End Datetime (AENDTM) variable value. Condition Value of ASTDTM is greater than value of AENDTM
AD0369 If a Date variable is indicated to be imputated by population of an Imputation Flag (*DTF), that Date variable (*DT) or Datetime variable (*DTM) must have a value. Condition %Variable.1%DTF is populated, but %Variable.1%DT or %Variable.1%DTM is not populated
AD0370 If a Time variable is indicated to be imputated by population of an Imputation Flag (*TMF), that Time variable (*TM) or Datetime variable (*DTM) must have a value. Condition %Variable.1%TMF is populated, but %Variable.1%TM or %Variable.1%DTM is not populated
AD0376 In a pair of corresponding character and numeric variables, the secondary variable must be populated if its primary variable is populated. Exceptions: *DTC, *FN, TRTPN, TRT01PN, PARAMN, AVALC, BASEC. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Primary variable %Variable.1% is populated, but its secondary variable %Variable% is not populated
AD0381 Within a parameter, there should be only a single value of a primary variable (*) for a given value of secondary variable (*N), considering only those rows on which both variables are populated. Covers variable pairs: BTOXGR/BTOXGRN, BTOXGRL/BTOXGRLN, BTOXGRH/BTOXGRHN, ATOXGRL/ATOXGRLN, ATOXGRH/ATOXGRHN. Unique Inconsistent value for %Variable% within a unique PARAMCD
AD0382 Within a parameter, there should be only a single value of Baseline Toxicity Grade (N) (BTOXGRN) variable for a given value of Baseline Toxicity Grade (BTOXGR) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BTOXGRN within a unique PARAMCD
AD0384 Within a parameter, there should be only a single value of Baseline Toxicity Grade Low (N) (BTOXGRLN) variable for a given value of Baseline Toxicity Grade Low (BTOXGRL) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BTOXGRLN within a unique PARAMCD
AD0388 Within a parameter, there should be only a single value of Baseline Toxicity Grade High (N) (BTOXGRHN) variable for a given value of Baseline Toxicity Grade High (BTOXGRH) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BTOXGRHN within a unique PARAMCD
AD0396 Within a parameter, there should be only a single value of ATOXGRLN for a given value of ATOXGRL, considering only those rows on which both variables are populated. Unique Inconsistent value for ATOXGRLN within a unique PARAMCD
AD0400 Within a parameter, there should be only a single value of Analysis Toxicity Grade Low (N) (ATOXGRHN) variable for a given value of Analysis Toxicity Grade Low (ATOXGRH) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for ATOXGRHN within a unique PARAMCD
AD0401 On a given record, if Analysis Toxicity Description Low (ATOXDSCL) variable value is populated, then both Analysis Value (AVAL) and the Analysis Toxicity Grade Low (ATOXGRL) variable values must be populated. Condition AVAL is not populated or ATOXGRL is not populated, and ATOXDSCL is populated
AD0402 On a given record, if Analysis Toxicity Description High (ATOXDSCH) variable value is populated, then both Analysis Value (AVAL) and the Analysis Toxicity Grade High (ATOXGRH) variable values must be populated. Condition AVAL is not populated or ATOXGRH is not populated, and ATOXDSCH is populated
AD0403 Within a subject, there should be only a single value of Analysis Toxicity Description Low (ATOXDSCL) variable for a given value of Parameter Code (PARAMCD) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for ATOXDSCL within a subject and parameter
AD0405 Within a subject, there should be only a single value of Analysis Toxicity Description High (ATOXDSCH) variable for a given value of Parameter Code (PARAMCD) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for ATOXDSCH within a subject and parameter
AD0450 On a given record, if Multi-Response Criterion y Evaluation (MCRITyML) variable value is populated, then Multi-Response Criterion y Eval (N) (MCRITyMN) variable value must also be populated. Condition MCRITyML is populated, but MCRITyMN is not populated
AD0451 On a given record, if Multi-Response Criterion y Eval (N) (MCRITyMN) variable value is populated, then Multi-Response Criterion y Evaluation (MCRITyML) variable value must also be populated. Condition MCRITyMN is populated, but MCRITyML is not populated
AD0482 In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be populated if its secondary variable describing it is populated. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Primary variable BCHGCATy is populated, but its secondary variable BCHGCAyN is not populated
AD0483 In a pair of corresponding character and numeric variables, the secondary variable must be populated if its primary variable is populated. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Secondary variable BCHGCAyN is populated, but its primary variable BCHGCATy is not populated
AD0484 In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be populated if its secondary variable describing it is populated. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Primary variable PBCHGCAy is populated, but its secondary variable PBCHGCyN is not populated
AD0485 In a pair of corresponding character and numeric variables, the secondary variable must be populated if its primary variable is populated. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Secondary variable PBCHGCyN is populated, but its primary variable PBCHGCAy is not populated
AD0492 If Shift $y (SHIFTy) variable is present, the variable pair it is describing should also be present. Pairs include (BASECATy/ AVALCATy), (BNRIND/ANRIND), (ByIND/AyIND), (BTOXGR/ATOXGR), (BTOXGRL/ATOXGRL), (BTOXGRH/ATOXGRH), (BASE/AVAL) and (BASEC/AVALC). Find SHIFTy is present and all of the following variable pairs (BASECATy, AVALCATy), (BNRIND, ANRIND), (ByIND, AyIND), (BTOXGR, ATOXGR), (BTOXGRL, ATOXGRL), (BTOXGRH, ATOXGRH), (BASE, AVAL) and (BASEC, AVALC) are not present
AD0499 If Subperiod within Period (ASPER) variable is used in a dataset, Period (APERIOD) variable must also be present in that dataset. Find ASPER is present and APERIOD is not present
AD0501 On a given record, if Subperiod within Period (ASPER) variable is populated, then Period (APERIOD) variable must be populated. Condition ASPER is populated and APERIOD is not populated
AD0543 If Analysis Value Category y (N) (AVALCAyN) variable is used in a dataset, Analysis Value Category y (AVALCATy) variable must also be present in that dataset. Find AVALCAyN is present and AVALCATy is not present
AD0544 If Baseline Category y (N) (BASECAyN) variable is used in a dataset, Baseline Category y (BASECATy) variable must also be present in that dataset. Find BASECAyN is present and BASECATy is not present
AD0545 If Change from Baseline Category y (N) (CHGCATyN) variable is used in a dataset, Change from Baseline Category y (CHGCATy) variable must also be present in that dataset. Find CHGCATyN is present and CHGCATy is not present
AD0546 If Percent Chg from Baseline Category y (N) (PCHGCAyN) variable is used in a dataset, Percent Chg from Baseline Category y (PCHGCATy) variable must also be present in that dataset. Find PCHGCAyN is present and PCHGCATy is not present
AD0552 If Multi-Response Criterion y Eval (N) (MCRITyMN) variable is used in a dataset, Multi-Response Criterion y Evaluation (MCRITyML) variable must also be present in that dataset. Find MCRITyMN is present and MCRITyML is not present
AD0565 If Change to Baseline Category y (N) (BCHGCAyN) variable is used in a dataset, Change to Baseline Category y (BCHGCATy) variable must also be present in that dataset. Find BCHGCAyN is present and BCHGCATy is not present
AD0566 If Percent Change to Baseline Category y (N) (PBCHGCyN) variable is used in a dataset, Percent Change to Baseline Category y (PBCHGCAy) variable must also be present in that dataset. Find PBCHGCyN is present and PBCHGCAy is not present
AD0582 When all 3 variables are populated, Change to Baseline (BCHG) must equal Baseline Value (BASE) minus Analysis Value (AVAL). Condition Calculation issue: BCHG != BASE - AVAL
AD0584 Within a parameter, there should be only a single value of Change to Baseline Category y (BCHGCATy) variable for a given value of Change to Baseline Category y (N) (BCHGCAyN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BCHGCATy within a unique PARAMCD
AD0585 Within a parameter, there should be only a single value of Change to Baseline Category y (N) (BCHGCAyN) variable for a given value of Change to Baseline Category y (BCHGCATy) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for BCHGCAyN within a unique PARAMCD
AD0586 When all 3 variables are populated and base &lt;&gt; 0, Percent Change to Baseline (PBCHG) must equal the difference of Baseline Value (BASE) minus Analysis Value (AVAL) divided by the analysis value (AVAL), expressed as a percentage. Condition Calculation issue: PBCHG != (BASE - AVAL)/AVAL * 100
AD0588 Within a parameter, there should be only a single value of Percent Change to Baseline Category y (PBCHGCAy) variable for a given value of Percent Change to Baseline Category y (N) (PBCHGCyN) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for PBCHGCAy within a unique PARAMCD
AD0589 Within a parameter, there should be only a single value of Percent Change to Baseline Category y (N) (PBCHGCyN) variable for a given value of Percent Change to Baseline Category y (PBCHGCAy) variable, considering only those rows on which both variables are populated. Unique Inconsistent value for PBCHGCyN within a unique PARAMCD
AD0605 When analysis Phase (APHASE) variable is defined, the Phase Start Date (PHSDT) variable value must equal ADSL Phase w Start Date (PHwSDT) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSDT != ADSL.PHwSDT
AD0607 When analysis Phase (APHASE) variable is defined, the analysis Phase Start Time (PHSTM) variable value must equal ADSL Phase w Start Time (PHwSTM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSTM != ADSL.PHwSTM
AD0609 When analysis Phase (APHASE) variable is defined, the analysis Phase Start Datetime (PHSDTM) variable value must equal ADSL Phase w Start Datetime (PHwSDTM) for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSDTM != ADSL.PHwSDTM
AD0611 When analysis Phase (APHASE) is defined, the Phase End Date (PHEDT) variable value must equal ADSL Phase w End Date (PHwEDT) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHEDT != ADSL.PHwEDT
AD0613 When analysis Phase (APHASE) variable is defined, the Phase End Time (PHETM) variable value must equal ADSL Phase w End Time (PHwETM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHETM != ADSL.PHwETM
AD0615 When analysis Phase (APHASE) variable) is defined, the Phase End Datetime (PHEDTM) variable value must equal ADSL Phase w End Datetime (PHwEDTM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHEDTM != ADSL.PHwEDTM
AD0691 Within a given Subject's SPDEVID and PARAMCD, a baseline value is populated (either BASE or BASEC) and there is not at least one record in that group marked as the baseline (ABLFL = Y). Find BASE or BASEC is populated for a unique SPDEVID,USUBJID,PARAMCD but no baseline record exists
AD0693 Within a study, All BASE values must be the same for each unique value group of [SPDEVID,USUBJID,PARAMCD,BASEC] when PARAMCD, BASE and BASEC are populated (ADaM IG: There must be a one-to-one map between BASE and BASEC within a given PARAM if BOTH are populated). Unique Inconsistent value for BASE
AD0694 Within a study, All BASEC values must be the same for each unique value group of [SPDEVID,USUBJID,PARAMCD,BASE] when PARAMCD, BASE and BASEC are populated. (ADaM IG: There must be a one-to-one map between BASE and BASEC within a given PARAM if BOTH are populated). Unique Inconsistent value for BASEC
AD0696 For a set of [Sponsor Device Identifier (SPDEVID), Subject (USUBJID), Parameter (PARAMCD), baseline type (BASETYPE)] only one record can be the actual baseline value, marked by ABLFL = Y. Unique Multiple baseline records exist for a unique SPDEVID,USUBJID,PARAMCD,BASETYPE
AD1011 In a pair of corresponding character and numeric variables (* and *N or *C) the primary or most commonly used variable must be populated if its secondary variable describing it is populated. Exceptions: *DTC, *FN, TRTPN, TRT01PN, PARAMN, AVALC, BASEC, *LOC, and *HIC. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Secondary variable %Variable% is populated, but its primary variable %Variable.1% is not populated
AD1012A In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be present if its secondary version describing it (*N or *C) is present. This is a rule designed to look explicitly at variable pairs defined in the CDISC standard documents. A similar rule that checks custom *N or *C variables (with a few exceptions) is AD1012. This rule is expected to be added to CDISC ADaM Conformance Rules in the future. Find Secondary variable is present, but its primary variable is not present
AD1018 For Analysis Flag zz (ANLzzFL) and Analysis Flag zz (N) (ANLzzFN) variables, 'zz' is an index for the zzth record selection algorithm where 'zz' is must be in [01-99]. Similar to CDISC ADaM Validation Checks No. 299-303. Condition Illegal variable name: zz is not in [01-99] for ANLzzFL/FN
CT2001 Variable must be populated with terms from its CDISC controlled terminology codelist. New terms cannot be added into non-extensible codelists. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' non-extensible codelist
CT2002 Variable should be populated with terms from its CDISC controlled terminology codelist. New terms can be added as long as they are not duplicates, synonyms or subsets of existing standard terms. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' extensible codelist
CT2003 Paired variables such as TEST/TESTCD must be populated using terms with the same Codelist Code value in CDISC control terminology. There is one-to-one relationship between paired variable values defined in CDISC control terminology by Codelist Code value. Match %Variable% and %Variable.DecodedVariable% values do not have the same Code in CDISC CT
CT2004 Variable must be populated with terms from its CDISC controlled terminology codelist when its value level condition is met. New terms cannot be added into non-extensible codelists. Match %Variable% value not found in '%Variable.Config.@Clause.CodeList.Name%' non-extensible codelist when %Variable.Config.@Clause.Expression%
CT2005 Variable should be populated with terms from its CDISC controlled terminology codelist when its value level condition is met. New terms can be added as long as they are not duplicates, synonyms or subsets of existing standard terms. Match %Variable% value not found in '%Variable.Config.@Clause.CodeList.Name%' extensible codelist when %Variable.Config.@Clause.Expression%
CT2006 Paired variables such as TEST/TESTCD must be populated using terms with the same Codelist Code value in CDISC control terminology. There is one-to-one relationship between paired variable values defined in CDISC control terminology by Codelist Code value within the same value level condition. Match %Variable% and %Variable.DecodedVariable% values do not have the same Code in CDISC CT when %Variable.Config.@Clause.Expression%
SD0001 Domain table should have at least one record. Property No records in data source
SD0037 Variable values should be populated with terms found in the user-defined codelist associated with the variable in define.xml. Match Value for %Variable% not found in (%Variable.CodeList.Name%) user-defined codelist
SD0054 Variables listed in the data definition document (define.xml) should be included in the dataset. Find Variable in define.xml is not present in the dataset
SD0059 Variable DataType in define.xml must match variable Type in dataset. Define-XML data types of 'integer' and 'float' match dataset type of 'Num', all other match 'Char'. Condition Define.xml/dataset variable type mismatch
SD0060 Variables included in the dataset must be described in the data definition document (define.xml). Match Variable in dataset is not present in define.xml
SD0062 Domain table must have a valid format (e.g., SAS transport (XPORT) v.5 or text-delimited). Property Incompatible data source
SD1063 Datasets included in study data must be described in the data definition document (define.xml). Match Dataset is not present in define.xml
SD1071 Datasets greater than 5 gigabytes (GB) in size should be split into smaller datasets no larger than 5 GB. Property Dataset is greater than 5 GB in size
SD1082 Variable length should be assigned based on actual stored data to minimize file size. Datasets should be re-sized to the maximum length of actual data used prior to splitting. Varlength Variable length is too long for actual data
SD1228 Variable value must be populated with terms from user-defined value level codelist as specified in define.xml file. Match %Variable% value not found in user-defined codelist '%Variable.@Clause.CodeList.Name%' when %Variable.@Clause.Expression%
SD1229 Variable value must be populated when value level attribute Mandatory='Yes' as specified in define.xml file. Required %Variable% value is null when %Variable.@Clause.Expression%
SD1230 Value level datatype must match the datatype described in define.xml. Condition %Variable% datatype is not %Variable.@Clause.DataType% when %Variable.@Clause.Expression%
SD1231 Value level length must not exceed the length as specified define.xml. Condition %Variable% value is longer than defined max length %Variable.@Clause.Length% when %Variable.@Clause.Expression%
SD1324 Variable Label in define.xml must match variable Label in dataset. Match Define.xml/dataset variable label mismatch
SD1325 Dataset Description in define.xml must match dataset Description. Property Define.xml/dataset description mismatch

Medical Device Occurrence Data Structure

Dataset Structure
Variable Description Required Data Type Length
STUDYID Study Identifier yes text 200
SPDEVID Sponsor Device Identifier yes text 200
USUBJID Unique Subject Identifier text 200
SUBJID Subject Identifier for the Study text 200
SITEID Study Site Identifier text 200
*SEQ yes float 200
DETERM Reported Term for Device Event yes text 200
DEDECOD Device Events Dictionary-Derived Term yes text 200
--CAT Category text 200
--SCAT Subcategory text 200
ACAT# Analysis Category $1 text 200
--STDTC Start Date/Time of Observation datetime 200
ASTDT Analysis Start Date integer 200
ASTTM Analysis Start Time integer 200
ASTDTM Analysis Start Date/Time integer 200
ASTDTF Analysis Start Date Imputation Flag text 200
ASTTMF Analysis Start Time Imputation Flag text 200
--ENDTC End Date/Time of Observation datetime 200
AENDT Analysis End Date integer 200
AENTM Analysis End Time integer 200
AENDTM Analysis End Date/Time integer 200
AENDTF Analysis End Date Imputation Flag text 200
AENTMF Analysis End Time Imputation Flag text 200
ASTDY Analysis Start Relative Day integer 200
--STDY Study Day of Start of Observation integer 200
AENDY Analysis End Relative Day integer 200
--ENDY Study Day of End of Observation integer 200
ADURN Analysis Duration (N) float 200
ADURU Analysis Duration Units text 200
--DUR Duration of XX datetime 200
APERIOD Period float 200
APERIODC Period (C) text 200
APHASE Phase text 200
--OCCUR XX Occurrence text 200
--PRESP XX Pre-Specified text 200
ANL#FL Analysis Flag $1 text 200
TRTEMFL Treatment Emergent Analysis Flag text 200
AETRTEM Treatment Emergent Flag text 200
ONTRTFL On Treatment Record Flag text 200
PREFL Pre-treatment Flag text 200
FUPFL Follow-up Flag text 200
AOCCFL 1st Occurrence within Subject Flag text 200
AOCCPFL 1st Occurrence of Preferred Term Flag text 200
AOCCIFL 1st Max Sev./Int. Occurrence Flag text 200
AOCCPIFL 1st Max Sev./Int. Occur Within PT Flag text 200
AOCC*FL text 200
AOCCSFL 1st Occurrence of SOC Flag text 200
AOCCSIFL 1st Max Sev./Int. Occur Within SOC Flag text 200
DOSEON Treatment Dose at Record Start float 200
DOSCUMA Cumulative Actual Treatment Dose float 200
DOSEU Treatment Dose Units text 200
ASEV Analysis Severity/Intensity text 200
ASEVN Analysis Severity/Intensity (N) integer 200
SEVGR# Pooled Severity Group $1 text 200
SEVGR#N Pooled Severity Group $1 (N) integer 200
SITEGR# Pooled Site Group $1 text 200
SITEGR#N Pooled Site Group $1 (N) integer 200
REGION# Geographic Region $1 text 200
REGION#N Geographic Region $1 (N) integer 200
AGE Age integer 200
AGEU Age Units text 200
AGEGR# Pooled Age Group $1 text 200
AGEGR#N Pooled Age Group $1 (N) integer 200
AAGE Analysis Age float 200
SEX Sex text 200
RACE Race text 200
RACEGR# Pooled Race Group $1 text 200
RACEGR#N Pooled Race Group $1 (N) integer 200
FASFL Full Analysis Set Population Flag text 200
FASFN Full Analysis Set Population Flag (N) integer 200
SAFFL Safety Population Flag text 200
SAFFN Safety Population Flag (N) integer 200
ITTFL Intent-To-Treat Population Flag text 200
ITTFN Intent-To-Treat Population Flag (N) integer 200
PPROTFL Per-Protocol Population Flag text 200
PPROTFN Per-Protocol Population Flag (N) integer 200
COMPLFL Completers Population Flag text 200
COMPLFN Completers Population Flag (N) integer 200
RANDFL Randomized Population Flag text 200
RANDFN Randomized Population Flag (N) integer 200
ENRLFL Enrolled Population Flag text 200
ENRLFN Enrolled Population Flag (N) integer 200
ARM Description of Planned Arm text 200
ACTARM Description of Actual Arm text 200
*FL text 200
TRT#P Planned Treatment for Period $1 text 200
TRT#PN Planned Treatment for Period $1 (N) integer 200
TRT#A Actual Treatment for Period $1 text 200
TRT#AN Actual Treatment for Period $1 (N) integer 200
TRTSEQP Planned Sequence of Treatments text 200
TRTSEQPN Planned Sequence of Treatments (N) integer 200
TRTSEQA Actual Sequence of Treatments text 200
TRTSEQAN Actual Sequence of Treatments (N) integer 200
TR#PG# Planned Pooled Treatment $2 for Period $1 text 200
TR#PG#N Planned Pooled Trt $2 for Period $1 (N) integer 200
TR#AG# Actual Pooled Treatment $2 for Period $1 text 200
TR#AG#N Actual Pooled Trt $2 for Period $1 (N) integer 200
TSEQPG# Planned Pooled Treatment Sequence $1 text 200
TSEQPG#N Planned Pooled Treatment Sequence $1 (N) integer 200
TSEQAG# Actual Pooled Treatment Sequence $1 text 200
TSEQAG#N Actual Pooled Treatment Sequence $1 (N) integer 200
DOSE#P Planned Treatment Dose for Period $1 float 200
DOSE#A Actual Treatment Dose for Period $1 float 200
DOSE#U Units for Dose for Period $1 text 200
TRTSDT Date of First Exposure to Treatment integer 200
TRTSTM Time of First Exposure to Treatment integer 200
TRTSDTM Datetime of First Exposure to Treatment integer 200
TRTSDTF Date of First Exposure Imput. Flag text 200
TRTSTMF Time of First Exposure Imput. Flag text 200
TRTEDT Date of Last Exposure to Treatment integer 200
TRTETM Time of Last Exposure to Treatment integer 200
TRTEDTM Datetime of Last Exposure to Treatment integer 200
TRTEDTF Date of Last Exposure Imput. Flag text 200
TRTETMF Time of Last Exposure Imput. Flag text 200
TR#SDT Date of First Exposure in Period $1 integer 200
TR#STM Time of First Exposure in Period $1 integer 200
TR#SDTM Datetime of First Exposure in Period $1 integer 200
TR#SDTF Date 1st Exposure Period $1 Imput. Flag text 200
TR#STMF Time 1st Exposure Period $1 Imput. Flag text 200
TR#EDT Date of Last Exposure in Period $1 integer 200
TR#ETM Time of Last Exposure in Period $1 integer 200
TR#EDTM Datetime of Last Exposure in Period $1 integer 200
TR#EDTF Date Last Exposure Period $1 Imput. Flag text 200
TR#ETMF Time Last Exposure Period $1 Imput. Flag text 200
AP#SDT Period $1 Start Date integer 200
AP#STM Period $1 Start Time integer 200
AP#SDTM Period $1 Start Datetime integer 200
AP#SDTF Period $1 Start Date Imput. Flag text 200
AP#STMF Period $1 Start Time Imput. Flag text 200
AP#EDT Period $1 End Date integer 200
AP#ETM Period $1 End Time integer 200
AP#EDTM Period $1 End Datetime integer 200
AP#EDTF Period $1 End Date Imput. Flag text 200
AP#ETMF Period $1 End Time Imput. Flag text 200
P#S# Description of Period $1 Subperiod $2 text 200
P#S#SDT Period $1 Subperiod $2 Start Date integer 200
P#S#STM Period $1 Subperiod $2 Start Time integer 200
P#S#SDM Period $1 Subperiod $2 Start Datetime integer 200
P#S#SDF Period $1 Subper $2 Start Date Imput Flag text 200
P#S#STF Period $1 Subper $2 Start Time Imput Flag text 200
P#S#EDT Period $1 Subperiod $2 End Date integer 200
P#S#ETM Period $1 Subperiod $2 End Time integer 200
P#S#EDM Period $1 Subperiod $2 End Datetime integer 200
P#S#EDF Period $1 Subper $2 End Date Imput Flag text 200
P#S#ETF Period $1 Subper $2 End Time Imput Flag text 200
APHASE# Description of Phase $1 text 200
PH#SDT Phase $1 Start Date integer 200
PH#STM Phase $1 Start Time integer 200
PH#SDTM Phase $1 Start Datetime integer 200
PH#SDTF Phase $1 Start Date Imputation Flag text 200
PH#STMF Phase $1 Start Time Imputation Flag text 200
PH#EDT Phase $1 End Date integer 200
PH#ETM Phase $1 End Time integer 200
PH#EDTM Phase $1 End Datetime integer 200
PH#EDTF Phase $1 End Date Imputation Flag text 200
PH#ETMF Phase $1 End Time Imputation Flag text 200
EOSSTT End of Study Status text 200
EOSDT End of Study Date integer 200
DCSREAS Reason for Discontinuation from Study text 200
DCSREASP Reason Spec for Discont from Study text 200
EOTSTT End of Treatment Status text 200
DCTREAS Reason for Discontinuation of Treatment text 200
DCTREASP Reason Specify for Discont of Treatment text 200
EOT#STT End of Treatment Status in Period $1 text 200
DCT#RS Reason for Discont of Treat in Period $1 text 200
DCT#RSP Reason Spec for Disc of Trt in Period $1 text 200
EOP#STT End of Period $1 Status text 200
DCP#RS Reason for Discont from Period $1 text 200
DCP#RSP Reason Spec for Discont from Period $1 text 200
RFICDT Date of Informed Consent integer 200
ENRLDT Date of Enrollment integer 200
RANDDT Date of Randomization integer 200
RFIC#DT Date of Informed Consent $1 integer 200
ENRL#DT Date of Enrollment $1 integer 200
RAND#DT Date of Randomization $1 integer 200
LSTALVDT Date Last Known Alive integer 200
TRCMP Treatment Compliance (%) float 200
TRCMPG# Treatment Compliance (%) Group $1 text 200
TRCMPG#N Treatment Compliance (%) Group $1 (N) integer 200
TR#DURD Treatment Duration in Period $1 (Days) integer 200
TR#DURM Treatment Duration in Period $1 (Months) integer 200
TR#DURY Treatment Duration in Period $1 (Years) integer 200
TRTDURD Total Treatment Duration (Days) integer 200
TRTDURM Total Treatment Duration (Months) integer 200
TRTDURY Total Treatment Duration (Years) integer 200
DTHDT Date of Death integer 200
DTHDTF Date of Death Imputation Flag text 200
DTHCAUS Cause of Death text 200
DTHCAUSN Cause of Death (N) integer 200
DTHCGR# Cause of Death Group $1 text 200
DTHCGR#N Cause of Death Group $1 (N) integer 200
AVAL Analysis Value integer 200
AVALC Analysis Value (C) text 200
PARAM Parameter text 200
PARAMCD Parameter Code text 200
PARAMN Parameter (N) integer 200
PARAMTYP Parameter Type text 200
PARCAT# Parameter Category $1 text 200
PARCAT#N Parameter Category $1 (N) integer 200
* text 200
*DTF text 200
*TMF text 200

 

Validation Rules
ID Description Validator Message
AD0005B A variable with a suffix of FL must have value that is Y, N or null (Exception 1: ABLFL, ANLzzFL. Exception 2: Population flags COMPLFL, FASFL, ITTFL, PPROTFL, SAFFL, RANDFL, ENRLFL cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FL value is not Y, N or null
AD0006B A variable with a suffix of FN has a value that is not 0, 1, or null (Exception: ABLFN, ANLzzFN, and numeric population flags COMPLFN, FASFN, ITTFN, PPROTFN, SAFFN, RANDFN, ENRLFN cannot be null and at least 1 must be included in ADSL). Match %Variable.1%FN value is not 0, 1 or null
AD0007 If a Flag Numeric (*FN) variable is present, its corresponding Flag Character (*FL) variable must be present. Find Secondary variable *FN is present, but its primary variable *FL is not present
AD0010 When a Flag variable (FL) is Y, its corresponding Flag numeric variable (FN) must be 1. Condition %Variable.1%FL = Y and %Variable.1%FN != 1
AD0011 When a Flag variable (FL) is N, its corresponding Flag numeric variable (FN) must be 0. Condition %Variable.1%FL = N and %Variable.1%FN != 0
AD0012 When a numeric Flag variable (*FN) is populated, its corresponding character Flag variable (*FL) must be populated. Condition Secondary variable %Variable.1%FN is populated, but its primary variable %Variable.1%FL is not populated
AD0013 A variable must be a max of 8 characters, start with a letter A-Z and does not contain anything other than letters, numbers, underscore (_). Regex Illegal variable name: basic format is violated
AD0016 All ADaM variable labels must be no more than 40 characters in length. This should not be possible to fail with sas v5 xpt. Dataset-XML or .csv can fail this rule. Regex Variable label length is greater than 40 characters
AD0018 The variable label in the dataset should match the variable label described in ADaM. When creating a new variable, labels can be adjusted as appropriate. Currently, this rule runs if a variable has a label that is defined in the ADaM metadata. Condition Variable label mismatch between dataset and ADaM standard
AD0019 For subject-level character population flag variables: N = no (not included), Y = yes (included). Null values are not allowed. Required %Variable% subject-population flag value is null
AD0037B Within a study, all *GRyN values must be the same for each unique value of *GRy when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%N
AD0038B Within a study, all *GRy values must be the same for each unique value of *GRyN when the primary variable *GRy is populated. ADaM IG v1.1 p.15 general variable naming conventions #10: If any combining of the SDTM character categories is done, the name of the derived ADaM character grouping variable should end in GRy and the name of its numeric equivalent should end in GRyN where y is an integer from 1-9 representing a grouping scheme. CDISC created 3 new explicit rules for ADAE which were already covered by this general rule. Considering only those rows on which both variables are populated. Unique Inconsistent value for %Variable.1%GR%Variable.2%
AD0041 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DA, B8601DN , DATE, DAY, DDMMYY, DDMMYYB, DDMMYYC, DDMMYYD, DDMMYYN, DDMMYYP, DDMMYYS, DOWNAME, DTMONYY, E8601DA, JULDAY, JULIAN, MMDDYY, MMDDYYB, MMDDYYC, MMDDYYD, MMDDYYN, MMDDYYP, MMDDYYS, MMYY, MMYYB, MMYYC, MMYYD, MMYYN, MMYYP, MMYYS, MONNAME, MONTH, MONYY, PDJULG, PDJULI, QTR, QTRR, WEEKDATE, WEEKDATX, WEEKDAY, WEEKU, WEEKV, WEEKW, WORDDATE, WORDDATX, YEAR, YYMM, YYMMDD, YYMMDDB, YYMMDDC, YYMMDDD, YYMMDDN, YYMMDDP, YYMMDDS, YYMMB, YYMMC, YYMMD, YYMMN, YYMMP, YYMMS, YYMON, YYQ, YYQB, YYQC, YYQD, YYQN, YYQP, YYQS, YYQR, YYQRB, YYQRC, YYQRD, YYQRN, YYQRP, YYQRS, IS8601DA. Match *DT does not have the ADaM required SAS Date format
AD0041A *DT variables must have non-missing SAS Date Format. Required *DT variable has missing SAS Date Format
AD0042 The SAS format listed in the dataset must be valid. Here is a list of SAS Time formats utilized in the rule algorithm: B8601LZ, B8601TM, B8601TZ, E8601LZ, E8601TM, E8601TZ, HHMM, HOUR, MMSS, TIME, TIMEAMPM, IS8601TM, IS8601TZ, TOD. Match *TM does not have the ADaM required SAS time format
AD0042A *TM variables must have non-missing SAS Time Format. Required *TM variable has missing SAS Time Format
AD0043 The SAS format listed in the dataset must be valid. Here is a list of SAS Date formats utilized in the rule algorithm: B8601DT, B8601DZ, DATEAMPM, DATETIME, DTDATE, DTWKDATX, DTYEAR, DTYYQC, E8601DN, E8601DT, E8601DZ, MDYAMPM, TOD, IS8601DN, IS8601DT, IS8601DZ. Match *DTM does not have the ADaM required SAS Datetime format
AD0043A *DTM variables must have non-missing SAS Datetime Format. Required *DTM variable has missing SAS Datetime Format
AD0044 When both time and datetime variables are collected on the same record for the same observation, the Time portion of the datetime variable should be equal to the Time variable itself. Condition %Variable.1%TM and its corresponding %Variable.1%DTM variable have different time values
AD0045 When both date and datetime variables are collected on the same record for the same observation, the Date portion of the datetime variable should be equal to the Date variable itself. Condition %Variable.1%DT and its corresponding %Variable.1%DTM variable have different date values
AD0046 A variable with a suffix of DY (day) must not equal zero. Variables whose names end in DY are relative day variables. In ADaM as in the SDTM, there is no day 0. If there is a need to create a relative day variable that includes day 0, then its name must not end in DY. Regex %Variable.1%DY = 0
AD0047 Variables described in ADaM as Required must be included in the dataset. Find Required variable is not present
AD0058 The SAS TYPE for *DT variable must be equal Num. Match *DT is not a numeric variable
AD0059 The SAS TYPE for *TM variable must be equal Num. Match *TM is not a numeric variable
AD0060 The SAS TYPE for *DTM variable must be equal Num. Match *DTM is not a numeric variable
AD0102 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Planned Treatment for Period xx variable (like TRT01P) in ADSL dataset. Metadata There is no TRTxxP variable in ADSL for every unique xx value of APERIOD
AD0103 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Date of First Exposure in Period xx variable for this period (like TR01SDT) in ADSL dataset. Metadata There is no TRxxSDT variable in ADSL for every unique xx value of APERIOD
AD0104 The Analysis Period (APERIOD) values will be a number like 01. There must be a corresponding Date of Last Exposure in Period xx variable for this period (like TR01EDT) in ADSL dataset. Metadata There is no TRxxEDT variable in ADSL for every unique xx value of APERIOD
AD0105B Within a study, all APERIODC values must be the same for each unique value of APERIOD when the primary variable APERIOD is populated. Unique Inconsistent value for APERIODC
AD0106B Within a study, all APERIOD values must be the same for each unique value of APERIODC when the primary variable APERIOD is populated. Considering only those rows on which both variables are populated. Unique Inconsistent value for APERIOD
AD0121 Any variable ending in SDT (Start Date) must have a value less than or equal to its corresponding EDT (End Date) value (e.g., ADSL - TRTSDT, TR01SDT, AP01SDT; BDS - APERSDT). Condition %Variable.1%SDT is greater than %Variable.1%EDT
AD0122 Any variable ending in SDTM (Start Date Time) must have a value less than or equal to its corresponding EDTM (End Date Time) value (e.g., ADSL - TRTSDTM, TR01SDTM, AP01SDTM; BDS - APERSDTM). Condition %Variable.1%SDTM is greater than %Variable.1%EDTM
AD0178 A variable of form ANLzzFL (analysis record flag) must be Y or null. Match ANL%Variable.1%FL value is not Y or null
AD0252 Variables described in ADaM IG as inappropriate for usage must be not included in the dataset. i.e., for ADAE, there is no need for AVAL, AVALC and Parameter variables. Find Variable present in dataset is prohibited for use in ADaM
AD0256 All subjects included into ADaM datasets should be present in ADSL dataset and use the same Unique Subject Identifier (USUBJID). Lookup USUBJID value does not exist in the ADaM ADSL domain
AD0269 A Treatment Flag variable must have a value that is Y or null. Examples of such Flags variables in ADaM-IG 1.2 are Treatment Emergent Analysis Flag (TRTEMFL), Pre-treatment Flag (PREFL), On Treatment Record Flag (ONTRTFL), Follow-up Flag (FUPFL), and Last Value On Treatment Record Flag (LVOTFL). Match %Variable% flag value is not Y or null
AD0272 1st Occurrence * Flag (AOCC*FL) variable values must be Y or null. Match %Variable% flag value is not Y or null
AD0273 For additional Flag (AOCCzzFL) variables representing the 1st Occurrence of an analysis event or datapoint, zz must be nth flag variable (01 to 99). The main purpose of these flags is to facilitate data point traceability between records in the dataset and unique counts in the summary displays. In addition, if a Time to Event (TTE) Analysis dataset is built off of Adverse Events, the flags provide a crucial link between the summary records in the TTE BDS and the source of the records in ADAE. If the producer of the ADAE dataset has standard programs in place to summarize unique counts of events, then they may choose not to create these flags. Condition Illegal variable name: zz is not in [01-99] for AOCCzzFL
AD0279 Severity/Intensity (N) (AESEVN) and Analysis Severity/Intensity (N) (ASEVN) variables must have values in [1, 2, 3] when populated. AESEVN can be null. ASEVN cannot be null. Match %Variable% value != 1, 2, 3, or null
AD0280B Across studies, all Severity/Intensity (AESEV) variable values must be the same for each unique value of Severity/Intensity (N) (AESEVN) variable when both variables are populated. Unique Inconsistent value for AESEV
AD0281B Across studies, all Severity/Intensity (N) (AESEVN) variable must be the same for each unique value of Severity/Intensity (AESEV) variable when both variables are populated. Unique Inconsistent value for AESEVN
AD0283B Across studies, all Analysis Severity/Intensity (ASEV) variable values must be the same for each unique value of Analysis Severity/Intensity (N) (ASEVN) variable when both variables are populated. Unique Inconsistent value for ASEV
AD0284B Across studies, all Analysis Severity/Intensity (N) (ASEVN) variable values must be the same for each unique value of Analysis Severity/Intensity (ASEV) variable when both variables are populated. Unique Inconsistent value for ASEVN
AD0287B Across studies, all Causality (AEREL) variable values must be the same for each unique value of Causality (N) (AERELN) variable when both variables are populated. Unique Inconsistent value for AEREL
AD0288B Across studies, all Causality (N) (AERELN) variable values must be the same for each unique value of Causality (AEREL) variable when both variables are populated. Unique Inconsistent value for AERELN
AD0289B Across studies, all Analysis Causality (AREL) variable values must be the same for each unique value of Analysis Causality (N) (ARELN) variable when both variables are populated. Unique Inconsistent value for AREL
AD0290B Across studies, all Analysis Causality (N) (ARELN) variable values must be the same for each unique value of Analysis Causality (AREL) variable when both variables are populated. Unique Inconsistent value for ARELN
AD0293B Across studies, all Standard Toxicity Grade (AETOXGR) variable values must be the same for each unique value of Standard Toxicity Grade (N) (AETOXGRN) variable when both variables are populated. Unique Inconsistent value for AETOXGR
AD0294B Across studies, all Standard Toxicity Grade (N) (AETOXGRN) variable values must be the same for each unique value of Standard Toxicity Grade (AETOXGR) variable when both variables are populated. Unique Inconsistent value for AETOXGRN
AD0295B Across studies, all Analysis Toxicity Grade (ATOXGR) variable values must be the same for each unique value of Analysis Toxicity Grade (N) (ATOXGRN) variable when both variables are populated. Unique Inconsistent value for ATOXGR
AD0296B Across studies, all Analysis Toxicity Grade (N) (ATOXGRN) variable values must be the same for each unique value of Analysis Toxicity Grade (ATOXGR) variable when both variables are populated. Unique Inconsistent value for ATOXGRN
AD0299 For Standardized MedDRA Query Variables of Name, Code and Scope(N), zz must be the ordered SMQ of interest (01 to 99). This ordering can be based on importance or some other sponsor-defined criteria. It is recommended that the ordering be consistent across studies within a development program. Condition Illegal variable name: zz is not in [01-99] for SMQzz(NAM, CD, SC, SCN)
AD0303 For Customized MedDRA Query Name (SMQzzNAM) variables , zz must be the ordered CQ of interest (01 to 99). This ordering can be based on importance or some other sponsor-defined criteria. It is recommended that the ordering be consistent across studies within a development program. Condition Illegal variable name: zz is not in [01-99] for CQzzNAM
AD0304 If any of SMQ Name (SMQzzNAM), SMQ Code (SMQzzCD) or SMQ Scope (SMQzzSC) variable is populated, then all of these MedDRA SMQ variables must be populated together. Condition Only some of these variables are present and populated: SMQ%Variable.1%NAM, SMQ%Variable.1%CD, SMQ%Variable.1%SC
AD0310B Across studies, all SMQ Scope (SMQzzSC ) variable values must be the same for each unique value of SMQ Scope (N) (SMQzzSCN) variable when both variables are populated. The usual mapping is BROAD=1, NARROW=2. Unique Inconsistent value for SMQ%Variable.1%SC
AD0311B Across studies, all SMQ Scope (N) (SMQzzSCN) variable values must be the same for each unique value of SMQ Scope (SMQzzSC ) variable when both variables are populated. The usual mapping is BROAD=1, NARROW=2. Unique Inconsistent value for SMQ%Variable.1%SCN
AD0312 Standardized MedDRA Query Scope (SMQzzSC) variable value must be BROAD, NARROW, or NULL. The search strategy for SMQs can be narrow or broad. The preferred terms that are narrow in scope have high specificity for identifying events of interest while the broad terms have high sensitivity. By definition, all narrow terms are also considered within the broad score. Therefore, to summarize all broad terms, terms with either narrow OR broad would be considered. Will be null for terms that do not meet the criteria. Conditional on whether SMQ analysis is done. Match SMQ%Variable.1%SC value != BROAD, NARROW or null
AD0313 Standardized MedDRA Query Scope Numeric (SMQzzSCN) variable value must be 1 (BROAD), 2 (NARROW), or NULL. The search strategy for SMQs can be narrow or broad. The preferred terms that are narrow in scope have high specificity for identifying events of interest while the broad terms have high sensitivity. By definition, all narrow terms are also considered within the broad score. Therefore, to summarize all broad terms, terms with either narrow OR broad would be considered. Will be null for terms that do not meet the criteria. Conditional on whether SMQ analysis is done. Match SMQ%Variable.1%SCN value != 1, 2 or null
AD0323 Within a Study, all Phase (N) (APHASEN) variable values must be the same for each unique value of Phase (APHASE) variable when the primary variable APHASE is populated. Unique Inconsistent value for APHASEN
AD0324 Within a Study, all Phase(APHASE) variable values must be the same for each unique value of Phase (N) (APHASEN) variable when the primary variable APHASEN is populated. Unique Inconsistent value for APHASE
AD0325 Within a Study and a Period, all Subperiod within Period (ASPER) variable values must be the same for each unique value of Subperiod within Period (C) (ASPERC) variable when the primary variable ASPERC is populated. Unique Inconsistent value for ASPER
AD0326 Within a Study and a Period, all Subperiod within Period (C) (ASPERC) variable values must be the same for each unique value of Subperiod within Period (ASPER) variable when the primary variable ASPER is populated. Unique Inconsistent value for ASPERC
AD0361 The value of Analysis Start Date (ASTDT) variable must be less or equal to Analysis End Date (AENDT) variable value. Condition Value of ASTDT is greater than value of AENDT
AD0362 The value of Analysis Start Datetime (ASTDTM) variable must be less or equal to Analysis End Datetime (AENDTM) variable value. Condition Value of ASTDTM is greater than value of AENDTM
AD0364 Treatment Dose Units (DOSEU) variable is required, Treatment Dose at Record Start (DOSEON) or Cumulative Actual Treatment Dose (DOSCUMA) variable is present in the dataset. Find DOSEU variable is not present when DOSEON or DOSCUMA is present
AD0369 If a Date variable is indicated to be imputated by population of an Imputation Flag (*DTF), that Date variable (*DT) or Datetime variable (*DTM) must have a value. Condition %Variable.1%DTF is populated, but %Variable.1%DT or %Variable.1%DTM is not populated
AD0370 If a Time variable is indicated to be imputated by population of an Imputation Flag (*TMF), that Time variable (*TM) or Datetime variable (*DTM) must have a value. Condition %Variable.1%TMF is populated, but %Variable.1%TM or %Variable.1%DTM is not populated
AD0376 In a pair of corresponding character and numeric variables, the secondary variable must be populated if its primary variable is populated. Exceptions: *DTC, *FN, TRTPN, TRT01PN, PARAMN, AVALC, BASEC. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Primary variable %Variable.1% is populated, but its secondary variable %Variable% is not populated
AD0499 If Subperiod within Period (ASPER) variable is used in a dataset, Period (APERIOD) variable must also be present in that dataset. Find ASPER is present and APERIOD is not present
AD0501 On a given record, if Subperiod within Period (ASPER) variable is populated, then Period (APERIOD) variable must be populated. Condition ASPER is populated and APERIOD is not populated
AD0552 If Multi-Response Criterion y Eval (N) (MCRITyMN) variable is used in a dataset, Multi-Response Criterion y Evaluation (MCRITyML) variable must also be present in that dataset. Find MCRITyMN is present and MCRITyML is not present
AD0605 When analysis Phase (APHASE) variable is defined, the Phase Start Date (PHSDT) variable value must equal ADSL Phase w Start Date (PHwSDT) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSDT != ADSL.PHwSDT
AD0607 When analysis Phase (APHASE) variable is defined, the analysis Phase Start Time (PHSTM) variable value must equal ADSL Phase w Start Time (PHwSTM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSTM != ADSL.PHwSTM
AD0609 When analysis Phase (APHASE) variable is defined, the analysis Phase Start Datetime (PHSDTM) variable value must equal ADSL Phase w Start Datetime (PHwSDTM) for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHSDTM != ADSL.PHwSDTM
AD0611 When analysis Phase (APHASE) is defined, the Phase End Date (PHEDT) variable value must equal ADSL Phase w End Date (PHwEDT) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHEDT != ADSL.PHwEDT
AD0613 When analysis Phase (APHASE) variable is defined, the Phase End Time (PHETM) variable value must equal ADSL Phase w End Time (PHwETM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHETM != ADSL.PHwETM
AD0615 When analysis Phase (APHASE) variable) is defined, the Phase End Datetime (PHEDTM) variable value must equal ADSL Phase w End Datetime (PHwEDTM) variable value for that phase defined by the value in Phase (N) (APHASEN) variable. APHASEN = w. Lookup APHASEN w has a PHEDTM != ADSL.PHwEDTM
AD1011 In a pair of corresponding character and numeric variables (* and *N or *C) the primary or most commonly used variable must be populated if its secondary variable describing it is populated. Exceptions: *DTC, *FN, TRTPN, TRT01PN, PARAMN, AVALC, BASEC, *LOC, and *HIC. Corresponding character and numeric values must also have a one-to-one mapping consistency when the primary variable is populated, which are addressed in other rules. Condition Secondary variable %Variable% is populated, but its primary variable %Variable.1% is not populated
AD1012A In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be present if its secondary version describing it (*N or *C) is present. This is a rule designed to look explicitly at variable pairs defined in the CDISC standard documents. A similar rule that checks custom *N or *C variables (with a few exceptions) is AD1012. This rule is expected to be added to CDISC ADaM Conformance Rules in the future. Find Secondary variable is present, but its primary variable is not present
CT2001 Variable must be populated with terms from its CDISC controlled terminology codelist. New terms cannot be added into non-extensible codelists. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' non-extensible codelist
CT2002 Variable should be populated with terms from its CDISC controlled terminology codelist. New terms can be added as long as they are not duplicates, synonyms or subsets of existing standard terms. Match %Variable% value not found in '%Variable.Config.CodeList.Name%' extensible codelist
CT2003 Paired variables such as TEST/TESTCD must be populated using terms with the same Codelist Code value in CDISC control terminology. There is one-to-one relationship between paired variable values defined in CDISC control terminology by Codelist Code value. Match %Variable% and %Variable.DecodedVariable% values do not have the same Code in CDISC CT
CT2004 Variable must be populated with terms from its CDISC controlled terminology codelist when its value level condition is met. New terms cannot be added into non-extensible codelists. Match %Variable% value not found in '%Variable.Config.@Clause.CodeList.Name%' non-extensible codelist when %Variable.Config.@Clause.Expression%
CT2005 Variable should be populated with terms from its CDISC controlled terminology codelist when its value level condition is met. New terms can be added as long as they are not duplicates, synonyms or subsets of existing standard terms. Match %Variable% value not found in '%Variable.Config.@Clause.CodeList.Name%' extensible codelist when %Variable.Config.@Clause.Expression%
CT2006 Paired variables such as TEST/TESTCD must be populated using terms with the same Codelist Code value in CDISC control terminology. There is one-to-one relationship between paired variable values defined in CDISC control terminology by Codelist Code value within the same value level condition. Match %Variable% and %Variable.DecodedVariable% values do not have the same Code in CDISC CT when %Variable.Config.@Clause.Expression%
SD0001 Domain table should have at least one record. Property No records in data source
SD0037 Variable values should be populated with terms found in the user-defined codelist associated with the variable in define.xml. Match Value for %Variable% not found in (%Variable.CodeList.Name%) user-defined codelist
SD0054 Variables listed in the data definition document (define.xml) should be included in the dataset. Find Variable in define.xml is not present in the dataset
SD0059 Variable DataType in define.xml must match variable Type in dataset. Define-XML data types of 'integer' and 'float' match dataset type of 'Num', all other match 'Char'. Condition Define.xml/dataset variable type mismatch
SD0060 Variables included in the dataset must be described in the data definition document (define.xml). Match Variable in dataset is not present in define.xml
SD0062 Domain table must have a valid format (e.g., SAS transport (XPORT) v.5 or text-delimited). Property Incompatible data source
SD1063 Datasets included in study data must be described in the data definition document (define.xml). Match Dataset is not present in define.xml
SD1071 Datasets greater than 5 gigabytes (GB) in size should be split into smaller datasets no larger than 5 GB. Property Dataset is greater than 5 GB in size
SD1082 Variable length should be assigned based on actual stored data to minimize file size. Datasets should be re-sized to the maximum length of actual data used prior to splitting. Varlength Variable length is too long for actual data
SD1228 Variable value must be populated with terms from user-defined value level codelist as specified in define.xml file. Match %Variable% value not found in user-defined codelist '%Variable.@Clause.CodeList.Name%' when %Variable.@Clause.Expression%
SD1229 Variable value must be populated when value level attribute Mandatory='Yes' as specified in define.xml file. Required %Variable% value is null when %Variable.@Clause.Expression%
SD1230 Value level datatype must match the datatype described in define.xml. Condition %Variable% datatype is not %Variable.@Clause.DataType% when %Variable.@Clause.Expression%
SD1231 Value level length must not exceed the length as specified define.xml. Condition %Variable% value is longer than defined max length %Variable.@Clause.Length% when %Variable.@Clause.Expression%
SD1324 Variable Label in define.xml must match variable Label in dataset. Match Define.xml/dataset variable label mismatch
SD1325 Dataset Description in define.xml must match dataset Description. Property Define.xml/dataset description mismatch

Supplemental Qualifiers

Dataset Structure
Variable Description Required Data Type Length
STUDYID Study Identifier yes text 200
RDOMAIN Related Domain Abbreviation yes text 200
USUBJID Unique Subject Identifier text 200
IDVAR Identifying Variable text 200
IDVARVAL Identifying Variable Value text 200
QNAM Qualifier Variable Name yes text 200
QLABEL Qualifier Variable Label yes text 200
QVAL Data Value yes text 200
QORIG Origin yes text 200

 

Validation Rules
ID Description Validator Message
SD0062 Domain table must have a valid format (e.g., SAS transport (XPORT) v.5 or text-delimited). Property Incompatible data source