IfcOwnerHistory

BACnet MVD

#### IfcOwnerHistory

Natural language names

| Angabe zu Autor und Zeit des letzten Objektzugriffs
| Owner History
| Historique des actions sur l'objet

Change log

Item | SPF | XML | Change | Description
--- | --- | --- | --- | ---
IFC2x3 to IFC4
IfcOwnerHistory |  |  |  |
ChangeAction |  |  | MODIFIED | Instantiation changed to OPTIONAL.

##### Semantic definitions at the entity

Entity definition

IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties.

IfcOwnerHistory is used to identify the creating and owning application and user for the associated object, as well as capture the last modifying application and user.

> HISTORY New entity in IFC1.0.

> IFC4 CHANGE ChangeAction is now optional and a related WHERE rule enforces conditions when it is asserted.

Informal Propositions:

1. If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED.
2. If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate.

Attribute definitions

# | Attribute | Type | Cardinality | Description | B
--- | --- | --- | --- | --- | ---
1 | OwningUser | IfcPersonAndOrganization |  | Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. | X | X
2 | OwningApplication | IfcApplication |  | Direct reference to the application which currently "owns" this object on behalf of the owning user of the application. Note that IFC includes the concept of ownership transfer from one application to another and therefore distinguishes between the Owning Application and Creating Application. | X | X
3 | State | IfcStateEnum | ? | Enumeration that defines the current access state of the object. | X | X
4 | ChangeAction | IfcChangeActionEnum | ? | Enumeration that defines the actions associated with changes made to the object. | X | X
5 | LastModifiedDate | IfcTimeStamp | ? | Date and Time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) at which the last modification was made by LastModifyingUser and LastModifyingApplication. | X | X
6 | LastModifyingUser | IfcPersonAndOrganization | ? | User who carried out the last modification using LastModifyingApplication. | X | X
7 | LastModifyingApplication | IfcApplication | ? | Application used to make the last modification. | X | X
8 | CreationDate | IfcTimeStamp |  | The date and time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) when first created by the original OwningApplication. Once defined this value remains unchanged through the lifetime of the entity. | X | X

Formal Propositions

Rule | Description
--- | ---
CorrectChangeAction | If ChangeAction is asserted and LastModifiedDate is not defined, ChangeAction must be set to NOTDEFINED

##### Inherited definitions from supertypes

Entity inheritance
Attribute inheritance

# | Attribute | Type | Cardinality | Description | B
--- | --- | --- | --- | --- | ---
IfcOwnerHistory
1 | OwningUser | IfcPersonAndOrganization |  | Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. | X | X
2 | OwningApplication | IfcApplication |  | Direct reference to the application which currently "owns" this object on behalf of the owning user of the application. Note that IFC includes the concept of ownership transfer from one application to another and therefore distinguishes between the Owning Application and Creating Application. | X | X
3 | State | IfcStateEnum | ? | Enumeration that defines the current access state of the object. | X | X
4 | ChangeAction | IfcChangeActionEnum | ? | Enumeration that defines the actions associated with changes made to the object. | X | X
5 | LastModifiedDate | IfcTimeStamp | ? | Date and Time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) at which the last modification was made by LastModifyingUser and LastModifyingApplication. | X | X
6 | LastModifyingUser | IfcPersonAndOrganization | ? | User who carried out the last modification using LastModifyingApplication. | X | X
7 | LastModifyingApplication | IfcApplication | ? | Application used to make the last modification. | X | X
8 | CreationDate | IfcTimeStamp |  | The date and time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) when first created by the original OwningApplication. Once defined this value remains unchanged through the lifetime of the entity. | X | X

##### Formal representations

XML Specification
`<xs:element name="IfcOwnerHistory" type="ifc:IfcOwnerHistory" substitutionGroup="ifc:Entity" nillable="true"/>
<xs:complexType name="IfcOwnerHistory">
<xs:complexContent>
<xs:extension base="ifc:Entity">
<xs:sequence>
<xs:element name="OwningUser" type="ifc:IfcPersonAndOrganization" nillable="true"/>
<xs:element name="OwningApplication" type="ifc:IfcApplication" nillable="true"/>
<xs:element name="LastModifyingUser" type="ifc:IfcPersonAndOrganization" nillable="true" minOccurs="0"/>
<xs:element name="LastModifyingApplication" type="ifc:IfcApplication" nillable="true" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="State" type="ifc:IfcStateEnum" use="optional"/>
<xs:attribute name="ChangeAction" type="ifc:IfcChangeActionEnum" use="optional"/>
<xs:attribute name="LastModifiedDate" type="ifc:IfcTimeStamp" use="optional"/>
<xs:attribute name="CreationDate" type="ifc:IfcTimeStamp" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
`
EXPRESS Specification
`ENTITY IfcOwnerHistory;
OwningUser : IfcPersonAndOrganization;
OwningApplication : IfcApplication;
State : OPTIONAL IfcStateEnum;
ChangeAction : OPTIONAL IfcChangeActionEnum;
LastModifiedDate : OPTIONAL IfcTimeStamp;
LastModifyingUser : OPTIONAL IfcPersonAndOrganization;
LastModifyingApplication : OPTIONAL IfcApplication;
CreationDate : IfcTimeStamp;
WHERE
CorrectChangeAction : (EXISTS(LastModifiedDate)) OR
(NOT(EXISTS(LastModifiedDate)) AND NOT(EXISTS(ChangeAction))) OR
(NOT(EXISTS(LastModifiedDate)) AND EXISTS(ChangeAction) AND ((ChangeAction = IfcChangeActionEnum.NOTDEFINED) OR (ChangeAction = IfcChangeActionEnum.NOCHANGE)));
END_ENTITY;

EXPRESS-G diagram

`

References: IfcRoot

Link to this page