Skip to main content

Veritran Docs

BRMS

BRMS is a decisions management tool, that solves business rules in an intuitive and dynamic manner. This console allows you to create modular solutions for different business requirements that involve the evaluation of rules, such as a gamification solution, a fraud control solution or a loyalty program.

BRMS main benefit is that it allows the builders to solve different business needs within one platform component, and allows the client to implement business rules in a simple and efficient manner.

The configurations defined in the BRMS console are invoked by the client through an API that triggers the data set and impacts on the app and its users. This API is then invoked from the transactions configured in Studio.

Before navigating through the console and describing each of its sections, there are specific BRMS concepts that you must understand before you start working. Learn more about them below in the list below.

  • Contract: information exchange required to make decisions. The contract consists of an input (that can be inputs or dimensions) and an output or result (described as Outputs in the console).

  • Decision: logical unit that receives an input (inputs and dimensions) and returns outputs as the result of evaluating the rules configured in it. They internally use rules with dimensions, inputs, constants and outputs to produce the expected results. The builder that creates a decision must undestand the business requirement according to the project and defines its configuration. Only senior builders (with high expertise) and specific permissions are allowed to configure and modify decisions since they break the terms of the contract.

    For example: Consider that GoldBank already has a loyalty program that gives their clients points per each purchase made using its credit card through the app. Now, they ask you to add a new rule to the loyalty program under which: users with any profile that make in-store purchases for an amount of USD 10 or higher with their physical credit card will obtain 15 points. Considering this scenario, the decision will have: an input consisting of dimensions about the profiles, the type of card (credit or debit) and operation type (in-store or digital) and one input that will be the purchase amount; and an output that will be the 15 points earned per purchase. These inputs and outputs will be used to configure the decision that will set that: if any client profile makes a purchase in-store, with a credit card and for an amount of USD 10 or higher, they will obtain 15 points.

    Tip

    Breaking the contract means that the changes have an impact on the output and, consequently, affect the app user.

  • Input values: parameters that are part of the contract and consist of inputs or dimensions based on the specifics of one or more transactions. Adding an input is mandatory. It can have one of three data types: booleans (true or false), strings (alphanumeric data) or numbers.

    • Inputs: type of input with continuous or changing value. Inputs are data that does not derive from a specific catalogue and whose values can change over time. For example, the input Amount or the input Operation date.

    • Dimension: Type of input with set or concrete value. Dimensions are categories of values that have a catalog associated according to the project requirements. Dimensions are provided by the client in the catalog (a .txt file, a database, an Excel file, any data source) and must be previously configured in the backend of BRMS to then appear in the Dimensions drop-down of the Decision contract tab. For example: the dimension User Type (dimension name) contains the values Silver, Gold and Platinum (dimension values) or the dimension Sex contains the values Female or Male.

      Note

      Dimensions are configured by the ITCD member in your project. This profile defines the source from which the dimensions will be triggered. To learn more, contact your team lead.

  • Outputs: Parameters that are part of the contract and give an expected result after a transaction is made. The outputs result from the rule evaluation. For example, points earned by the app user, cashback obtained, among others.

  • Constant: Reference values used within the logic of decision rules. There are three types of constants: Value, Array or Matrix, and their values can be a number, a string or a boolean. All builders (either senior or junior) are allowed to configure and modify constants since they do not break the contract but break the logic.

    Tip

    Breaking the logic means that the changes have an impact on the configuration and will result in an error.

  • Decision Rule: Statement or set of criteria with conditions under specific dimensions, inputs and outputs. Rules are evaluated by the BRMS and, according to the logic defined, result in an output or outputs.

  • Rule Evaluation Cut Strategies: Define how the BRMS evaluates the rules in each decision and gives outputs as a result. Strategies are Break, Collect and Collect-merge. Read Create or Edit a Decision to learn more.

To learn more about these concepts, read Decisions and Constants.

Note

Inputs, dimensions, outputs and constants can have one of three data types: boolean, string or number.

Use BRMS

This section describes how to use BRMS based on an example where GoldBank, the client, asks you to create all the elements from scratch. You can also modify each of the elements configured in BRM in the future, according to the project's needs.

First of all, you must have BRMS installed in your Workspace environment and the permissions to access it. If you don’t have the necessary permissions, contact your admin. To enter BRMS, use the environment provided by your project lead. Then, enter your credentials (username and password). Depending on your role, you may have different permissions to operate on the console. To learn more about your permissions and the tasks you can execute, contact your project lead. Then, follow these steps:

  1. Understand the requirements of the project, which includes: the purpose of the solution required and the decisions that define the rules to be evaluated by the BRMS - the decisions will include the dimensions catalog provided by the client, the conditions applicable, the constants, and the expected results.

  2. Make sure that the ITCD member of your team has uploaded the dimensions to the BRMS backend.

  3. Create the constants. These are set reference values provided by the client. To learn more, read Create or Edit a Constant.

  4. Create the decisions. To learn more, read Create or Edit a Decision.

Important

BRMS opens in the Decisions page by default. Make sure to start working in the Constants page first.

Navigate BRMS
HOME.gif

The console opens in the Decisions tab. From this page, you can see the details of the decisions created by you and your team and, if necessary, edit them. When you click a decision, it opens and you can see the configuration of the decision contract and rules.

In addition, you can create new decisions or import others created in a different environment; for example, a decision created in a testing environment that you need to use in your production environment. You can also export decisions to your device (in JSON format) to then import them in other environments.

You can also click Constants to open the Constants page, where you have the same actions available. Given that the purpose of a constant is different from the purpose of a decision, you will be able to configure the constant contract and values (but no rules are included).