Metapatterns

=Metapatterns=
 * Metapatterns** explain the business semantics within a modelling of information expressed within an XBRL taxonomy. Information models fall into a metapattern. This **documentation** explains metapatterns in detail. This web page contains additional links to allow you to work with the metapatterns in numerous ways including an RDF list, RSS feed, a matrix of key files, browse metapatterns visually, etc. You can **download** all of the files from this ZIP archive.

=Information Model Metapatterns= An **information model** describes the organization or relation between concepts within a component.

Concepts are not interspersed randomly within a table; they have patterns. Said another way, concepts are organized into different **information models**. A component is a set of concepts which have the same information model pattern or metapattern which are organized and used together for some specific purpose.
 * **Hierarchy**: A hierarchy information model denotes a hierarchy of concepts with no numeric relations. If no numeric relations exist, then the information model of the component is a hierarchy. Basically, anything can be modelled as a hierarchy. It is the addition of additional relations, typically mathematical computations, which turns a hierarchy into some other metapattern.
 * **Roll Up**: A roll up information model computes a total from a set of other concepts. An example of this information model is the equation C = A + B. All concepts involved in this information model have the same set of characteristics and all must be numeric.
 * **Roll Forward**: A roll forward information model reconciles the balance of a concept between two points in time. This information model is commonly often referred to as a "movement analysis" or the equation "beginning balance + changes = ending balance". In this equation the period [Axis] is at two different points in time and the changes occur during the period between those two points in time.
 * **Compound Fact**: A compound fact information model is characterized by the fact that some set of other concepts or some other information model exists for a set of characteristics expressed by one or more [Axis]. For example, the salary information for the directors of an entity is a compound fact. The salary information may be made up of salary, bonuses, and director fees which roll up into total salary. This set of compound facts can be expressed for any number of directors; the director being the characteristic or axis of the compound fact.
 * **Adjustment**: An adjustment information model reconciles an originally stated balance to a restated balance. The adjustment is the total change between the two different report dates. An adjustment is similar to a roll forward in that it is a reconciliation; however rather than the period [Axis] changing it is the Report Date [Axis] which changes - originally reported balance + adjustment = restated balance.
 * **Variance**: A variance information model reconciles some reporting scenario with another reporting scenario., The variance between reporting scenarios is the variance or change. For example, a sales analysis which reconciles the concept sales for the reporting scenarios of actual and budgeted is a variance. The equation is: actual - budget = variance.
 * **Complex Computation**: A complex computation information model can be thought of as a hierarchy plus a set of computations between different concepts within that hierarchy which are challenging to model as the parent/child relations of a graph. The type of computations can vary significantly; thus the challenging in modelling them. For example, the computation of earnings per share is a complex computation.
 * **Text Block**: A text block information model is an information model which contains, by definition, only one concept and that concept expresses what amounts to a narrative or prose as escaped HTML within that one concept. For example, the narrative associated with a set of accounting policies expressed as a list or a table presentation format is a text block. As there is only one concept, there can be no relations within the information model.
 * **Grid**: A grid information model is a pseudo metapattern which uses the presentation characteristics of the columns and rows of a table to model information. Because the grid models presentation information and not business semantics, it cannot be considered a metapattern. However, the grid is included in this list because the US GAAP Taxonomy uses a grid information model to model the statement of changes in equity.

An extension point is a point within an information model where it make sense to extend that information model. For example, it makes no sense to add another "Total" concept to a Roll Up information model; it does make sense to add one or more additional concepts which are being added up.
 * Extension points**

Extensibility rules are rules which govern the logical extension points of a taxonomy. Generally, extensibility rules can be thought of as rules mandated by the issuer of a taxonomy surrounding appropriate use of logical extension points of that taxonomy.
 * Extensibility rules**