Creating Low-Code Loan Applications using the Trisotech Mortgage Feature Set

Presented By
Simon Ringuette – Trisotech
Tom DeBevoise – Advanced Components Research

Qualifying, underwriting, and selling a loan requires adherence and respect of various laws and regulations. The Trisotech Mortgage Feature Set (MFS) offers fully integrated features and functions leveraging open industry standards such as BPMN, DMN, and MISMO to allow mortgage lending organizations to include critical GSE and Regulation Z decisions into their workflows. Join us to discover a streamlined, compliant approach to mortgage lending with Trisotech MFS.

View the slides


Recorded webinars

View all videos
Attend a live webinar

Business Rules and Decision Management in Healthcare

The Mortgage Feature Set (MFS)

For organizations that underwrite and sell mortgages, Trisotech is enhancing its Digital Enterprise Suite (DES) with mortgage industry specific (Regulatory and GSE) extensions.

The Mortgage Feature Set (MFS) option offers fully integrated features and functions that allow organizations to model and automate their decisions and workflows more efficiently.

Critical GSE and Regulation Z decisions and workflows are made available. These critical rules and supported decisions are gleaned from more than 500 pages of GSE and Federal Regulations.

Request Personalized Demo
Watch our Recorded Demo Watch our Recorded Webinar - Creating Low-Code Loan Applications using the Trisotech Mortgage Feature Set

MFS Sample Models

For mortgage underwriters/creditors that sell their mortgages to Fannie Mae or Freddie Mac, all the critical decisions mandated in Fannie Mae’s Selling Guide and Freddie Mac’s Seller/Server Guide are included for the conventional and HomeReady™ products.

Fannie Mae Sellers Guide Knowledge Models

  • Fannie Mae Conventional Products
  • Fannie Mae HomeReady™ Products

Fannie Mae Sellers Guide Required Decision Models

  • Complete Sellers Guide Decision model for pre-qualification and preclosing
  • B2-1 Loan-to-Value (LTV) Ratios
  • Loan Level Price Adjustment
  • B5-1 High-Balance Mortgage Eligibility and Underwriting
  • B3-5.1 General Requirements for Credit Scores
  • Eligibility Matrix
  • B7-1 Mortgage Insurance Coverage Requirements
  • B3-1 Manual Underwriting

Freddie Mac’s Seller/Servicing Guide Models

  • Complete Sellers Guide Process model for pre-qualification, preclosing, and presales
  • 4603.2 Super Conforming Mortgage Eligibility and Underwriting
  • 4203.2 Loan-to-value (LTV) Ratios (Calculation of LTV Ratio)
  • 5203.1&2 Indicator Score and General Requirements for Credit Scores
  • 4702.1 Mortgage Insurance Coverage Requirements
  • Exhibit 25 Risk Class and/or Minimum Indicator Score Requirements
  • Exhibit 19 Credit Fees

Also included is the important Ability to Repay the decision model from Regulation Z.

Regulation Z

  • Regulation Z decision models
  • 12 CFR 126.43 Ability to repay (ATR) Decision Model
  • 12 CFR 126.43(C)(2)(vi) Monthly debt to income ratio

MFS Knowledge Features

The Mortgage Feature Set provides various common concept models that can be re-used for mortgage model creation. These concepts can be dragged-and-dropped into decision models (DMN), workflow models (BPMN), and case model (CMMN). The concepts can also be linked to any terms in the labels of various model elements. Users can modify the pre-configured entries and create additional entries.

A number of such common concept models include:

Uniform Mortgage Data Program® (UMDP®) Knowledge Entity Model

This Knowledge Entity Model contains concept maps along with definitions of the various concepts associated with Uniform Mortgage Data Program® (UMDP®). The Uniform Mortgage Data Program (UMDP) is an effort undertaken jointly by Fannie Mae and Freddie Mac at the direction of the Federal Housing Finance Agency (FHFA) to enhance mortgage data quality and standardization.

Mortgage Acronyms Knowledge Entity Model

This dictionary of mortgage terms and acronyms was created from the Uniform Services Veterans Mortgage list of mortgage terms and acronyms.

