This article is about hierarchies in IFS OI server. For details on how they are created in IFS OI Server, see Setting Up Hierarchies. For details on how they are used in IFS OI Explorer, see: Tag Search and Hierarchies Navigation.
A hierarchy is an organised structure that contains entities. These items are organised into parent-child relationships, intended to form a model of assets within an organisation. The hierarchy is the key component in the asset model, and is used to display assets in an organised manner within consuming applications such as IFS OI Explorer.
In IFS OI Server, multiple hierarchies can be configured, so the same entities can be viewed in different structures. It is important to note that in this case, it is the same entity (a well for example) being shown in each of these structures, with all of its configuration included. This is important to note, as it means that we are always referring to the same real world or conceptual object, no matter which hierarchy we are using to find it.
An example of where you will see these hierarchies is in IFS OI Explorer. When adding an item of data to a trend, you can find it more easily in a logically-constructed hierarchy than you would in a flat list of entities.

IFS OI Explorer trend showing a hierarchy. Items (attributes) from the model can be dragged onto the trend.
Time-aware hierarchies
IFS OI Server supports hierarchies that change over time. This means that as items are moved in the hierarchy, or added and deleted, this history can be recorded and can be used to more accurately depict the real state of real world items that exist on site as time goes on.
You can also use this hierarchy and its time-aware features inside calculations. Using the Data Dictionary group of calculation functions, you can perform a calculation such as, “Sum up the ‘Total Oil Produced’ amounts from all ‘Wells’ in ‘Field A’ for Jan 2014”. These functions are also smart enough to allow you to dynamically alter the entities included in the roll-up calculations, for example allowing you to exclude offline wells by applying a condition using a well's status attribute (see the DDSum() calculation page for an example like this).
Let’s look a little more closely at how hierarchies are constructed.
How hierarchies are constructed
The first step in creating a new hierarchy is to give the structure a name, something that will describe what is being modelled.
As we can have more than one hierarchy, you can also specify the order in which the hierarchies are displayed in any screen where a user can select which hierarchy they want to use. For example, you may always want the Corporate hierarchy displayed at the top. If you do not specify an ordinal, then the items will be ordered alphabetically.
Here is an example of a set of hierarchies and the order in which we want them to appear:
Name | Description | Ordinal |
Networks | Hierarchy showing assets by network | 3 |
Corporate | Hierarchy showing assets by corporate structure | 1 |
All Equipment | Hierarchy showing all equipment | 2 |
The next step in building a hierarchy is to start defining the relationships within that hierarchy.
Hierarchy relationships
Hierarchies in IFS OI Server allow you to organise your assets into relationships that make sense to your business.
The hierarchies are very flexible; assets can be added to multiple hierarchies, and you can have assets of different types (such as entities and calculations) in the same hierarchy.
When you define the hierarchy relationships, you also need to define any time-aware relationships. Note that a Start Time or End Time of NULL indicates that the hierarchy relationship applies for all of time.
By using the ordinal, you can also specify the order in which the relationships are displayed to the user. If you do not specify an ordinal, then the items will be ordered alphabetically.
Here is an example of a set of assets added to a hierarchy:
Hierarchy | Parent | Child | Ordinal | Start Time | End Time |
All Equipment | Equipment | 1 | NULL | NULL | |
All Equipment | Equipment | Mobile Fleet | 1 | NULL | NULL |
All Equipment | Mobile Fleet | Backhoe | 1 | NULL | NULL |
All Equipment | Mobile Fleet | Dump Truck | 2 | NULL | NULL |
All Equipment | Mobile Fleet | Loader | 3 | NULL | NULL |
All Equipment | Equipment | Pumps | 2 | NULL | NULL |
All Equipment | Pumps | Reciprocating Type | 1 | NULL | NULL |
All Equipment | Pumps | Rod Type | 2 | NULL | NULL |
All Equipment | Pumps | Rotary Vane Type | 3 | NULL | NULL |
The sample above is a part of the configuration that is used to create a hierarchy that appears to a user in IFS OI Explorer like this: