Home Schema Example JSON Schema

Provider Settings

Type: object

These settings are used for Turing Providers in Chatterbox.

No Additional Properties

Turing

Type: object

Turing specific settings.

No Additional Properties

Module

Type: string

The default module for synonym sets in this provider. This is used when the source does not provide a default module.

Must be at least 1 characters long

Synonym Module Provider


The provider key of the module (or a list of providers). If specified, then the synonyms will only apply to the specific provider of the module instead of the whole module. (eg, module=chernobyl, provider=ktph-documents)

Type: string

Must be at least 1 characters long

Type: array
No Additional Items

Each item of this array must be:

Type

Type: string

The default type for synonym sets in this provider. This is used when the source does not provide a default type.

Must be at least 1 characters long

Use Record ID As Canonical

Type: boolean

Defaults to false. When true, an additional synonym pair will be created between the record_id (of tabular interfaces) and the canonical phrase. This is useful when dealing with Airtable linked fields because it saves one extra step of loading the related tables.

Hospitals

Type: array

Array of Hospital keys that will have access to dialogues returned by this Provider. Defaults to allow any hospital if not specified. Empty array (i.e., []) will deny all access.

All items must be unique

No Additional Items

Tuple Validation

Item at 1 must be:

Organization Keys

Type: object

List of organization keys that double up as tags. These tags are for access control at the hospital and organizational level.

Alexandra

Type: const

Alexandra Hospital

Specific value: "alexandra"

AHI

Type: const

Association of Healthtech Indonesia

Specific value: "ahi"

Digihealth

Type: const

Digihealth

Specific value: "digihealth"

Bot MD Demo Hospital

Type: const

Bot MD Demo Hospital for our internal testing purposes.

Specific value: "bdh"

CGH

Type: const

Changi General Hospital

Specific value: "cgh"

Cleo

Type: const

All cleo dialogues are nested under this hospital. Permissions to different clinics are separated by tags of the form cleo:<domain>.

Specific value: "cleo"

Dharmais

Type: const

Rumah Sakit Kanker Dharmais

Specific value: "dharmais"

Fleming Hospital

Type: const

Fleming Hospital is our hospital for public users.

Specific value: "fleminghospital"

Bot MD

Type: const

Bot MD.

Specific value: "botmd"

Bot MD ID Web

Type: const

Bot MD ID Demo Web

Specific value: "botmd_id_web"

EB Medicine Demo

Type: const

EB Medicine Demo

Specific value: "eb_medicine"

Faithful Empire

Type: const

Faithful Empire Webbot

Specific value: "faithful_empire_web"

Harapan Kita

Type: const

Pusat Jantung Nasional Harapan Kita

Specific value: "pjnhk"

ICC

Type: const

Icon Cancer Centre

Specific value: "icc"

IDI

Type: const

Indonesian Medical Association

Specific value: "idi"

IDI Web

Type: const

Indonesian Medical Association Web

Specific value: "idi_web"

IDI Whatsapp

Type: const

Indonesian Medical Association Whatsapp

Specific value: "idi_whatsapp"

Iskandar Demo

Type: enum (of string)

Iskandar demo project.

Must be one of:

  • "iskandar_demo"
  • "iskandar"

Indonesia Care

Type: const

Indonesia care

Specific value: "indonesia_care"

Indonesia Hospital

Type: const

Indonesia hospital

Specific value: "indonesia_hospital"

Klinik In Harmony

Type: const

Klinik In Harmony

Specific value: "inharmony"

KONSULTAMD

Type: const

Konsulta MD

Specific value: "konsultamd"

KKWCH

Type: const

KK Women's and Children's Hospital

Specific value: "kkwch"

KTPH

Type: const

Khoo Teck Puat Hospital

Specific value: "ktph"

MOH Singapore

Type: const

Ministry of Health (Singapore)

Specific value: "moh_sg"

National Hospital

Type: const

National Hospital

Specific value: "nationalhospital"

NCCS

Type: const

National Cancer Centre Singapore

Specific value: "nccs"

NCIS

Type: const

National University Cancer Institute Singapore

Specific value: "ncis"

