SDC4 Data Types Reference

Overview

SDCStudio supports the full range of SDC4 data types, providing a comprehensive foundation for data modeling. This reference guide covers all supported data types, their characteristics, validation options, and usage examples.

Core Data Types

Primitive Types

XdString

  • Purpose: Text data with validation rules
  • Base Type: sdc4:XdStringType
  • Validation Options:
  • Pattern matching (regex)
  • Length constraints (min/max)
  • Enumeration values
  • Required/optional flags
<xsd:element name="state" type="mc-state-type">
  <xsd:annotation>
    <xsd:documentation>US State name</xsd:documentation>
  </xsd:annotation>
</xsd:element>

XdCount

  • Purpose: Integer values with constraints
  • Base Type: sdc4:XdCountType
  • Validation Options:
  • Range constraints (min/max)
  • Precision requirements
  • Units specification
  • Reference ranges
<xsd:element name="population" type="mc-population-type">
  <xsd:annotation>
    <xsd:documentation>Total population count</xsd:documentation>
  </xsd:annotation>
</xsd:element>

XdQuantity

  • Purpose: Numeric values with units
  • Base Type: sdc4:XdQuantityType
  • Validation Options:
  • Range constraints
  • Unit validation
  • Precision requirements
  • Reference ranges
<xsd:element name="percentage" type="mc-percentage-type">
  <xsd:annotation>
    <xsd:documentation>Percentage value with units</xsd:documentation>
  </xsd:annotation>
</xsd:element>

XdBoolean

  • Purpose: True/false values
  • Base Type: sdc4:XdBooleanType
  • Validation Options:
  • Default values
  • Required/optional flags
<xsd:element name="active" type="mc-active-type">
  <xsd:annotation>
    <xsd:documentation>Active status flag</xsd:documentation>
  </xsd:annotation>
</xsd:element>

XdDateTime

  • Purpose: Date and time values
  • Base Type: sdc4:XdDateTimeType
  • Validation Options:
  • Format validation
  • Range constraints
  • Timezone handling
<xsd:element name="created_date" type="mc-created-date-type">
  <xsd:annotation>
    <xsd:documentation>Creation timestamp</xsd:documentation>
  </xsd:annotation>
</xsd:element>

XdFloat/XdDouble

  • Purpose: Floating-point numbers
  • Base Type: sdc4:XdFloatType / sdc4:XdDoubleType
  • Validation Options:
  • Range constraints
  • Precision requirements
  • Units specification
<xsd:element name="latitude" type="mc-latitude-type">
  <xsd:annotation>
    <xsd:documentation>Geographic latitude</xsd:documentation>
  </xsd:annotation>
</xsd:element>

Complex Types

Clusters

  • Purpose: Grouped related components
  • Structure: Container for multiple components
  • Usage: Logical grouping of clinical/domain data elements

Important: Clusters in the data section should contain clinical/domain data only, NOT identity information. Use Party components in the DM's subject field for identity.

<xsd:element name="vital_signs" type="mc-vital-signs-cluster">
  <xsd:annotation>
    <xsd:documentation>Vital signs measurements cluster</xsd:documentation>
  </xsd:annotation>
</xsd:element>

Lists

  • Purpose: Ordered collections of components
  • Structure: Sequence of similar elements
  • Usage: Repeated data patterns
<xsd:element name="cities" type="mc-cities-list">
  <xsd:annotation>
    <xsd:documentation>List of cities in state</xsd:documentation>
  </xsd:annotation>
</xsd:element>

References

  • Purpose: Links to other components
  • Structure: Pointer to existing component
  • Usage: Component reuse and relationships
<xsd:element name="state_ref" type="mc-state-reference">
  <xsd:annotation>
    <xsd:documentation>Reference to state component</xsd:documentation>
  </xsd:annotation>
</xsd:element>

Adapters

  • Purpose: Wrapper components for special handling
  • Structure: Container with specific behavior
  • Usage: Custom processing and validation
<xsd:element name="state_adapter" type="mc-state-adapter">
  <xsd:annotation>
    <xsd:documentation>State component adapter</xsd:documentation>
  </xsd:annotation>
</xsd:element>

Validation Rules

Pattern Validation

Regex Patterns

  • String Validation: Regular expression patterns
  • Format Enforcement: Consistent data formats
  • Custom Rules: Domain-specific validation
<xsd:restriction base="sdc4:XdStringType">
  <xsd:pattern value="[A-Z]{2}"/>
  <xsd:minLength value="2"/>
  <xsd:maxLength value="2"/>
</xsd:restriction>

Range Validation

  • Numeric Constraints: Min/max value limits
  • Date Ranges: Temporal constraints
  • Custom Ranges: Business rule enforcement
