Building an Advanced Two-Phase Case Management System in the AgileApps Cloud

From AgileApps Support Wiki
Revision as of 09:27, 11 April 2017 by imported>Aeric

Overview

This paper describes an advanced implementation of an Employee Onboarding application that creates a second case record and launches the attendant processes when the processes attached to the first record have been completed. It represents a deeper dive into the platform that demonstrates some of the things you can do with advanced rules and processes.

Notepad.png

Note: If you haven’t already read it, this article describes the basic application: Building a Dynamic Case Management Application in the AgileApps Cloud Links to those articles and other useful pages can be found in the support wiki’s Article Index at Article Index

The Goal: Set Up a Two-Phase Onboarding Process

The goal of the implementation is to create a process suitable for onboarding new employees, in two phases.

Requirements & Strategy
  • Manage the process in two phases, each with its own deadlines.
    • In the first phase, the organization has a week to prepare for the new employee
    • In the second phase, the organization has a day to get the person into their new position
  • Notifications should be sent if either of the two phases reaches 90% of its time limit.
Meeting the Challenge of Two-Phase Onboarding

The need for a two-phase approach represents a major challenge for this case study. That’s something the AgileApps case management platform was not originally designed to do. (It may well do so in the future, however, in response to needs like this one.) The strategy for meeting that challenge is to create two records for each case, and to use a combination of event-handing and rules to begin the second phase automatically when the first is done:

Utl.png

Here’s how it works:

1. When a new case is created, a Case Created event occurs.
The Rules associated with that event check to see which kind of case it is: Phase I or Phase II.
For a Phase I case, processes associated with Phase II are disabled, so they can’t be launched inadvertently, and Phase I processes are initiated. For a Phase 2 case, the reverse is true.
2. Track process completion.
When a process completed event occurs, run rules to determine which process it is, and set the appropriate flag in the case record to record the fact that it has been done.
3. Determine when the next phase can begin.
When all processes in Phase I have been completed, Phase II can begin.
4. If all of the flags are set, mark the current case as Resolved.
It could also be marked as Closed, which is almost the same thing, but when an HR Rep sees the Resolved status in their list of cases, they immediately know that Phase II is in progress.
5. Create the child case record for Phase II.
The new record points back to the original one, so the two remain tied together.
A flag is set to further indicate that this is a Phase II record.
6. Launch Phase II Processes.
Another flag in the record identifies it as a Phase II case, triggering the Case Created rule that disables processes for Phase I and enables those for Phase II.
7. Close the case.
When all onboarding preparations are complete, the case can be closed.