The Data Quality & Issues Register (Tab 3 of the Asset Index or via the /issues route) elevates model validation from passive anomaly logging into a first-class, collaboration-grade issue management system.
Through an integrated Flexible Grouping Engine and BCF (BIM Collaboration Format) Bridge, engineering coordinators and information managers can organize, triage, assign, and publish data quality anomalies directly to OpenProject (https://opencde.itwin.app), Trimble Connect, or any OpenCDE-compliant BCF server.
properties.ZoneCode) without altering underlying asset data.https://opencde.itwin.app or custom Bring-Your-Own (BYO) endpoints.[ 🔗 #123 ↗ ]) opening the exact work package in OpenProject in a new tab.OPEN, IN_REVIEW, RESOLVED, IGNORED), assign issues to team members, and adjust due dates with immediate upstream synchronization to OpenProject.public: false) ensures project data confidentiality while providing Just-In-Time (JIT) membership provisioning for authenticated iTwin users..bcfzip / .bcfxml archives for offline review in Solibri, Autodesk Revit, ArchiCAD, or Navisworks.Open Asset Index in the main navigation and select Data Quality & Issues Register (Tab 3 in the header), or navigate directly to Issues Register in the sidebar.
| Control | Description |
|---|---|
| Group Issues By | Select a predefined grouping strategy or define a custom dot-path. |
| Severity Filter | Filter issues by CRITICAL, WARNING, INFO, or All Severities. |
| Status Filter | Filter issues by OPEN, IN_REVIEW, RESOLVED, IGNORED, or All Statuses. |
| Search Filter | Live keyword search across target elements, descriptions, classes, models, and assignees. |
| Expand / Collapse All | Toggle visibility of all group accordions across the register. |
| Sync BCF | Query OpenProject and reconcile external status updates back into local issues. |
| OpenProject CDE | Quick-launch portal button to open the OpenProject CDE in a new tab with JIT membership assurance. |
| Export BCF | Download BCF-XML markup bundle (.bcfzip) for offline tool consumption. |
| Push Open to BCF | Batch publish all unresolved open issues to the configured BCF endpoint. |
The grouping engine allows dynamic multi-level organization of harvested issues:
▼ Architectural Model (12 issues) [3 CRITICAL] [8 WARN] [1 INFO] [12 Open]
▼ Level 1 (7 issues) [2 CRITICAL] [5 WARN]
CRITICAL | MISSING_CLASSIFICATION | SAN-WC-L1-148 | Open | [ 🔗 #40 ↗ ]
WARNING | REQUIRED_BUT_BLANK | SAN-SK-L1-148 | Review | [ 🔗 #41 ↗ ]
► Level 2 (5 issues)
► Structural Model (3 issues)
► MEP Model (8 issues)

modelName): Separates issues by federated model partition (e.g. Architectural, Structural, MEP).storey.name): Groups issues by building level or storey for spatial floor-by-floor remediation.severity): Triage critical compliance failures first (CRITICAL, WARNING, INFO).issueType): Group by root cause (e.g. MISSING_CLASSIFICATION, REQUIRED_BUT_BLANK, DUPLICATE_LOCATION).discipline): Inferred from component schemas (Mechanical, Electrical, Structural, Architectural).['modelName', 'storey.name']): Multi-tier hierarchical nesting.To group by custom element properties or metadata:
properties.ZoneCode or space.name).Each group accordion header provides bulk operations that apply to all issues within the group (including nested sub-groups):
| Group Action | Description |
|---|---|
| Set Status | Dropdown menu allowing coordinators to set all issues in the group to OPEN, IN_REVIEW, RESOLVED, or IGNORED simultaneously. |
| Assign | Dialog allowing assignment of all issues in the group to a team member email (e.g. engineer@contractor.com) with automated OpenProject account activation. |
| Due Date | Date picker dialog setting a synchronized resolution deadline across all issues in the group. |
| → BCF (${unpushedCount}) | Batch publishes only the unlinked open issues within this specific group to OpenProject. |
| BCF Synced (Re-sync) | Re-triggers an immediate upstream synchronization for all issues in the group. |
Digital Index implements a zero-token-burden architecture:
flowchart TD
User([Digital Index User]) -->|Browse Issues & Click Link| ClientUI[Digital Index UI]
ClientUI -->|Proxy Request / No CORS| BackendProxy["API Route (/api/bcf-bridge/[iTwinId]/...)"]
BackendProxy -->|Injects BOT_API_KEY| OpenProject["OpenProject Server (https://opencde.itwin.app)"]
OpenProject -->|Private iTwin Project | WorkPackages[Work Packages #1..N]
User -.->|Direct Browser Login| OpenProject
/api/bcf-bridge/[iTwinId]/topics, injecting the service bot key on the backend.public: false): Auto-created projects in OpenProject are strictly private. Only explicit project members can view project data or work packages.[ 🔗 #123 ↗ ] or [ ↗ OpenProject CDE ] have their standard Member role (ID 4) verified in that private project just-in-time.Member permissions strictly confined to that single project.admin: false).[Published by: user@domain]).[ 🔗 #40 ↗ ] badge linking directly to the work package.Select Push Open to BCF in the toolbar to batch-upload all unlinked open issues across all groups.
Select Export BCF to download a standard .bcfzip archive containing topic markups and version manifests ready for import into Solibri, Revit BCF Manager, Navisworks, or Trimble Connect.
| Action | Required Entitlement | Scope |
|---|---|---|
| Browse & Filter Issues | Free / Access | Read-only register inspection |
| Inline Status & Assignee Triage | Free / Access | Local & live synced mutations |
| Export BCF-XML | Free / Access | Offline .bcfzip export |
| Push Issues to OpenProject / BCF | Publish | Live upstream issue publishing |
| Configure BCF Bridge Settings | Author | Editing BCF endpoints & field mappings |