Back to Resources

Information Delivery Specification (IDS)

Define, validate, and enforce BIM data requirements across your projects with machine-readable specifications

buildingSMART Standard

What is IDS?

Information Delivery Specification (IDS) is a buildingSMART standard that allows you to define information requirements for IFC models in a machine-readable format. It bridges the gap between human-readable requirements documents and automated validation tools. IDS files (XML format) specify what data elements, properties, and classifications must be present in a model, enabling automated quality checks during BIM workflows.

How IDS Works

IDS Validation Workflow

1

Define Requirements

Create IDS file specifying what data is required

2

Share with Team

Distribute IDS to modellers and consultants

3

Author Model

Teams model elements with required data

4

Validate

IFC model checked against IDS automatically

5

Report

Pass/fail results with detailed issues list

Specification

The container for all requirements. An IDS file can contain multiple specifications for different purposes or project phases.

<specification>

Applicability

Defines which elements the requirements apply to. Filters by entity type, property values, classifications, or other facets.

<applicability>

Requirements

Defines what data must be present on applicable elements. Specifies required properties, materials, classifications, etc.

<requirements>

Facets

Building blocks used in both applicability and requirements. Entity, Property, Classification, Attribute, Material, PartOf.

<entity> <property> <classification>

Facet Types

Facets are the core building blocks of IDS. Each facet type checks different aspects of the IFC data.

Facet Description Common Use Example
entity Checks the IFC entity type of an element Select all walls, doors, spaces, etc. name="IfcWall"
attribute Checks IFC attribute values (built-in properties) Filter by Name, Description, ObjectType name="Name" value="EXT-*"
property Checks property set values Require fire rating, load bearing status propertySet="Pset_WallCommon" baseName="IsExternal"
classification Checks classification references Require Uniclass, OmniClass codes system="Uniclass 2015" value="Ss_25_*"
material Checks material assignments Require material definition value="Concrete*"
partOf Checks spatial/assembly containment Elements must be in spaces relation="IfcRelContainedInSpatialStructure"

IDS XML Structure

IDS files use XML format. Here's an example requiring all IfcWall elements to have a fire rating property:

<!-- Require fire rating on all walls -->
<specification name="Wall Fire Rating" ifcVersion="IFC4">
  <applicability minOccurs="1">
    <entity>
      <name>
        <simpleValue>IfcWall</simpleValue>
      </name>
    </entity>
  </applicability>

  <requirements>
    <property dataType="IfcLabel">
      <propertySet>
        <simpleValue>Pset_WallCommon</simpleValue>
      </propertySet>
      <baseName>
        <simpleValue>FireRating</simpleValue>
      </baseName>
      <value>
        <restriction base="xs:string">
          <pattern value="[0-9]+/[0-9]+/[0-9]+"/>
        </restriction>
      </value>
    </property>
  </requirements>
</specification>

Pattern Matching

IDS supports regex patterns for value matching. Use simpleValue for exact matches, restriction with pattern for regex, or enumeration for allowed value lists.

Requirement Levels

Each facet within requirements can specify different levels of necessity:

Level Attribute Meaning Validation Result
Required minOccurs="1" Must be present with valid value FAIL if missing or invalid
Optional minOccurs="0" Checked if present, ignored if absent PASS if missing, FAIL if invalid
Prohibited maxOccurs="0" Must NOT be present FAIL if present

Common Use Cases

Classification Compliance

Ensure all elements have required classification codes (Uniclass, OmniClass, MasterFormat) for cost estimation and specification writing.

Fire Safety Data

Validate that all fire-rated elements have FireRating properties, fire compartments are defined, and evacuation routes are tagged.

COBie Readiness

Check that assets have manufacturer, model, serial number, and warranty data before COBie export for FM handover.

Spatial Data Quality

Ensure spaces have names, numbers, area calculations, department assignments, and are correctly contained in floors.

MEP System Validation

Validate that equipment has load data, all ducts/pipes are sized, and systems have flow rates and capacities assigned.

Quantity Takeoff Readiness

Confirm elements have materials assigned, dimensions are valid, and BaseQuantities property sets are populated for QTO.

Accessibility Compliance

Check that accessible routes are defined, door widths meet requirements, and required accessibility features are tagged.

Naming Conventions

Enforce project naming standards using patterns to ensure consistent element names, type names, and descriptions.

IDS Tools & Resources

IDS Editor (buildingSMART)

Web-based tool for creating and editing IDS files without writing XML manually. Available at technical.buildingsmart.org.

IfcOpenShell IDS

Python library for validating IFC files against IDS specifications. Open source and scriptable for automation.

Solibri

Commercial BIM validation software with IDS import support for model checking against specifications.

BIMcollab

Platform supporting IDS-based validation with cloud collaboration features for distributed teams.