Oracle Policy Modeling automatically assigns an identifier to every attribute in the rulebase. These IDs are used by Oracle Policy Modeling to notate rules. The attribute ID is stored in the rulebase along with the attribute text and attribute type. By default, Boolean attributes are prefixed with the letter b and variable attributes are prefixed with the letter p.
Attribute IDs are regenerated every time a rule document is compiled and change values as attributes are re-worded. For this reason, public names, which are user-defined attribute IDs, should be used on a project because they ensure that the attribute IDs for important attributes are reliable and static and are therefore suitable for use by external applications. For example, the automatically assigned attribute ID "b1@Doc1" could be replaced with the more meaningful public name "date_of_birth".
Public name information is stored in the properties file for a project. After the rules have been written and compiled, public names should be assigned to all attributes that the application needs to access. This includes all base level attributes and all top level attributes.
Important intermediate attributes also need to have public names. For more information, see Set public identifiers for entities and attributes.
Automatically generate public names for base and top level attributes
Replace auto-generated public names with meaningful ones
Check that all base level attributes have public names
Once you have created your rules in Word or Excel and compiled them, you need to generate public names for all base and top level attributes.
To automatically generate public names:
After you have generated your public names, you may want to replace the auto-generated name with something more meaningful for each attribute.
To edit an attribute's public name:
Your choice of public name may be influenced by a number of factors including:
Naming attributes clearly and consistently can make finding and sorting attributes much easier on large projects.
Note that public names cannot have spaces in them but underscores and dots can be used.
It is important that all base level attributes in a project have public names. Oracle Policy Modeling can optionally check that all base level attributes have public names every time you build the rulebase. To turn on this feature, go to Tools | Options | Rulebase Development | Build Validation and select the Check Data Model checkbox.
If base level attributes are detected without public names you will be informed that the Data Model Check has not been successful. You will then need to provide public names to these base level attributes before you can successfully build.
Over time rules naturally change, either due to legislative changes or business policy. There are three different scenarios that a rule developer may face regarding public name maintenance:
- Add a new proof to the current base level rule.
- If the public name can now be moved to a new base level attribute that is used to prove the newly inferred rule, move the public name.
- If the public name cannot be moved onto a new identical attribute then delete the public name.
- Add any new public names that are necessary for any new base level questions that have been created by the new rule proof.