Individual workflows are defined using design templates called
packages, developed by expert users who are familiar with the workflow and data collection needs. Packages can be combined into
super-packages, which can also contain other super-packages.
Types of Packages
The same super-package can be identified as more than one of the following types depending on the point of view.
- Primitive: A package with neither parent nor child packages. It typically defines a particular type of data to be collected, such as a participant's weight.
- Top-level package: A package with a null parent package ID and zero or more sub-packages. A primitive can be used as a simple top-level package.
- Sub-package: A package contained within a super-package (has a non-null parent package ID).
- Super-package: A package with children. It may or may not also be a sub-package or top-level package.
Packages and Categories can be created, edited, and deleted from the user interface.
Packages Grid
The package landing page contains a grid populated with all existing packages.
- To create a new package, click New Package.
- Typing into the search box will filter the list of packages by ID or description as you type.
- The Options menu contains Edit Categories if you have permission to do so.
- Use the Show Drafts checkbox to control whether draft packages are shown. Draft packages are those with "Active" set to false.
- Each existing package has three action icons:
- (eye): View.
- (pencil): Edit.
- (copy): Clone. Cloning will copy the chosen package into a new package creation form for modifying and saving.
- If a package is not "in use" hovering over the row will reveal a (delete) icon on the right.
Create and Edit Packages
The interface for creating, viewing, and editing packages contains the following fields:
- PackageID: populated automatically, starting with 10000
- Description: This value is passed through to the Packages table.
- Narrative: This field contains a string with tokens defined with curly braces ({token}). Each token included here represents data to be entered and will become a row in the Attributes grid. After entering the Narrative, click Parse Attributes as circled above to create the grid where you can set properties of each token:
- Categories: Select among the categories defined.
- Attributes: Properties for the tokens included in the Narrative are populated here. Properties include:
- Lookup Key: A list of lookups defined in either snd.LookupSets and snd.Lookups, or a registered table or schema, see SNDManager.registerAttributeLookups.
- Data Type: Select from the drop down of possible data types.
- Label: Textbox input
- Min and Max: Specify an expected range of entries.
- Order: Select Move Up or Move Down to reorder the rows.
- Required: Checkbox.
- Redacted Text: Enter the value to be shown in a narrative when data for this attribute is redacted.
Note the "Allow multiple instances of this package in one super package" checkbox. Check to allow this behavior.
A package definition after parsing attributes might look something like this:
Narrative Templates
Each package definition includes a narrative template including curly brace delimited {tokens} marking where data will be inserted. Tokens become attributes, into which data is entered.
- Package Narrative Template: Defined with each package to provide a template for putting the data into test format. Tokens mark where to put actual data in the template
- Example:
Heart rate = {HR} bpm, temperature = {temp} F, respiration rate = {RR} bpm
- Super Package Narrative Template: A text representation, in hierarchical format, of all the Package Narrative Templates.
- Example:
- Weight and vitals
- Heart rate = {HR} bpm, temperature = {temp} F, respiration rate = {RR} bpm
- Weight = {weight} kg
Related Topics