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


Was this content helpful?

Log in or register an account to provide feedback

expand all collapse all