CDISC SDTM 3.1.1 Validation Rules
The following is a listing of CDISC SDTM version 3.1.1 validation rules implemented in OpenCDISC Validator. The list includes all Janus validation rules as defined in the Janus SDTM Validation Specification v.1 and additional rules defined by the OpenCDISC team and community.
| Rule ID | Description | Domain | Category | Severity |
|---|---|---|---|---|
| CT0004 | Age Units (AGEU) variable values should be populated with terms found in 'Age Unit' (C66781) CDISC controlled terminology codelist | DM | Terminology | Error |
| CT0006 | Country (COUNTRY) variable values should be populated with terms found in 'Country' (C66786) CDISC controlled terminology codelist | DM | Terminology | Warning |
| CT0020 | Inclusion/Exclusion Category (IECAT) variable values should be populated with terms found in 'Category for Inclusion/Exclusion' (C66797) CDISC controlled terminology codelist | IE | Terminology | Error |
| CT0034 | Sex (SEX) variable values should be populated with terms found in 'Sex' (C66731) CDISC controlled terminology codelist | DM | Terminology | Error |
| CT0038 | End Relative to Reference Period (--STRF) variables values should be populated with terms found in 'Relation to Reference Period' (C66728) CDISC controlled terminology codelist | Interventions, Events | Terminology | Error |
| CT0039 | End Relative to Reference Period (--ENRF) variables values should be populated with terms found in 'Relation to Reference Period' (C66728) CDISC controlled terminology codelist | Interventions, Events | Terminology | Error |
| CT0044 | Standard Toxicity Grade (AETOXGR) variable values should be populated with terms found in 'Common Terminology Criteria for Adverse Events V4.0' (C87162) CDISC controlled terminology codelist | AE | Terminology | Warning |
| CT0059 | Baseline Flag (--BLFL) variables values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | Findings | Terminology | Warning |
| CT0060 | Derived Flag (--DRVFL) variables values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | Findings | Terminology | Error |
| CT0061 | Fasting Status (--FAST) variables values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | Findings | Terminology | Error |
| CT0062 | Occurrence (--OCCUR) variables values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | Interventions, Events | Terminology | Error |
| CT0064 | Serious Event (AESER) variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error |
| CT0065 | Congenital Anomaly or Birth Defect (AESCONG) variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error |
| CT0066 | Persist or Signif Disability/Incapacity (AESDISAB) variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error |
| CT0067 | Results in Death (AESDTH) variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error |
| CT0068 | Requires or Prolongs Hospitalization (AEHOSP) variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error |
| CT0069 | Is Life Threatening (AESLIFE) variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error |
| CT0070 | Concomitant or Additional Trtmnt Given (AECONTRT) variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error |
| CT0071 | Involves Cancer (AESCAN) variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error |
| CT0072 | Other Medically Important Serious Event (AESMIE) variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error |
| CT0073 | Occurred with Overdose (AESOD) variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error |
| CT0074 | I/E Criterion Original Result (IEORRES) variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | IE | Terminology | Error |
| CT0075 | I/E Criterion Result in Std Format (IESTRESC) variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | IE | Terminology | Error |
| CT0076 | Completion Status (--STAT) variables values should be populated with terms found in 'Not Done' (C66789) CDISC controlled terminology codelist | Interventions, Events, Findings | Terminology | Warning |
| SD0001 | 'Domain table should have at least one record | All | Presence | Warning |
| SD0002 | Required variables (where Core attribute is 'Req') cannot be NULL for any records | All | Presence | Error |
| SD0003 | Dates and times of day must conform to the ISO 8601 international standard | All | Format | Error |
| SD0004 | Domain Abbreviation (DOMAIN) variable should be consistent with the name of the dataset | All | Consistency | Warning |
| SD0005 | The value of Sequence Number (--SEQ) variable must be unique for each record within a subject | Interventions, Events, Findings, CO, SE, TS | Consistency | Error |
| SD0006 | All subjects should have at least one baseline observation (--BLFL = 'Y') in EG, LB, QS, and VS domains, except for subjects who failed screening (ARMCD = 'SCRNFAIL') or were not fully assigned to an Arm (ARMCD = 'NOTASSGN') | EG, LB, QS, VS | Presence | Warning |
| SD0007 | Standard Units (--STRESU) must be consistent for all records with same Short Name of Measurement, Test or Examination (--TESTCD) and Category (--CAT) | EG, LB, QS, VS | Consistency | Error |
| SD0008 | Value for the Dictionary-Derived Term (--DECOD) variable must be populated using a Prefered Term of the MedDRA dictionary of a version specified in the define.xml | AE | Terminology | Error |
| SD0009 | When Serious Event (AESER) variable value is 'Y', then at least one of seriousness criteria variables is expected to have value 'Y' (Involves Cancer (AESCAN), Congenital Anomaly or Birth Defect (AESCONG), Persist or Signif Disability/Incapacity (AESDISAB) | AE | Consistency | Warning |
| SD0010 | Visit Number (VISITNUM) variable value is expected to be formatted up to three decimal places | Interventions, Events, Findings, SV | Format | Warning |
| SD0011 | Description of Arm (ARM) must equal 'Screen Failure', when Arm Code (ARMCD) is 'SCRNFAIL', and vice versa | DM, TA | Consistency | Error |
| SD0012 | Study Day of Start of Event, Exposure or Observation (--STDY) must be less or equal to Study Day of End of Event, Exposure or Observation (--ENDY) | Interventions, Events, Findings | Limit | Error |
| SD0013 | Start Date/Time of Event, Exposure or Observation (--STDTC) must be less or equal to End Date/Time of Event, Exposure or Observation (--ENDTC) | Interventions, Events, Findings, DM, SE, SV | Limit | Error |
| SD0014 | Non-missing Dose (--DOSE) value must be greater than or equal to 0 | Interventions | Limit | Error |
| SD0015 | Non-missing Duration of Event, Exposure or Obseravtion (--DUR) value must be greater than or equal to 0 | Interventions, Events, Findings | Limit | Error |
| SD0016 | Character Result/Finding in Std Format (--STRESC) value should not be NULL, when Derived Flag (--DRVFL) value is 'Y' | Findings | Consistency | Warning |
| SD0017 | The value of Name of Measurement, Test or Examination (--TEST) should be no more than 40 characters in length | Findings | Format | Warning |
| SD0018 | The value of a Short Name of Measurement, Test or Examination (--TESTCD) variable should be limited to 8 characters, cannot start with a number, and cannot contain characters other than letters in upper case, numbers, or underscores | Findings | Format | Warning |
| SD0019 | The value of Trial Summary Parameter (TSPARM) should be no more than 40 characters in length | TS | Format | Warning |
| SD0020 | The value of Trial Summary Parameter Short Name (TSPARMCD) should be no more than 8 characters in length | TS | Format | Warning |
| SD0021 | End Relative to Reference Period (--ENRF) should not be NULL, when End Date/Time of Event or Exposure (--ENDTC) value is missing and Occurrence (--OCCUR) does not equal 'N' | Interventions, Events, Findings | Consistency | Warning |
| SD0022 | Start Relative to Reference Period (--STRF) should not be NULL, when Start Date/Time of Event or Exposure (--STDTC) value is missing and Occurrence (--OCCUR) does not equal 'N' | Interventions, Events, Findings | Consistency | Warning |
| SD0023 | Completion Status (--STAT) should be set to 'NOT DONE', when Reason Not Done (--REASND) is populated | Interventions, Events, Findings | Consistency | Warning |
| SD0024 | Date/Time of Collection (--DTC) should not be NULL, when End Date/Time of Observation (--ENDTC) is not NULL | Findings | Consistency | Warning |
| SD0025 | Date/Time of Specimen Collection (--DTC) must be less or equal to End Date/Time of Specimen Collection (--ENDTC) | Findings | Limit | Error |
| SD0026 | Original Units (--ORRESU) should not be NULL, when Result or Finding in Original Units (--ORRES) is provided | Findings | Consistency | Warning |
| SD0027 | Result or Finding in Original Units (--ORRES) should not be NULL, when Original Units (--ORRESU) is provided | Findings | Consistency | Warning |
| SD0028 | Reference Range Upper Limit-Std Units (--STNRHI) value must be greater than or equal to Reference Range Lower Limit-Std Units (--STNRLO) value | Findings | Limit | Error |
| SD0029 | Standard Units (--STRESU) should not be NULL, when Character Result/Finding in Std Units (--STRESC) is provided | Findings | Consistency | Warning |
| SD0030 | Character Result/Finding in Std Units (--STRESC) should not be NULL, when Standard Units (--STRESU) is provided | Findings | Consistency | Warning |
| SD0031 | Start Date/Time of Observation (--STDTC) or Start Relative to Reference Period (--STRF) should not be NULL, when End Date/Time of Observation (--ENDTC) or End Relative to Reference Period (--ENRF) is not NULL | Interventions, Events | Consistency | Warning |
| SD0032 | Planned Time Point Name (--TPT) should not be NULL, when Planned Time Point Number (--TPTNUM) is populated | Interventions, Events, Findings | Consistency | Warning |
| SD0033 | Planned Time Point Number (--TPTNUM) should not be NULL, when Planned Time Point Name (--TPT) is populated | Interventions, Events, Findings | Consistency | Warning |
| SD0034 | Time Point Reference (--TPTREF) should not be NULL, when Planned Elapsed Time from Time Point Ref (--ELTM) is populated | Interventions, Events, Findings | Consistency | Warning |
| SD0035 | Dose Units (--DOSU) must be populated, when Dose per Administration (--DOSE) or Dose Description (--DOSTXT) is provided | Interventions | Consistency | Error |
| SD0036 | Character Result/Finding in Std Units (--STRESC) must be populated, when Result or Finding in Original Units (--ORRES) is provided | Findings | Consistency | Error |
| SD0037 | Variable values should be populated with terms found in the user-defined codelist associated with the variable in define.xml | All | Terminology | Warning |
| SD0038 | Study Day variables (*DY) value should not equal 0 | Interventions, Events, Findings, DM, SV | Limit | Warning |
| SD0040 | All values of Name of Measurement, Test or Examination (--TEST) should be the same for a given value of Short Name of Measurement, Test or Examination (--TESTCD) | Findings | Consistency | Warning |
| SD0046 | All values of Qualifier Variable Label (QLABEL) should be the same for a given value of Qualifier Variable Name (QNAM) | SUPPQUAL | Consistency | Warning |
| SD0047 | Status (--STAT) should be set to 'NOT DONE' or Derived Flag (--DRVFL) should have a value of 'Y', when Result or Finding in Original Units (--ORRES) is NULL | Findings | Consistency | Warning |
| SD0048 | Status (--STAT) should be NULL, when Result or Finding in Original Units (--ORRES) is provided | Findings | Consistency | Warning |
| SD0051 | All values of Visit Name (VISIT) should be the same for a given value of Visit Number (VISITNUM) | SV, TV | Consistency | Warning |
| SD0052 | All values of Visit Number (VISITNUM) should be the same for a given value of Visit Name (VISIT) | SV, TV | Consistency | Warning |
| SD0053 | Description of Arm (ARM) must equal 'Not Assigned', when Arm Code (ARMCD) is 'NOTASSGN', and vice versa | DM, TA | Consistency | Error |
| SD0054 | Variables listed in the data definition document (define.xml) should be included in the dataset | All | Metadata | Warning |
| SD0055 | Variable Data Types in the dataset should match the variable data types described in SDTM | All | Metadata | Warning |
| SD0056 | Variables described in SDTM as Required must be included in the dataset | All | Metadata | Error |
| SD0057 | Variables described in SDTM as Expected should be included in the dataset | All | Metadata | Warning |
| SD0058 | Only variables listed in SDTM should appear in a dataset. New sponsor defined variables must not be added, and existing variables must not be renamed or modified | All | Metadata | Warning |
| SD0059 | Variable Data Types in the dataset must match the variable data types described in the data definition document (define.xml) | All | Metadata | Error |
| SD0060 | Variables included in the dataset must be described in the data definition document (define.xml) | All | Metadata | Error |
| SD0061 | Domains referenced in data definition document (define.xml) should be included in the submission | All | Metadata | Warning |
| SD0062 | Domain table must have a valid format (e.g., SAS transport (XPORT) v.5 or text-delimited) | All | Format | Error |
| SD0063 | Variable Label in the dataset should match the variable label described in SDTM. When creating a new domain Variable Labels could be adjusted as appropriate to properly convey the meaning in the context of the data being submitted | All | Metadata | Warning |
| SD0064 | All Subjects (USUBJID) must be present in Demograpics (DM) domain | Interventions, Events, Findings, CO, SE, SV | Cross-reference | Error |
| SD0065 | All Unique Subject Identifier (USUBJID) + Visit Name (VISIT) + Visit Number (VISITNUM) combination values in data should be present in the Subject Visits (SV) domain | Interventions, Events, Findings, SV | Cross-reference | Warning |
| SD0066 | Planned Arm Code (ARMCD) values should match entries in the Trial Arms (TA) dataset, except for subjects who failed screening (ARMCD = 'SCRNFAIL') or were not fully assigned to an Arm (ARMCD = 'NOTASSGN') | DM | Cross-reference | Warning |
| SD0067 | Element Code (ETCD) values should match entries in the Trial Elements (TE) dataset, except for unplanned Element (ETCD = 'UNPLAN') | SE, TA | Cross-reference | Warning |
| SD0068 | A value for Inclusion/Exclusion Criterion Short Name (IETESTCD) must be present the Trial Inclusion/Exclusion Criteria (TI) domain | IE | Cross-reference | Error |
| SD0069 | All Demographics (DM) subjects (USUBJID) should have at least one record in the Disposition (DS) domain | DM | Presence | Warning |
| SD0070 | All Demographics (DM) subjects (USUBJID) participating in a study that includes investigational product should have at least one record in the Exposure (EX) domain, except for subjects who failed screening (ARMCD = 'SCRNFAIL') or were not fully assigned to an Arm (ARMCD = 'NOTASSGN') | DM | Presence | Warning |
| SD0071 | The combination of Description of Planned Arm (ARM) and Planned Arm Code (ARMCD) values must match entries in the Trial Arms (TA) dataset, except for subjects who failed screening (ARMCD = 'SCRNFAIL') or were not fully assigned to an Arm (ARMCD = 'NOTASSG | DM | Cross-reference | Error |
| SD0072 | Related Domain Abbreviation (RDOMAIN) must have a valid value of Domains included in the study data | CO | Consistency | Error |
| SD0075 | Identifying Variable (IDVAR) must have a valid value of variables from a referenced Domain | RELREC | Consistency | Error |
| SD0077 | Reference record defined by Related Domain Abbreviation (RDOMAIN), Unique Subject Identifier (USUBJID), Identifying Variable (IDVAR) and Identifying Variable Value (IDVARVAL) must exist in the target Domain | RELREC | Cross-reference | Error |
| SD0079 | Subjects that have withdrawn from a trial before assignment to an Arm (ARMCD='NOTASSGN') should not have any Exposure records | EX | Consistency | Warning |
| SD0080 | Start Date/Time of Adverse Event (AESTDTC) should be less than or equal to the Start Date/Time of the latest Disposition Event (DSSTDTC) | AE | Consistency | Warning |
| SD0081 | Date/Time of Collection (--DTC) should be less than or equal to the Start Date/Time of the latest Disposition Event (DSSTDTC) | EG, LB, VS | Consistency | Warning |
| SD0082 | End Date/Time of Treatment (EXENDTC) should be less than or equal to the Start Date/Time of the latest Disposition Event (DSSTDTC) | EX | Consistency | Warning |
| SD0083 | The value of Unique Subject Identifier (USUBJID) variable must be unique for each subject across all trials in the submission | DM | Consistency | Error |
| SD0084 | The value of Age (AGE) cannot be less than 0 | DM | Limit | Error |
| SD0085 | I/E Criterion Original Result (IEORRES) and I/E Criterion Result in Std Format (IESTRESC) should have the same value | IE | Consistency | Warning |
| SD0086 | All SUPPQUAL Domains records must have unique combination of Study Identifier (STUDYID), Unique Subject Identifier (USUBJID), Identifying Variable (IDVAR), Identifying Variable Value (IDVARVAL) and Qualifier Variable Name (QNAM) variables values | SUPPQUAL | Consistency | Error |
| SD0087 | Subject Reference Start Date/Time (RFSTDTC) should be populated for all randomized subjects, those where Planned Arm Code (ARMCD) is not equal to 'SCRNFAIL' or 'NOTASSGN' | DM | Consistency | Warning |
| SD0088 | Subject Reference End Date/Time (RFENDTC) should be populated for all randomized subjects, those where Planned Arm Code (ARMCD) is not equal to 'SCRNFAIL' or 'NOTASSGN' | DM | Consistency | Warning |
| SD0089 | At least one of Rule for End of Element (TEENRL) or Planned Duration of Element (TEDUR) should be populated | TE | Consistency | Warning |
| SD0090 | Results in Death (AEDTH) should equal 'Y', when Outcome of Adverse Event (AEOUT) is 'FATAL' | AE | Consistency | Warning |
| SD0091 | Outcome of Adverse Event should equal 'FATAL', when Results in Death (AEDTH) is 'Y' | AE | Consistency | Warning |
| SD0092 | Description of Unplanned Element (SEUPDES) should be populated, when subject's experience for a particular period of time is represented as an unplanned Element, where Element Code (ETCD) is equal to 'UNPLAN' | SE | Consistency | Warning |
| SD0093 | Age Units (AGEU) should be provided, when Age (AGE) is populated | DM | Consistency | Warning |
| SD0095 | Supplemental Qualifiers special purpose dataset (SUPP--) can only be used to capture non-standard variables and their association to parent records in general-observation-class datasets (Events, Findings, Interventions) and Demographics | SUPPQUAL | Presence | Error |
| SD1001 | The value of Subject Identifier for the Study (SUBJID) variable must be unique for each subject within the study | DM | Consistency | Error |
| SD1002 | Subject Reference Start Date/Time (RFSTDTC) must be less than or equal to Subject Reference End Date/Time (RFENDTC) | DM | Limit | Error |
| SD1003 | Age (AGE) should be provided, when Age Units (AGEU) are populated | DM | Consistency | Warning |
| SD1005 | Study Identifier (STUDYID) values must match the STUDYID in Demographics (DM) domain | All | Consistency | Error |
| SD1008 | The value of Date/Time of Comment (CODTC) should be NULL, when comments are related to a specific parent record or group of parent records in a domain (RDOMAIN, IDVAR and IDVARVAL are populated) | CO | Consistency | Warning |
| SD1009 | The value of Element Code (ETCD) should be no more than 8 characters in length | SE | Format | Warning |
| SD1010 | Description of Element (ELEMENT) should be NULL, when subject's experience for a particular period of time is represented as an unplanned Element, where Element Code (ETCD) is equal to 'UNPLAN' | SE | Consistency | Warning |
| SD1011 | Duration, Elapsed Time, and Interval values must conform to the ISO 8601 international standard | Interventions, Events, Findings, TE | Format | Error |
| SD1012 | The combination of Element Code (ETCD) and Description of Element (ELEMENT) values should match entries in the Trial Elements (TE) dataset, except for unplanned Element (ETCD = 'UNPLAN') | SE, TA | Cross-reference | Warning |
| SD1013 | Planned Order of Elements within Arm (TAETORD) should be NULL, when subject's experience for a particular period of time is represented as an unplanned Element (ETCD = 'UNPLAN') | SE | Consistency | Warning |
| SD1014 | Order of Element within Arm (TAETORD) values should match entries in the Trial Arms (TA) dataset | Interventions, Events, Findings | Cross-reference | Warning |
| SD1015 | Epoch (EPOCH) values should match entries in the Trial Arms (TA) dataset | Interventions, Events, Findings | Cross-reference | Warning |
| SD1016 | The combination of Inclusion/Exclusion Criterion Short Name (IETESTCD), Criterion (IETEST), and Category (IECAT) values should match entries in the Trial Inclusion/Exclusion Criteria (TI) dataset | IE | Cross-reference | Warning |
| SD1017 | Visit Number (VISITNUM) values should match entries in the Trial Visits (TV) dataset, when they are planned visits (SVUPDES = NULL) | SV | Cross-reference | Warning |
| SD1018 | The combination of Visit Number (VISITNUM), Visit Name (VISIT), and Planned Study Day of Visit (VISITDY) values should match entries in the Trial Visits (TV) dataset, when they are planned visits (SVUPDES = NULL) | SV | Cross-reference | Warning |
| SD1019 | Planned Study Day of Visit (VISITDY) should equal NULL for unplanned visits, where Description of Unplanned Visit (SVUPDES) is populated | SV | Consistency | Warning |
| SD1020 | Demographics (DM) dataset must be included in every submission | DM | Presence | Error |