NCIS Engage

Type: const

NCIS Engage

Specific value: "ncis_engage"

NCIS Engage Web

Type: const

NCIS Engage Web

Specific value: "ncis_engage_web"

NEMG

Type: const

Northeast Medical Group

Specific value: "nemg"

NEMG WEB

Type: const

NEMG WEB

Specific value: "nemg_web"

NKTI

Type: const

National Kidney Transplant Institute

Specific value: "nkti"

NTFGH

Type: const

Ng Teng Fong General Hospital

Specific value: "ntfgh"

NUHS

Type: const

National University Health System

Specific value: "nuhs"

NUH

Type: const

National University Hospital

Specific value: "nuh"

NUS Med

Type: const

NUS School of Medicine

Specific value: "nus_med"

Parkway Radiology

Type: const

Parkway Radiology

Specific value: "parkwayradio"

Philippine General Hospital

Type: const

Philippine General Hospital

Specific value: "pgh"

Prodia Demo

Type: const

Prodia Demo

Specific value: "prodia_demo"

PPhA

Type: const

Philippine Pharmacists Association, Inc

Specific value: "ppha"

Roche Singapore

Type: const

Roche Singapore

Specific value: "roche"

Roche Brunei

Type: const

Roche Brunei

Specific value: "roche_brunei"

Roche HCP

Type: const

Roche HCP is the public bot hosted on https://roche.com.sg

Specific value: "roche_hcp"

Roche HCP Private

Type: const

Roche HCP Private is the private bot hosted on https://roche.com.sg

Specific value: "roche_hcp_private"

Philippine General Hospital

Type: const

Philippine General Hospital

Specific value: "upcm"

Sanglah

Type: const

Sanglah General Hospital

Specific value: "sanglah"

SGH

Type: const

Singapore General Hospital

Specific value: "sgh"

SKH

Type: const

Sengkang General Hospital

Specific value: "skh"

SingHealth

Type: const

SingHealth

Specific value: "singhealth"

Siloam Hospitals

Type: const

Siloam Hospitals

Specific value: "siloam"

Speedoc

Type: const

Speedoc

Specific value: "speedoc"

Stanford

Type: const

Stanford Health Care

Specific value: "stanford"

Sunway

Type: const

Sunway

Specific value: "sunway"

TTSH

Type: const

Tan Tock Seng Hospital

Specific value: "ttsh"

Ultravioleta

Type: const

Ultravioleta hospital

Specific value: "ultravioleta"

UPCM

Type: object

College of Medicine - University of the Philippines Manila

Tags

Type: array

Array of profile tags that will have access to dialogues returned by this Provider. Defaults to allow any tag if not specified. Empty array (i.e., []) will deny all access.

All items must be unique

No Additional Items

Each item of this array must be:


Accessible Tags

Type: object

Tags for controlling access to information. These tags are for gating at the module level and unaffilated with any hospital or organizations.

AHFS

Type: const

Profile can access AHFS DI monographs.

Specific value: "AHFS_accessible"

Calculators

Type: const

Profile can access calculators.

Specific value: "calculators_accessible"

EB Medicine

Type: const

Profile can access EB medicine module.

Specific value: "ebmedicine_accessible"

Guidelines

Type: const

Profile can access guidelines module.

Specific value: "guidelines_accessible"

Sanford

Type: const

Profile can access Sanford module.

Specific value: "Sanford_accessible"

NCIS ChemoCalc

Type: const

Profile can access NCIS chemocalc module.

Specific value: "ncis_chemocalc_accessible"

UpToDate

Type: const

Profile can access Uptodate module.

Specific value: "Uptodate_accessible"

Mediview

Type: const

Profile can access Mediview module.

Specific value: "Mediview_accessible"

MIMS

Type: const

Profile can access MIMS monographs.

Specific value: "MIMS_accessible"

Bot MD Tags

Type: object

Our internal tags for managing users. Usually used for testing and billing purposes.

Internal User

Type: const

This profile belongs to an internal user.

Specific value: "botmd:internal"

Jarvis

Type: const

Users with this tag will be redirected to Jarvis instead.

