Reopening a case
|Description||Reopening a case after it has been marked as Resolved|
|Version as of||8.5|
|Capability/Industry Area||Case Management|
Every case has a lifecycle, and at the end of its lifecycle the case is usually resolved. When a case is resolved, the status of the case is prefixed with
Resolved and the rest of the name follows the pattern
Resolved-*. A resolved case is usually persisted in the system for a certain period of time before the case is either archived or purged. However, when designing applications, there might be a requirement for users to be able to reopen and further process an already resolved case.
For example, in a CRM application a customer raises a dispute and a dispute case is created in the system. The customer does not then respond with details in time, and the dispute case is marked as resolved. Later, the customer responds with their follow-up information, and the case has to be reopened to be processed.
Default solutions for reopening resolved cases
To handle scenarios in which a case has to be reopened, Pega Platform provides out-of-the-box options for reopening a resolved cases.
There are two primary OOTB options:
- Using the Reopen option in the Actions menu.
- Using the reopenWorkObject process API.
Reopen functionality works differently based on the how the case is defined:
- If the case uses stages, then the OOTB functionality opens the case and shows a flow action to move to the last stage, with the option to change to other stages in the Actions menu.
- If the case does not use stages, then the OOTB functionality opens the case and runs the flow identified by the pyFlowName property.
Extending the reopen functionality
The best practice for customizing the reopen functionality is to extend several extensions points provided by Pega Platform. To extend the OOTB functionality, use the following extension points:
- ReopenDefaults activity
- This extension point activity is invoked in all scenarios in which a case is reopened. For example, this extension point can be used to set pyFLowName to a different flow name and open a different flow, other than the default flow, when the case is reopened.
- pyReopenToStage flow
- This flow is invoked when the case uses stages.