Decisions time series events

The timeseries format flattens the JSON code of the event so that it is easier to use by data science tools.

Notation and example

The dot notation indicates nested fields.

Table 1. Attributes for decisions time series events
Event part Description Optional or required Type
version The time series format version Required String

Example: "1.0.1"

id The event identifier. It contains the decision ID of the ruleset execution. Required String
timestamp The time stamp of the event Required A string that contains an ISO8601 date
odmType The type of the ODM event Required String - Always "ruleset"
type The type of the event Required String - One of:
  • "EXECUTION_SUCCESS"
  • "EXECUTION_FAILURE"
  • "TRACE_GENERATION_ERROR"
rulesetPath The canonical ruleset path.

Format:<ruleAppName>/<ruleAppVersion>/<rulesetName>/<rulesetVersion>

Required Integer
duration The total duration of the ruleset execution, in milliseconds Required String
<ruleAppName>.<rulesetName>.in.<inputParameterField> The ruleset input parameter Optional JSON primitive type (String, number, integer, boolean).

Input parameters which are arrays in the Execution Object Model (XOM) are expanded in individual fields for each array element. For example, for an input parameter "children" which is an array of length 2: myRuleApp.myRuleset.in.0.children, myRuleApp.myRuleset.in.1.children

Input parameters are only included if the ruleset property bai.emitter.input is set to true (default: false).

<ruleAppName>.<rulesetName>.out.<outputParameterField> The ruleset output parameter Optional JSON primitive type (String, number, integer, boolean).

Output parameters which are arrays in the Execution Object Model (XOM) are expanded in individual fields for each array element. For example, for an output parameter "children" which is an array of length 2: myRuleApp.myRuleset.out.0.children, myRuleApp.myRuleset.out.1.children

Output parameters are only included if the ruleset property bai.emitter.output is set to true (default: false).

trace.rule.names The names of the executed rules Optional JSON array of strings.

The elements are the names of the executed rules.

Present in the time series by default. Can be excluded by setting the ruleset property bai.emitter.trace to false (default: true).

trace.task.names The names of the executed tasks Optional JSON array of strings.

The elements are the names of the executed tasks.

Present in the time series by default. Can be excluded by setting the ruleset property bai.emitter.trace to false (default: true).

trace.task.durations The durations of the executed tasks, in milliseconds Optional JSON array object.

The elements are the JSON serialization of the decisions events.

Present in the time series by default. Can be excluded by setting the ruleset property bai.emitter.trace to false (default: true).

Example of decisions time series event

