Business rules can be categorized. The Business Rules Group provides a good summary of business rule categories. But sometimes how terms are used differ between groups using such terms. Below I have provided a set of business rule categories inspired by the Business Rules Group categories which is then reconciled to XBRL terminology. This is my FIRST PASS at reconciling these terms. I am soliciting feedback from others to get this correct. Please consider this a DRAFT at this point!
- Definition of business terms: The very definition of business terms is a category of business rule. Each term is a rule. In XBRL, the report elements defined in an XBRL taxoomy schema is how business terms are defined. Terms are essentially identifiers. In XBRL, terms are grouped into one of the following categories of terms: Network, Hypercube (a.k.a. Table), Dimension (a.k.a Axis), Member, Primary Items (a.k.a. Line Items), Primary Item (a.k.a. a concrete Concept), and Abstract(a.k.a an abstract Concept or Primary Item). Business professionals have to go through a process of naming things that exist in reality and giving them names as contrast to providing additional preferred labels for names that already exist. These terms describes how business professionals think and talk about real world notions, ideas, and other such phenomenon. The definition of terms in the past have been documented in the form of human-readable glossaries. We now make these terms human-readable and machine-readable by defining them in XBRL taxonomy schemas. Information technology professionals sometimes define terms in the form of an entity/relationship model.
- Structural assertions: This term appears to describe two types of structures in XBRL: what XBRL calls a "fact" and what XBRL calls "relations" (presentation, calculation, definition, XBRL formula). Structural assertions can be documented as natural language sentences or described graphically has hierarchies as relationships, qualities, and other such structures. There are two important distinct types of structures in XBRL
- XBRL Fact: A fact in XBRL is something that is reported within an XBRL instance. A fact is a structure comprised of other structures generally defined in the form of terms in an XBRL taxonomy schema but there are a few things defined in the XBRL instance itself (entity identifier, period, XBRL footnotes). So, a fact is a hard-coded structural assertion defined by the XBRL technical specification. A fact has an aspect model. This is the same as what I call the multidimensional model of XBRL.
- Other XBRL relations: This category of structural assertions includes all other relations definable using XBRL including presentation, calculation, definition, and XBRL formula relations.
- Action assertions: Action assertions constrain or influence behavior in some way. Action assertions cause things to happen or prevent things from happening. They can also be used to make suggestions. XBRL Formula provides for existence assertions, consistency assertions, and value assertions. (I think a value assertion is a derivation.)
- Derivations: A derivation is a mathematical algorithm or a logical inference (induction or deduction) that is used to derive, or what I have called impute, other structural relations (i.e. XBRL facts or other relations). Derivations create new knowledge based on existing knowledge. XBRL Formula has a mechanism for creating new facts.
A bit of clarification is helpful to make sure all of the above is clear. The notion of derivations might not be familiar to some people or you might be familiar with it in different terms. Here is some clarifying information that distinguishes between explicitly provided facts and derived facts (see here for similar information from the Business Rules Group):
- Base Fact: a base fact is a fact that has been explicitly reported in a financial report. For example, if you report the fact "us-gaap:Assets" for a specific economic entity for a specific period.
- Derived Fact: a derived fact is a fact whose value is created by an inference or mathematical computation. For example, if the base facts "us-gaap:Assets" and "us-gaap:AssetsCurrent" are reported then the fact "us-gaap:AssetsNoncurrent" can be derived because of two pieces of information: (1) the values of us-gaap:Assets and us-gaap:AssetsCurrent are known and (2) the business rule "Assets = Current assets + Noncurrent assets" is known; so deductive reasoning can be used to obtain the derived fact "us-gaap:AssetsNoncurrent'.
- Derivation: a derivation is an algorithm used to infer or compute a Derived Fact. (i.e. a business rule). In the derived fact example above, the derivation is "Assets = Current assets + Noncurrent assets". There are two types of derivations:
- Logical inference: a logical inference is a Derivation that produces a Derived Fact using logical induction (from particulars) or deduction (from general principles).
- Mathematical inference: a Derivation that produces a Derived Fact according to a specified mathematical algorithm.
So that is my first cut. What are your thoughts?