Roster Provider Settings define the schema of their source data and how the data should be displayed on the frontend.
Array of Hospital
keys that will have access to the resource. Defaults to allow any hospital if not specified. Empty array (i.e., []
) will deny all access.
Must contain a minimum of 1
items
All items must be unique
No Additional ItemsList of organization keys that double up as tags. These tags are for access control at the hospital and organizational level.
Alexandra Hospital
Specific value:"alexandra"
Association of Healthtech Indonesia
Specific value:"ahi"
Digihealth
Specific value:"digihealth"
Bot MD Demo Hospital for our internal testing purposes.
Specific value:"bdh"
Changi General Hospital
Specific value:"cgh"
All cleo dialogues are nested under this hospital. Permissions to different clinics are separated by tags of the form cleo:<domain>
.
"cleo"
Rumah Sakit Kanker Dharmais
Specific value:"dharmais"
Fleming Hospital is our hospital for public users.
Specific value:"fleminghospital"
Bot MD.
Specific value:"botmd"
Bot MD ID Demo Web
Specific value:"botmd_id_web"
EB Medicine Demo
Specific value:"eb_medicine"
Faithful Empire Webbot
Specific value:"faithful_empire_web"
Pusat Jantung Nasional Harapan Kita
Specific value:"pjnhk"
Icon Cancer Centre
Specific value:"icc"
Indonesian Medical Association
Specific value:"idi"
Indonesian Medical Association Web
Specific value:"idi_web"
Indonesian Medical Association Whatsapp
Specific value:"idi_whatsapp"
Iskandar demo project.
Indonesia care
Specific value:"indonesia_care"
Indonesia hospital
Specific value:"indonesia_hospital"
Klinik In Harmony
Specific value:"inharmony"
Konsulta MD
Specific value:"konsultamd"
KK Women's and Children's Hospital
Specific value:"kkwch"
Khoo Teck Puat Hospital
Specific value:"ktph"
Ministry of Health (Singapore)
Specific value:"moh_sg"
National Hospital
Specific value:"nationalhospital"
National Cancer Centre Singapore
Specific value:"nccs"
National University Cancer Institute Singapore
Specific value:"ncis"
NCIS Engage
Specific value:"ncis_engage"
NCIS Engage Web
Specific value:"ncis_engage_web"
Northeast Medical Group
Specific value:"nemg"
NEMG WEB
Specific value:"nemg_web"
National Kidney Transplant Institute
Specific value:"nkti"
Ng Teng Fong General Hospital
Specific value:"ntfgh"
National University Health System
Specific value:"nuhs"
National University Hospital
Specific value:"nuh"
NUS School of Medicine
Specific value:"nus_med"
Parkway Radiology
Specific value:"parkwayradio"
Philippine General Hospital
Specific value:"pgh"
Prodia Demo
Specific value:"prodia_demo"
Philippine Pharmacists Association, Inc
Specific value:"ppha"
Roche Singapore
Specific value:"roche"
Roche Brunei
Specific value:"roche_brunei"
Roche HCP is the public bot hosted on https://roche.com.sg
Specific value:"roche_hcp"
Roche HCP Private is the private bot hosted on https://roche.com.sg
Specific value:"roche_hcp_private"
Philippine General Hospital
Specific value:"upcm"
Sanglah General Hospital
Specific value:"sanglah"
Singapore General Hospital
Specific value:"sgh"
Sengkang General Hospital
Specific value:"skh"
SingHealth
Specific value:"singhealth"
Siloam Hospitals
Specific value:"siloam"
Speedoc
Specific value:"speedoc"
Stanford Health Care
Specific value:"stanford"
Sunway
Specific value:"sunway"
Tan Tock Seng Hospital
Specific value:"ttsh"
Ultravioleta hospital
Specific value:"ultravioleta"
College of Medicine - University of the Philippines Manila
Intent phrases that will trigger this module.
Must contain a minimum of 1
items
All items must be unique
No Additional ItemsMust be at least 1
characters long
Default timezone (eg. Asia/Singapore) if not specified in hospital settings (to be used for time related display information such as last synced time).
Must be at least 1
characters long
The list of fields mapped to the table columns that are searchable by Jarvis in this mini-app.
Must contain a minimum of 1
items
All items must be unique
No Additional ItemsUniquely identifiable key used internally for this field. It will be used as the key
when storing values associated with this field.
Must be at least 1
characters long
The corresponding column name. Defaults to the value of key
.
Variable substituted string (to be used with type:composite
).
The type of this field. This is used to determine how to parse values from the source data. Defaults to string
.
The strings
type will assume the raw field value is a comma separated string and will parse it to an array of strings.
The object
or json
type will assume the raw field value is a well-formed JSON and parse it as such. An exception will be raised if it is neither.
The composite
type used with value
indicates that this field with be generated using variable substitution from other field keys.
Optional sorry message to display if there is an intent present without answers.
A convenience schema for representing a variety of message formats when editing via Mastermind.
No message will be sent.
Simple text message to send.
Must be at least 1
characters long
A text message will be uniformly selected from this array.
Must contain a minimum of 1
items
Must be at least 1
characters long
Ratatoskr Message.schema that will be sent to the user.
No Additional PropertiesThe type of this element.
Specific value:"message"
Message element metadata.
Title primitive element.
No Additional PropertiesThe type of this element.
Specific value:"title"
Title content.
Must be at least 1
characters long
Subtitle primitive element.
No Additional PropertiesThe type of this element.
Specific value:"subtitle"
Subtitle content.
Must be at least 1
characters long
Text primitive element.
No Additional PropertiesThe type of this element.
Specific value:"text"
Text content.
Must be at least 1
characters long
Image primitive element.
No Additional PropertiesThe type of this element.
Specific value:"image"
Image element metadata.
URL to the image file.
Overrides frontend's default image scaling algorithm.
Action to take when clicking on the image (or preview image). Defaults to opening the image in viewer.
URL to the link file. Could be application internal links too. Currently supported internal links are: botmd://hospital/postMessage
, botmd://hospital/emobot
, botmd://hospital/gql
, and `botmd://hospital/jarvisQuery.
Must be at least 1
characters long
Whether to open the url
in an external browser instead of our own webview. Defaults to false
.
The MIME type of the content at URL. This is guessed from the extension of the url
. If it is a http
/https
URL and there are no file extensions, text/html
is assumed.
This is useful to override the default app responsible for opening it.
See scalpel.messages.url.ContentTypeMixin
for content type guessing logic.
Must be at least 1
characters long
Metadata to describe an event that can be posted to Shadowfax. This is usually part of an Actionable
.
Event type that will be posted to Shadowfax (i.e., event_type
) when this action is taken.
Must be at least 1
characters long
Optional event properties that will be posted to Shadowfax (i.e., event_properties
) when this action is taken.
Additional Properties of any type are allowed.
Type: objectAdditional Properties of any type are allowed.
Type: objectAdditional Properties of any type are allowed.
Type: objectAudio primitive element.
No Additional PropertiesThe type of this element.
Specific value:"audio"
Audio element metadata.
URL to the audio file.
Preview image of audio. Defaults to a generic audio icon.
URL to the image file.
Overrides frontend's default image scaling algorithm.
Action to take when clicking on the image (or preview image). Defaults to opening the image in viewer.
URL to the link file. Could be application internal links too. Currently supported internal links are: botmd://hospital/postMessage
, botmd://hospital/emobot
, botmd://hospital/gql
, and `botmd://hospital/jarvisQuery.
Must be at least 1
characters long
Whether to open the url
in an external browser instead of our own webview. Defaults to false
.
The MIME type of the content at URL. This is guessed from the extension of the url
. If it is a http
/https
URL and there are no file extensions, text/html
is assumed.
This is useful to override the default app responsible for opening it.
See scalpel.messages.url.ContentTypeMixin
for content type guessing logic.
Must be at least 1
characters long
Metadata to describe an event that can be posted to Shadowfax. This is usually part of an Actionable
.
Event type that will be posted to Shadowfax (i.e., event_type
) when this action is taken.
Must be at least 1
characters long
Optional event properties that will be posted to Shadowfax (i.e., event_properties
) when this action is taken.
Additional Properties of any type are allowed.
Type: objectAdditional Properties of any type are allowed.
Type: objectAdditional Properties of any type are allowed.
Type: objectAdditional Properties of any type are allowed.
Type: objectVideo primitive element.
No Additional PropertiesThe type of this element.
Specific value:"video"
Video element metadata.
URL to the video file.
Preview image of video. Defaults to first frame of video.
URL to the image file.
Overrides frontend's default image scaling algorithm.
Action to take when clicking on the image (or preview image). Defaults to opening the image in viewer.
URL to the link file. Could be application internal links too. Currently supported internal links are: botmd://hospital/postMessage
, botmd://hospital/emobot
, botmd://hospital/gql
, and `botmd://hospital/jarvisQuery.
Must be at least 1
characters long
Whether to open the url
in an external browser instead of our own webview. Defaults to false
.
The MIME type of the content at URL. This is guessed from the extension of the url
. If it is a http
/https
URL and there are no file extensions, text/html
is assumed.
This is useful to override the default app responsible for opening it.
See scalpel.messages.url.ContentTypeMixin
for content type guessing logic.
Must be at least 1
characters long
Metadata to describe an event that can be posted to Shadowfax. This is usually part of an Actionable
.
Event type that will be posted to Shadowfax (i.e., event_type
) when this action is taken.
Must be at least 1
characters long
Optional event properties that will be posted to Shadowfax (i.e., event_properties
) when this action is taken.
Additional Properties of any type are allowed.
Type: objectAdditional Properties of any type are allowed.
Type: objectAdditional Properties of any type are allowed.
Type: objectWhether to auto play video in preview view. Defaults to false
.
Additional Properties of any type are allowed.
Type: objectAttachment primitive element.
No Additional PropertiesThe type of this element.
Specific value:"attachment"
Attachment element metadata.
No Additional PropertiesURL to the attachment file.
Must match regular expression:^((https|s3|gs|file)\:\/\/|\$)
Filename for attachment. This is useful when the filename cannot be inferred from the URL.
Must be at least 1
characters long
The MIME type of the attachment. This is guessed from the extension of the filename
followed by the url
. See scalpel.messages.url.ContentTypeMixin
for content type guessing logic.
Must be at least 1
characters long
Preview image of attachment. Defaults to first frame of attachment.
URL to the image file.
Overrides frontend's default image scaling algorithm.
Action to take when clicking on the image (or preview image). Defaults to opening the image in viewer.
URL to the link file. Could be application internal links too. Currently supported internal links are: botmd://hospital/postMessage
, botmd://hospital/emobot
, botmd://hospital/gql
, and `botmd://hospital/jarvisQuery.
Must be at least 1
characters long
Whether to open the url
in an external browser instead of our own webview. Defaults to false
.
The MIME type of the content at URL. This is guessed from the extension of the url
. If it is a http
/https
URL and there are no file extensions, text/html
is assumed.
This is useful to override the default app responsible for opening it.
See scalpel.messages.url.ContentTypeMixin
for content type guessing logic.
Must be at least 1
characters long
Metadata to describe an event that can be posted to Shadowfax. This is usually part of an Actionable
.
Event type that will be posted to Shadowfax (i.e., event_type
) when this action is taken.
Must be at least 1
characters long
Optional event properties that will be posted to Shadowfax (i.e., event_properties
) when this action is taken.
Additional Properties of any type are allowed.
Type: objectAdditional Properties of any type are allowed.
Type: objectAdditional Properties of any type are allowed.
Type: objectEinstein-specific metadata for this attachment
Einstein Document UID for attachment.
Must be at least 1
characters long
Button action primitive element.
No Additional PropertiesThe type of this element.
Specific value:"button"
Quick reply primitive element.
No Additional PropertiesThe type of this element.
Specific value:"quick_reply"
Quick reply element metadata.
Metadata to describe the visual aspect of a quick reply.
Display text.
Must be at least 1
characters long
Additional Properties of any type are allowed.
Type: objectMetadata to describe actions that are taken when a UI element is triggered (e.g., tapped, clicked, etc).
Same definition as actionableLocation request primitive element.
No Additional PropertiesThe type of this element.
Specific value:"location_request"
Location request element metadata.
No Additional PropertiesPrompt for the user when requesting for location.
Must be at least 1
characters long
Location request primitive element.
No Additional PropertiesThe type of this element.
Specific value:"location_response"
Location response element metadata.
No Additional PropertiesLocation latitude.
Location longitude.
Name of the location.
Must be at least 1
characters long
Human-readable address of the location.
Must be at least 1
characters long
Container types wrap around other primitive types.
Quick replies container element.
No Additional PropertiesThe type of this element.
Specific value:"quick_replies"
Array of quick replys.
Must contain a minimum of 1
items
Must contain a maximum of 16
items
Sections are container types for up to at most 3 elements. These are most likely to be used for rich messages that include media, paragraphs, and actions.
No Additional PropertiesThe type of this element.
Specific value:"sections"
An array of section elements.
Must contain a minimum of 1
items
Must contain a maximum of 5
items
Paragraphs container element.
No Additional PropertiesThe type of this element.
Specific value:"paragraphs"
An array of paragraph elements.
Must contain a minimum of 1
items
Must contain a maximum of 3
items
When specified, the message / carousel item can be favorited on the frontend.
No Additional PropertiesTitle to show in the favorites menu.
Must be at least 1
characters long
URL to favorite item. This could be an internal botmd://
link or an external link.
Must be at least 1
characters long
This is used with botmd://hospital/jarvisQuery
links using uid
s. If frontend decides to cache the content of this favorite message, it should be refreshed against the backend after the expiry.
Actions container element.
No Additional PropertiesThe type of this element.
Specific value:"actions"
An array of action elements.
Must contain a minimum of 1
items
Must contain a maximum of 8
items
When specified, the message / carousel item can be favorited on the frontend.
Same definition as favoriteWhen specified, the message / carousel item can be favorited on the frontend.
Same definition as favoriteCarousel container element.
No Additional PropertiesThe type of this element.
Specific value:"carousel"
Carousel element metadata.
Must contain a minimum of 1
items
Must contain a maximum of 10
items
Container types wrap around other primitive types. These types are used in carousels.
Sections are container types for up to at most 3 elements. These are most likely to be used for rich messages that include media, paragraphs, and actions.
Same definition as SectionsApplication payload message.
No Additional PropertiesThe type of this element.
Specific value:"application_payload"
Application payload element metadata.
No Additional PropertiesApplication origin of the data payload
Must be at least 1
characters long
Arbitrary payload to be used by application. Can be any JSON object.
Additional Properties of any type are allowed.
Type: objectThis is a high level representation of MIME emails.
No Additional PropertiesThe type of this element.
Specific value:"email"
Email element metadata.
A short string identifying the topic of the message (RFC 2822).
Must be at least 1
characters long
The main body of the email in plain text.
The main body of the email in HTML.
Must be at least 1
characters long
Attachments to the email.
Must contain a minimum of 1
items
A message type encapsulating the WhatsApp template syntax. It is currently used by MessageBird.
No Additional PropertiesThe type of this element.
Specific value:"whatsapp_template"
WhatsApp template element metadata.
No Additional PropertiesWhatsApp template name to use for this message.
Must be at least 1
characters long
WhatsApp namespace associated with the WABA. Defaults to the provider settings namespace
.
Must be at least 1
characters long
For non-WhatsApp capable providers, it will be sent as a text message containing this string.
Must be at least 1
characters long
Language code of the template. Note that language policy
of the template message will always be deterministic
. Defaults to en
.
Must be at least 1
characters long
Array of parameters in header component of the template message. Applies to media templates only.
No Additional ItemsType of header
Image header.
URL to the image.
Must match regular expression:^((https|s3|gs)\:\/\/|\$)
Video header.
URL to the videos.
Must match regular expression:^((https|s3|gs)\:\/\/|\$)
Document attachment in media template.
URL to the document.
Must match regular expression:^((https|s3|gs)\:\/\/|\$)
Caption to accompany the document attachment.
Must be at least 1
characters long
Filename of document attachment. If caption
is not specified, filename
will be used instead.
Must be at least 1
characters long
Array of parameters in body component of the template message. Applies to both text and media templates.
No Additional ItemsType of body.
Text to use in body parameter.
Text to use in body parameter.
An empty message with no content whatsoever.
No Additional PropertiesThe type of this element.
Specific value:"empty"
When specified, the message / carousel item can be favorited on the frontend.
Same definition as favoriteMessage.provider_metadata
is used on Message
s to provide additional context to the provider for delivery.
Delivery metadata for MessengerProvider
.
Use MESSAGE_TAG
when sending this message. This is useful when sending messages outside of the 24 hour window. Do make sure that the tag corresponds to the actual content of the message. See Message Tags documentation for more details on what content is allowed by each tag.
This is the schema for the ReplyTo metadata representing replyee message information
No Additional PropertiesThe UID of the replyee delivery object. Used when replyee edits/deletes their message.
Replied On datetime to track when we "copied" the replyee message (may be used to check if original message was edited post-reply)
This is the schema for messages as described and proposed in the Ratatoskr: Data Models for Messages RFC.
Same definition as MessageSeries of Ratatoskr Message.schemas will be sent to the user.
Must contain a minimum of 1
items
This is the schema for messages as described and proposed in the Ratatoskr: Data Models for Messages RFC.
Same definition as MessageChoose from one of the arrays of Ratatoskr Message.schemas randomly.
No Additional PropertiesArray of choices of messages to choose from.
Must contain a minimum of 1
items
An array of messages that form this random message choice.
Must contain a minimum of 1
items
This is the schema for messages as described and proposed in the Ratatoskr: Data Models for Messages RFC.
Same definition as MessageThe relative weight of this message used to perform weighted choice. Defaults to 1
.
Value must be strictly greater than 0
Used to support more than 1 message (eg. Text and Quick Reply)
No Additional ItemsContainer types wrap around other primitive types.
Same definition as Container TypesAn empty message with no content whatsoever.
Same definition as Empty MessageStop words to apply to this miniapp only.
Must contain a minimum of 1
items
Must be at least 1
characters long
Logo of the hospital to be used in the app.
Flag to indicate if the name_suffix
should be shown in a separate column in the miniapp table (defaults to False).
Flag to indicate if the valid_from
and valid_to
should be shown in the miniapp table (defaults to False).
Number of entries to display before 'Show more' is shown.
Determines if intent
is required for an answer to be is_perfect
, when an answer is exact, it is_perfect
and can cause it to swamp other answers (default: False)
Flag to indicate if pretty time (eg. 8am-5pm) should be shown in message for each entry.
Show only relevant persons and roles in bot response instead of just sorting the entries (defaults to False).
Configurations that affect how the data is presented to the user.
Used to customize how the quick replies looks in the chat application.
Must be at least 1
characters long
Configuration settings when used with Einstein as the data source.
The corresponding Einstein DataSource will be used during syncing
Must be at least 1
characters long
Configuration settings when used with amion as the data source.
Amion API key needed for pulling roster data from amion.
Must be at least 1
characters long
Automatically does shingle expansion on terms (defaults to False).
Amount of roster data to pull from amion denoted in days (use either days or months).
Amount of roster data to pull from amion denoted in months (use either days or months).
Additional Properties of any type are allowed.
Type: object