Skip to content

Disease Configuration Options

Martin Wahnschaffe edited this page Jun 29, 2022 · 12 revisions

Important: At this point only diseases that are already defined in SORMAS can be configured.

SORMAS supports a wide range of diseases, and not all of those might be relevant to every SORMAS instance or might be used in a different context. As with features, configuring diseases is currently only possible directly in the database via the diseaseconfiguration table. All diseases have a default value for each of their properties that is applied when the respective database entry is empty. Changing these entries overrides that default value. Unlike with features, disease configurations are cached and therefore require you to restart the server before they are applied.

Important: If you're using the mobile app, you also need to update the changedate to the current date and time whenever you change a disease configuration! Otherwise the mobile applications will not be notified about the change.

The following fields can be configured. If a field is not in defined the default value will be used.

  • Boolean active: Defines whether the disease is used in SORMAS at all. E.g. it's possible to use SORMAS only for a single disease by disabling all other diseases.
  • Boolean primaryDisease: Primary diseases can be selected when creating a case or contact. Secondary diseases are currently only used for pathogen tests.
  • Boolean caseBased: Case-based diseases can be used to create cases while non-case-based diseases can be used for aggregate reporting.
  • Boolean followUpEnabled: Whether follow-up is enabled for this disease, i.e. the follow-up status can be managed and visits can be created.
  • Integer followUpDuration: Defines a follow-up duration in days to automatically calculate the follow-up until date for contacts.
  • Integer caseFollowUpDuration:: Defines a follow-up duration in days to automatically calculate the follow-up until date for cases.
  • Integer eventParticipantFollowUpDuration: Defines a follow-up duration in days to automatically calculate the follow-up until date for event participants. Please note that event participant follow-up is not yet implemented.
  • Boolean extendedClassification: Use dedicated fields for clinical, epidemilogical and laboratory confirmation to classify a case.
  • Boolean extendedClassificationMulti: Only relevant when extendedClassification is used. When this is set to false another field called "basis for confirmation" is used to define which of the three confirmation fields is relevant for the classification.
  • String ageGroupsString: Only relevant for primary disease that are not case-based. Define age groups to be used for aggregated reporting, as described below.

Age group formatting

Each age group is defined using the following format:

xA_yB

xA: is the "from" age as a combination of number and age type (D: days, M: months, Y: years)
yB: is the "to" age (both inclusive). The yB can be left out to define an open-end age group.

Examples:

  • 0D_28D: "0-28 days"
  • 29D_2M: "29 days - 2 months"
  • 3M_12M: "3-12 months"
  • 1Y_4Y: "1-4 years"
  • 5Y_15Y: "5-15 years"
  • 16Y: "16+ years"

The values are comma-separated. An example of the ageGroupsString for a disease would accordingly look like this:

0D_28D, 29D_2M, 3M_12M, 1Y_4Y, 5Y_15Y, 16Y

The SQL to define this for Cholera:

UPDATE diseaseconfiguration SET primarydisease=true, casebased=false, agegroups='0D_28D, 29D_2M, 3M_12M, 1Y_4Y, 5Y_15Y, 16Y' WHERE disease = 'CHOLERA';