{  
  "version":"1.0.1",
  "id":"D052B561-0000-C0F4-B5AE-26C293E11327",
  "timestamp":"2018-07-16T17:25:59.178Z",
  "type":"EXECUTION_SUCCESS",
  "odmType":"ruleset",
  "rulesetPath":"/loanvalidation/1.0/loanvalidationrules/1.0",
  "duration":725,
  "data":{  
    "loanvalidation.loanvalidationrules.in.borrower.firstName":[  
      "John",
      "Emilien"
    ],
    "loanvalidation.loanvalidationrules.in.borrower.lastName":"Doe",
    "loanvalidation.loanvalidationrules.in.borrower.yearlyIncome":100000,
    "loanvalidation.loanvalidationrules.in.borrower.zipCode":"91320",
    "loanvalidation.loanvalidationrules.in.borrower.creditScore":3,
    "loanvalidation.loanvalidationrules.in.borrower.spouse.0.firstName":[  
      "Maria",
      "Christina"
    ],
    "loanvalidation.loanvalidationrules.in.borrower.spouse.0.lastName":"Doe",
    "loanvalidation.loanvalidationrules.in.borrower.spouse.0.yearlyIncome":0,
    "loanvalidation.loanvalidationrules.in.borrower.spouse.0.zipCode":null,
    "loanvalidation.loanvalidationrules.in.borrower.spouse.0.creditScore":0,
    "loanvalidation.loanvalidationrules.in.borrower.spouse.0.spouse":null,
    "loanvalidation.loanvalidationrules.in.borrower.spouse.0.ssn.0.areaNumber":"987",
    "loanvalidation.loanvalidationrules.in.borrower.spouse.0.ssn.0.groupCode":"6",
    "loanvalidation.loanvalidationrules.in.borrower.spouse.0.ssn.0.serialNumber":"1",
    "loanvalidation.loanvalidationrules.in.borrower.spouse.0.ssn.1.areaNumber":"987",
    "loanvalidation.loanvalidationrules.in.borrower.spouse.0.ssn.1.groupCode":"6",
    "loanvalidation.loanvalidationrules.in.borrower.spouse.0.ssn.1.serialNumber":"2",
    "loanvalidation.loanvalidationrules.in.borrower.spouse.1.firstName":[  
      "Alexandra",
      "Sandra"
    ],
    "loanvalidation.loanvalidationrules.in.borrower.spouse.1.lastName":"Doe",
    "loanvalidation.loanvalidationrules.in.borrower.spouse.1.yearlyIncome":0,
    "loanvalidation.loanvalidationrules.in.borrower.spouse.1.zipCode":null,
    "loanvalidation.loanvalidationrules.in.borrower.spouse.1.creditScore":0,
    "loanvalidation.loanvalidationrules.in.borrower.spouse.1.spouse":null,
    "loanvalidation.loanvalidationrules.in.borrower.spouse.1.ssn.0.areaNumber":"988",
    "loanvalidation.loanvalidationrules.in.borrower.spouse.1.ssn.0.groupCode":"160",
    "loanvalidation.loanvalidationrules.in.borrower.spouse.1.ssn.0.serialNumber":"1",
    "loanvalidation.loanvalidationrules.in.borrower.spouse.1.ssn.1.areaNumber":"988",
    "loanvalidation.loanvalidationrules.in.borrower.spouse.1.ssn.1.groupCode":"160",
    "loanvalidation.loanvalidationrules.in.borrower.spouse.1.ssn.1.serialNumber":"2",
    "loanvalidation.loanvalidationrules.in.borrower.ssn.0.areaNumber":"123",
    "loanvalidation.loanvalidationrules.in.borrower.ssn.0.groupCode":"45",
    "loanvalidation.loanvalidationrules.in.borrower.ssn.0.serialNumber":"6789",
    "loanvalidation.loanvalidationrules.in.borrower.ssn.1.areaNumber":"123",
    "loanvalidation.loanvalidationrules.in.borrower.ssn.1.groupCode":"45",
    "loanvalidation.loanvalidationrules.in.borrower.ssn.1.serialNumber":"6790",
    "loanvalidation.loanvalidationrules.in.loan.numberOfMonthlyPayments":72,
    "loanvalidation.loanvalidationrules.in.loan.startDate":1117576800000,
    "loanvalidation.loanvalidationrules.in.loan.amount":100000,
    "loanvalidation.loanvalidationrules.in.loan.loanToValue":0.7,
    "loanvalidation.loanvalidationrules.out.report.borrower.firstName":"John",
    "loanvalidation.loanvalidationrules.out.report.borrower.lastName":"Doe",
    "loanvalidation.loanvalidationrules.out.report.borrower.yearlyIncome":100000,
    "loanvalidation.loanvalidationrules.out.report.borrower.zipCode":"91320",
    "loanvalidation.loanvalidationrules.out.report.borrower.creditScore":3,
    "loanvalidation.loanvalidationrules.out.report.borrower.spouse.firstName":"Maria",
    "loanvalidation.loanvalidationrules.out.report.borrower.spouse.lastName":"Doe",
    "loanvalidation.loanvalidationrules.out.report.borrower.spouse.yearlyIncome":0,
    "loanvalidation.loanvalidationrules.out.report.borrower.spouse.zipCode":null,
    "loanvalidation.loanvalidationrules.out.report.borrower.spouse.creditScore":0,
    "loanvalidation.loanvalidationrules.out.report.borrower.spouse.spouse":null,
    "loanvalidation.loanvalidationrules.out.report.borrower.spouse.ssn.areaNumber":"987",
    "loanvalidation.loanvalidationrules.out.report.borrower.spouse.ssn.groupCode":"6",
    "loanvalidation.loanvalidationrules.out.report.borrower.spouse.ssn.serialNumber":"",
    "loanvalidation.loanvalidationrules.out.report.borrower.ssn.areaNumber":"123",
    "loanvalidation.loanvalidationrules.out.report.borrower.ssn.groupCode":"45",
    "loanvalidation.loanvalidationrules.out.report.borrower.ssn.serialNumber":"6789",
    "loanvalidation.loanvalidationrules.out.report.loan.numberOfMonthlyPayments":72,
    "loanvalidation.loanvalidationrules.out.report.loan.startDate":1117576800000,
    "loanvalidation.loanvalidationrules.out.report.loan.amount":100000,
    "loanvalidation.loanvalidationrules.out.report.loan.loanToValue":0.7,
    "loanvalidation.loanvalidationrules.out.report.validData":true,
    "loanvalidation.loanvalidationrules.out.report.insuranceRequired":false,
    "loanvalidation.loanvalidationrules.out.report.insuranceRate":0.0,
    "loanvalidation.loanvalidationrules.out.report.approved":false,
    "loanvalidation.loanvalidationrules.out.report.messages":[  
      " The loan amount is under the maximum authorized",
      "Credit score below 200",
      "We are sorry. Your loan has not been approved"
    ],
    "loanvalidation.loanvalidationrules.out.report.yearlyInterestRate":0.057,
    "loanvalidation.loanvalidationrules.out.report.monthlyRepayment":1643.16421407779,
    "loanvalidation.loanvalidationrules.out.report.message":" The loan amount is under the maximum authorized\\nCredit score below 200\\nWe are sorry. Your loan has not been approved",
    "loanvalidation.loanvalidationrules.out.report.insurance":"none",
    "loanvalidation.loanvalidationrules.out.report.yearlyRepayment":19717.97056893348,
    "loanvalidation.loanvalidationrules.out.score":"3",
    "loanvalidation.loanvalidationrules.out.grade":"null"
  },
  "trace.task.names":[  
    "loanvalidation",
    "loanvalidation#initResult",
    "loanvalidation#validation",
    "loanvalidation#computation",
    "loanvalidation#eligibility"
  ],
  "trace.task.durations":[  
    75,
    0,
    32,
    15,
    5
  ],
  "trace.rule.names":[  
    "validation.borrower.checkSSNareanumber",
    "validation.borrower.checkSSNdigits",
    "validation.borrower.checkZipcode",
    "validation.borrower.checkName",
    "validation.borrower.checkAge",
    "validation.loan.checkAmount",
    "validation.test.checkTest",
    "computation.initialCorporateScore",
    "computation.bankruptcyScore_0",
    "computation.salary2score_5",
    "computation.rate_5",
    "computation.repayment",
    "eligibility.checkCreditScore",
    "eligibility.approval"
  ]
}