CDISC SDTM 3.1.1 Validation Rules
The following is a listing of CDISC SDTM version 3.1.1 validation rules supported by OpenCDISC Validator. The list includes all Janus validation rules as defined in the Janus SDTM Validation Specification v.1 and 10 additional rules defined by the OpenCDISC community.
| Rule ID | Description of Rule | Domain | Category | Type | WebSDM ID |
|---|---|---|---|---|---|
| CT0004 | Variable values should be populated with terms found in 'Age Unit' (C66781) CDISC controlled terminology codelist | DM | Terminology | Error | R4062 |
| CT0006 | Variable values should be populated with terms found in 'Country' (C66786) CDISC controlled terminology codelist | DM | Terminology | Warning | R4008 |
| CT0020 | Variable values should be populated with terms found in 'Category for Inclusion/Exclusion' (C66797) CDISC controlled terminology codelist | IE | Terminology | Warning | R4031 |
| CT0034 | Variable values should be populated with terms found in 'Sex' (C66731) CDISC controlled terminology codelist | DM | Terminology | Error | R4007 |
| CT0038 | Variable values should be populated with terms found in 'Relation to Reference Period' (C66728) CDISC controlled terminology codelist | Timing | Terminology | Error | IR4108 |
| CT0039 | Variable values should be populated with terms found in 'Relation to Reference Period' (C66728) CDISC controlled terminology codelist | Timing | Terminology | Error | IR4104 |
| CT0044 | 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 | IR4121 |
| CT0059 | Identifies records that violate the condition [Baseline Flag either 'Y' or null] | Findings | Terminology | Warning | IR4102 |
| CT0060 | Identifies records that violate the condition [Derived Flag either 'Y' or null] | Findings | Terminology | Error | IR4103 |
| CT0061 | Variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | Findings | Terminology | Error | IR4105 |
| CT0062 | Variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | Events, Interventions | Terminology | Error | IR4106 |
| CT0064 | Variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error | R4019 |
| CT0065 | Variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error | R4023 |
| CT0066 | Variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error | R4024 |
| CT0067 | Variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error | R4025 |
| CT0068 | Variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error | R4026 |
| CT0069 | Variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error | R4027 |
| CT0070 | Variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error | R4043 |
| CT0071 | Variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error | R4045 |
| CT0072 | Variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error | R4046 |
| CT0073 | Variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | AE | Terminology | Error | R4047 |
| CT0074 | Variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | IE | Terminology | Error | R4071 |
| CT0075 | Variable values should be populated with terms found in 'No Yes Response' (C66742) CDISC controlled terminology codelist | IE | Terminology | Error | R4072 |
| CT0076 | Variable values should be populated with terms found in 'Not Done' (C66789) CDISC controlled terminology codelist | All | Terminology | Warning | IR4107 |
| SD0001 | Identifies domain table that has zero rows and therefore contains no data. | All | Presence | Warning | IR4000 |
| SD0002 | Required variables (where Core attribute is 'Req') cannot be null for any record. | All | Presence | Error | IR4001 |
| SD0003 | Dates and times of day must conform to the ISO 8601 international standard. | All | Format | Error | IR4002 |
| SD0004 | Domain Abbreviation (DOMAIN) variable should be consistent with the name of the dataset. | All | Consistency | Warning | IR4003 |
| SD0005 | Identifies records where non-unique values for Sequence Number variable exist within a subject. | All | Consistency | Error | IR4004 |
| 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 | IR4005 |
| SD0007 | Identifies Short Name of Measurement, Test or Examination values where standard units value (Standard Units) is not consistent across all records | EG, LB, QS, VS | Consistency | Error | IR4006 |
| SD0008 | Variable values should be populated with terms found in 'Preferred Term' codelist from MedDRA dictionary | AE | Terminology | Error | IR4007 |
| SD0009 | Identifies records where Serious Event='Y' but none of Involves Cancer, Congenital Anomaly or Birth Defect, Persist or Signif Disability/Incapacity, Results in Death, Requires or Prolongs Hospitalization, Is Life Threatening, Other Medicaly Important Serious Event, or Occured with Overdose equals 'Y' | AE | Consistency | Warning | IR4008 |
| SD0010 | Identifies records where the value for Visit Number is formatted to more than three decimal places | All | Format | Warning | IR4010 |
| SD0011 | When Arm Code (ARMCD) is equal to 'SCRNFAIL', then Description of Arm (ARM) must equal 'Screen Failure', and vice versa. | DM, TA | Consistency | Error | IR4011 |
| SD0012 | Identifies records that violate the condition [(Study Day of Start of Observation less than or equal to Study Day of End of Observation)], limited to records where [Study Day of Start of Observation is not null and Study Day of End of Observation is not null] | Timing | Limit | Error | IR4100 |
| SD0013 | Identifies records that violate the condition [(Start Date/Time of Observation less than or equal to End Date/Time of Observation)], limited to records where [Start Date/Time of Observation is not null and End Date/Time of Observation is not null] | Timing | Limit | Error | IR4101 |
| SD0014 | Identifies records that violate the condition [Dose greater than or equal to 0], limited to records where [Dose is not null] | Interventions | Limit | Error | IR4109 |
| SD0015 | Identifies records that violate the condition [Duration greater than or equal to 0], limited to records where [Duration is not null] | Timing | Limit | Error | IR4110 |
| SD0016 | Identifies records that violate condition [Result or Finding in Standard Format is not null], limited to records where [Derived Flag='Y'] | Findings | Consistency | Warning | IR4112 |
| SD0017 | Identifies records that violate condition [LENGTH(Name of Measurement, Test or Examination) less than or equal to 40 characters] | Findings | Format | Warning | IR4113 |
| SD0018 | Identifies records that violate condition [LENGTH(Short Name of Measurement, Test or Examination) less than or equal to 8 chars, cannot start with a number or contain special chars] | Findings | Format | Warning | IR4114 |
| SD0019 | Identifies records that violate the condition [LENGTH(Trial Summary Parameter) less than or equal to 40 characters] | TS | Format | Warning | IR4115 |
| SD0020 | Identifies records that violate the condition [LENGTH(Trial Summary Parameter Short Name) less than or equal to 8 chars, cannot start with a number or contain special chars] | TS | Format | Warning | IR4116 |
| SD0021 | Identifies records that violate the condition [End Relative to Reference Period is not null], limited to records where [End Date/Time of Observation is null] and [Occurrence doesn't equal 'N'] | Timing | Consistency | Warning | IR4117 |
| SD0022 | Identifies records that violate the condition [Start Relative to Reference Period is not null], limited to records where [Start Date/Time of Observation is null] and [Occurrence doesn't equal 'N'] | Timing | Consistency | Warning | IR4118 |
| SD0023 | When Reason Not Done (--REASND) is populated, then Completion Status (--STAT) must be set to 'NOT DONE' | All | Consistency | Warning | IR4122 |
| SD0024 | Identifies records that violate the condition [Date/Time of Collection is not null], limited to records where [End Date/Time of Observation is not null] | Findings | Consistency | Warning | IR4123 |
| SD0025 | Identifies records that violate the condition [Date/Time of Collection is less than or equal to End Date/Time of Observation], limited to records where [Date/Time of Collection is not null and End Date/Time of Observation exists] | Findings | Limit | Error | IR4124 |
| SD0026 | Identifies records that violate the condition [Original Units is not null], limited to records where [Result or Finding in Original Units is not null] | Findings | Consistency | Warning | IR4125 |
| SD0027 | Identifies records that violate the condition [Original Units is null], limited to records where [Result or Finding in Original Units is null] | Findings | Consistency | Warning | IR4126 |
| SD0028 | Identifies records that violate the condition [Normal Range Upper Limit-Standard Units greater than or equal to Normal Range Lower Limit-Standard Units], limited to records where [Normal Range Upper Limit-Standard Units is not null and Normal Range Lower Limit-Standard Units is not null] | Findings | Limit | Error | IR4127 |
| SD0029 | Identifies records that violate the condition [Standard Units is not null], limited to records where [Result or Finding in Standard Format is not null] | Findings | Consistency | Warning | IR4128 |
| SD0030 | Identifies records that violate the condition [Standard Units is null], limited to records where [Result or Finding in Standard Format is null] | Findings | Consistency | Warning | IR4129 |
| SD0031 | Identifies records that violate the condition [Start Date/Time of Observation or Start Relative to Reference Period is not null], limited to records where [End Date/Time of Observation or End Relative to Reference Period is not null] | Timing | Consistency | Warning | IR4130 |
| SD0032 | Identifies records that violate the condition [Planned Time Point Name is not null], limited to records where [Planned Time Point Number is not null] | Timing | Consistency | Warning | IR4131 |
| SD0033 | Identifies records that violate the condition [Planned Time Point Number is not null], limited to records where [Planned Time Point Name is not null] | Timing | Consistency | Warning | IR4132 |
| SD0034 | Identifies records that violate the condition [Time Point Reference is not null], limited to records where [Elapsed Time from Reference Point is not null] | Timing | Consistency | Warning | IR4133 |
| SD0035 | Identifies records that violate the condition [Dose Units is not null], limited to records where [Dose is not null] | Interventions | Consistency | Error | IR4134, IR4138 |
| SD0036 | Identifies records that violate the condition [Result or Finding in Standard Format is not null], limited to records where [Result or Finding in Original Units is not null] | Findings | Consistency | Error | IR4135 |
| SD0037 | Variable values should be populated with terms found in the user-defined codelist associated with the variable in define.xml. | All | Terminology | Warning | IR4136 |
| SD0038 | Identifies records that violate the condition [Study Day of Visit/Collection/Exam doesn't equal 0] | All | Limit | Warning | IR4137 |
| SD0039 | Domain Abbreviation of the Parent record (RDOMAIN) in SUPPQUAL and RELREC datasets should not be null. The only exception is when data applies to all records in all domains for a subject (e.g., ITT). | SUPPQUAL, RELREC | Presence | Warning | IR4139 |
| SD0040 | For a given value of Short Name of Measurement, Test or Examination (--TESTCD), all values of Name of Measurement, Test or Examination (--TEST) should be the same | Findings | Consistency | Warning | IR4142 |
| SD0046 | For a given value of Qualifier Variable Name (QNAM), all values of Qualifier Variable Label (QLABEL) should be the same | SUPPQUAL | Consistency | Warning | IR4161 |
| SD0047 | When Result or Finding in Original Units (--ORRES) is null, then Status (--STAT) must be set to 'NOT DONE' or Derived Flag (--DRVFL) must have a value of 'Y' | Findings | Consistency | Warning | IR4162 |
| SD0048 | When Result or Finding in Original Units (--ORRES) is provided, then Status (--STAT) must be null | Findings | Consistency | Warning | IR4163 |
| SD0051 | For a given value of Visit Number (VISITNUM), all values of Visit Name (VISIT) should be the same | SV, TV | Consistency | Warning | IR4170 |
| SD0052 | For a given value of Visit Name (VISIT), all values of Visit Number (VISITNUM) should be the same | SV, TV | Consistency | Warning | IR4171 |
| SD0053 | When Arm Code (ARMCD) is equal to 'NOTASSGN', then Description of Arm (ARM) must equal 'Not Assigned', and vice versa. | DM, TA | Consistency | Error | IR4172 |
| SD0054 | Variables listed in the data definition document (define.xml) should be included in the dataset. | All | Metadata | Warning | IR4250 |
| SD0055 | Variable Data Types in the dataset should match the variable data types described in SDTM. | All | Metadata | Error | IR4251 |
| SD0056 | Variables described in SDTM as Required must be included in the dataset. | All | Metadata | Error | IR4252 |
| SD0057 | Variables described in SDTM as Expected should be included in the dataset. | All | Metadata | Warning | IR4253 |
| 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 | IR4254 |
| SD0059 | Variable Data Types in the dataset must match the variable data types described in the data definition document (define.xml). | All | Metadata | Error | IR4259 |
| SD0060 | Variables included in the dataset must be described in the data definition document (define.xml). | All | Metadata | Error | IR4260 |
| SD0061 | Domains referenced in data definition document (define.xml) should be included in the submission. | All | Metadata | Warning | IR4261 |
| SD0062 | Identifies a domain whose source data failed to load | All | System | Error | IR4262 |
| 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 | IR4264 |
| SD0064 | Identifies non-Demographics domain subjects not found in the Demographics domain | All | Cross-reference | Error | IR4500 |
| SD0065 | Identifies Unique Subject Identifier+Visit Name+Visit Number combination not found in the SV domain | All | Cross-reference | Warning | IR4501 |
| SD0066 | Planned Arm Code (ARMCD) values must match entries in the Trial Arms (TA) dataset, except for subjects who failed screening (ARMCD = 'SCRNFAIL'). | DM | Cross-reference | Warning | IR4502 |
| SD0067 | Element Code (ETCD) values must match entries in the Trial Elements (TE) dataset, except for unplanned Element (ETCD = 'UNPLAN'). | All | Cross-reference | Warning | IR4503 |
| SD0068 | Identifies records where the value for Inclusion/Exclusion Criterion Short name is not found in the TI domain | IE | Cross-reference | Error | IR4504 |
| SD0069 | All Demographics subjects should have at least one record in Disposition domain. | DM | Presence | Warning | IR4505 |
| SD0070 | All Demographics subjects participating in a study that includes investigational product should have at least one record in Exposure domain, except for subjects who failed screening (ARMCD = 'SCRNFAIL') or were not fully assigned to an Arm (ARMCD = 'NOTASSGN'). | DM | Presence | Warning | IR4506 |
| 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'). | DM | Cross-reference | Error | IR4507 |
| SD0072 | When comments are related to a domain, then the value of Related Domain Abbreviation (RDOMAIN) variable must reference the Domain Code of the parent domain. | CO | Consistency | Error | IR4508 |
| SD0073 | Identifies Related Records domain reference to an unknown related domain | RELREC | Consistency | Error | IR4509 |
| SD0074 | Identifies Supplemental Qualifiers domain reference to an unknown related domain | SUPPQUAL | Consistency | Error | IR4510 |
| SD0075 | Identifies Related Records domain reference to a key variable that isn't defined in the target domain | RELREC | Consistency | Error | IR4511 |
| SD0076 | Identifies Supplemental Qualifiers domain reference to a key variable that isn't defined in the target domain | SUPPQUAL | Consistency | Error | IR4512 |
| SD0077 | Identifies Related Records domain reference to a record that doesn't exist in the target domain | RELREC | Cross-reference | Error | IR4513 |
| SD0078 | Identifies Supplemental Qualifiers domain reference to a record that doesn't exist in the target domain | SUPPQUAL | Cross-reference | Error | IR4514 |
| SD0080 | Start Date/Time of Adverse Event (AESTDTC) must be less than or equal to the Start Date/Time of the latest Disposition Event (DSSTDTC) | AE | Consistency | Warning | IR4517 |
| SD0081 | Date/Time of Collection (--DTC) must be less than or equal to the Start Date/Time of the latest Disposition Event (DSSTDTC) | EG, LB, VS | Consistency | Warning | IR4517 |
| SD0082 | End Date/Time of Treatment (EXENDTC) must be less than or equal to the Start Date/Time of the latest Disposition Event (DSSTDTC) | EX | Consistency | Warning | IR4517 |
| 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 | R4006 |
| SD0085 | Identifies records that violate the condition [I/E Criterion Original Result = I/E Criterion Result in Std Format] | IE | Consistency | Warning | R4073 |
| SD0086 | Identifies records where values for [Study Identifier, Unique Subject Identifier, Identifying Variable, Identifying Variable Value, Qualifier Variable Name] variables(s) are not unique | SUPPQUAL | Consistency | Error | R4083 |
| SD0087 | Subject Reference Start Date/Time (RFSTDTC) is required for all randomized subjects, those where Planned Arm Code (ARMCD) is not equal to 'SCRNFAIL'. | DM | Consistency | Warning | R4096 |
| SD0088 | Subject Reference End Date/Time (RFENDTC) is required for all randomized subjects, those where Planned Arm Code (ARMCD) is not equal to 'SCRNFAIL'. | DM | Consistency | Warning | R4097 |
| SD0089 | Identifies records that violate the condition [Rule for End of Element is not null or Planned Duration of Element is not null] | TE | Consistency | Warning | R4101 |
| SD0090 | Identifies records that violate the condition [Results in Death='Y'], limited to records where [Outcome of Adverse Event='FATAL'] | AE | Consistency | Warning | R4102 |
| SD0091 | Identifies records that violate the condition [Outcome of Adverse Event='FATAL'], limited to records where [Results in Death='Y'] | AE | Consistency | Warning | R4103 |
| SD0092 | When subject's experience for a particular period of time is represented as an unplanned Element, where Element Code (ETCD) is equal to 'UNPLAN', then Description of Unplanned Element (SEUPDES) should be populated. | SE | Consistency | Warning | R4105 |
| SD0093 | When Age (AGE) is not null, then Age Units (AGEU) should be provided. | DM | Consistency | Warning | R4106 |
| 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 | IR4258 |
| 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 | When Age Units (AGEU) are not null, then Age (AGE) should be provided. | DM | Consistency | Warning | |
| SD1005 | Study Identifier (STUDYID) values must match the STUDYID in Demographics (DM) domain. | All | Consistency | Error | |
| SD1006 | When comments are related to a specific parent record or group of parent records in a domain, then the value of Identifying Variable (IDVAR) must reference a key variable name in the parent domain. | CO | Consistency | Error | |
| SD1007 | When comments are related to a specific parent record or group of parent records in a domain, then the values of Identifying Variable (IDVAR) and Identifying Variable Value (IDVARVAL) must reference a key variable name and value of the parent record(s) in the parent domain. | CO | Cross-reference | Error | |
| SD1008 | When comments are related to a specific parent record or group of parent records in a domain, then the value of Date/Time of Comment (CODTC) should be null because the timing of the parent record(s) is inherited by the comment record. | CO | Consistency | Warning | |
| SD1010 | When subject's experience for a particular period of time is represented as an unplanned Element, where Element Code (ETCD) is equal to 'UNPLAN', then Description of Element (ELEMENT) should be null. | SE | Consistency | Warning | |
| SD1011 | Duration, Elapsed Time, and Interval values must conform to the ISO 8601 international standard. | All | Format | Error | |
| SD1012 | The combination of Element Code (ETCD) and Description of Element (ELEMENT) values must match entries in the Trial Elements (TE) dataset, except for unplanned Element (ETCD = 'UNPLAN'). | SE, TA | Cross-reference | Warning | |
| SD1014 | Order of Element within Arm (TAETORD) values must match entries in the Trial Arms (TA) dataset. | Timing | Cross-reference | Warning | |
| SD1015 | Epoch (EPOCH) values must match entries in the Trial Arms (TA) dataset. | Timing | Cross-reference | Warning | |
| SD1016 | The combination of Inclusion/Exclusion Criterion Short Name (IETESTCD), Criterion (IETEST), and Category (IECAT) values must match entries in the Trial Inclusion/Exclusion Criteria (TI) dataset. | IE | Cross-reference | Warning | |
| SD1017 | For planned visits, where Description of Unplanned Visit (SVUPDES) is null, Visit Number (VISITNUM) values must match entries in the Trial Visits (TV) dataset. | SV | Cross-reference | Warning | |
| SD1018 | For planned visits, where Description of Unplanned Visit (SVUPDES) is null, the combination of Visit Number (VISITNUM), Visit Name (VISIT), and Planned Study Day of Visit (VISITDY) values must match entries in the Trial Visits (TV) dataset. | SV | Cross-reference | Warning | |
| SD1019 | For unplanned visits, where Description of Unplanned Visit (SVUPDES) is populated, Planned Study Day of Visit (VISITDY) should be null. | SV | Consistency | Warning | |
| SD1020 | Demographics (DM) dataset should be included in every submission. | DM | Presence | Error |
