Tallis Training

Basic PROforma Concepts: Decisions, Candidates and Arguments

Decisions are tasks in which a choice is made (either by the Tallis Engine or by the end-user) between several different options, known as candidates. PROforma supports decision-making through a mechanism for generating arguments that may be either for or against a given candidate.

The figure below describes the structure of a decision: candidates are a property of a decision, and arguments are assigned to each candidate.

An argument is defined by two components:

Condition A truth-valued expression that represents the circumstances under which the argument applies.

blood_pressure < 120
Support The support that the argument offers the candidate if the condition is true.

The support format can be:
  • Symbolic – four support categories: the argument can be either for or against the candidate, or it can confirm or exclude the candidate
  • Numeric – the support is defined using a real value (i.e. the argument has a weight assigned to it)

The aggregated support of all of a candidate’s arguments is known as netsupport.

A candidate’s decision rule is used to decide whether a candidate is to be recommended by the Tallis engine. The recommendation rule defines an expression that must be true for the candidate to be recommended (in practice this usually entails setting a minimum netsupport threshold).

netsupport(some_decision, some_candidate) >= 1

By default, decisions are non-automatic. This means that the candidates are displayed to the end user, who must then select one of them.


  • End-users can select non-recommended candidates if they wish
  • One or more candidates may be selected if the candidate selection mode is multiple selection

If several candidates have the same netsupport, candidate priority is used to determine the order in which they are displayed to the end user. When a decision is automatic, candidates are not displayed to the end-user, and the recommended candidate(s) are committed automatically.

Note: Although priority is primarily used to order candidates for display, it can sometimes affect which candidate gets committed. For example, in an automatic, single selection decision, if more than one candidate is recommended, the one with the highest priority is committed.

Another property of decisions that should be noted is sources. These are requests for data values, and when defined within a decision, this data has to be collected before the decision can complete (see the previous section for more information about sources).

Top | «Prev | Next»

Last update: