Adapted from CIM data models.