Other concept models are also available in support of provided specific mortgage workflow and decision models.

MFS MISMO Specific Features

The Mortgage Industry Standards Maintenance Organization (MISMO) is a not-for-profit, wholly owned subsidiary of the Mortgage Bankers Association (MBA) responsible for developing standards for exchanging information and conducting business in the U.S. mortgage finance industry.

MISMO Glossary

This Knowledge Entity Model contains a set MISMO related concepts sourced from the MISMO Business Glossary-Term List. Each provided term comes with a definition and source. Focus areas include:

  • Appraisal
  • Closing Disclosure
  • Commercial
  • Data Governance and Management (DGM) Fit For Purpose
  • eMortgage Glossary
  • MISMO Logical Data Dictionary (LDD)
  • Loan Application
  • Loan Delivery
  • MBA Glossary
  • MISMO3.4 iLAD
  • MISMO Approved Acronym
  • MISMO Life of Loan
  • Origination
  • Servicing

Predefined MISMO Data Types

Trisotech provides out-of-the box MISMO aligned data types that can be assigned with one click to elements in Decision models (DMN), Workflow models (BPMN), and Case models (CMMN).

The MISMO Accelerator

The MISMO Accelerator is a comprehensive set of predefined MISMO element structures provided as reusable drag and drop data structures. Simply drag the desired MISMO element to a Decision (DMN), Workflow (BPMN) or Case (CMMN) modeling canvas to obtain an element of that type.

MFS Additional FEEL Functions Features

A complementary library of FEEL functions is included in the Mortgage Feature Set to make the development of financial analysis logic more efficient. Examples of functions added with the Mortgage Feature Set option include:

  • annual interest rate
  • annual nominal interest rate
  • asset depreciation
  • cumulative interest payments
  • cumulative principal payment
  • decimal fraction to decimal number
  • decimal number to decimal fraction
  • depreciation for accounting period
  • discount as percentage
  • effective annual rate
  • first coupon date after settlement
  • fixed rate declining balance asset depreciation
  • future value
  • future value schedule
  • installments interest
  • interest payment
  • internal rate of return
  • last coupon date before settlement
  • modified internal rate
  • net present value
  • number of coupon dates between settlement and maturity date
  • number of coupon days in coupon containing settlement date
  • number of days from settlement date to first next coupon date
  • number of days in coupon from beginning to settlement date
  • number of periods
  • particular payment
  • payment
  • present value

Mortgage Feature Set (MFS)

Mortgage Feature Set (MFS) is an option of the Digital Enterprise Suite

Request Demo
Healthcare Sandbox icon

Mortgage Resources



View all

Bruce Silver's blog post - DMN 101
Bruce Silver

DMN 101

By Bruce Silver

Read Time: 4 Minutes

Most of my past posts about DMN have assumed that the reader knows what it is and may be using it already. But there is undoubtedly a larger group of readers who have heard about it but don’t really understand what it’s all about. And possibly an equally large group that have heard about it from detractors and have some misconceptions. So in this post I will try to explain what it is and how it works.

DMN, which stands for Decision Model and Notation, is a model-based language for business decision logic. Furthermore, it is a vendor-neutral standard maintained by the Object Management Group (OMG), the organization behind BPMN, CMMN, and other standards. As with OMG’s other business modeling standards, “model” means the names, meaning, and execution behavior of each language element are formally defined in a UML metamodel, and “notation” means that a significant portion of the language is defined graphically, in diagrams and tables using specific shapes and symbols linked to model elements. In other words, the logic of a business decision, business process, or case is defined by diagrams having a precise meaning, independent of the tool that created them. The main reason for defining the logic graphically is to engage non-programmers, aka business people, in their creation and maintenance.

DMN models the logic of operational decisions, those made many times a day following the same explicit rules. Examples include approval of a loan, validation of submitted data, or determining the next best action in a customer service request. These decisions typically depend on multiple factors, and the logic is frequently complex. The most familiar form of DMN logic is the decision table. All DMN tools support decision tables, and that’s because business people understand them readily with zero training. Consider the decision table below, which estimates the likelihood of qualifying for a home mortgage:

