You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 31 Next »

DCM concept of a case

Within the field of dynamic case management (DCM), the concept of a case (or in design time: case type) is the most important concept. When asked what a case is, people tend to give many different answers, naming different concepts within the definition, such as decision, process, document, phase etc. But all these different answers have one thing in common: The named concepts are all part of the case or contribute to a case. This is shown in the diagram below.

In this design guide

As show above, in DCM a case is a concept that combines many other concepts. We do not aim to give one precise definition of a case in this document, but try to explain which concepts can play a role when designing a case.

A case always has a goal, this is most likely singular. In order to reach that goal, decisions are made, in one or more processes. A case goes through phases, where a phase change is achieved formally by means of a milestone. A case can have different states, even more at once. Information is persisted within a case or outside of a case in a register. Within cases, some tasks are not really part of the main or other processes, but can always be executed. Such generic tasks are part of the case as well. Notes and appointments are similar to generic tasks, they are part of the case and are probably available throughout the life cycle of a case. Outside triggers or events can lead to actions that need to be performed in a case. Cases will most likely contain uploaded documents and will generate documents themselves as well. Finally, case management is about collaboration; people can be involved and teams, organizations and roles can be defined.

All afore mentioned concepts contribute to a case, but that does not mean that each case has to consist of all these concepts necessarily. However, most (or even all?) cases contain decisions, will have at least one process and will most likely store some data and/or produce a document.

Blueriq concept of a case

With Blueriq's proposition of Dynamic Case Management, many DCM concepts are available within the platform. However, not all concepts can be found in Blueriq Studio as a Blueriq-concept. Shown below is the same image as above, containing a case and all its related concepts. The concepts in blue deviate from the previous image; this means that the DCM concept itself is not available within the platform as such, but one or more Blueriq concepts are used to model the DCM-concept effectively.

In the diagram above, all pink concepts are DCM concepts that are part of Blueriq by default. The concept Decision is probably the most dominant one, but also processes, persistency and documents are used in many - if not all -  Blueriq applications. Teams and roles may not be as common as decisions, but are used very frequently.

The blue concepts in the diagram above indicate DCM concepts that are not available within the platform as a standard Blueriq module element, but can be modeled using out-of-the-box Blueriq functionality. For instance, the goal of a case, milestones and states; they can all be modeled using decisions, most likely decision tables or business rules. Notes and incoming documents can be modeled using specific containers. For triggers, incoming message events can be used. Appointments, involvements and organizations can be modeled with attributes.

The most protruding blue icons are that of the case and related cases; aggregates are used to model cases. This means that not only standard persistency by means of registers is done using aggregates, but also the case itself is an aggregate!

Not all aggregates are cases (an aggregate can also be used to model a register), but all cases are aggregates.

Comparison

The table below compares all DCM concepts with Blueriq concepts and briefly explains how standard Blueriq concepts can be used to model the DCM concept, if applicable.

Concept in DCMConcept in BlueriqRemarks
CaseAggregateA case is modeled as an aggregate, meaning that for each case an aggregate is defined, containing all entities that are relevant throughout the life cycle of the case. See also Designing cases using aggregates [editor].
GoalDecisionThe goal of the case could be to grant a permit, register an applicant, pay a benefit, sell a product etc. A goal can easily be modeled by an attribute with a default value false and a decision table or business rule which sets the attribute to true when the goal is reached.
DecisionDecisionThe concept decision is available in Blueriq.
ProcessProcessThe concept process is available in Blueriq.
MilestoneDecisionWhether a milestone is reached or not is a decision, based on the context of the case. For more information on how to model milestones in DCM applications, see Designing dynamic processes.
PhaseProcessWith phases, a case can be broken down using the lowest granularity. Most cases consist of five plus or minus two phases. All phases are modeled as processes and since processes can be modeled hierarchical within Blueriq, the main process itself, containing the phases, is modeled as a process as well. For more information on how to model phases in DCM applications, see Designing dynamic processes.
StateDecisionA state is a characteristic of a case that tells the end user not so much about the progress of the execution of the case over time (phases are used for that), but more about the progress regarding the case's identity. For instance, a case can have the state In progress (which does not tell us how far we are), but also Waiting for customer or even two states: Part of spot check and Decided.
PersistencyAggregateFor persistency of registers, aggregates are used. When these registers are external, web services are used.
Generic taskProcessA generic task can be modeled as a task that has no precondition and is not part of a flow. For an example of a generic task, see Designing dynamic processes.
Related caseAggregateRelated cases are modeled as aggregates, just like the case itself. The relation between the case and the related case is modeled as (multivalued) attributes within the case, holding all Id's of related cases. The type of relation (parent-child, sibling, association, etc) can also be modeled using attributes. The attributes are most likely part of a Case or Control entity, but this is the designer's choice.
NoteDashboard Comment containerNotes are similar to generic tasks and could be modeled as such (in combination with a multivalued attribute), but within Blueriq the dashboard comment container can also be used for comments. By default the comments are multivalued and date-time and user are stored alongside the comment.
AppointmentAttribute(s)To model an appointment within a case, the best fit is attributes of an Appointment or Control entity. For the integration with a calender (for instance google mail or Outlook), tailored software has to be bought or built, since this is not available in Blueriq out-of-the-box.
TriggerIncoming external messageTriggers or events are situations form outside the case that require actions to be taken withing the case. For instance the death of the applicant could require the case to cancel, or the divorce of an applicant could result in recalculation of a fee. In Blueriq, triggers or events are modeled as in incoming external message. For an example of an incoming external message, see Designing dynamic processes
Document inputFile upload containerFile management is an integral part of Blueriq. Containers are available to upload and download documents to memory or the file system. Documents that are input for the case and need to be uploaded use the file upload container for that.
Document outputDocumentThe concept document is available in Blueriq.
InvolvementAttribute(s)To involve a person or role in a case is not part of standard Blueriq functionality, but can easily be modeled using one or more (multivalued) attributes, most likely as part of an Involvement, Case or Control entity, but this is up to the designer. To involve someone in a case, for instance the civilian or a case handler or investigator, means setting an attribute with the desired involvement.
TeamTeamThe concept team is available in Blueriq.
OrganizationAttribute(s)Organizations resemble teams, but the concept is not available by default in Blueriq. Therefore, organizations can be modeled using one or more (multivalued) attributes, most likely part of an Organization, Case or Control entity, but this is up to the designer. To rout a case to an organization, means setting an attribute with the desired organization.
RoleRoleThe concept role is available in Blueriq.

The generic case aggregate

Since all cases can be modeled as aggregates, one might wonder what such an aggregate would look like. Are they completely diffrent for each case or is there a common ground among all cases of a certain class or category, such as a benefit-case or a request-case? The answer is the latter; aggregates that resemble cases of the category request all look alike. The same holds for cases of the benefit-category. Shown below is the outline of a request-case aggregate, based upon several projects, pocs and demos.

See also

More information on how to design dynamic processes in Blueriq can be found here: Designing dynamic processes.
Everything about persistency management and aggregates can be found here: Persistency Management guide.
A visualization of most concepts discussed in this article can be found here: Blueriq visuals.
Specifically for dynamic case management and persistency management, see

Dynamic case management

Dynamic Case Management

Persistency management

Aggregate


  • No labels