cdisc · Schema
CDISC Dataset (Domain)
Schema representing a CDISC SDTM or ADaM dataset domain specification including all variables.
Properties
| Name | Type | Description |
|---|---|---|
| name | string | Dataset/domain abbreviation (e.g., AE, CM, DM) |
| label | string | Human-readable label for the dataset |
| description | string | Detailed description of the dataset purpose and content |
| datasetClass | string | SDTM general observation class |
| structure | string | Dataset structure (one record per subject, one record per visit, etc.) |
| purpose | string | Dataset purpose: Tabulation or Analysis |
| keys | array | Key variables that uniquely identify a record |
| variables | array | List of variables (columns) in the dataset |
| _links | object | HAL hypermedia links |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://library.cdisc.org/api/schemas/dataset",
"title": "CDISC Dataset (Domain)",
"description": "Schema representing a CDISC SDTM or ADaM dataset domain specification including all variables.",
"type": "object",
"required": ["name", "label"],
"properties": {
"name": {
"type": "string",
"description": "Dataset/domain abbreviation (e.g., AE, CM, DM)",
"pattern": "^[A-Z]{2,4}$",
"examples": ["AE", "CM", "DM", "EX", "LB"]
},
"label": {
"type": "string",
"description": "Human-readable label for the dataset",
"examples": ["Adverse Events", "Concomitant/Prior Medications", "Demographics"]
},
"description": {
"type": "string",
"description": "Detailed description of the dataset purpose and content"
},
"datasetClass": {
"type": "string",
"description": "SDTM general observation class",
"enum": ["Events", "Findings", "Interventions", "Special Purpose", "Relationship", "Trial Design"]
},
"structure": {
"type": "string",
"description": "Dataset structure (one record per subject, one record per visit, etc.)"
},
"purpose": {
"type": "string",
"description": "Dataset purpose: Tabulation or Analysis",
"enum": ["Tabulation", "Analysis"]
},
"keys": {
"type": "array",
"description": "Key variables that uniquely identify a record",
"items": {
"type": "string"
},
"examples": [["STUDYID", "USUBJID", "AESEQ"]]
},
"variables": {
"type": "array",
"description": "List of variables (columns) in the dataset",
"items": {
"$ref": "#/$defs/Variable"
}
},
"_links": {
"type": "object",
"description": "HAL hypermedia links",
"properties": {
"self": {
"$ref": "#/$defs/Link"
},
"parentClass": {
"$ref": "#/$defs/Link"
},
"parentProduct": {
"$ref": "#/$defs/Link"
}
}
}
},
"$defs": {
"Variable": {
"type": "object",
"required": ["name", "label", "dataType", "core"],
"properties": {
"name": {
"type": "string",
"description": "Variable name (e.g., AETERM)",
"pattern": "^[A-Z][A-Z0-9]{1,7}$"
},
"label": {
"type": "string",
"description": "Variable label (40 char max)",
"maxLength": 40
},
"description": {
"type": "string",
"description": "Detailed variable description"
},
"dataType": {
"type": "string",
"description": "SAS data type",
"enum": ["Char", "Num", "date", "datetime", "partialDate", "partialDatetime", "time", "partialTime", "integer", "float", "text", "uri"]
},
"length": {
"type": "integer",
"description": "Maximum length for character variables",
"minimum": 1
},
"significantDigits": {
"type": "integer",
"description": "Number of significant digits for numeric variables"
},
"format": {
"type": "string",
"description": "SAS format for display",
"examples": ["DATE9.", "TIME5.", "DATETIME19."]
},
"role": {
"type": "string",
"description": "Variable role within the SDTM general observation class",
"enum": [
"Identifier",
"Topic",
"Record Qualifier",
"Result Qualifier",
"Synonym Qualifier",
"Variable Qualifier",
"Timing",
"Rule",
"Grouping Qualifier"
]
},
"core": {
"type": "string",
"description": "Variable core status indicating requirement level",
"enum": ["Required", "Expected", "Permissible", "Conditionally Required", "Conditionally Expected"]
},
"codelistSubmissionValues": {
"type": "array",
"description": "Applicable CDISC controlled terminology codelist submission values",
"items": {
"type": "string"
}
},
"valueList": {
"type": "array",
"description": "Enumerated list of allowed values",
"items": {
"type": "string"
}
},
"ordinal": {
"type": "integer",
"description": "Variable ordering position within the dataset"
},
"simpleDatatype": {
"type": "string",
"description": "Simplified datatype",
"enum": ["text", "integer", "float", "date", "datetime", "time"]
}
}
},
"Link": {
"type": "object",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"title": {
"type": "string"
}
}
}
}
}