Skip to main content

Application configuration

These are app wide configurations used to control the application behaviour globally e.g. application theme, app language etc.

note

There can only be one instance of application configuration for the entire application. There are instances where the Event Workflow is added to the application config. See here The logGpsLocation config takes in a list of LocationLogOptions to toggle whether to capture GPS coordinates in the application. We can currently define this to capture Location GPS on Questionnaire submission by passing the log option QUESTIONNAIRE as shown in the sample JSON.

Sample JSON

{
"appId": "app",
"configType": "application",
"appTitle": "eCBIS (CHA & CHSS)",
"remoteSyncPageSize": 100,
"languages": [
"en"
],
"useDarkTheme": false,
"syncInterval": 15,
"syncStrategies": [
"Location",
"Organization",
"CareTeam",
"Practitioner"
],
"loginConfig": {
"showLogo": true,
"enablePin": true,
"showAppTitle" : true,
"logoHeight" : 120,
"logoWidth" : 140
},
"deviceToDeviceSync": {
"resourcesToSync": [
"Group",
"Patient",
"CarePlan",
"Task",
"Encounter",
"Observation",
"Condition",
"Questionnaire",
"QuestionnaireResponse"
]
},
"logGpsLocations": [
"QUESTIONNAIRE"
]
}

Config properties

PropertyDescriptionRequiredDefault
appIdUnique identifier for the applicationYes
configTypeType of configurationYesapplication
appTitleName of the application displayed on side menu (drawer)No""
remoteSyncPageSizeSync batch sizeYes100
languagesSupported languagesYes['en']
useDarkThemeIndicate whether to apply dark themeYesfalse
syncIntervalConfiguration duration for periodic syncYes30
syncStrategiesTag every resource with the values for the resource types indicated hereYesemptyList()
loginConfig.showLogoDisplay logo in login pageYestrue
loginConfig.enablePinRequest user for pin after login; to be used for subsequent loginsNofalse
loginConfig.logoHeightSet the maximum height a logo can haveNo120
loginConfig.logoWidthSet the maximum width a logo can haveNo140
loginConfig.showAppTitleToggle App title in LoginScreen visibilityNotrue
deviceToDeviceSync.resourcesToSyncTypes of resource to be synced from one device to another during peer connectionNofalse
snackBarThemeColor styling for the SnackBarYesSnackBarThemeConfig()
reportRepeatTimeTime when to re-run reportingYes""
taskStatusUpdateJobDurationInterval of when to run status update serviceYesPT15M
taskExpireJobDurationInterval of when to run task expiry serviceYesPT30M
taskCompleteCarePlanJobDurationInterval of when to run task completion serviceYesPT60M
showLogoToggle whether to show the logoYestrue
taskBackgroundWorkerBatchSizeBatch size of tasks to be fetched from the serverYes500
eventWorkflowsA list of EventWorkflowsYesemptyList()
settingsScreenMenuOptionsA list of SettingsOptionss that defines menu options to be displayed on the Settings screenYeslistOf(SettingsOptions.MANUAL_SYNC, SettingsOptions.SWITCH_LANGUAGES, SettingsOptions.RESET_DATA, SettingsOptions.INSIGHTS,)
logGpsLocationA list of LocationLogOptions to toggle whether to capture GPS coordinatesYesemptyList()
usePractitionerAssignedLocationOnSyncIf true, default to using logged in practitioner's locationYestrue
navigationStartDestinationSet the defualt start destination for the navigation graph (supported options includes: REGISTER and MAP)Yes'REGISTER`