Specific value: "botmd:jarvis"

Jarvis V2

Type: const

Users with this tag will be redirected to Jarvis v2 for certain queries.

Specific value: "botmd:jarvisv2"

Test

Type: const

This tag is used for testing purpose (e.g., unit tests).

Specific value: "botmd:testtag"

Documents Beta

Type: const

This profile is on the waitlist for the documents Beta programme

Specific value: "botmd:beta-documents-waitlist"

Documents Beta

Type: const

This profile is enrolled onto the documents Beta programme

Specific value: "botmd:beta-documents"

Directory Assistant

Type: const

This profile has access to the directory Jarvis V2 assistant

Specific value: "botmd:assistant-directory"

Organization Keys

Type: object

List of organization keys that double up as tags. These tags are for access control at the hospital and organizational level.

Same definition as Organization Keys

Department Tags

Type: object

List of departments we count as tags.

BDH

Type: string

This represents demo-groups within BDH (e.g. bdh_upcn, bdh_healthway, etc)

Must match regular expression: ^bdh\_\w+$

CGH

Type: string

This represents departments, services, or content-groups within CGH (e.g. cgh_rccm, cgh_edgeri, etc)

Must match regular expression: ^cgh\_\w+$

Cleo

Type: string

This separates various clinics within Cleo using their domain.

Must match regular expression: ^cleo\:\w+$

KKWCH

Type: string

This represents departments, services, or content-groups within KKWCH (e.g. kkwch_rccm, kkwch_edgeri, etc)

Must match regular expression: ^kkwch\_\w+$

NCIS

Type: string

This represents departments, services, or content-groups within NCIS (e.g. ncis_rccm etc)

Must match regular expression: ^ncis\_\w+$

NTFGH

Type: string

This represents departments, services, or content-groups within NTFGH (e.g. ntfgh_rccm, ntfgh_edgeri, etc)

Must match regular expression: ^ntfgh\_\w+$

NUHS

Type: string

This represents departments, services, or content-groups within NUHS (e.g. nuhs_rccm, nuhs_edgeri, etc)

Must match regular expression: ^nuhs\_\w+$

NUH

Type: string

This represents departments, services, or content-groups within NUH (e.g. nuh_rccm, nuh_edgeri, etc)

Must match regular expression: ^nuh\_\w+$

Alexandra

Type: string

This represents departments, services, or content-groups within AH (e.g. alexandra_rccm, alexandra_edgeri, etc)

Must match regular expression: ^alexandra\_\w+$

SKH

Type: string

This represents departments, services, or content-groups within SKH (e.g. skh_rccm, skh_edgeri, etc)

Must match regular expression: ^skh\_\w+$

TTSH

Type: string

This represents departments, services, or content-groups within TTSH (e.g. ttsh_rccm, ttsh_edgeri, etc)

Must match regular expression: ^ttsh\_\w+$

National University Polyclinics (Deprecated)

Type: const

NUHS polyclinics

Specific value: "nupoly"

Bot MD Philippines

Type: const

For users in Philippines.

Specific value: "botmdphilippines"

Airtable

Type: object

Settings for getting synonyms using scalpel.externals.Airtable.

Type: object

The following properties are required:

  • url
Type: object

The following properties are required:

  • urls

URL

Type: string

The URL containing tabular data.

Must be at least 1 characters long

URLs

Type: array of string

URLs containing tabular data (for use when data is split into multiple tables).

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

Sheet Name

Type: string

Name of the sheet in a workbook

Must be at least 1 characters long

Status Column

Type: string

Used to denote which is the Status column. Defaults to Status.

If any of development, staging, production, test appears in the status column, the row will be ignored unless it is executed in the same environment (as denoted by settings.ENVIRONMENT).

If ignore appears in the status column, the row is ignored.

Must be at least 1 characters long

Headers

Type: array of string

An array of string to denote the headers for the TabularInterface. Useful if the source data does not define headers.

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

Skip Header Row

Type: boolean

Whether to skip the header row.

This is a misnomer. It refers to whether the source data contains a header row.

When set to true, every row of the source data is read.

