Schema for Hospital Logic Settings

From LogicSettings.schema.yaml (hospital/LogicSettings.schema)

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

title: Logic Settings
description: >-
  `Hospital.logic_settings` stores the information required for instantiating and customizing the `HospitalLogic` class.
  This field *is not exposed* to the frontend.

type: object
required: []
additionalProperties: false
properties:
  messages:
    title: Messages
    description: Different messages to be displayed to users by Jarvis and Hospital.

    type: object
    required: []
    additionalProperties: false

    properties:
      welcome_message:
        $ref: "#/definitions/Welcome Message"

      multiple_answers_message:
        title: Multiple Answers Message
        description: "Message displayed to the user when answers are found from different module. The default message can be found in [`jarvis.engines.jarvis_engine.JarvisEngine`](https://gitlab.com/fivehealth/chatterbox/-/blob/production/chatterbox/jarvis/engines/jarvis_engine.py)."

        $ref: "/ratatoskr/MessageTemplate.schema"

      sorry_message:
        title: Sorry Message
        description: "Message displayed to the user when there are no answers. The default message can be found in [`jarvis.engines.jarvis_engine.JarvisEngine`](https://gitlab.com/fivehealth/chatterbox/-/blob/production/chatterbox/jarvis/engines/jarvis_engine.py)."

        $ref: "/ratatoskr/MessageTemplate.schema"

      session_deleted_message:
        title: Session Deleted Message
        description: Message sent to the user when their session is deleted. The default message can be found in [`hospital.logics.standard.StandardHospitalLogic`](https://gitlab.com/fivehealth/hippocrates/-/blob/production/hippocrates/hospital/logics/standard.py).

        $ref: "/ratatoskr/MessageTemplate.schema"

      multiple_devices_message:
        title: Multiple Devices Message
        description: Message sent to the user when they signed up on a second device. The default message can be found in [`hospital.logics.standard.StandardHospitalLogic`](https://gitlab.com/fivehealth/hippocrates/-/blob/production/hippocrates/hospital/logics/standard.py).

        $ref: "/ratatoskr/MessageTemplate.schema"

      technical_delay_message:
        title: Technical Delay Message
        description: Message sent to the user when the bot is slow or not responding. The default message can be found in [`hospital.tasks`](https://gitlab.com/fivehealth/hippocrates/-/blob/production/hippocrates/hospital/tasks.py).

        $ref: "/ratatoskr/MessageTemplate.schema"

      technical_issue_message:
        title: Technical Issue Message
        description: Message sent to the user when we have trouble contacting the bot. The default message can be found in [`hospital.tasks`](https://gitlab.com/fivehealth/hippocrates/-/blob/production/hippocrates/hospital/tasks.py).

        $ref: "/ratatoskr/MessageTemplate.schema"
    #end properties
  #end messages

  modules:
    title: Modules
    description: Configure which modules are enabled / disabled for profiles from this Hospital.

    type: object
    required: []
    additionalProperties: false

    properties:
      enabled:
        title: Enabled Modules
        description: Module (keys) that will be used by Jarvis for profiles from this Hospital. If there is an intersection with `disabled`, the intersecting modules will be disabled.

        type: array
        minItems: 1
        items:
          type: string
          minLength: 1

      disabled:
        title: Disabled Modules
        description: Module (keys) that will be not be used by Jarvis for profiles from this Hospital. If there is an intersection with `enabled`, the intersecting modules will be disabled.

        type: array
        minItems: 1
        items:
          type: string
          minLength: 1
    #end properties
  #end modules
#end properties

definitions:
  Welcome Message:
    title: Welcome Message
    description: Customize the welcome messages for the hospital. This is sent on first time the device is registered.

    type: object
    additionalProperties: false
    required: [buttons]

    properties:
      text:
        title: Text
        description: Welcome message text to show. The default message is defined in [`hospital.logics.standard.StandardHospitalLogic`](https://gitlab.com/fivehealth/hippocrates/-/blob/production/hippocrates/hospital/logics/standard.py). The variables `full_name`, `first_name`, `last_name`, `hospital_short_name`, `hospital_full_name` are available.

        type: string
        minLength: 1
      #end text

      buttons:
        title: Buttons
        description: The list of actionable buttons to use in the welcome message.

        type: array
        items:
          type: string
          minLength: 1
      #end buttons
    #end properties
  #end Welcome Message
#end definitions

[Main Page] [Schema Documentation] [Examples]