CDISC ODM 1.3.0

Purpose

(Source: CDISC Web site http://www.cdisc.org/odm)
The CDISC ODM standard facilitates the archival and interchange of the metadata and data for clinical research. ODM is a vendor-neutral, platform-independent format for the interchange and archival of clinical study data. ODM includes the clinical data and its associated metadata, administrative data, reference data, and audit information. All of the information that needs to be shared during setup, operation, analysis, and submission, as well as for long-term retention as part of an archive, is included in ODM.

Release Date

CDISC ODM, Version 1.3.0, December 15, 2006

CDISC ODM 1.3.0 Reference Standard

The SAS Clinical Standards Toolkit 1.4 supports this CDISC ODM 1.3.0 functionality:
  • reading and representing in SAS a complete odm.xml file (specific limitations are noted below)
  • building an odm.xml file from a SAS representation of the ODM standard
  • schema-level validating of an odm.xml file
  • validating the structure and content of the SAS representation of an odm.xml file
  • identifying unsupported (unrecognized) ODM elements and attributes by using a sample tool
The SAS Clinical Standards Toolkit 1.4 does not support this CDISC ODM 1.3.0 functionality:
  • reading or writing the DigitalSignatures section of the ODM
  • vendor or customer extensions of the ODM
  • any functionality added with ODM 1.3.1
  • processing is limited to a single ODM file (for example, the use of PriorFileOID to reference another file is ignored)
  • Full file metadata is expected in each file.
  • Effective support only for ODM FileType=Snapshot. The SAS Clinical Standards Toolkit 1.4 makes no attempt to process multiple transactions per data point; multiple transactions are saved in the SAS ODM representation for subsequent processing
The domain and column metadata that constitute the SAS representation of CDISC ODM 1.3.0 are derived from the global standards library in these formats:
Sample Reference_Tables Record (CDISC ODM 1.3.0)
Column Name
Column Value
sasref
REFDATA
table
ITEMGROUPDATA
label
Item group-level data information
keys
FK_FORMDATA FK_REFERENCEDATA ITEMGROUPOID ITEMGROUPREPEATKEY
standard
CDISC-ODM
standardversion
1.3.0
standardref
comment
xmlelementname
ItemGroupData
class
ITEMGROUPDATA
Sample Reference_Columns Record (CDISC ODM 1.3.0)
Column Name
Column Value
sasref
REFDATA
table
SUBJECTDATA
column
SUBJECTKEY
label
Uniquely identifies a subject in a study
order
2
type
C
length
2000
displayformat
$2000.
standard
CDISC-ODM
standardversion
1.3.0
standardref
comment
core
Req
xmlcodelist
xmlattributename
SubjectKey
qualifier
As a general rule, the SAS representation of the CDISC ODM standard is patterned to match the XML element (data set) and attribute (column) structure of odm.xml. For example, consider this XML extract:
<ClinicalData StudyOID="P2006-101" MetadataVersionOID="101.01">
 <SubjectData SubjectKey="1000" TransactionType="Insert">
  <StudyEventData StudyEventOID="101.Screen">
   <FormData FormOID="101.DEMOG">
    <ItemGroupData ItemGroupOID="101.DM">
     <ItemDataString ItemOID="101.USUBJID">101-01-01</ItemDataString>
     <ItemDataString ItemOID="101.SEX">F</ItemDataString>
    </ItemGroupData>
   </FormData>
  </StudyEventData>
 </SubjectData>
</ClinicalData>
This table describes how the XML element and attribute information maps to the SAS representation.
Sample Mapping of odm.xml File to SAS Representation
XML Element or Attribute
SAS Data Set
SAS Column
SAS Column Value
<ClinicalData StudyOID="P2006-101" MetadataVersionOID="101.01">
ClinicalData
StudyOID
MetaDataVersionOID
"P2006-101"
"101.01"
<SubjectData SubjectKey="1000" TransactionType="Insert">
SubjectData
SubjectKey
TransactionType
"1000"
"Insert"
<StudyEventData StudyEventOID="101.Screen">
StudyEventData
StudyEventOID
"101.Screen"
<FormData FormOID="101.DEMOG">
FormData
FormOID
"101.DEMOG"
<ItemGroupData ItemGroupOID="101.DM">
ItemGroupData
ItemGroupOID
"101.DM"
<ItemDataString ItemOID="101.USUBJID">101-01-01</ItemDataString>
ItemData
ItemOID
ItemDataType
Value
"101.USUBJID"
"ItemDataString"
"101-01-01"
<ItemDataString ItemOID="101.SEX">F</ItemDataString>
ItemData
ItemOID
ItemDataType
Value
"101.SEX"
"ItemDataString"
"F"
This table lists the complete set of 66 tables that form the SAS Clinical Standards Toolkit 1.4 SAS representation of the CDISC ODM 1.3.0 standard.
Data Sets in the SAS Representation of the CDISC ODM 1.3.0 Standard
Table
Table
AdminData
ItemRangeCheckValues
Annotation
ItemRCFormalExpression
AnnotationFlag
ItemRole
Association
KeySet
AuditRecord
Location
ClinicalData
LocationVersion
CLItemDecodeTranslatedText
MeasurementUnits
CodeListItems
MetaDataVersion
CodeLists
MethodDefFormalExpression
ConditionDefFormalExpression
MethodDefs
ConditionDefs
MethodDefTranslatedText
ConditionDefTranslatedText
MUTranslatedText
EnumeratedItems
ODM
ExternalCodeLists
Presentation
FormData
ProtocolEventRefs
FormDefArchLayouts
ProtocolTranslatedText
FormDefItemGroupRefs
RCErrorTranslatedText
FormDefs
ReferenceData
FormDefTranslatedText
Signature
ImputationMethods
SignatureDef
ItemAliases
Study
ItemData
StudyEventData
ItemDefs
StudyEventDefs
ItemDefTranslatedText
StudyEventDefTranslatedText
ItemGroupAliases
StudyEventFormRefs
ItemGroupData
SubjectData
ItemGroupDefItemRefs
User
ItemGroupDefs
UserAddress
ItemGroupDefTranslatedText
UserAddressStreetName
ItemMURefs
UserEmail
ItemQuestionExternal
UserFax
ItemQuestionTranslatedText
UserLocationRef
ItemRangeChecks
UserPhone
The highly structured nature of CDISC ODM data requires that any mapping to a relational format include a large number of data sets, with foreign key relationships to help preserve the intended non-relational object structure. In the SAS Clinical Standards Toolkit, foreign key relationships are enforced when validating the CDISC ODM data sets.
Field lengths in the CDISC ODM data sets are consistent by core data type. CDISC has not specified any limit to the length of most character fields. Arbitrary lengths have been chosen by data type. These lengths are listed in this table. In the table, standard data types are distilled into core data types. To be safe, larger lengths have been chosen to ensure that no data loss occurs in the SAS Clinical Standards Toolkit pre-installed data sets. Production tables might be compressed using SAS mechanisms to preserve disk space.
CDISC ODM Default Lengths by Data Type
Type Name
Length
Description
oid
64
A unique object identifier or a reference
text
2000
A character field that can accommodate a large number of characters
name
128
A descriptive identifier
value
512
An item of collected or reference data
path
512
An absolute or relative file system path or URL
The table metadata for the 66 data sets and the column metadata for the 315 columns in those data sets that comprise the SAS representation of the CDISC ODM 1.3.0 standard are in this folder:
<global standards library directory>/standards/cdisc-odm-1.3.0-1.4/metadata.
Table metadata is in reference_tables.sas7bdat, and column metadata is in reference_columns.sas7bdat.
ODM 1.3.0 SAS Data Sets shows the CDISC ODM 1.3.0 data model that is the foundation for implementation in the SAS Clinical Standards Toolkit. No data set has more than one variable that acts as the key or index for that data set. The key variable name is appended with two asterisks (**). Some data sets do not have a key. A foreign key variable name is appended with two carat characters (^^). A foreign key variable name references the name of the data set for which it is a foreign key. The data set name is referenced within brackets. A required field is marked with an X between brackets, [X]. A required field is a field for which a non-nil and non-whitespace-only value must be provided for any observation in that data set.
Only the ODM data set, which contains valid values for the FileOID, CreationDateTime, and FileType variables, is needed to create a minimal, but valid, CDISC ODM-compliant XML document. This is based on the CDISC ODM standard, which is flexible. All table and column names are case sensitive. They must be specified exactly as shown.
In the SAS implementation of the relational data model, the keys are extended to define a unique record in every SAS data set. For example, a unique record in the EnumeratedItems data set is defined by the variables FK_CODELISTS and CODEDVALUE. These SAS data set keys are in the table metadata in the SAS Reference_Tables data set.
Starting in ODM 1.3.0, there are two forms of the ItemData element, which is the element used by ODM for transmitting clinical data item values. These two forms are untyped and typed. Here is an example of a typed ItemData element:
<ItemDataFloat ItemOID="ItemDef.OID.VS.VSSTRESN" TransactionType="Insert">76</ItemDataFloat>
Here is an example of an untyped ItemData element:
<ItemData ItemOID="ID.AETERM" Value="HEADACHE" />
Both of these data values are stored in the Value variable in the ItemData SAS data set. In the case of typed data, the ItemDataType variable in the ItemData SAS data set has the data type (for example, Float). In the case of untyped data, the ItemDataType variable in the ItemData SAS data set is null.
Typed and untyped data transmission should not be mixed within a single ODM file. However, in the example provided by the SAS Clinical Standards Toolkit, both types are part of the same example for demonstration purposes.
With the production release of the SAS Clinical Standards Toolkit 1.4, the CDISC ODM standard supports reading and representing in SAS a complete odm.xml file, building an odm.xml file, and validating the structure and content of the SAS representation of an odm.xml file. In addition, it validates the structural integrity of the odm.xml file.
To support all of this functionality, supplemental files include the following global standards library files:
  • A SAS format catalog (crtddsct.sas7bcat) in the formats folder provides valid values for selected columns in the 66 tables of the SAS representation.
  • The Messages data set in the messages folder provides error messaging for all Validation Master checks.
  • The Validation Master data set in the validation/control folder contains the superset of checks validating the structure and content of the 66 tables.
  • SAS code in the macros folder provides CDISC ODM-specific code that augments the code provided in the primary SAS Clinical Standards Toolkit autocall library (!sasroot/cstframework/sasmacro).
It is this set of files, in whole or in part, that defines the CDISC ODM reference standard.