What are case databases?
A Case Database is an author-configurable data storage in a BRYTER Application which primary purpose is to collect and store (case) records so they are reusable and inter-connectable for other further purposes. Authors can create Case Databases within an Application.
Authors can configure the fields – the database schema – and use the configured database in Read or Write Database Nodes in their Modules, where data is read from or written into a Database. These native Case Databases can replace existing external database or Excel Integrations and enable case management use cases.
Why are case databases useful?
With Case Databases, authors can create and set up databases themselves. They enable the storing of only selected data or act as the "glue" between several Modules in the same Application. With Case Databases, authors can depict case management workflows or can build smaller Modules that store values that can be reused or enriched with subsequent Modules.
A Case Database is also the basis of a Data View. Whereas a Case Database can only be accessed by BRYTER authors, a Data View can be shared with authenticated end-users via a link or as a published Application and depict selected or filtered data captured in the underlying Case Database.
How to use case databases
In the following, we will use a Client Due Diligence (CDD) Assistant as an example to illustrate how a Case Database can be used in Applications. The first Module in this Application allows the user to generate a CDD report, establishes whether a client's due diligence is required, and notifies the legal team or General Counsel if necessary. All captured data (all collected values) will be stored in Case Databases. The case will be written into the red flag database if any red flags are uncovered. The database is used by the General Counsel to review the case and the reported red flags and to decide upon the next steps.
Configuring a case database
In your Application, select Case Databases in the side menu and select New Case Database to add a new Case Database to the Application.
Create a Case Database by providing a name for your Case Database. Please note that the name of your database is restricted to 50 characters and can contain upper case letters, blank spaces, or even emojis.
The new database needs to be configured by adding all the required fields and field types to the Case Database. Field names no longer need to start with a lowercase letter and only contain lowercase letters, numbers, or "_" instead of blank spaces, but can now contain blank spaces and uppercase letters, e.g., Client address.
Select Configure case database to set up the configuration or schema of your Case Database.
When setting up the configuration of your Module, it is helpful to open both the Module and the configuration page in two separate browser tabs or windows. Like this, authors can ensure that they do not forget any value and that the correct type is associated with the field. The identifier (id) of the case record is automatically added and can be renamed by typing into the blue field below the Unique identifier.
Once all fields have been added, select Save configuration to save the schema and all the fields.
Using case database nodes in modules
To use a Case Database in your Module, add an Action Node to your Module and select the respective Case Database from the list. As a rule of thumb, position a Database Node that writes into a database rather low in your Module, following all Value, Action, and Input Nodes. Position a Database Node that reads from a database rather high in your graph – after the unique identifier has been entered or passed through via URL parameter to retrieve the relevant case.
Writing values into case database
Once the database is configured, the values gathered in the Module can be mapped into the database fields. Insert or add the Database Node at a position in your graph where all required values can be mapped into the respective fields. The Database Node default action is READ, if you want to write into the database, select WRITE.
💡 Label your Database Node to reflect whether a READ or WRITE action is performed.
Once you selected WRITE in the Node panel, you can map your Input values into the fields by @-referencing them. Start typing "@" into a field and all values of the same type as the field will appear in the value picker. Confirm the selected value.
You can choose to leave fields blank. This is often the case when several Modules are used to write values into the same record of the database. If you leave the ID field empty, the Case Database will automatically generate an ID for this record that can be used to retrieve the values written into it. This ID can also be used to read or update the record in the Case Database in the same or a different Module. The record ID is also provided as the only Output parameter of the Write Database Node.
To write into the database, you need to publish your Module. The previously empty Data Viewer of the Case Database will now display the stored values according to the publishing environment of the Module.
The values or data gathered in this Case Database can be exported as CSV (Plain or Excel).
Reading values from a case database
As soon as values have been stored in the Case Database, the values can be retrieved with a Read Database Node. All available Output parameters – the fields in the selected Case Database – are displayed in the sidebar. The ID is the only Input parameter and can be @-referenced, e.g., from an Input Node, a URL Parameter, or a Value Node.
💡If you have opted for a unique identifier, an ID, that is automatically generated, you will need to pass through a text value, for example, a Text Input Node or a URL parameter with the TYPE set to Text.
After referencing the ID in the Read Database Node, authors can retrieve the values stored in the database through @-referencing the fields in any Node that follows.
💡 Consider adding a Condition after reading out of a database whenever the ID field has been left blank to account for faulty or non-existent IDs.
Updating existing values in a case database
A Read Database Node is often used in combination with a Write Database Node whenever values need to be updated. To update fields, authors need to enter the ID and only map values into Database Input fields that require updating or "overwriting".
Another use case example
In the HR Absence Management example, the Module Request Vacation is used by employees to enter their vacation requests. The entered data is stored in the Case Database Vacation Requests. The line manager uses the Module Approve/Reject to read the request data out of Vacation Requests and to either approve or reject the request. The decision of the line manager is also recorded/written into the Vacation Request.
Multi-select values can be written into Case Databases as comma-separated text only. They cannot be used subsequently as a default value for a multi-select input node.
- Display the comma-separated Text value in the Multi-select Input Node and ask the Module user to re-select these values.
- Create a Number field for each answer option and fill it with 0 or 1, and then pre-fill each answer option based on that.
Preview and "do not save user answers"
Case Databases cannot be previewed in Preview mode but need to be published to the Test or Live environment.
We recommend using the Test environment to test the set-up of your Application and disabling "do not save user answers".
Use case examples and best practices
👍 Good use of Case Databases
- Vacation request/approval containing separate Modules for vacation requests and vacation approvals that each write and read out of a database.
- Any use case that requires storing and retrieving/approving cases.
- Build smaller Modules with Case Database: split Modules into smaller pieces that are connected with a database that stores required values for subsequent Modules
👎 Bad use of Case Databases
We advise against using Case Databases as a clause library across several Applications. Case Databases are tied to an Application and can only be accessed from Modules in the same Application and cannot store formatted text or be edited directly.
💡 Best practices
- Pay special attention to all the required values and their types (email, text, number, file, or date) when setting up the configuration of your Case Database, and provide concise labels for all fields to ensure easy mapping of Module values.
- Open the database configuration and your Module in separate browser windows
- Consider using prefixes or suffixes like user email instead of email only to account for a Case Database with a growing number of fields and values.
Continue with the next step here: 🍕 How to Calculate Percentages for Risk Scores or Completion Ratings
Keywords: data base; Datenbank; databse