Skip to main content
Form Templates is where administrators and managers design the custom forms your facility will use for inspections, incident reports, and other structured recordkeeping.

Purpose

Use this module to author reusable form templates — the fields, order, and show/hide rules that make up a form. Templates are versioned: once published, further edits create a new version so existing references stay stable.

Best for

  • inspection and audit checklists
  • incident and follow-up reports
  • any repeatable data-collection workflow where the questions change based on earlier answers
Runtime submissions are still on the roadmap. Templates can be built, saved, and versioned today, but the completed-form submission renderer is not yet available. See Roadmap for the current phase plan.

Getting there

Go to:
The list page shows every template with its title, jurisdiction, field count, status (draft, published, or archived), and last-updated time. From the list you can:
  • start a New template from scratch
  • Create from checklist to seed a template from an existing checklist template
Open any template to launch the builder.

Field types

Each field has a type that controls its input and the conditional operators available to fields that depend on it. select, multi_select, and radio fields carry an options list. The conditional builder auto-populates value pickers from those options so you never have to retype them.

Conditional logic

Every field can be shown or hidden based on the answers to earlier fields. Two modes are supported: rule (a single comparison against one source field) and formula (a custom expression across many fields).

Rule mode

Rule mode is the default. You pick a source field, an operator, and — depending on the operator — zero, one, or two comparison values. The operator picker only offers operators that make sense for the source field’s type:
  • All fields: is exactly, is not, is empty, is not empty
  • Text fields (short text, long text, signature): also contains, does not contain, starts with, ends with
  • Number fields: also is greater than, is greater than or equal to, is less than, is less than or equal to, is between, is not between
  • Date fields: also is before, is after, is between, is not between
  • Option fields (dropdown, multi-select, multiple choice) and checkbox: only the universal four
Value arity follows the operator:
  • is empty and is not empty take no value
  • is between and is not between take two values (the range bounds)
  • everything else takes one value

One-click explanation field

For any field, use Add explanation field to generate a linked follow-up short-text field. The follow-up is pre-configured to appear whenever the source field has any answer (is not empty), which works regardless of the source field’s type or options — no need to pick a specific trigger value.

Formula mode

For rules that can’t be expressed as a single comparison — for example, “show this field when temperature is high and chlorine is low” — switch the conditional to formula mode and write a boolean expression. Reference earlier fields by their label in square brackets, and combine comparisons with AND and OR:
Supported comparison operators inside a formula are =, !=, <, <=, >, >=. The builder validates syntax as you type; a hand-written parser reports the first invalid token so you can fix it in place.

Versioning

Templates carry a status:
  • Draft — freely mutable. Edits update the existing version in place, since no submissions can reference a draft yet.
  • Published — the working template used by the facility. The next edit rolls forward to a new version so historical references stay stable.
  • Archived — retired and hidden from active pickers.
The builder page header shows the current version number and the total version count for the template.

Permissions

The Forms module respects role-based permissions:
  • forms:view — see the list and open templates read-only
  • forms:edit — modify existing templates
  • forms:create — start a new template or seed one from a checklist
Assign these on the Users and Roles page.