Digitalization of the construction project IS NOT about saving money.
It is about getting MORE for the money.
The design aims to be more efficient.
Construction aims to receive a better building, with accessible and structured data.
Facility Management aims for completely new possibilities.
In the article about the basics of Facility Management I mention what in my opinion is the minimum information delivered so that the Asset Information Model is useful for the operational phase of the building:
- Location of particular structures (facility, space, area, mileage)
- List of all types of elements installed or mounted in the structure
- Attributes of the objects with information about the installed elements (manufacturer, supplier, model, serial number, etc)
- Maintenance, Operation & Management documents as well as technical specifications
- Nameplates, which correspond 1:1 with the information saved in the model
In this article, I want to focus on how to deliver all the requirements and connect them with the BIM model.
Unique objects’ coding is the enabler.
Table of Contents
What is unique coding?
By term unique coding I understand a structured string that is both machine and human-readable. It is a value describing unambiguously each element existing on a construction site, e.g.:
- Concrete columns Ø300
- Inner wall IW-03
- Water Pipes
- Air handling unit for the
- Wing A in the Building 4
- Steel kitchen sinks
- Electrical switch connected to switchboard 433.045
- And so on.
Such a code is assigned to each BIM object in the model via a user-defined property (read here about properties).
Afterwards, on a construction site, some important elements bear a physical nameplate with a number corresponding to one in the BIM model.
The project should use an agreed semantics that is understood identically by stakeholders. I recommend using national standards for building elements. In fact, many countries have their coding (e.g., Omniclass, Uniclass, Coclass, NS-TFM). If your country doesn’t have one, I reckon the easiest is to use Uniclass or Omniclass since they are in English.
Why should you care about unique coding?
It sounds like a lot of work, doesn’t it?
It is a hell lot of work.
Is it worth it?
Yes. Let me explain.
If your project aims to actively use BIM models in facility management, I reckon you have to have a way to identify which element on the facility corresponds with the one in the model and in the database containing Maintenance, Operation & Management information.
Having all MOM documentation as dumped PDFs in the folders is a no-go for complex buildings. These would be the same method, as having everything in binders – just on the computer hard drive.
The solution is to use a database as a connector between a model, product metadata and a PDF document.
If you identify an element on site, afterwards you find it in the model, then you can query the database for data about the product, its manufacturer and supplier. If you have to dig deeper and open documents (e.g. maintenance routines or user guides), those are attached to the records in such a database.
Unique coding is required to find what you are looking for and be sure it’s exactly this element.
Keep data outside the BIM model
But wait a moment – you might say – don’t you have the documents connected directly to the model?
As far as I know, this is not feasible in the current state of technological development. One thing is the models would be just unmanageably heavy, the other is there is no BIM authoring software with functionality to attach documents directly to the objects.
We keep the product and construction data outside the models and solve the connection by linking the objects using unique coding.
This works as a database: we have a primary key and a foreign key. I described this subject closer here.
If the BIM object has a primary key, we use it to query a database containing product data or documentation.
How to create unique coding in practice?
You know now that a unique code is a structured data written in an objects’ property that connects the design, construction and operation. You know that it’s best to manage codes for instances outside the BIM model, in a database.
How to do it in practice? Let’s go through some steps on how to implement unique coding to a project.
I start each step with a set of questions you should answer to create a well oiled system that creates, validates and exchanges unique codes throughout the software you use.
1. Define coding requirements
- What classification standard should the project use?
- What is the Level of Information Needed for coding of different building elements?
It all starts with EIR where the Building Owner / Facility Manager defines the coding they need.
Not all elements are equally important for facility management. You probably are fine with inner wall codes divided by types, but would rather need to split air handling units by the single instances pointing where the ventilation systems start and where it goes.
As a result, the BIM responsible for the project creates a table with requirements regarding objects’ coding.
Example of coding requirements table depending on the element category and discipline:
2. Define property sets and properties for the unique codes
- How should the modelling software build up a code property?
- Should it be a single property or maybe a composite made of a few properties?
This should also be specified in EIR with examples for different disciplines. Remember to include the properties in the IFC export specification as well as introduce them to the BIM authoring tools (shared parameter file in Revit for instance).
3. Choose a master for coding
- Where do you create and store codes?
- Which place is the master and source of codes?
- Is it inside the modelling software or outside of it – a dedicated database?
I suggest the latter – BIM authoring tools are, in general, unspeakably miserable at managing the data, its structure and uniqueness. There are available tools on the market that both create object-unique codes with desired semantics and also ensure their uniqueness (databases can check for record uniqueness fairly easily).
4. Create a workflow to exchange the data
- Where and how do you connect it with the model and FM software?
- Does a direct API exist or do you have to use manual exports/imports?
- How often do you need to exchange the codes?
The unique code can be a key value that joins together instances in the model, records in the coding database and objects/tasks in the Facility Management software.
From my experience, some databases and FM software provide a direct API connection to the Revit model. This allows for almost seamless data exchange. If there is none provided in your software stack, then you are stuck with Excel exports and imports. The latter process is cumbersome and far from ideal, but if you are stuck with software that doesn’t provide an API – and projects require you to code the objects – this is your only solution.
I would tie the frequency of data exchange with the model exports – if new models come on Friday, I would export and import codes on Monday.
5. Validate data correctness and quality
- How do you validate the coding?
- How do you check data quality from the bird-eye perspective?
- What is the process and workflow?
The model develops and changes. Defining a code to the object doesn’t mean the work is done. Objects get deleted, duplicated, moved or changed. The BIM Coordinator has to check both models and databases regularly (and define how often). Example checks:
- If the objects in the model are the same as in the database (spot checks)
- If unique code has been duplicated
- If categories follow the required data granularity
- Checking changes log for unnatural peaks in value changes – an indicator of an error
A good idea that helps to keep an eye on data quality is creating a dashboard.
Summary
This article aimed to introduce the process of unique coding and classifying objects in the BIM model. This is a fairly unique concept not yet implemented by many projects. Mainly due to the complexity and difficulties with maintaining correct data.
Although adopting national coding standards and structured data exchanges facilitates consistent data handling across platforms. Moreover, unique object coding makes every element identifiable and trackable and allows for connecting real-life objects with their digital twins in the BIM model and storing and retrieving Maintenance, Operation, and Management (MOM) documents.