Disease Configuration

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.

Important: At this point only diseases that are already defined in SORMAS can be configured. The following list serves as reference:

Nr

Disease Name

SORMAS Aggregate Display

SORMAS Case-based Display

Nr

Disease Name

SORMAS Aggregate Display

SORMAS Case-based Display

1

ACUTE VIRAL HEPATITIS (AVH)

X

 

2

ACUTE FLACCID PARALYSIS (AFP)

 

X

3

ANTHRAX

 

X

4

BURULI ULCER

X

 

5

CHOLERA

 

X

6

CONGENITAL RUBELLA

 

X

7

CORONA VIRUS (COVID-19)

 

X

8

CEREBROSPINAL MENINGITIS (CSM/MENINGITIS)

 

X

9

DENGUE

 

X

10

DIARRHEA WITH BLOOD (SHIGELLA)

X

 

11

DIARRHEA WITH DEHYDRATION (<5)

X

 

12

DIPHTERIA

X

 

13

EBOLA VIRUS DISEASE (EVD)

 

X

14

GUINEA WORM

 

X

15

HUMAN IMMUNODEFICIENCY VIRUS (HIV)

X

 

16

INFLUENZA_A

 

X

17

LASSA

 

X

18

LEPROSY

X

 

19

LYMPHATIC FILARIASIS

X

 

20

MALARIA

X

 

21

MATERNAL DEATHS

X

 

22

MEASLES

 

X

23

MONKEYPOX

 

X

24

NEONATAL TETANUS

X

 

25

NON-NEONATAL TETANUS

X

 

26

ONCHOCERCIASIS

X

 

27

PERINATAL DEATHS

X

 

28

PERTUSSIS

X

 

29

PLAGUE

 

X

30

POLIO

 

X

31

RABIES (HUMAN)

 

X

32

RESPIRATORY SYNCYTIAL VIRUS (RSV)

X

 

33

RUBELLA

X

 

34

SCHISTOSOMIASIS

X

 

35

SNAKE BITE

X

 

36

SOIL TRANSMITTED HELMINTHS

X

 

37

TRACHOMA

X

 

38

TRYPANOSOMIASIS

X

 

39

TUBERCULOSIS

X

 

40

TYPHOID FEVER

X

 

41

UNDEFINED

 

X

42

UNSPECIFIED VIRAL HEMORRHAGIC FEVER (VHF)

 

X

43

YAWS ENDEMIC SYPHILIS

X

 

44

YELLOW FEVER

 

X

This is based on the Integrated Disease Surveillance and Response (IDSR) 2018 recommendation list - https://iris.who.int/bitstream/handle/10665/325015/WHO-AF-WHE-CPI-05.2019-eng.pdf?sequence=1 and Technical Guidelines for Integrated Disease Surveillance and Response in the African Region: Third edition | WHO | Regional Office for Africa .

Disease Configuration Options .

Disease Fields

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. Only relevant for case-based diseases.

  • Boolean caseSurveillanceEnabled:: Whether this disease can be used for data related to case surveillance, e.g. cases, contacts, or pathogen tests.

  • Boolean aggregateReportingEnabled: Whether this disease 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 ageGroups: Only relevant for primary disease that are enabled for case surveillance. Define age groups to be used for aggregated reporting, as described below.

  • Integer automaticSampleAssignmentThreshold: When a new external message is sent to the system and automatically processed, and a case is found for which the person is unambiguously identified as the same person as the one in the message, if the sample collection date of this case falls into this threshold (defined in days), the sample and pathogen test from the external message are automatically associated with that case instead of a new one being created.

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';

 

Adding a new Disease

For adding a new disease, please see Adding a New Disease .