The process of transforming an to a is based on the definitions of the referenced by the . Using this approach, that are authored, stored and/or communicated in a relatively informal close-to-user form are logically transformed into a common normalized form. In this normalized form it is possible to apply simple rules to test subsumption between .
The simplest case of a valid close-to-user is a single conceptId, and the approach described can be applied to these simple , as well as to more complex that include multiple conceptIds and ( ).
The approach to normalization may be applied to specific but may also be extended to take account of contextual information derived from the information model in which the is situated. Therefore, the may include context information, even if this is not present in the initial .
The algorithm extends earlier work on as follow:
Normalizes values within definitions or producing nested that are fully normalized .
- Merges stated in an with definitional present in the definitions of the referenced by the :
- The merge process takes account of that may not be grouped or nested in a manner that precisely reflects the structure of a current (or future) definition;
- This avoids the need to add, store and communicate potentially spurious detail from current definitions to the recorded by a user or software application.
- Takes account of context rules including default context and a preliminary approach to moodCode mapping and handling of procedures with values (present in algorithm but not yet easily visible in test environment).
- Supports that take account of finding specified with
illustrates an overview of the process of normalization of an . Subsequent sections describe the processes shown in this diagram.
Figure 57. Overview of expression normalization process