Feature Configuration
Some of the features of SORMAS can be enabled or disabled to further customize the system. Right now, this is only possible directly in the featureconfiguration
table in the database. This table contains one entry for every configurable feature and is automatically populated during server startup. Setting the enabled
to true
or false
will enable or disable the feature, respectively. Changes are immediately applied to the running system and don't require a server restart.
The columns region
, district
, disease
and enddate
are currently only applicable for the line listing feature and define the scope in which the line listing is used. Line listing is configurable from the user interface and does not need to be manually edited in the database.
Important: If you're using the mobile app, you also need to update the changedate
to the current date and time whenever you enable or disable a feature! Otherwise the mobile applications will not be notified about the change.
List and explanation of all currently configurable features:
Recent Changes
(2023/11/30) Added
EXTERNAL_EMAILS
(2023/11/13) Added the
HIDE_JURISDICTION_FIELDS
property toCASE_SURVEILANCE
(2023/10/23) Added the
FETCH_MODE
property toEXTERNAL_MESSAGES
(2023/01/27) Added the
MAX_CHANGE_DATE_PERIOD
property toLIMITED_SYNCHRONIZATION
(2022/08/23) Added
CASE_AND_CONTACT_BULK_ACTIONS
; RemovedSORMAS_TO_SORMAS_SHARE_CASES_WITH_CONTACTS_AND_SAMPLES
; AddedSORMAS_TO_SORMAS_SHARE_CASES
andSORMAS_TO_SORMAS_SHARE_CONTACTS
; Added new properties toSORMAS_TO_SORMAS_SHARE_EVENTS
(2022/06/17) Renamed
LAB_MESSAGES
andSORMAS_TO_SORMAS_SHARE_LAB_MESSAGES
Feature Properties
Some features support additional properties that allow further customization of the feature. These properties can be configured by adding content to the properties
column of the respective feature type in the featureconfiguration
database table. Supported properties are listed underneath the feature below. Please make sure to only add supported properties to the database.
Adding a property to a feature type can be done by using the following script:
UPDATE featureconfiguration SET properties = coalesce(properties, '{}')::jsonb || '{"PROPERTY_NAME":PROPERTY_VALUE}' WHERE featuretype = 'FEATURE_TYPE';
In this script, you have to replace:
PROPERTY_NAME
with the name of the supported property. Please note that the property needs to be written in upper case.PROPERTY_VALUE
with the value you want to assign to the property.FEATURE_TYPE
with the feature type that you want to set the property for.
An example script to set the REDUCED
property of the immunization management module to true would look like this:
UPDATE featureconfiguration SET properties = coalesce(properties, '{}')::jsonb || '{"REDUCED":true}' WHERE featuretype = 'IMMUNIZATION_MANAGEMENT';
Entity Types
Some features can be defined once per entity that the feature is relevant for. The database needs to contain one entry per combination of feature type and entity type, and the entity type column has to be filled with a supporting entity. Please refer to the individual feature type in this overview to learn about the supported entity types.
Feature Modules
All of these feature configurations can be used to completely enable or disable a feature module in SORMAS for all users.
AGGREGATE_REPORTING
Enables/disables the Aggregate module that allows to collect the numbers of cases for diseases for which case-based surveillance has been disabled.
CAMPAIGNS
Enables/disables the campaigns module that allows to create and maintain vaccination campaigns.
CASE_SURVEILANCE
Enables/disables the case surveillance module that is the core of SORMAS and is used to create and maintain disease cases.
Supported Properties
AUTOMATIC_RESPONSIBILITY_ASSIGNMENT
: Toggles whether or not users are automatically set as responsible users of cases. Expected values: true, false
HIDE_JURISDICTION_FIELDS
: If enabled, allows users to set a default region, district, and community for the server, and hides jurisdiction fields from cases and locations. Default values will be automatically used instead. Might have unexpected side effects on other feature modules, e.g. contact tracing or event surveillance, and should only be used on systems exclusively used for case surveillance. Expected values: true, false
CLINICAL_MANAGEMENT
Enables/disables the clinical management module that allows authorized users to document prescriptions and therapies as well as clinical visits for cases.
CONTACT_TRACING
Enables/disables the contact management module that allows to create and maintain contact events.
This feature requires the CASE_SURVEILANCE feature to be enabled
Supported Properties
ALLOW_FREE_FOLLOW_UP_OVERWRITE
: If enabled, allows users to set a follow-up until date before the expected date based on the default follow-up period of the disease. Expected values: true, false
AUTOMATIC_RESPONSIBILITY_ASSIGNMENT
: Toggles whether or not users are automatically set as responsible users of contacts. Expected values: true, false
EVENT_SURVEILLANCE
Enables/disables the event management module that allows to create and maintain events and their associated event participants.
SAMPLES_LAB
Enables/disables the laboratory module that allows to create and maintain samples, pathogen tests and, if configured, lab messages.
This feature requires either CASE_SURVEILANCE or EVENT_SURVEILLANCE to be enabled
TASK_MANAGEMENT
Enables/disables the task management module that allows to (manually or automatically) create tasks, assign them to users, and track their status.
Supported Properties
ALLOW_FREE_EDITING
: If enabled, allows all users with the respective user right to edit all tasks they have access to. Expected values: true, false
WEEKLY_REPORTING
Enables/disables the weekly reports that can be submitted by users of the mobile app to confirm the number of cases they have created over the course of a week.
IMMUNIZATION_MANAGEMENT
Enables/disables an extensive immunization management for persons and their associated cases, contacts, and event participants.
Supported Properties
REDUCED
: If enabled, removes the immunization automation, hides the immunization directory and lists and allows users to directly add vaccinations to cases, contacts and event participants. Expected values: true, false
TRAVEL_ENTRIES
Enables/disables the travel entry module that currently allows German servers to manage travel entries imported from DEA.
DASHBOARD
Enables/disables the dashboard screen that is shown to users with access to at least one of the dashboards.
Feature Extensions
These feature configurations extend one of the feature modules with additional functionality.
ASSIGN_TASKS_TO_HIGHER_LEVEL
Allows users to assign tasks to other users with a higher jurisdiction, e.g. users on district level to assign tasks to users on region level as long as that region contains their district.
This feature requires the TASK_MANAGEMENT feature to be enabled
CASE_FOLLOWUP
Enables/disables the creation and management of follow-up visits for cases, similar to those of contacts.
This feature requires the CASE_SURVEILANCE feature to be enabled
Supported Properties
ALLOW_FREE_FOLLOW_UP_OVERWRITE
: If enabled, allows users to set a follow-up until date before the expected date based on the default follow-up period of the disease. Expected values: true, false
DOCUMENTS
Allows users to upload documents to cases, contacts, events and event actions (if those features are enabled).
This feature requires either CASE_SURVEILANCE or EVENT_SURVEILLANCE to be enabled
DOCUMENTS_MULTI_UPLOAD
Allows users to upload multiple documents to cases, contacts, events or event actions at once. Disabling this feature might be necessary if multi-upload is not working due to server configurations.
This feature requires the DOCUMENTS feature to be enabled
EVENT_GROUPS
Allows users to group events for organizational purposes.
This feature requires the EVENT_SURVEILLANCE feature to be enabled
EVENT_HIERARCHIES
Allows users to hierarchically structure events by setting them as superordinate or subordinate events of other events. (Only the feature configuration has been added, the feature is already part of SORMAS).
This feature requires the EVENT_SURVEILLANCE feature to be enabled
ADDITIONAL_TESTS
Allows users to add additional tests (e.g. to document blood values) to samples.
EXTERNAL_MESSAGES
Enables/disables automatic (nightly at 1:35 am) and manual receiving, as well as manual processing of external messages e.g. from an external laboratory information and management system.
Supported Properties
FETCH_MODE
: If enabled, external messages have to be manually fetched by the user. If disabled, external messages are pushed to SORMAS through a ReST endpoint. Expected values: true, false
This feature requires the SAMPLES_LAB feature to be enabled
MANUAL_EXTERNAL_MESSAGES
Allows users to send manual SMS messages to case persons if the SMS client has been configured.
This feature requires the CASE_SURVEILANCE feature to be enabled
NATIONAL_CASE_SHARING
Allows users to share cases with all users of the system that have access to the case surveillance module, independent of their jurisdiction and the jurisdiction of the cases.
This feature requires the CASE_SURVEILANCE feature to be enabled
SURVEILLANCE_REPORTS
Allows users to document the sources of case reports in more detail.
This feature requires the CASE_SURVEILANCE feature to be enabled
VIEW_TAB_CASES_HOSPITALIZATION
VIEW_TAB_CASES_SYMPTOMS
VIEW_TAB_CASES_EPIDEMIOLOGICAL_DATA
VIEW_TAB_CASES_THERAPY
VIEW_TAB_CASES_FOLLOW_UP
VIEW_TAB_CASES_CLINICAL_COURSE
VIEW_TAB_CONTACTS_EPIDEMIOLOGICAL_DATA
VIEW_TAB_CONTACTS_FOLLOW_UP_VISITS`**
Disabling these feature configurations will hide the respective tabs from the case/contact views in the web and mobile app.
These feature require either the CASE_SURVEILANCE or the CONTACT_TRACING feature to be enabled
SORMAS_TO_SORMAS_ACCEPT_REJECT
If enabled, when sharing data with other SORMAS instances, a preview of the data to be shared will be sent first to allow users on the receiving instance to either accept or reject it.
This feature requires either the CASE_SURVEILANCE, CONTACT_TRACING or EVENT_SURVEILLANCE feature to be enabled
SORMAS_TO_SORMAS_SHARE_CASES
Allows cases to be shared through SORMAS2SORMAS.
Supported Properties
SHARE_ASSOCIATED_CONTACTS
: If enabled, allows users to share contacts alongside cases. Expected values: true, falseSHARE_SAMPLES
: If enabled, allows users to share samples alongside cases. Expected values: true, falseSHARE_IMMUNIZATIONS
: If enabled, allows users to share relevant immunizations alongside cases. Expected values: true, false
This feature requires the CASE_SURVEILANCE feature to be enabled
SORMAS_TO_SORMAS_SHARE_CONTACTS
Allows contacts to be shared through SORMAS2SORMAS.
Supported Properties
SHARE_SAMPLES
: If enabled, allows users to share samples alongside contacts. Expected values: true, falseSHARE_IMMUNIZATIONS
: If enabled, allows users to share relevant immunizations alongside contacts. Expected values: true, false
This feature requires the CONTACT_TRACING feature to be enabled
SORMAS_TO_SORMAS_SHARE_EVENTS
Allows events to be shared together with event participants through SORMAS2SORMAS.
Supported Properties
SHARE_SAMPLES
: If enabled, allows users to share samples alongside events. Expected values: true, falseSHARE_IMMUNIZATIONS
: If enabled, allows users to share relevant immunizations alongside events. Expected values: true, false
This feature requires the EVENT_SURVEILLANCE feature to be enabled
SORMAS_TO_SORMAS_SHARE_EXTERNAL_MESSAGES
Allows external messages to be shared through SORMAS2SORMAS while processing them.
This feature requires the LAB_MESSAGES feature to be enabled
IMMUNIZATION_STATUS_AUTOMATION
Enabled/disables a nightly cronjob that automatically sets the status of immunizations to expired if they were acquired before and the valid until date has been exceeded.
PERSON_DUPLICATE_CUSTOM_SEARCH
Activates an alternative option in the duplicate person dialog that allows users to search for persons that the system has not marked as potential duplicates.
EDIT_INFRASTRUCTURE_DATA
Allows users with the respective user rights to create, edit, import, and archive continents, subcontinents, countries, regions, districts, and communities.
AUTOMATIC_ARCHIVING
Enables/disables the automatic archiving of core entities. There is one of these feature types per core entity.
Supported Properties
THRESHOLD_IN_DAYS
: The amount of days since the last change date after which the entitiy will be archived: Expected value: Integer
Entity types
CASE, CONTACT, EVENT, EVENT_PARTICIPANT, IMMUNIZATION, TRAVEL_ENTRY
See Archiving for more details on how archiving works.
EDIT_ARCHIVED_ENTITIES
Allows users with the respective rights to edit archived core entities.
EXTERNAL_EMAILS
Enables creating and managing email templates that can be used to send emails to case, contact, event participant and travel entry persons.
LIMITED_SYNCHRONIZATION
Enables/disables the limited synchronization to the mobile app.
Supported Properties
EXCLUDE_NO_CASE_CLASSIFIED_CASES
: If enabled, cases classified as "Not a case" that have not been created by the user themselves on the mobile app are not synchronized to the mobile app. Expected values: true, falseMAX_CHANGE_DATE_PERIOD
: Amount of days in which an entity needs to have been changed in order to be synchronized to the mobile app. Unchanged data will also be removed from the mobile app according to this rule. Disabled if set to a value < 1. Expected values: Any integer above 0, or -1 to disable the property
CASE_AND_CONTACT_BULK_ACTIONS
Enables/disables bulk editing of cases and contacts in the web app.
Supported Properties
S2S_SHARING
: Enables/disables bulk sharing cases and contacts via S2S. Expected values: true, false
This feature requires either the CASE_SURVEILANCE or CONTACT_TRACING feature to be enabled
Additional Features
These feature configurations extend SORMAS with additional logic that is not directly related to one of the main modules.
GDPR_CONSENT_POPUP
Displays a popup that asks users to consent to the GDPR when they log into the web app and haven't accepted the terms yet.
INFRASTRUCTURE_TYPE_AREA
Enables/disables the additional infrastructure type "Area" above regions that is currently only used in the Campaigns module.
OUTBREAKS
Allows authorized users to document per disease which districts are currently in an outbreak situation. This currently is purely a documentary feature and does not have any further influence on the system.
PERSON_MANAGEMENT
Enables/disables a dedicated person directory that allows to view and manage persons independent of their related cases, contacts or event participants.
This feature requires either CASE_SURVEILANCE or EVENT_SURVEILLANCE to be enabled
Notification Configurations
These features control for which types of events email and SMS notifications are sent out to responsible users.
EVENT_GROUPS_MODIFICATION_NOTIFICATIONS
Enables/disables the sending of email and SMS notifications to responsible users when events are added to or removed from event groups.
This feature requires the EVENT_GROUPS feature to be enabled
EVENT_PARTICIPANT_CASE_CONFIRMED_NOTIFICATIONS
Enables/disables the sending of email and SMS notifications to responsible users when a case resulting from an event participant has been confirmed.
This feature requires the EVENT_SURVEILLANCE feature to be enabled
EVENT_PARTICIPANT_RELATED_TO_OTHER_EVENTS_NOTIFICATIONS
Enables/disables the sending of email and SMS notifications to responsible users of events if persons that are part of their assigned events are added as event participants to additional events.
This feature requires the EVENT_SURVEILLANCE feature to be enabled
TASK_NOTIFICATIONS
Enables/disables the sending of email and SMS notifications when tasks assigned to users are supposed to be started or are overdue.
This feature requires the TASK_MANAGEMENT feature to be enabled
OTHER_NOTIFICATIONS
Enables/disables the sending of email and SMS notifications that are not related to any of the more specific notification features above.
Task Generation Configurations
These features control which task types are automatically generated by the system if certain conditions are met. All of these features require the TASK_MANAGEMENT feature to be enabled.
TASK_GENERATION_CASE_SURVEILANCE
Enables/disables the automatic generation of tasks related to case surveillance, e.g. case investigation tasks when cases are created.
TASK_GENERATION_CONTACT_TRACING
Enables/disables the automatic generation of tasks related to contact management, e.g. daily follow-up tasks for active contacts.
TASK_GENERATION_EVENT_SURVEILLANCE
Enables/disables the automatic generation of tasks related to event management.
TASK_GENERATION_GENERAL
Enables/disables the automatic generation of all tasks that are not related to any of the more specific task generation features above, e.g. weekly report generation tasks.