Qualifying for a home mortgage depends primarily on three factors: the borrower’s Credit Score, a measure of creditworthiness; the Loan-to-Value ratio, dividing the loan amount by the property appraised value, expressed as a percent; and the borrower’s Debt-to-Income ratio, dividing monthly housing costs plus other loan payments by monthly income, expressed as a percent. Those three decision table inputs are represented by the columns to the left of the double line. The decision table output, here named Loan Prequalification, with possible values “Likely approved”, “Possibly approved”, “Likely disapproved”, or “Disapproved”, is the column to the right of the double line. Below the column name is its datatype, including allowed values. Each numbered row of the table is a decision rule. Cells in the input columns are conditions on the input, and if all input conditions for a rule evaluate to true, the rule is said to match and the value in the output column is selected as the decision table output value.

A hyphen in an input column means the input is not used in the rule; the condition is true by default. So the first rule says, if Credit Score is less than 620, Loan Prequalification is “Disapproved”. Numeric ranges are shown as values separated by two dots, all enclosed in parentheses or square brackets. Parenthesis means exclude the endpoint in the range; square bracket means include it. So rule 4 says, if Credit Score is greater than or equal to 620 and less than 660, and LTV Pct is greater than 75 and less than or equal to 80, and DTI Pct is greater than 36 and less than or equal to 45, then Loan Prequalification is “Likely disapproved”. Once you get the numeric range notation, the meaning of the decision table is clear, and this is a key reason why DMN is considered business-friendly.

But if you think harder about it, you see that while Credit Score might be a known input value, LTV Pct and DTI Pct are not. They are derived values. They are calculated from known input values such as the loan amount, appraised property value, monthly income, housing expense including mortgage payment, tax, and insurance, and other loan payments. In DMN, those calculations are provided as supporting decisions to the top-level decision Loan Prequalification. Each calculation itself could be complex, based on other supporting decisions. This leads to DMN’s other universally supported feature, the Decision Requirements Diagram, or DRD. Below you see the DRD for Loan Prequalification. The ovals are input data, known input values, and the rectangles are decisions, or calculated values. The solid arrows pointing into a decision, called information requirements, define the inputs to the decision’s calculations, either input data or supporting decisions.

Like decision tables, DRDs are readily understood by business users, who can create them to outline the dependencies of the overall logic. In the view above, we show the datatype of each input data and decision in the DRD. Built-in datatypes include things like Text, Number, Boolean, and collections of those, but DMN also allows the modeler to create user-defined types representing constraints on the built-in types – such as the numeric range 300 to 850 for type tCreditScore – and structured types, specified as a hierarchy of components. For example, tLoan, describing the input data Loan, is the structure seen below:

Individual components of the structure are referenced using a dot notation. For example, the Loan Amount value is Loan.Amount.

A complete DRD, therefore, including datatypes for all supporting decisions down to input data, provides significant business value and can be created easily by subject matter experts. As a consequence, all DMN tools support DRDs. But by itself, the DRD and a top-level decision table is not enough to evaluate the decision. For that you need to provide the logic for the supporting decisions. And here there is some disagreement within the DMN community. Some tool vendors believe that DMN should be used only to provide model-based business requirements. Those requirements are then handed offto developers for completion of the decision logic using some other language, either a programming language like Java or a proprietary business rule language like IBM ODM. I call those tools DMN Lite, because fully implemented DMN allows subject matter experts to define the complete, fully executabledecision logic themselves, without programming.

Full DMN adds two key innovations to DRDs and decision tables: the expression language FEEL and standardized tabular formats called boxed expressions. Using boxed expressions and FEEL, real DMN tools let non-programmers create executable decision models, even when the logic is quite complex. So you can think of DMN as a Low-Code language for decision logic that is business-friendly, transparent, and executable.

In that language, the shapes in the DRD define variables (with assigned datatypes), with the shape labels defining the variable names. Defining variables by drawing the DRD explains an unusual feature of FEEL, which is that variable names may contain spaces and other punctuation not normally allowed by programming languages. The value expression of each individual decision is the calculation of that decision variable’s value based on the values of its inputs, or information requirements. It is the intention of FEEL and boxed expressions that subject matter experts who are not programmers can create the value expressions themselves.

