Skip to content

Scoring

Verified against source (7)

  • score/Score.cs
  • score/ScoreItem.Fields.cs
  • score/ScoreTemplate.Fields.cs
  • score/Enumerations.cs
  • Config/ScoreEngine.config
  • qbo4.Scoring.Bridge/CompositeEngine.cs
  • qbo4.AI.Bridge/AIScoreEngine.cs

A score is a named set of data points calculated for a record and saved with it. Some scores are numbers in the usual sense (a risk rating, a fee, a net present value). Many are not: the fields pulled from a scanned document, the answers an auditor gives about a completed task, or a snapshot of statistics that is expensive to recalculate.

Scoring separates what you want to know (the template and its items) from how it is worked out (the engine). That lets you:

  • Keep logic in one governed place. A pricing spreadsheet or rules matrix becomes a service every workflow, form, and API call uses, always at the current version.
  • Extract data from documents and email. Text parsing and AI engines read a document and fill in each item, with a confidence for each value.
  • Compare models. A composite engine runs several engines and keeps the most confident answer for each item.
  • Act on the result. Workflows branch on scores, documents merge them, and reports analyze them across records.
Concept In QBO What it does
Score template ScoreTemplate Defines a kind of score: its engine, data source (Method), value type, and items.
Score item template ScoreItemTemplate One data point: name, value type, prompt, weight, and display options.
Score Score One calculation for one record, with an overall value and confidence.
Score item ScoreItem One calculated value, stored by type, with its own confidence and status.
Engine ScoreEngine on the template The plugin that does the work: matrix, spreadsheet, query, XSLT, text parsing, or AI.

Every score and item has a value type, and the value is stored in a matching column so it can be filtered, sorted, and reported on correctly: Money, Int, Float, Boolean, String, Date, or Enumerated.

Use the buttons under the page title. End user covers reading scores and completing audits; Power user covers templates, items, and engines; Developer covers the API for calculating and analyzing scores.