When set to false (default behavior), the first row of the data is treated as the headers value and data starts from the 2nd row onwards.

Each additional property must conform to the following schema

Type: object

Additional properties will be passed on to the __init__ for the TabularInterface reader.

Google Sheet

Type: object

Settings for getting synonyms using scalpel.externals.GoogleSheets.

Type: object

The following properties are required:

  • url
Type: object

The following properties are required:

  • urls

URL

Type: string

The URL containing tabular data.

Must be at least 1 characters long

URLs

Type: array of string

URLs containing tabular data (for use when data is split into multiple tables).

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

Sheet Name

Type: string

Name of the sheet in a workbook

Must be at least 1 characters long

Status Column

Type: string

Used to denote which is the Status column. Defaults to Status.

If any of development, staging, production, test appears in the status column, the row will be ignored unless it is executed in the same environment (as denoted by settings.ENVIRONMENT).

If ignore appears in the status column, the row is ignored.

Must be at least 1 characters long

Headers

Type: array of string

An array of string to denote the headers for the TabularInterface. Useful if the source data does not define headers.

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

Skip Header Row

Type: boolean

Whether to skip the header row.

This is a misnomer. It refers to whether the source data contains a header row.

When set to true, every row of the source data is read.

When set to false (default behavior), the first row of the data is treated as the headers value and data starts from the 2nd row onwards.

Each additional property must conform to the following schema

Type: object

Additional properties will be passed on to the __init__ for the TabularInterface reader.

CSV

Type: object

Settings for getting synonyms using scalpel.externals.TabularCSV.

Type: object

The following properties are required:

  • url
Type: object

The following properties are required:

  • urls

URL

Type: string

The URL containing tabular data.

Must be at least 1 characters long

URLs

Type: array of string

URLs containing tabular data (for use when data is split into multiple tables).

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

Sheet Name

Type: string

Name of the sheet in a workbook

Must be at least 1 characters long

Status Column

Type: string

Used to denote which is the Status column. Defaults to Status.

If any of development, staging, production, test appears in the status column, the row will be ignored unless it is executed in the same environment (as denoted by settings.ENVIRONMENT).

If ignore appears in the status column, the row is ignored.

Must be at least 1 characters long

Headers

Type: array of string

An array of string to denote the headers for the TabularInterface. Useful if the source data does not define headers.

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

Skip Header Row

Type: boolean

Whether to skip the header row.

This is a misnomer. It refers to whether the source data contains a header row.

When set to true, every row of the source data is read.

When set to false (default behavior), the first row of the data is treated as the headers value and data starts from the 2nd row onwards.

Each additional property must conform to the following schema

Type: object

Additional properties will be passed on to the __init__ for the TabularInterface reader.

Excel

Type: object

Settings for getting synonyms using scalpel.externals.TabularCSV.

Type: object

The following properties are required:

  • url
Type: object

The following properties are required:

  • urls

URL

Type: string

The URL containing tabular data.

Must be at least 1 characters long

URLs

Type: array of string

URLs containing tabular data (for use when data is split into multiple tables).

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

Sheet Name

Type: string

Name of the sheet in a workbook

Must be at least 1 characters long

Status Column

Type: string

Used to denote which is the Status column. Defaults to Status.

If any of development, staging, production, test appears in the status column, the row will be ignored unless it is executed in the same environment (as denoted by settings.ENVIRONMENT).

If ignore appears in the status column, the row is ignored.

Must be at least 1 characters long

Headers

Type: array of string

An array of string to denote the headers for the TabularInterface. Useful if the source data does not define headers.

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

Skip Header Row

Type: boolean

Whether to skip the header row.

This is a misnomer. It refers to whether the source data contains a header row.

When set to true, every row of the source data is read.

When set to false (default behavior), the first row of the data is treated as the headers value and data starts from the 2nd row onwards.

Each additional property must conform to the following schema

Type: object

Additional properties will be passed on to the __init__ for the TabularInterface reader.

Einstein Data Source

Type: object

Settings for getting synonyms using an Einstein data source.

Einstein Data Source UID

Type: string

UID of the Einstein data source

Must be at least 1 characters long