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 to CASE_SURVEILANCE

  • (2023/10/23) Added the FETCH_MODE property to EXTERNAL_MESSAGES

  • (2023/01/27) Added the MAX_CHANGE_DATE_PERIOD property to LIMITED_SYNCHRONIZATION

  • (2022/08/23) Added CASE_AND_CONTACT_BULK_ACTIONS; Removed SORMAS_TO_SORMAS_SHARE_CASES_WITH_CONTACTS_AND_SAMPLES; Added SORMAS_TO_SORMAS_SHARE_CASES and SORMAS_TO_SORMAS_SHARE_CONTACTS; Added new properties to SORMAS_TO_SORMAS_SHARE_EVENTS

  • (2022/06/17) Renamed LAB_MESSAGES and SORMAS_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, false
SHARE_SAMPLES: If enabled, allows users to share samples alongside cases. Expected values: true, false
SHARE_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, false
SHARE_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, false
SHARE_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, false
MAX_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.