Importing COBie into a CAFM system is the end goal of the COBie project. It’s a well-trodden story as to why COBie but what is not so well talked about is how.
The view promoted was that CAFM vendors would add functionality to their programs to import COBie and there was a certification process they could go through.
The certification would enable the CAFM vendor to market their offering and be more attractive.
Part of the COBie deliverable process included the Building FM teams to test out the delivered data and report back any issues.
So what’s the problem?
Most if not all CAFM systems are Relational Databases, a set of tables related by record keys. The database schema is proprietary so it is not a straight forward process of populating like for like.
In order to populate a CAFM application (of which a client may have several) you need to make sure that the COBie data contains those fields or combination so that they could be calculated.
For example a CAFM system might require the Warranty End date for a piece of managed equipment. If you know your COBie this field does not exist in this form it can be calculated from the Cobie.Type.Warranty.Duration and then the instance of the type (the Asset) Cobie.Component.WarrantyStartDate. It is not as straight forward as it seems.
A CAFM vendor’s business model is based on software licenses and consultancy. I know many Universities who have been given the software for free and ended up with huge implementation and ongoing support costs. So it you require a feature to import COBie it will directly affect the business model and may undermining the consultancy so expect a high cost for this feature.
CAFM systems are configurable and this means any built in COBie import will have to cater for this configuration making the it more complex to develop and maintain.
I know of one CAFM system where the Cobie import stopped working because of an update and this is a certified system so it’s no guarantee.
When we were asked to do the certification process I was told that we had to be able to read Ifc (Cobie SPFF) I thought at the time this was a barrier to many CAFM vendors and because of what we do it wasn’t relevant anyway.
So when delivering COBie for a project your process of testing the data working in the Building Owners CAFM applications will be blocked. This is the sad reality.
How do we overcome this impasse.
Some have suggested that if your CAFM system doesn’t import Cobie switch to an alternative. For many this is has been a huge investment and changing boats mid-stream is very costly.
I have promoted a very simple solution based on the premise that:
All CAFM systems have import templates
These are the common formats :-
- Spread sheet (the most popular)
- XML (large and complex inter relationships)
- CSV (Comma separated values)
The CAFM vendor has to maintain these methods of import as part of their system and their consultancy getting customers up and running use these methods.
The Building Owner can distribute these templates to any one so that they can populate the system there are no barriers.
The modus operandi currently being performed by the Building Owners FM people is to cut and paste from a source data (Cobie) into these templates. This is very time consuming and I know of on Building Owner who has spent a year taking the Cobie data and populating their templates. You are not going to put this into a delivery plan for a project.
The solution is automation
To perform automation we need to create a simple computer program that takes 2 inputs and produces 1 output.
The inputs are the Cobie file and the CAFM system import template.
The export is the populated CAFM template.
Before writing any code we need to look at the CAFM template and work what each column field is and how it is to be populated from Cobie.
In my example I have a fictitious CAFM room template it is a good idea to get both an empty template and an example of a populated one.
The way I do the analysis is to take the row header and paste then into a spreadsheet and pivot it so the row is now vertical.
With this I can number up the column ids and put in some notes about how to get the data it’s a bit of a mix of shorthand and LINQ type query syntax.
Doing this is critical and you don’t need to be a programmer just someone who user stands the COBie schema and client data needs.
Now we can do the simple stuff which is to write the program.
I’m not going to do this here because I have put onto my Git Hub repo an example in c#.
This is a very simple example but I hope it demonstrates the principles and we can now help the Building Owner succeed.