Schema for Cleo Monitoring Formset/Form Settings

From MonitoringFormSettings.schema.yaml (cleo/MonitoringFormSettings.schema)

---
$id: https://skeleton.botmd.io/cleo/MonitoringFormSettings.schema
$schema: http://json-schema.org/draft-07/schema#

title: Monitoring Formset/Form Settings
description: >-
  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)

type: object
additionalProperties: false
required: []

properties:
  language:
    title: Language
    description: "[ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) language code for this form."
    type: string
    minLength: 1

  temporary_link_expiry:
    title: Temporary link expiry
    description: Validity (Hours) for monitoring form url before it expired.

    type: integer
    minimum: 1

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

    type: integer
    minimum: 1

  expired_message:
    title: Expired Message
    description: Message to be display when temporary URL expired.
    type: string
    minLength: 1

  qa_parser:
    $ref: "/onform/QAParserSettings.schema"

  attach_reminders_to:
    title: Attach Reminders To
    description: Specify list of monitoring forms to attach reminders to.

    type: object
    minProperties: 1
    additionalProperties:
      type: array
      minItems: 1
      items:
        description: Can be either monitoring form name or UID. Follows the same logic as `monitoring_form` but is case sensitive.
        type: string
        minLength: 1

  deliver_enrollment_message_on_submission:
    title: Delivery Enrollment Message on Submission
    description: 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`.
    type: boolean

  engage:
    title: Engage
    description: Monitoring form settings for Engage v1 flow.

    type: object
    additionalProperties: false
    required: [module, stages]

    properties:
      module:
        title: Module
        description: The module that this form is for.
        enum: [Pre Genetic Counseling, Post Genetic Counseling, Post Genetic Testing]

      stages:
        title: Stages
        description: The stages that this form is for.
        type: array
        minItems: 1
        items:
          type: string
          minLength: 1
    #end properties
  #end engage
#end properties

[Main Page] [Schema Documentation] [Examples]