Application Development (Rules cache and resolution process/Circumstancing Rules/Duplicate Cases)
How does circumstancing make application maintenance easier?
A rule is created for each exception which provides a degree of modularity to the application and makes the rules easier to configure/update.
What is circumstancing?
Circumstancing creates a variant of a rule that is tailored to a specific circumstance. Example - If a company offers expedited response time to customers with a gold status, circumstancing would be used to adjust the SLA for the rule depending on what status the customer has.
For rule availability, what does 'Withdrawn' indicate?
Indicates all rules with the same purpose, Apply to: class, and in the same ruleset are not considered during the rule resolution process. Rules can be viewed, copied, or edited in Dev Studio
For rule availability, what does 'Final' indicate?
Indicates the rule MAY be used during the rule resolution process. Rules can be viewed and executed in Dev Studio, but CANNOT be edited or copied into another ruleset.
For rule availability, what does 'Available' indicate?
Indicates the rule may be used during the rule resolution process. Rules can be viewed, copied, and executed in Dev Studio.
For rule availability, what does 'Not Available' indicate?
Indicates the rule may not be used during the rule resolution process. Rules can be viewed, copied, or edited in Dev Studio, but will not execute
What are temporary cases?
Temporary cases are only stored in memory on the clipboard and not in the Pega database. These cases have no case ID's These cases are used to save storage and improve system performance.
For rule availability, what does 'Blocked' indicate?
The rule can be used during the rule resolution process, but the execution will be halted and an error message will display. Rules can be viewed, copied, or edited in Dev Studio.
When developing in parallel, why is a team application created?
You create a team application to enable your team to manage the branches they use and not impact other teams
What is the purpose of temporary cases? - Enable routing to different operators - Determine whether a case meets certain conditions - Create case instances in the Pega database - Save storage in the Pega database
save storage in the Pega database
Management reports that an unacceptably large number of cases are incorrectly identified as potential duplicate cases. Which two approaches could you use to modify the duplicate case search process so that it produces fewer invalid duplicates? - Adjust the condition weights - Adjust the threshold value - Do not use a basic condition - Add a Persist Case step after the Duplicate Search step
1 and 2
Which two of the following are prerequisites for creating a branch rule for parallel development? - Create a team application - Circumstance the original rule - Create an access group that references the team application. Add developers to the access group. - Save a copy of the original rule into the base ruleset
1 and 3
Steps to checking for a duplicate case (3 steps)
1. Create a 'search duplicate cases' step in the case life cycle. 2. Create basic conditions for the system to use (all basic conditions must be met before considering potential duplicate cases). 3. Create weighted conditions (assign a weight from 1-100 to each condition).
What is the process to circumstance a rule? (Two main steps)
1. Create a base rule which describes the expected behavior. 2. Identify any exceptions to the expected behavior and create circumstanced rules from the base rule which satisfy these exceptions.
When two teams are working on the same application, these five steps should be taken to develop rules in parallel.
1. Create a team application built on the main app 2. Create one or more development branches in the team app 3. Grant access to the team app 4. Create/Configure rules using the branch 5. Merge each branch into the application rulesets when development in branch is complete and stable
When Pega encounters a Persist case shape, what two things does Pega do?
1. Creates a case ID for the temporary case 2. Commits the case data to the database
Rule resolution does not apply to records that are instances of classes derived from other abstract base class such as these three classes?
1. Data- 2. System- 3. Work-
What are the two options for overriding a circumstanced rule?
1. Flag a base rule 2. Withdraw a rule
The rule resolution algorithm uses these six inputs to determine the most appropriate rule.
1. Predefined rule keys - type, name, class, RS&V 2. User's ruleset list 3. Class hierarchy of the rule in question 4. Circumstances (value of a property, time and date restrictions) 5. Availability of the rule 6. User's access roles and privileges
Describe the process to how the Rules cache is populated.
1. Rule resolution algorithm creates a list of all rules that match the purpose of the rule in question to populate the cache. 2. Rule candidates marked as 'Not Available' are removed from the list 3. Then rule resolution uses the operator's Ruleset list to determine which rule candidates the operator can access 4. Rule resolution then removes all rule candidates not defined in a class in the ancestor tree 5. The remaining rule candidates are then ranked 6. The rules are then added to the cache
Pega supports circumstance conditions, which are? (4 of them)
1. Single value - specifies a property value to be used in a comparison condition. 2. Multiple values - Combination of property values satisfies the circumstancing condition. 3. Date property - Uses a single date or a range of dates. If the value of the property is later than the specified date or falls within the range of dates, the application uses the variant rule. 4. As-of date - The variant rule becomes effective after a certain date, or during a range of dates. (Differs from a Date property circumstance condition in that the variant itself is eligible/ineligible based on the date. Date property conditioned variants are ALWAYS eligible).
In rule circumstancing, what happens when the rule is set to Withdrawn (2 things)?
1. The next highest version of the rule becomes the base rule. 2. All prior circumstanced versions of the rule become hidden.
What are the two main advantages of branching?
1. Two or more development teams can configure an application in parallel. 2. Rule development takes place within an isolated space (the branch) without affecting functionality in the source rules
In rule circumstancing, what happens when the rule is flagged (2 things)?
1. When a rule is flagged, that rule will take priority over any other circumstanced rule. 2. The flagged rule will also make any previous version of that rule obsolete (If RuleX 01-01-02 was flagged, then RuleX 01-01-01 would become obsolete)
An application change goes into effect on June 15, 2019. Due to this change, two fields are added to a user form to collect information for compliance purposes. Assuming that today is April 30, 2019, how should you configure circumstancing for the form? - Update the existing form to apply a circumstance; specify June 15, 2019, as the end date - Circumstance the form by property and date; specify June 15, 2019, as the start date - Circumstance the form by property and date; test that the creation date for the case is on or after June 15, 2019. -Circumstance the form by template and definition; in the definition, specify June 15, 2019, as the cut-off date.
2
In which of the following situations would you use a rule circumstance to resolve the requirement? - An online order process optionally allows customers to update the credit card number saved with their account - A national insurance company requires a different minimum for liability coverage in each state - A service level notifies the assigned user when a goal interval is exceeded, and notifies the user's manager when a deadline interval is exceeded - A process does not execute if a user is single
2
Which statement best describes the role of the base rule in circumstancing? - the base rule is a template used to create all of the circumstanced variants - the base rule is used if no circumstanced variant applies - The base rule lists all of the properties for which a rule can be circumstanced - The base rule describes case behavior in effect until a certain date
2
In what order should the following be done? 1. Configure a circumstance record 2. Configure a circumstance template 3. Configure a circumstance definition
2, 3, 1
Which two steps do you perform after you develop branch rules and before you merge a ruleset? -Check out rules to merge -Check in rules to merge -Use DB trace to identify conflicts -Review conflicts and warnings
2, 4
When a process is configured to create temporary cases, which of the following occurs when a user creates a case? - The system stores case data on a clipboard page specifically for temporary cases - Data is stored in the database - the case is stored in memory - The system creates an object ID and stores the case in the database
3
Which scenario might benefit from using a temporary case? - Banking customers can access a bank's online portal to apply to open a checking or savings account - Retail customers can process a return for one or more items in their order or they can process an exchange. - Airline customers can view their travel itinerary or submit a request to modify their itinerary, subject to fees - Insurance customers can call a call center to file a new claim, or make changes to a current coverage policy
3
A branch ruleset is a rulset that _________ and ___________ - Prevents developers from seeing work of all team members - Contains rules that are not in active development - Is based on another ruleset - Is designed for large projects
3 and 4
What task must you perform in order to persist a temporary case? - Configure pyStartCase to persist a case - Add an object ID to the case - Add a persistence condition to the case type - Add a Persist Case SmartShape to the process
4
Which of the following statements is true about the rule resolution process? - If the system finds more than one rule instance during rule resolution, users are provided with a choice of which rule to use depending on context. - The class location (context) of a rule takes precedence over the availability of the rule - Rule resolution applies to rules that are instances of classes derived from the Rule- and Work- base classes - If a user does not have access to the selected rule, the system sends a message that is could not find an appropriate rule to execute
4
For the circumstance condition, 'Multiple value', what are the circumstance template and circumstance definition?
Circumstance template is the rule that defines the properties used to determine if the circumstance is applicable Circumstance definition defines the values for the circumstance template and the combinations of these values used to determine which rule variant will be used.
How does circumstancing solve the problem of configuring exception behavior in an application?
Circumstancing allows you to describe exception behavior with a set of targeted rules rather than one complex rule. Each targeted rule configures behavior to address a specific exception.
For rule resolution, when a rule is referenced in a Pega application, what is the overview process to how Pega searches for the correct rule.
Pega will attempt to locate instances of the rule in the rules cache. If instances of the rule are found, rule resolution finds the best instance of the rule and checks for duplicates (checks properties and circumstancing) Then Pega confirms the rule is available for use (Checks to see if Availability is set to Blocked or Available) Finally, Pega verifies the user is authorized to use the rule (Checks privileges)
Are the circumstance template and circumstance definition applied to the base rule or the variant rule?
They are applied to the variant rule.
(T/F) All rules in a branched ruleset must be checked in before the branch ruleset can be merged
True
What does search duplicate cases process use to compare specific properties or values with cases already in the system?
Weighted conditions (not basic conditions. basic conditions are used to determine whether or not the duplicate case process should be started or not)
Why would you set a rules Availability to 'Blocked'?
When the rule needs more time to be developed
Which rule availability setting can you use to force the system to look for an instance of the rule in the next highest class or ruleset? - Final -Withdrawn -Available -Blocked
Withdrawn
Rule resolution applies to most rules that are instances of classes derived from the _____________ base class
abstract Rule-
During rule resolution, a first, best match is determined by ______________.
an exact match of a property or date circumstance
During rule resolution, the _________ rule is selected if no exact circumstance matches are found.
default