Skip to content

Classification taxonomy

The tool adopts a dual classification standard for all Bill of Quantities items, assemblies, and materials, with an optional third layer for global material comparability.

Rationale

Life-cycle assessments in Sub-Saharan Africa often use ad-hoc, project-specific work-item codes (in this project, the French Devis Descriptif tradition — A.III.1, A.V.1, ...). These codes are readable to the local engineering team but unreadable to any tool, database, or reviewer outside the project. Locking the machine-readable classification to open, hierarchical, internationally recognised standards makes the LCA output portable, comparable, and defensible.

Primary — Uniclass 2015

  • Owner: UK Construction Innovation Hub (formerly NBS).
  • Source: https://uniclass.thenbs.com
  • Licence: CC-BY.
  • Scope: hierarchical classification covering Entities, Activities, Elements/Functions, Systems, Products, Complexes, Spaces, Zones, Roles, PIM, and CAD categories.
  • Applied at: assembly level and material level.
  • Storage: downloaded tables committed to backend/app/data/classification/uniclass/ with a SOURCE.md recording the download date, source URL, and Uniclass release version.

Secondary — IFC entity codes (ISO 16739)

  • Owner: buildingSMART International.
  • Standard: ISO 16739-1:2018 Industry Foundation Classes (IFC) for data sharing in the construction and facility management industries.
  • Applied at: assembly level (every assembly declares an IFC entity, e.g. IfcWall, IfcSlab, IfcRoof).
  • Purpose: BIM interoperability. A Phase 3+ IFC importer becomes viable because every assembly already carries an IFC entity code.

Optional — UN CPC codes (material level)

  • Owner: United Nations Statistics Division.
  • Standard: Central Product Classification, currently version 2.1.
  • Applied at: material level, only where global material comparability matters (e.g. cross-country cement comparisons).
  • Purpose: enables trade-data and CPC-indexed background LCI cross-references.

Display labels

The team's French Devis Descriptif codes remain visible in every BoQ export and every UI listing as human-readable labels. They are stored in the schema as display_code, but they carry no semantic weight — the classifier used for any calculation, filter, aggregation, or downstream export is Uniclass.

Mapping table

A french_devis → uniclass → ifc mapping table is produced by the sub-chat that reverse-engineers reference/excel/1a_boq_input_lca.xlsx in Phase 1 Step 1. The table is stored in the database and versioned as project data.

Enforcement

  • Every Assembly Pydantic schema (from Session 3B onward) requires uniclass_code and ifc_entity_code as non-nullable fields.
  • Every Material schema requires uniclass_code; un_cpc_code is optional.
  • CI regression tests fail if any seed material or seed assembly is missing its required classification codes.