Home Schema Example JSON Schema

Monitoring Formset/Form Settings

Type: object

Settings for configuring miscellaneous monitoring formset and form settings. Note that the same settings are used for both monitoring formset and forms.
For enrollment forms, the following QA fields are expected:
- phone (required),
- identifier (required),
- monitoring_form (required),
- names (optional),
- language (optional),
- communication_method (optional, default to SMS),
- anything key ending with reminders (optional, this is also used for updating the form when global reminders are changed),
- clinician_ics (array, optional, this is also used for updating the form when there are changes to clinicians),
- clinician_alertees (array, optional, this is also used for updating the form when there are changes to clinicians)

No Additional Properties

Language

Type: string

ISO 639-1 language code for this form.

Must be at least 1 characters long

Number of submission

Type: integer

Number of submission expected from this monitoring form. The stitch link will auto expires when number of submission matches.

Value must be greater or equal to 1

Expired Message

Type: string

Message to be display when temporary URL expired.

Must be at least 1 characters long

Question-Answer (QA) Parser Settings

Type: object

QAParser.settings describes how fields can be parsed and extracted out of QAPairs. The basis of QAParser is QAField which describe individual normalized values that are extracted.
During extraction, QAFields are iterated in a sequence for each QAPair to attempt extraction. As such, the order of precedence for non-array fields (i.e., is_array = false) are such that values extracted from later QAFields override earlier ones.
For array QAFields (i.e., is_array = true), the extracted values are concatenated together.

No Additional Properties

Fields

Type: array

An array of Field describing the how and what to extract from a QAPair.

All items must be unique

No Additional Items

Each item of this array must be:

Field

Type: object

A field describes how to identify and extract the value from a Question-Answer pair.

No Additional Properties

Key

Type: string

The extracted value will be associated with this key.

Must be at least 1 characters long

Regex Matches

Type: string

Regular expression pattern that will be used to search the question text. We use Python regular expressions and re.search for matching.

Must be at least 1 characters long

Type

Type: enum (of string)

Type of the extracted value. Defaults to string.
- For number, we will convert the value to float. - For boolean, we support handling of non-zero numbers, yes, and true. All other values are deemed as false.

Must be one of:

  • "string"
  • "number"
  • "boolean"
  • "datetime"
  • "time"
  • "file"

Is Array

Type: boolean

If is_array and there are multiple question-field matches, the entries will be grouped together into a list.
If not is_array and the answer value is already a list, only the first element will be used.
Defaults to false.

Case Sensitive

Type: boolean

Set this to true to use case-sensitive regex search. Defaults to false.

Parser Error

Type: enum (of string)

Action to take during parser error. Defaults to raise.

Must be one of:

  • "ignore"
  • "raise"

Default


Default value to use when this field is not set.

String

Type: string

Number

Type: number

Boolean

Type: boolean

Array of Strings

Type: array of string
No Additional Items

Each item of this array must be:

Null

Type: const
Specific value: null

Normalize (For `string` only)

Type: array of object

Normalize value to a specific set of choices using Regex. The first matching regex in this array will be used as the normalized choice. If no matches are found, the original string value is used. Only applies to string type.

Must contain a minimum of 0 items

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Regex

Type: string

Regular expression to match for normalization.

Must be at least 1 characters long

Cjoice

Type: string

Choice to be returned by the parser.

Datetime Format

Type: string

Use the given format string for parsing date/datetime. Defaults to dateutil.parser.parse(value, dayfirst=True, default=today_midnight).

Must be at least 1 characters long

Time Format

Type: string

Use the given format string for parsing time. Defaults to dateutil.parser.parse(value, dayfirst=True, default=today_midnight).

Must be at least 1 characters long

Default Time

Type: stringFormat: time

For date-time fields that are date only, this will be the default time added to it. Defaults to 08:00.

Timezone

Type: string

Ensures that the timezone of any parsed DATETIME or TIME field is localized to this timezone. Defaults to UTC.

Must be at least 1 characters long

Attach Reminders To

Type: object

Specify list of monitoring forms to attach reminders to.

Each additional property must conform to the following schema

Type: array of string

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: string

Can be either monitoring form name or UID. Follows the same logic as monitoring_form but is case sensitive.

Must be at least 1 characters long

Delivery Enrollment Message on Submission

Type: boolean

Whether to deliver enrollment messages on submission. This is only applicable during self-enrollment via Onform. This setting is useful for enrollment forms which redirects to another communication provider for device linking (e.g., Messenger, Line, etc) to avoid sending enrollment messages via SMS immediately after form submission but prior to device linking completion. Defaults to true.

Engage

Type: object

Monitoring form settings for Engage v1 flow.

No Additional Properties

Module

Type: enum (of string)

The module that this form is for.

Must be one of:

  • "Pre Genetic Counseling"
  • "Post Genetic Counseling"
  • "Post Genetic Testing"

Stages

Type: array of string

The stages that this form is for.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: string

Must be at least 1 characters long