We are implementing a workflow around a process that happens only once an year. Various tasks that need to be happened for this annual process are at different levels, by that I mean some tasks are completed at country level, some at state level, and some at city level, and most of these tasks are dependent on each other. i.e. Before a certain CITY task is completed, the STATE task should have already been completed and so on.
If we are talking about a Loan or an Order, the workflow just works from Loan or Order perspective, but in my case I have varied workflow perspectives such as Country , State, County etc..
Tomorrow the client might say they want to add more tasks at each different level, more state tasks, more city tasks etc..
What is the best way to approach this sort of workflow.
the different levels you describe, city, state, country can be seen as different actors in a case. By using the regular flow you automatically set up a sequential order as you described it. In addition you can make use of the wait shape in your flows.
By splitting your case type into stages that are oriented by the different actors/levels you might also add more steps in each of them if needed in the future.
I dont think splitting a single case type into stages can achive this, may be splitting the entire process into multiple case types (each case type for each level) might achive the require solution. All these various levels have dependency tasks in each of the its processes, so having a single case type would not help achive the case dependency.
Because of the dependencies between the tasks that you referenced in your original post you may benefit from using subcases for each of the levels. Do each of the levels have a distinct case lifecycle and would you benefit from tracking them independently from each other? If so then you should consider using subcases. Since you question involves a design questions of significant scope that requires a more nuanced answer based on your particular example we suggest you reach out to Pega Consulting for further assistance.
Thanks Henry, yes based on the requirments we are inclined to use subcase approach to deal with this as each case type has its own life cycle, reporting requirements, and ofcourse dependencies. We will look at the possibility of reaching out to Pega Consulting if required. Thanks for the response.
This could be a good example of designing using Pega case hierarchy with parent child relationship.
You can add case dependency (one way to do this is by using using a wait shape with wait type=Case Dependency) at required case workflow which needs to wait until some other cases are resolved (or certail conditions are met).