Schema for Cleo Rule Parser Settings

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

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

title: Rule Parser Settings
description: Settings for configuring alert rule parsers.

type: object
additionalProperties: false
required: []

properties:
  simple:
    title: Simple
    description: Triggers alerts when parameters are not in an inclusive min-max range or `equals` to a given value. The settings for `Simple` parser is an array of parameter and min/max/equal values which are `OR`-ed together.

    $ref: "#/definitions/simple"
  #end simple

  minmax:
    title: MinMax
    description: This is equivalent to Simple rule parser. It exists for backward compatibility.

    $ref: "#/definitions/simple"
  #end minmax

  missing:
    title: Missing Submission
    description: Triggers alers when submissions are not made a certain time period after being reminded.

    $ref: "#/definitions/missing"
  #end missing
#end properties

definitions:
  simple:
    type: array
    items:
      type: object
      additionalProperties: false
      required: [clinical_parameter]

      properties:
        clinical_parameter:
          title: Clinical Parameter
          description: This is one of clinical parameter `uid` or `name` or `name (group_name)`.
          type: string
          minLength: 1

        min:
          title: Minimum value
          description: Parameter should be greater (or equal, depending on `inclusive_min`) to this value.
          type: number

        inclusive_min:
          title: Inclusive Minimum
          description: If `inclusive_min` is true, then `value ≤ min` will trigger an alert. Defaults to `false`.
          type: boolean

        max:
          title: Maximum value
          description: Parameter should be lesser (or equal, depending on `inclusive_max`) to this value.
          type: number

        inclusive_max:
          title: Inclusive Maximum
          description: If `inclusive_max` is true, then `value ≥ max` will trigger an alert. Defaults to `false`.
          type: boolean

        equals:
          title: Equals
          description: When the parameter contains or equal to this value.

          type: object
          additionalProperties: false
          required: [value]

          properties:
            value:
              title: Value
              description: Value to match the parameter. Can be `number` or `string`.
              type: [string, number]

            case_sensitive:
              title: Case Sensitive
              description: Whether to perform case sensitive compare for string parameter values. Defaults to `false`.
              type: boolean
          #end properties

        is_empty:
          title: Is Empty
          description: Whether to trigger an alert when the value is empty; applies to `string` and `string_array` only.
          type: boolean

        is_not_empty:
          title: Is Not Empty
          description: Whether to trigger an alert when the value is not empty; applies to `string` and `string_array` only.
          type: boolean

        reason:
          title: Reason
          description: This reason is returned when parameter is alertable. Defaults to `{sv.parameter.name_with_group} is too low/too high/equals ${value}`.
          type: string
      #end properties
    #end items
  #end simple

  missing:
    type: object
    additionalProperties: true
    required: [after_seconds]

    properties:
      after_seconds:
        title: After Seconds
        description: Number of seconds after reminder event without submission which we will trigger an alert.

        type: integer
        minimum: 0
    #end properties
  #end missing
#end properties

[Main Page] [Schema Documentation] [Examples]