What is Case data?
'Data' is often what it is all about. In Valtimo, it all starts with a Case. Imagine a Case as the old fashioned paper suspension file. It holds data. And, more important, it is static. A Case doesn't do anything, it does not monitor its own progress, it does not know who or what needs to act to get the work done. Remember that Case Management consists of Case and Management. They are two different things.
As a starting point, case data is stored in the Case. In Valtimo this is technically a JSON-document.
We also have the possibility to store or retrieve case data from other systems, such as a data lake or for the Dutch Government 'OpenZaak'. This has advantages, such as preventing storing duplicate data, having up2date realtime information and creating less vendor lockin by separating the BPA-platform from the data. It also has its downsides, such as slower load times and limitations in search capabilities.
Third, there is the option to make use of the Camunda process variables. This is a very flexible way of storing temporary data, mostly used to steer the process.
There are various ways to work with data in Valtimo. Each solution has its own benefits and downsides.

Types of data

It’s important to understand the types of data you work with. Not all data need to be exposed to the process engine. Doing this with care improves security. We distinguish three types of data:
1. Primary (Steering )data. This data is needed for the process engine to make decisions during the execution of a process, so to steer the process. For example, we have a process informing the manager when a RPF > 50K comes in. In this case, we need the amount to be able to determine what action to take.
2. Secondary data. This data is not needed by the process model. However, this data is used to filter on. For example, the name of project lead in a project might not be relevant for the process execution. However, the name of the project lead is relevant when filtering the data. So an admin might be interested in ‘all projects carried out by Rob May in 2018’.
3. Tertiary data. This is data only used to display. For example, a text field with comments.
data type
Used tos teer the process?
Used to filter?
Project lead

Storing data

There are three options for storing data:
1. Using Camunda process variables. This is a fairly simple method, where you use process variables to store data. The advantage is not having to define a separate data store. You can just define variables, and Camunda will store them. Also, by default all variables are easy accessible in the process engine. Valtimo has a view configurator, which offers the possibility to build no-code dossiers. On the other side, some disadvantages are:
a. Difficult to make complex queries on dataset.
b. Slow for larger datasets.
c. No support for relational models.
d. No separation between data and process engine (no decoupling).
e. No or difficult BI on data sets.
f. Difficult to have multiple processes work on one dataset.
2. Using a Valtimo Case (dossier). This is a separate set of relation tables in the database. This needs setup by a developer. Advantages are:
a. Faster in execution;
b. Multiple processes can act upon one dataset;
c. Separation between data and process engine (decoupling);
d. More complex queries and data filtering possible;
e. BI possible.
3. Using another external Data Store, for example an existing ERP or CRM system or OpenZaak. These Data Stores can be connected via a standard API connected.
Copy link