Home Schema Example JSON Schema

API Settings


Hospital.api_settings stores the credentials and information required to communicate with Hospital API (via the HospitalAPI class). This is not exposed to the frontend and is dependent on the hospital.

NUHS

Type: object

Settings for connecting to NUHS API. This is managed by GCTO.

No Additional Properties

URL

Type: stringFormat: uri

URL for the API.

Key

Type: string

API key for authorization

Must be at least 1 characters long

Internal Users

Type: boolean

Whether to include internal users.

XLSX provider

Type: object

Settings to user xlsx file as API provider.

No Additional Properties

URL

Type: stringFormat: uri

URL for xlsx file

Sheet No

Type: array of integer

Sheet number to parse

No Additional Items

Each item of this array must be:

API schema

Type: string

Schema of the API provider

Internal Users

Type: boolean

Whether to include internal users.

Airtable

Type: object

Settings for using any Airtable as a directory API.

No Additional Properties

Airtable URL

Type: string

airtable:// URL.

Must match regular expression: ^airtable\:\/\/[a-zA-Z0-9]+\/.+$

Identifiable Information Column

Type: string

Airtable column name for identifiable information. Example: Phone, E-mail

Must be at least 1 characters long

Identifiable Information Type

Type: enum (of string)

Type of identifiable information. Defaults to phone.

Must be one of:

  • "phone"
  • "email"

Additional Tags

Type: array of string

Additional tags that can be added to users authorized via this API.

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

Additional Settings

Type: object

Additional settings that can be added to users authorized via this API.

Additional Properties of any type are allowed.

Type: object

Google Sheet provider

Type: object

Settings for Google Sheet as API provider.

No Additional Properties

URL

Type: stringFormat: uri

URL for Google Sheet

API schema

Type: string

Schema of the API provider

II Type

Type: string

Type of identifiable information. It can be set as email or phone

Internal Users

Type: boolean

Whether to include internal users.

Internal Users

Type: object

Settings for the InternalUsersAPI.

No Additional Properties

Airtable URL

Type: string

airtable:// URL.

Must match regular expression: ^airtable\:\/\/[a-zA-Z0-9]+\/.+$

Identifiable Information Column

Type: string

Airtable column name for identifiable information. Example: Phone, E-mail

Must be at least 1 characters long

Identifiable Information Type

Type: enum (of string)

Type of identifiable information. Defaults to phone.

Must be one of:

  • "phone"
  • "email"

Additional Tags

Type: array

Additional tags that can be added to users authorized via this API.

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.

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

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"

Additional Settings

Type: object

Additional settings that can be added to users authorized via this API.

No Additional Properties

Legacy Account User Config.

Type: object

Config in JSON to store modules config such as reminder times.

Additional Properties of any type are allowed.

Type: object

Notifications

Type: object

Notifications related profile settings.

No Additional Properties

Deactivated Notifications.

Type: array

A unique list of notification keys that the user opted out from.

All items must be unique

No Additional Items

Each item of this array must be:


Notification Types

Type: object

These types are unique throughout the Bot MD ecosystem. These keys are used in the user's Profile.settings.notifications.deactivated[] to identify the notifications that they have deactivated.

Bot

Type: const

Messages from Bot. This is the default is no delivery_by is specified.

Specific value: "bot"

Email Notification

Type: const

Email Notification to Admin / User (eg. User License limit, activation, expiry, etc.)

Specific value: "email_notification"

Broadcast

Type: const

Broadcast to hospital

Specific value: "broadcast"

Profile Reminder

Type: const

Profile related reminder (eg. profile creation, activation, expiry, etc).

Specific value: "profile_reminder"

Temperature Reminder

Type: const

Temperature reminder for Singapore hospitals.

Specific value: "temperature_reminder"

ART Reminder

Type: const

ART reminder for Singapore hospitals.

Specific value: "art_reminder"

ED

Type: const

ED Roster Updates used by TTSH Emergency Department.

Specific value: "ed_roster"

Mental Health

Type: const

Mental Health bot for TTSH.

Specific value: "emobot"

Mood Log Reminder

Type: const

Mood Log Reminder for TTSH Mental Health Module (2024)

Specific value: "moodlog_reminder"

ECG

Type: const

ECG Updates used by TTSH Emergency Department.

Specific value: "ecg"

Arise

Type: const

Arise/PSP used by Roche.

Specific value: "arise_psp"

Emobot

Type: object

Emobot related profile settings.

No Additional Properties

Preferred Name

Type: string

How would you like EmoBot to address you?

Must be at least 1 characters long

Reminder Frequency

Type: enum (of string)

Frequency of reminder. E.g. "Weekly", "Twice Weekly" etc.

Must be one of:

  • "none"
  • "daily"
  • "weekly"
  • "twice_weekly"

Reminder Time

Type: string

Time the reminder will be sent, e.g., "09:00", "18:00" etc.

Must match regular expression: ^[0-2]\d\:[0-5]\d$

Last Reminded On

Type: number

Used internally to determine when the user was last sent a reminder. This is a Posix timestamp.

Value must be greater or equal to 0

Sources of Strengths

Type: array of object

Where does the user derive their emotional sources of strengths.

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Label

Type: string

Pretty human readable label for this source of strength

Value

Type: boolean

Whether this source is selected.

Chat State

Type: object

Used internally to keep track of the state of a user's chat with emobot. Backend use only.

Current State ID

Type: string

The current chat state ID.

Emotion

Type: string

User's emotion based on what they say.

Vent Counter

Type: integer

No. of venting messages we've received.

Thinking Trap

Type: string

Current "Thinking trap" as part of the CBT flow.

Feelings

Type: array of string

Array of feelings of user when going through the CBT flow.

No Additional Items

Each item of this array must be:

Updated On

Type: stringFormat: date-time

ISO formatted datetime of when the state was last updated.

Additional Properties of any type are allowed.

Type: object

CGH Related Metadata

Type: object

Metadata related to CGH 2FA

No Additional Properties

2FA Approved

Type: boolean

The user has verified his/her 2FA code.

Phone Number

Type: string

Encrypted phone number of user.

Notified Expiry

Type: boolean

The user received the notification for expiry

Sync

Type: object

Sync user list

No Additional Properties

Sync Hospital Profiles

Type: boolean

Sync hospital profiles using HospitalAPI. Enabling this flag will sync user's hospital profile with hospital API as well as log user out if user no longer found in the API.

Sync directory profiles

Type: boolean

Sync directory profiles using latest file in s3. Enabling this flag will add/update/expire directory profile based on the information in file.

File URL

Type: string

URL for file. This file will be sync against directory profiles daily.

S3 Bucket URL

Type: string

URL for S3 Bucket. All the file uploaded from mastermind will be store in the s3 bucket. Lastest file in the bucket will be sync against directory profiles daily.