<xsd:restriction base="sdc4:XdCountType">
  <xsd:minInclusive value="0"/>
  <xsd:maxInclusive value="999999999"/>
</xsd:restriction>

Enumeration Validation

Value Lists

  • Predefined Values: Allowed value sets
  • Domain Constraints: Business rule enforcement
  • Validation: Automatic value checking
<xsd:restriction base="sdc4:XdStringType">
  <xsd:enumeration value="Active"/>
  <xsd:enumeration value="Inactive"/>
  <xsd:enumeration value="Pending"/>
</xsd:restriction>

Required/Optional Flags

Element Requirements

  • Required Elements: Must be present
  • Optional Elements: May be omitted
  • Default Values: Fallback values
<xsd:element name="required_field" type="mc-required-type" minOccurs="1"/>
<xsd:element name="optional_field" type="mc-optional-type" minOccurs="0"/>

Component Metadata

Documentation Elements

Labels

  • Human Readable: User-friendly names
  • Localization: Multi-language support
  • Consistency: Standardized naming
<xsd:element name="label" type="sdc4:XdStringType">
  <xsd:annotation>
    <xsd:documentation>Human-readable label</xsd:documentation>
  </xsd:annotation>
</xsd:element>

Descriptions

  • Detailed Information: Comprehensive descriptions
  • Usage Guidelines: Implementation guidance
  • Business Context: Domain understanding
<xsd:element name="description" type="sdc4:XdStringType">
  <xsd:annotation>
    <xsd:documentation>Detailed component description</xsd:documentation>
  </xsd:annotation>
</xsd:element>

Processing Elements

Validation Rules

  • Business Logic: Domain-specific validation
  • Data Quality: Integrity enforcement
  • Error Handling: Validation failure responses

Transformation Rules

  • Data Conversion: Format transformations
  • Unit Conversion: Measurement conversions
  • Normalization: Data standardization

Advanced Features

Reference Ranges

Validation Ranges

  • Normal Values: Expected value ranges
  • Warning Levels: Caution thresholds
  • Critical Levels: Error thresholds
<xsd:element name="ReferenceRange" type="mc-reference-range-type">
  <xsd:annotation>
    <xsd:documentation>Reference range for validation</xsd:documentation>
  </xsd:annotation>
</xsd:element>

Exceptional Values

Special Values

  • Null Values: Missing data representation
  • Error Values: Data error indicators
  • Unknown Values: Unavailable data
<xsd:element name="ExceptionalValue" type="mc-exceptional-value-type">
  <xsd:annotation>
    <xsd:documentation>Exceptional value handling</xsd:documentation>
  </xsd:annotation>
</xsd:element>

Units and Measurements

Unit Specification

  • Standard Units: SI unit system
  • Custom Units: Domain-specific units
  • Unit Conversion: Automatic conversions
<xsd:element name="units" type="mc-units-type">
  <xsd:annotation>
    <xsd:documentation>Measurement units</xsd:documentation>
  </xsd:annotation>
</xsd:element>

Best Practices

Type Selection

Choose Appropriate Types

  • Data Nature: Match type to data characteristics
  • Validation Needs: Select types with required validation
  • Performance: Consider processing efficiency
  • Standards: Follow SDC4 best practices

Validation Strategy

  • Business Rules: Enforce domain constraints
  • Data Quality: Ensure data integrity
  • User Experience: Provide clear error messages
  • Performance: Balance validation with speed

Component Design

Logical Organization

  • Group Related Elements: Use clusters for logical grouping
  • Consistent Naming: Follow naming conventions
  • Clear Documentation: Provide comprehensive descriptions
  • Reusability: Design for component reuse

Relationship Management

  • Clear Dependencies: Define component relationships
  • Reference Usage: Use references for component reuse
  • Validation: Ensure relationship integrity
  • Documentation: Document relationship purposes

Implementation Examples

Complete Component Example

<xsd:complexType name="mc-state-type">
  <xsd:annotation>
    <xsd:documentation>US State component with validation</xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="label" type="sdc4:XdStringType">
      <xsd:annotation>
        <xsd:documentation>State name label</xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="xdstring-value" type="sdc4:XdStringType">
      <xsd:annotation>
        <xsd:documentation>State name value</xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="validation" type="mc-state-validation">
      <xsd:annotation>
        <xsd:documentation>State validation rules</xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

Validation Rules Example

<xsd:complexType name="mc-state-validation">
  <xsd:annotation>
    <xsd:documentation>State validation rules</xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="pattern" type="sdc4:XdStringType">
      <xsd:annotation>
        <xsd:documentation>State name pattern</xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="enumeration" type="mc-state-enumeration">
      <xsd:annotation>
        <xsd:documentation>Valid state values</xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

Need More Information? Check the Data Modeling Guide for detailed usage examples, or explore the Best Practices Guide for implementation recommendations.