The Tallis Toolset
Enquiries are tasks that collect information from agents, whether end-users or software components, to be used later in the process. An enquiry can hold several requests for data, each known as a source.
Each source is based on a data definition, which defines the structure of the data that the source is requesting. A data definition will typically define the following attributes:
Data definitions can be thought of as templates for sources. The key difference between a source and a data definition is that a source only exists within the context of an enquiry (or a decision); therefore a source has an additional attribute, which isn’t part of the data definition:
The status of a source determines the behaviour of the enquiry during enactment. When the status is mandatory, the enquiry will remain in progress until all the data is collected, and only then complete. When the status is optional, the enquiry will complete as soon as all the mandatory sources are supplied with values.
This means that the same data definition can cause different behaviours in different enquires.
When a piece of data is collected during runtime enactment, it is held in an instance of a data definition, and referred to as a data item.
Note: The current version of Tallis allows for only one instance of a data item per data definition.
The figure below describes the relationships between enquiries, sources, data definitions and data items:
Note:
On the Tallis toolbar are buttons for the different task types:
To insert an enquiry, click on the green diamond shaped button and then click in the network area to place the enquiry.
Apart from the common task attributes, enquiries also have a Source List: a list of the data that the enquiry is requesting.
Note: unless you are using customised pages, each enquiry is displayed on a different web page in the web enactment.
There are two methods for adding sources to an enquiry: creating a source from scratch, or linking a source to an existing data definition.
To create a source from scratch, enter the following information:
Name | An alphanumeric string identifying the source (e.g.: Symptoms). |
Caption | The text displayed to the end-user when the data is requested (e.g.: What are the patient’s symptoms?) |
Data Type | The collected data can be of one of four types: text, integer, real, or boolean (e.g.: Symptoms could be of type Text). |
Range | The collected data can be of a limited range of values (i.e., the end-user has to select one of these predefined values; e.g.: Symptoms could be: Headache, Nausea, Vomiting, Sensitivity to light) |
Default Value | The collected data can have a default value. The default value is used to pre-populate the data entry dialogue box when the data is requested. |
Selection Mode | By default, Selection Mode is set to single-value, so that only one of the range values of a source can be selected. If the range values are not mutually exclusive and the end-user can select more than one value, the selection mode has to be set to multi-value. Note: Multi-selection is only available for sources with range values. |
Status | The status of a source determines the behaviour of the enquiry during enactment. When the status is mandatory, the enquiry remains in progress until all the data is collected, and only then completes. When the status is optional, the enquiry completes as soon as all the mandatory sources are supplied with values. |
When all the data is entered, click Add.
The new source will be added to the enquiry’s Source List.
Note: As sources are based on data definitions, when you create a source from scratch Composer creates a new data definition for it in the background.
You can use existing data definitions to create a new source. Click the button to the right of the Name field . The Data Definition List dialog appears.
Select the data definition on which you want to base your source, and click OK. The data definition values will populate all the fields accept for Status (as this attribute is unique to sources).
Select the appropriate status for your source, and click Add.
The new source will be added to the Source List.
The Data Definition Manager manages all the data definitions of a process-description. It can be used to add, edit and delete data definitions.
To access the Data Definition Manager, select View > Process Data Definitions (or click the Data Definition Manager button on the toolbar ).
The figure below is a screen capture of the Data Definition Manager:
The top panel is used for adding new Data Definitions.
Name | An alphanumeric string representing the Source’s ID (e.g.: Symptoms). |
Caption | The caption is displayed to the end-user when the enquiry is enacted (e.g.: What are the patient’s symptoms?) |
Description | A textual description of the data definition. |
Data Type | The collected data can be of one of four types: text, integer, real, or boolean (e.g., Symptoms could be of type Text) |
Range | The collected data can be of a limited range of values (i.e., the end-user will have to select one of these predefined values; e.g.: Symptoms could be: Headache, Nausea, Vomiting, Sensitivity to light) |
Default Value | The collected data can have a default value. The default value is used to pre-populate the data entry dialogue box when the enquiry is enacted. |
Selection mode | When range values of a source are mutually exclusive, only one of them should be selected. If the end-user has to select one value, selection mode should be set to single-value. If the end-user can select more than one value, the selection mode should be set to multi-value (multi-selection is only available for sources with range values). |
The lower panel displays the data definitions. Use the Edit and Delete buttons to the right of the list to manage the data definitions.
To save data definitions locally, select File > Save Data Definitions > Locally (or click the Save Data Definitions button on the toolbar ).
To save data definitions to a web repository, select File > Save Data Definitions > To Web Repository (or click the Save Data Definitions to Web Repository button on the toolbar ).
Enter a name for the data definition library and click Save.
To load locally saved data definitions, select File > Load Data Definitions > Locally (or click the Load Data Definitions button on the toolbar ).
To load data definitions from a web repository, select File > Load Data Definitions > From Web Repository (or click the Load Data Definitions from Web Repository button on the toolbar ).
Select a data definition library (.dd file) or a process-description (.pf file) and click Open (when importing locally) or Load (when importing from a web repository).
All the data definitions from the library or the process-description will be available for use in your current process-description. You can view them in the Data Definition Manager.
Name | BodyTemperature |
Caption | What is the patient's temperature (in degrees Fahrenheit)? |
Data Type | Real Note: Temperature is a continuous physical quantity |
Range | - |
Default Value | - |
Selection Mode | Single-value |
Status | Mandatory |
Name | SmokingHabit |
Caption | Does the patient smoke? |
Data Type | Boolean Note: a choice of Yes or No |
Range | - |
Default Value | - |
Selection Mode | Single-value |
Status | Mandatory |
Name | MaritalStatus |
Caption | What is the patient’s marital status? |
Data Type | Text |
Range | Single, Married, Divorced, Separated, Widowed |
Default Value | - |
Selection Mode | Single-value Note: The patient can only belong to one category |
Status | Mandatory |
Name | Symptoms |
Caption | What are the patient’s symptoms? |
Data Type | Text |
Range | Headache, Nausea, Vomiting, Sensitivity to light, Other |
Default Value | - |
Selection Mode | Multi-value Note: The patient may have more than one of the above symptoms |
Status | Mandatory |
Name | SymptomsOther |
Caption | Specify other symptoms |
Data Type | Text |
Range | - |
Default Value | - |
Selection Mode | Multi-value Note: The patient may have more than one of the above symptoms |
Status | Optional Note: The enquiry can complete without this data (e.g., if the patient doesn’t have other symptoms) |
Note: alternatively, the two sources could belong to two different enquiries; the enquiry holding the SymptomsOther source would run after the enquiry holding the Symptoms source; and it would only run if Other was selected for the Symptoms source. In this case, the status of the SymptomsOther source would probably be mandatory.
Contrary to the examples above, the following source does not request data from the end-user, but from the process itself. As the status of the source is set to optional and it has a default value (0), it isn’t displayed to the end-user.
Name | BMI |
Caption | |
Data Type | Real |
Range | - |
Default Value | 0 |
Selection Mode | Single-value |
Status | Optional |
Note: This source can serve as an internal variable: it can be used in expressions and assertions, e.g., BMI = Weight/Height where Weight and Height are collected by other sources from the end-user.