Skip to the content.

Core Concepts

Overview · Subject · Match · Target · Condition


ObChecked audits are built using a structured rule hierarchy.

This hierarchy allows complex validation rules to be constructed in a clear and modular way. Each level progressively narrows the scope of the rule until a specific value can be evaluated.

The audit structure follows this sequence:

Group → Subject → Match → Target → Condition

Understanding how these nodes work together is the key to building effective audit definitions.

Condition editor

Audit Definition form excerpt showing an example of each node in sequence.


Group

Audit rules are first organised by their object type (Parts, Bolts, Components), because they have access to different model object properties.

Groups do not perform validation themselves. Instead, they act as containers for the rules that follow.


Subject

A Subject defines the main property that determines if a row/object is recognised and able to be audited.

Subjects are a container for a collection of Match nodes, because audit rules may vary for different values of the subject cell.

For example, a subject column may be PROFILE, so each Match node in a subject will try to match a different type of PROFILE.

Subjects are the starting point for rule logic.

See: Subject


Match

A Match node simply identifies a recognised Subject value.

Matches evaluate the value in the subject cell and decide whether the rule continues.

Matches can use basic wildcards for batch matching.

Matches can also use regex for complex matching.

Matches are a container for a collection of Target nodes, which are run on a successful match of the subject cell.

See: Match


Target

Each Target defines one cell that will be validated if the match condition is satisfied.

Target nodes have several methods to determine how a cell is audited, and provides a variety of possible outcomes for each audit.

Target nodes can compare the value of its cell against a list of acceptable strings, a range of acceptable numbers, comparisons against other cells or direct checks against being empty/not empty.

See: Target


Condition

A Condition is a way to limit a Target node to only run under certain conditions.

This is to allow several Target nodes for the same cell, but are instructed to run under different conditions.

For example, available stock lengths of a profile may be dependent on the profile depth, UB200*18 vs UB310*40. By using a different condition under each Target node, you can control which max length rules applies to which profile depth.

See: Condition


How the Hierarchy Works

Each level in the hierarchy refines the rule.

Example:

Subject: PROFILE
Match: ^(UB)(\d{3})\*(\d{2,3})$ 
Target: LENGTH_NET, max 18000
  Condition: matchNumber[0]>200
Target: LENGTH_NET, max 12000
  Condition: matchNumber[0]<=200

In this example:


Why the Hierarchy Exists

Separating rule logic into these layers allows audits to remain flexible and reusable.

Rather than creating many separate rules, a single subject can branch into multiple matches, targets, and conditions.

This makes it possible to define complex modelling standards in a structured and maintainable way.