FEEL is called an expression language, a formula language like Excel formulas, as opposed to a programming language. FEEL just provides a formula for calculating an output value based on a set of input values. It does not create the output and input variables; the DRD does that. Referring back to our DRD, let’s look at the value expression for LTV Pct, the Loan-to-Value ratio expressed as a percent. The FEEL expression looks like this:

It’s simple arithmetic. Anyone can understand it. This is the simplest boxed expression type, called a literal expression, just a FEEL formula in a box, with the decision name and datatype in a tab at the top. Decision table is another boxed expression type, and there are a few more. Each boxed expression type has a distinct tabular format and meaning, and cells in those tables are FEEL expressions. In similar fashion, here is the literal expression for DTI Pct:

The tricky one is Mortgage Payment. It’s also just arithmetic, based on the components of Loan. But the formula is hard to remember, even harder to derive. And it’s one that in lending is used all the time. For that, the calculation is delegated to a bit of reusable decision logic called a Business Knowledge Model, or BKM. In the DRD, it’s represented as a box with two clipped corners, with a dashed arrow connecting it to a decision. A BKM does not have incoming solid arrows, or information requirements. Instead, its inputs are parameters defined by the BKM itself. BKMs provide two benefits: One, they allow the decision modeler to delegate the calculation to another user, possibly with more technical or subject matter knowledge, and use it in the model. Two, it allows that calculation to be defined once and reused in multiple decision models. The dashed arrow, called a knowledge requirement, signifies that the decision at the head of the arrow passes parameter values to the BKM, which then returns its output value to the decision. We say the decision invokes the BKM, like calling an api. The BKM parameter names are usually different from the variable names in the decision that invokes them. Instead, the invocation is a data mapping.

Here I have that BKM previously saved in my model repository under the name Loan Amortization Formula. On the Trisotech platform, I can simply drag it out onto the DRD and replace the BKM Payment Calculation with it. The BKM definition is shown below, along with an explanation of its use from the BKM Description panel. It has three parameters – p, r, and n, representing the loan amount, rate, and number of payments over the term – shown in parentheses above the value expression. The value expression is again a FEEL literal expression. It can only reference the parameters. The formula is just arithmetic – the ** symbol is FEEL’s exponentiation operator – but as you see, it’s complicated.

The decision Mortgage Payment invokes the BKM by supplying values to the parameters p, r, and n, mappings from the decision’s own input, Loan. We could use a literal expression for this, but DMN provides another boxed expression type called Invocation, which is more business-friendly:

In a boxed Invocation, the name of the invoked BKM is below the tab, and below that is a two-column table, with the BKM parameter names in the first column and their value expressions in the second column. Note that because Loan.Rate Pct is expressed as a percent, we need to divide its value by 100 to get r, which is a decimal value, not a percent.

At this point, our decision model is complete. But we need to test it! I can’t emphasize enough how important it is to ensure that your decision logic runs without error and returns the expected result. So let’s do that now, using the input data values below:

Here Loan Prequalification returns “Possibly approved”, and the supporting decision values look reasonable. We can look at the decision table and see that rule 8 is the one that matches.

So you see, DMN is something subject matter experts who are not programmers can use in their daily work. Of course, FEEL expressions can do more than arithmetic, and like Excel formulas, the language includes a long list of built-in functions that operate on text, numbers, dates and times, data structures, and lists. I’ve discussed much of that in my previous posts on DMN. But learning to use the full power of FEEL and boxed expressions – which you will need in real-world decision modeling projects – generally requires training. Our DMN Method and Style training gives you all that, including 60-day use of Trisotech Decision Modeler, lots of hands-on exercises, quizzes to test your understanding, and post-class certification in which you need to create a decision model containing certain required elements. It’s actually in perfecting that certification model that the finer points of the training finally sink in. And you need that full 60 days to really understand DMN’s capabilities.

DMN lets you accelerate time-to-value by engaging subject matter experts directly in the solution. If you want to see if DMN is right for you, check out the DMN training.

Follow Bruce Silver on Method & Style.

Blog Articles

Bruce Silver

View all