CDISC Define.xml 1.0 Validation Rules
The following is a listing of CDISC Define.xml version 1.0 validation rules supported by OpenCDISC Validator.
| Rule ID | Description of Rule | Category | Type |
|---|---|---|---|
| DD0002 | In addition to default CDISC ODM namespace, the Define.xml must reference XML Schema Instance (xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"), XLink (xmlns:xlink="http://www.w3.org/1999/xlink"), CDISC Define (xmlns:def="http://www.cdisc.org/ns/def/v1.0") namespaces. | Structure | Error |
| DD0003 | Required attributes must be included in Define.xml and cannot be empty. | Presence | Error |
| DD0004 | The Define.xml must contain only attributes defined in the standard. | Metadata | Warning |
| DD0005 | An attribute was found in the wrong position within Define.xml. | Metadata | Error |
| DD0006 | Required elements must be included in Define.xml and cannot be empty. | Presence | Error |
| DD0007 | The Define.xml must contain only elements defined in the standard. | Metadata | Warning |
| DD0008 | An element was found in the wrong position within Define.xml. | Metadata | Error |
| DD0009 | Element occurs in Define.xml more than once, but it is limited to only one occurrence by the specification. | Consistency | Error |
| DD0010 | ODM attributes that are optional and are not explicitly specified in Define.xml standard should not be included. | Metadata | Warning |
| DD0011 | ODM elements that are optional and are not explicitly specified in Define.xml standard should not be included. | Metadata | Warning |
| DD0012 | The ID attribute for def:leaf element must be unique within a single MetaDataVersion. | Consistency | Error |
| DD0013 | The OID attribute for def:ComputationMethod element must be unique within a single MetaDataVersion. | Consistency | Error |
| DD0014 | The OID attribute for def:ValueListDef element must be unique within a single MetaDataVersion. | Consistency | Error |
| DD0015 | The value of leafID attribute references a non-existent def:leaf element. | Cross-reference | Error |
| DD0016 | The value of def:ComputationMethodOID attribute references a non-existent def:ComputationMethod element. | Cross-reference | Error |
| DD0017 | The value of def:ValueListDefOID attribute references a non-existent def:ValueListDef element. | Cross-reference | Error |
| DD0018 | The ItemGroupDef def:ArchiveLocationID should match the ID of the child def:leaf | Consistency | Error |
| DD0019 | The FileType must have a value of 'Snapshot'. | Terminology | Error |
| DD0020 | The def:DefineVersion should have a value of '1.0.0'. | Terminology | Warning |
| DD0021 | The def:StandardName should have a value of 'CDISC SDTM', 'CDISC SEND', or 'CDISC ADaM'. | Terminology | Warning |
| DD0022 | The def:StandardVersion should have a valid value for the given external standard. Allowed values are '3.1.0', '3.1.1', or '3.1.2' for CDISC SDTM, '2.3' or '3.0' for CDISC SEND, and '1.0 for CDISC ADaM. | Terminology | Warning |
| DD0023 | An element was found in the wrong order within Define.xml. | Metadata | Error |
| DD0024 | The allowed values for this variable are restricted by a non-extensible CDISC controlled terminology codelist, however the CodeList referenced in define.xml contains items that are not part of CDISC codelist. | Metadata | Error |
| OD0001 | The ODM file must contain well-formed XML. | Structure | Error |
| OD0002 | The ODM file must reference the CDISC ODM namespace 'http://www.cdisc.org/ns/odm/v1.2'. | Structure | Error |
| OD0003 | Required attributes must be included in ODM file and cannot be empty. | Presence | Error |
| OD0006 | Required elements must be included in ODM file and cannot be empty. | Presence | Error |
| OD0009 | Element occurs in ODM file more than once, but it is limited to only one occurrence by the specification. | Consistency | Error |
| OD0010 | The ODM file must start with an XML declaration. | Structure | Error |
| OD0011 | The ODM file must use UTF-8, UTF-16, or ISO-8859-1 encoding. | Structure | Error |
| OD0012 | The ODM file must contain a root element called ODM. | Structure | Error |
| OD0013 | Attribute or element is defined as an integer, but text string does not match the named data format. Allowed string pattern for an integer is '-?digit+'. | Format | Error |
| OD0014 | Attribute or element is defined as a float, but text string does not match the named data format. Allowed string pattern for a float is '-?digit+(.digit+)?'. | Format | Error |
| OD0015 | Attribute or element is defined as a date, but text string does not match the named data format. Allowed string pattern for a date is 'YYYY-MM-DD'. | Format | Error |
| OD0016 | Attribute or element is defined as a time, but text string does not match the named data format. Allowed string pattern for a time is 'hh:mm:ss(.n+)? ((+|-)hh:mm)?'. | Format | Error |
| OD0017 | Attribute or element is defined as a datetime, but text string does not match the named data format. Allowed string pattern for a datetime is 'YYYY-MM-DD T hh:mm:ss(.n+)? ((+|-)hh:mm)?'. | Format | Error |
| OD0018 | Attribute or element is defined as a sasName, but text string does not match the named data format. Allowed string pattern for a sasName is '(letter|_)(letter|digit|_)*'. | Format | Error |
| OD0019 | Attribute or element is defined as a sasFormat, but text string does not match the named data format. Allowed string pattern for a sasFormat is '(letter|_|$)(letter|digit|_|.)*'. | Format | Error |
| OD0020 | Attribute or element is defined as a fileName, but text string does not match the named data format. Allowed string pattern for a fileName is '(letter|digit|_|.)+'. | Format | Error |
| OD0021 | Attribute or element is defined as a languageTag, but text string does not match the named data format. Allowed values are specified in IETF RFC 3066: Tags for the Identification of Languages. | Format | Error |
| OD0022 | The OID attribute for Study element must be unique within a related series of ODM documents. | Consistency | Error |
| OD0027 | The OID attribute for MetaDataVersion element must be unique within a single study. | Consistency | Error |
| OD0030 | The OID attribute for ItemGroupDef element must be unique within a single MetaDataVersion. | Consistency | Error |
| OD0031 | The OID attribute for ItemDef element must be unique within a single MetaDataVersion. | Consistency | Error |
| OD0032 | The OID attribute for CodeList element must be unique within a single MetaDataVersion. | Consistency | Error |
| OD0041 | The ItemOID attribute for ItemRef element must be unique within a single ItemGroupDef. | Consistency | Error |
| OD0042 | The OrderNumber attribute for ItemRef element must be unique within a single ItemGroupDef. | Consistency | Warning |
| OD0046 | The value of ItemOID attribute references a non-existent ItemDef element. | Cross-reference | Error |
| OD0048 | The value of CodeListOID attribute references a non-existent CodeList element. | Cross-reference | Error |
| OD0070 | The Length attribute is required when DataType is integer, float, or text. | Presence | Error |
| OD0071 | The SignificantDigits attribute is required when DataType is float. | Presence | Error |
| OD0072 | The Repeating flag must have a value of 'Yes' or 'No'. | Terminology | Error |
| OD0073 | The IsReferenceData flag must have a value of 'Yes' or 'No'. | Terminology | Error |
| OD0074 | The Mandatory flag must have a value of 'Yes' or 'No'. | Terminology | Error |
| OD0075 | The DataType attribute for ItemDef element must have a value of 'integer', 'float', 'date', 'datetime', 'time', or 'text'. | Terminology | Error |
| OD0076 | The DataType attribute for CodeList element must have a value of 'integer', 'float', or 'text'. | Terminology | Error |
| OD0077 | The CodedValue must match the DataType of the containing CodeList. | Format | Error |
| OD0078 | When CodeList DataType is 'text' the SASFormatName should start with a '$'. | Format | Warning |
| OD0079 | The CodedValue must be unique within a single CodeList. | Consistency | Error |
| OD0080 | The ItemDef DataType should match the DataType of the referenced CodeList. | Consistency | Error |
| OD0081 | The discrete set of permitted values in a CodeList must be defined as an explicit list of values 'CodeListItem*' or as a reference to an externally defined codelist 'ExternalCodeList'. | Consistency | Error |
| OD0082 | The CodeList must contain 'CodeListItem*' or 'ExternalCodeList' elements, but not both. | Consistency | Error |
