Inventory
CDASH
All CDASH CT codelists are a subset of an SDTM CT codelist. CDASHIG v2.1 metadata table contain these relevant columns & their description:
- Controlled Terminology Codelist Name: This column contains the Controlled Terminology (CT) codelist name, e.g., "LOC", that is associated with the field. The SDTMIG indicates that certain variables (e.g., dates) use ISO formats as CT. However, in CDASH these variables are generally not collected using the ISO CT; these variables are converted to the ISO Format when the SDTM-based submission datasets are created.
- Subset Controlled Terminology / CDASH Codelist Name: This column contains the CDISC Controlled Terminology or CDASH Subset Codelist name that may be used for that specific variable (e.g., EXDOSFRM).
CDASH Model and CDASHIG have data collection fields that are specialized for external dictionaries. Suffice to add, there is dedicated column in the metadata table for users to easily discern this property. Examples:
- --PTCD and AEPTCD for "MedDRA code for the Preferred Term"
- --LOINC for "LOINC Code"
- --ATC1 and CMATC1 for WHODrug's "ATC Level 1 Description"
SDTM
In general, SDTM variable's controlled terms can be categorized into these categories:
- CDISC Controlled Terminology
- Conditional codelist
- PK unit codelist vs. normalized unit codelists
- External dictionaries, e.g., MedDRA, WHODrug Global, LOINC, DUNS, etc.
- Dataset and variable identifiers for data referential purpose, e.g., IDVAR, IDVARVAL, RDOMAIN
- Partially controlled:
- "UNPLAN" for SE.ETCD, otherwise not controlled
- "Screen Failure" for DM.ACTARM, otherwise subject to study design
ADaM
Value List
Aside from the use of CDISC CT and external dictionaries, some ADaM variables have a value list. Here is a representative list:
| Variable | Value List | Remarks |
---|
1 | SMQzzSC | BROAD, NARROW |
|
2 | SMQzzSCN | 1, 2 | This is a numerical representation of BROAD and NARROW in SMQzzSC. One can deduce the value meaning by pairing these two representations. However, to a machine, it will need a method to store the definition. |
3 | CRITyFL | Y or Y, N | Need clarification about this "or" notation |
4 | CRITyFN | 1 or 1, 0 | Same as SMQzzSCN, CRITyFN is the numerical representation of CRITyFL |
Codetables
Codetables have sometimes referred to response codelist in casual conversations, although their utilization goes beyond just test & response. The following sections describe some of the representative use cases.
QRS Supplement to SDTMIG
These supplement publications illustrate detailed relationship among --CAT, --TEST, --ORRES, --STRSC, --STRESN for QRS using SDTM CT; and, the alignment to the SDTMIG QS, FT, and RS domains. Additional properties in other SDTMIG variables may occasionally be at play, e.g., --EVLINT.
Response codelist is also applicable. Coded ordinals are a good example, where responses may have a numerical value (code) & a label (decode).
Term Mappings
Two prime examples published onto the CDISC webiste are collapsing 1) RACEC (90+ terms) to RACE (7 terms), and 2) ETHNICC (70+ terms) to ETHNIC (4 terms).
TESTCD & TEST Pairing
Whether it is pairing TESTCD with TEST or PARMCD with PARM CT codelists, the idea is relating coded terms to their corresponding decode where they share the same concept. In other words, they have the same meaning with different textual representation.
Value Domains Driven by Data Types
Certain CDISC variables have prescribed value domains that hinges on data types or sub-types. Here is a list of representative sample:
| Variable | Described Value Domain | Value Domain in ODM Data Type(s) | Constrains | Rules |
---|
1 | --DTC | ISO 8601 datetime | datetime, date, time, partialDate, partialTime, partialDatetime, incompleteDatetime, intervalDatetime |
|
|
2 | --DTC | ISO 8601 duration | durationDatetime |
|
|
3 | --SEQ | Num | float |
|
|
4 | TDSTOFF | Num | integer | 0 or any positive integer |
|
5 | RPRFDY | Num | integer | 0; 1 |
|
6 | ECDOSE | Num | float | Any positive number | With a rule that a value can't be 0 |
Model
Basic Construct
Let Severity be a Conceptual Domain (CD), then the set {MILD, MODERATE, SEVERE} is a Value Domain (VD) for this CD. Similarly, {1, 2, 3} is another set of VD, in an numerical representation. These 2 VDs fall to the VD subclass called Enumerated Value Domain (EVD). To overlay semantic, each member, or Permissible Value (PV) of the VD may have a Value Meaning (VE). Therefore, when each PV from these 2 EVDs share the same VE, they are bound.
Let Representation of Dates & Times be a CD. ISO 8601 Datetime and ISO 8601 Duration are the associated DVDs. Another class of VD is Described Value Domain (DVD). DVDs do not have enumerated members. Instead, the PV is through descriptions (VM), as suggested in the name.
Let VD be a set of PV, therefore:
- A VD may have these properties
- An Administrative record
- A definition
- A data type
- A relationship to another VD
- A unit of measure, especially quantitative results
- A Format template e.g., CDASH's dates, ADaM's SAS format, etc.
- A length descriptor, for character data type
- A VD may be enumerated, described, or continuous
- Enumerated VD contains discrete values, e.g., {MILD, MODERATE, SEVERE}
- Described VD contains a description of what data values are permissible, e.g., LLT from MedDRA by MSSO
- Continuous VD whose PV may be free text, with or without any nomenclature.
- A PV may belong to 1..n VD
- A Permissible Value may have a Value Meaning
- Representation of its value meaning is independent of, and shall not be constrained by, the representation of its corresponding value
- A Value Meaning may have 1:n representations, hence taking a unique form of PV
- For a Permissible Value to become a member of VD, use a start date
- To retire a Permissible Value from a VD, use an end date
Deduction
# | CDISC Use Case | Is Represented in the MDR as |
---|
1 | External dictionary's component | - Value Domain
- Is a Described Value Domain
|
2 | External dictionary NOS, e.g., Rat Genome Database | - Value Domain
- Is a Described Value Domain
|
3 | number-number in DM.AGETXT | - Value Domain
- Has a format template, e.g., {integer}-{integer}
- Is a Continuous Domain
|
4 | Variables using CDISC CT | - Codelist: Value Domain (Enumerated Value Domain)
- CDISC Submission Value: PV
- CDISC Definition: Value Meaning
|
5 | TESTCD & TEST pairing | - A Conceptual Domain with two sets of VD, where each PV is bound by having the same VM
|
6 | PARMCD * PARM pairing | - A Conceptual Domain with two sets of VD, where each PV is bound by having the same VM
|
7 | CDASH CT as subset of SDTM CT | - Value domain
- Is an Enumerated Value Domain
- Has a VD-to-VD relationship
- Relationship has property of "how", i.e., "A subset of"
|
8 | Term mappings (e.g., RACEC to RACE) | - Value Domain
- Is an Enumerated Value Domain
- Has a VD-to-VD relationship, i.e., source EVD & target EVD)
- Relationship has property of "how", i.e., "Is a value mapping to"
|
9 | PK unit codelist vs. normalized unit codelists | - Value Domain
- Is an Enumerated Value Domain
- Has a VD-to-VD relationship, i.e., source EVD & target EVD)
- Relationship has property of "how", i.e., "Is a normalization of unit of measurement to"
|
10 | Quantitative numerical results, ADaM's AVAL, SDTM's --STRESN | - Value Domain
- Is a Continuous Domain, i.e., value domain whose PV are not a discrete list
- Ideally, for a record in an SDT\M Findings dataset record, especailly pre-coordinated tests
- {--TEST, --ORRES, --ORRESU} is a DE
- {--TEST, --STRESC, --STRESU} is another DE
- These 2 DEs share the same Data Element Concept (DEC), i.e., the --TEST
|
11 | Value list in ADaMIG | - Value Domain
- Is an Enumerated Value Domain
- May not have Value Meaning, e.g., Y
|
12 | QRS Supplements to SDTMIG mappings | - Each questionnaire item is a DEC
- Its response is a VD
- A VD may be an Enumerated value domain (e.g., coded ordinals, dichotomy), or a continuous domain (e.g., sliding scale)
- Free text response is also a kind of continuous domain
|
13 |
|
|
Questions
- Does ADaM's parameter VLM have any relevance here?
- Is EVS onboard with managing subsets? In other words, must subsets need to have a unique identifier?
However, for the BC Height the valid units of measure may only include two units, cm and in . CDISC 360 requires the instantiation of a codelist subset so that th e BC can reference a codelist , which includes only the Height BC units . This subs et will have an identifier such as a concept code.
- Do we treat different components of an external dictionary as separate described value domains? For example, MedDRA's LLT, HLGT, etc as separate DVD in the repository?
- The use case of SDTM variables having partially controlled values is weird. Any good suggestions?