Skip to content

Commit 870fe72

Browse files
Merge pull request #13877 from SORMAS-Foundation/feature-13797-malaria-disease
Feature 13797 & 13810 Malaria and Dengue diseases
2 parents 5a262f6 + 90c15f7 commit 870fe72

49 files changed

Lines changed: 3004 additions & 697 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

sormas-api/src/main/java/de/symeda/sormas/api/Disease.java

Lines changed: 90 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -25,73 +25,73 @@ public enum Disease
2525
implements
2626
StatisticsGroupingKey {
2727

28-
AFP(true, true, true, false, true, 60, true, false, false),
29-
CHOLERA(true, true, true, false, true, 5, true, false, false),
30-
CONGENITAL_RUBELLA(true, true, true, false, true, 21, true, false, false),
31-
CSM(true, true, true, false, true, 10, true, false, false),
32-
DENGUE(true, true, true, false, false, 14, true, false, false),
33-
EVD(true, true, true, false, true, 21, true, false, false),
34-
GUINEA_WORM(true, true, true, false, false, 0, true, false, false),
35-
LASSA(true, true, true, false, true, 21, true, false, false),
36-
MEASLES(true, true, true, false, true, 21, true, true, false),
37-
MONKEYPOX(true, true, true, false, true, 21, true, false, false),
38-
NEW_INFLUENZA(true, true, true, false, true, 17, true, false, false),
39-
PLAGUE(true, true, true, false, true, 7, true, false, false),
40-
POLIO(true, true, true, false, true, 60, true, false, false),
41-
UNSPECIFIED_VHF(true, true, true, false, true, 21, true, false, false),
42-
WEST_NILE_FEVER(true, false, true, false, false, 0, true, false, false),
43-
YELLOW_FEVER(true, true, true, false, false, 6, true, false, false),
44-
RABIES(true, true, true, false, true, 6, true, false, false),
45-
ANTHRAX(true, true, true, false, false, 0, true, false, false),
46-
CORONAVIRUS(true, true, true, false, true, 14, true, true, true),
47-
PNEUMONIA(true, false, true, false, false, 0, true, false, false),
48-
MALARIA(true, false, false, true, false, 0, true, false, false),
49-
TYPHOID_FEVER(true, false, false, true, false, 0, true, false, false),
50-
ACUTE_VIRAL_HEPATITIS(true, false, false, true, false, 0, true, false, false),
51-
NON_NEONATAL_TETANUS(true, false, false, true, false, 0, true, false, false),
52-
HIV(true, false, false, true, false, 0, true, false, false),
53-
SCHISTOSOMIASIS(true, false, false, true, false, 0, true, false, false),
54-
SOIL_TRANSMITTED_HELMINTHS(true, false, false, true, false, 0, true, false, false),
55-
TRYPANOSOMIASIS(true, false, false, true, false, 0, true, false, false),
56-
DIARRHEA_DEHYDRATION(true, false, false, true, false, 0, true, false, false),
57-
DIARRHEA_BLOOD(true, false, false, true, false, 0, true, false, false),
58-
SNAKE_BITE(true, false, false, true, false, 0, true, false, false),
59-
RUBELLA(true, false, false, true, false, 0, true, false, false),
60-
TUBERCULOSIS(false, true, true, true, true, 365, true, false, false),
61-
LATENT_TUBERCULOSIS(false, true, true, true, true, 30, true, false, false),
62-
LEPROSY(true, false, false, true, false, 0, true, false, false),
63-
LYMPHATIC_FILARIASIS(true, false, false, true, false, 0, true, false, false),
64-
BURULI_ULCER(true, false, false, true, false, 0, true, false, false),
65-
PERTUSSIS(true, false, false, true, true, 0, true, false, false),
66-
NEONATAL_TETANUS(true, false, false, true, false, 0, true, false, false),
67-
ONCHOCERCIASIS(true, false, false, true, false, 0, true, false, false),
68-
DIPHTERIA(true, false, false, true, false, 0, true, false, false),
69-
TRACHOMA(true, false, false, true, false, 0, true, false, false),
70-
YAWS_ENDEMIC_SYPHILIS(true, false, false, true, false, 0, true, false, false),
71-
MATERNAL_DEATHS(true, false, false, true, false, 0, true, false, false),
72-
PERINATAL_DEATHS(true, false, false, true, false, 0, true, false, false),
73-
INFLUENZA(true, false, false, false, false, 0, true, false, false),
74-
INFLUENZA_A(false, true, true, false, false, 0, true, false, false),
75-
INFLUENZA_B(false, true, true, false, false, 0, true, false, false),
76-
H_METAPNEUMOVIRUS(true, false, true, false, false, 0, true, false, false),
77-
RESPIRATORY_SYNCYTIAL_VIRUS(true, false, true, false, false, 0, true, false, false),
78-
PARAINFLUENZA_1_4(false, false, true, false, false, 0, true, false, false),
79-
ADENOVIRUS(true, false, true, false, false, 0, true, false, false),
80-
RHINOVIRUS(true, false, true, false, false, 0, true, false, false),
81-
ENTEROVIRUS(true, false, true, false, false, 0, true, false, false),
82-
M_PNEUMONIAE(true, false, true, false, false, 0, true, false, false),
83-
C_PNEUMONIAE(true, false, true, false, false, 0, true, false, false),
84-
ARI(true, false, false, true, false, 0, true, false, false),
85-
CHIKUNGUNYA(true, false, false, true, false, 0, true, false, false),
86-
POST_IMMUNIZATION_ADVERSE_EVENTS_MILD(true, false, false, true, false, 0, true, false, false),
87-
POST_IMMUNIZATION_ADVERSE_EVENTS_SEVERE(true, false, false, true, false, 0, true, false, false),
88-
FHA(true, false, false, true, false, 0, true, false, false),
89-
INVASIVE_PNEUMOCOCCAL_INFECTION(true, true, true, false, false, 0, false, false, false),
90-
INVASIVE_MENINGOCOCCAL_INFECTION(true, true, true, false, true, 7, false, false, false),
91-
GIARDIASIS(true, true, true, false, true, 14, false, false, false),
92-
CRYPTOSPORIDIOSIS(true, true, true, false, true, 14, false, false, false),
93-
OTHER(true, true, true, false, true, 21, false, false, false),
94-
UNDEFINED(true, true, true, false, true, 0, false, false, false);
28+
AFP(true, true, true, false, true, 60, true, false, false, true, 7, 30),
29+
CHOLERA(true, true, true, false, true, 5, true, false, false, true, 0, 5),
30+
CONGENITAL_RUBELLA(true, true, true, false, true, 21, true, false, false, false, 0, 0),
31+
CSM(true, true, true, false, true, 10, true, false, false, false, 0, 0),
32+
DENGUE(true, true, true, false, false, 14, true, false, false, true, 2, 14),
33+
EVD(true, true, true, false, true, 21, true, false, false, true, 2, 21),
34+
GUINEA_WORM(true, true, true, false, false, 0, true, false, false, false, 0, 0),
35+
LASSA(true, true, true, false, true, 21, true, false, false, true, 3, 21),
36+
MEASLES(true, true, true, false, true, 21, true, true, false, true, 7, 21),
37+
MONKEYPOX(true, true, true, false, true, 21, true, false, false, true, 5, 21),
38+
NEW_INFLUENZA(true, true, true, false, true, 17, true, false, false, false, 0, 0),
39+
PLAGUE(true, true, true, false, true, 7, true, false, false, true, 1, 7),
40+
POLIO(true, true, true, false, true, 60, true, false, false, true, 7, 30),
41+
UNSPECIFIED_VHF(true, true, true, false, true, 21, true, false, false, true, 2, 21),
42+
WEST_NILE_FEVER(true, false, true, false, false, 0, true, false, false, true, 2, 14),
43+
YELLOW_FEVER(true, true, true, false, false, 6, true, false, false, true, 3, 6),
44+
RABIES(true, true, true, false, true, 6, true, false, false, true, 5, 730),
45+
ANTHRAX(true, true, true, false, false, 0, true, false, false, true, 1, 60),
46+
CORONAVIRUS(true, true, true, false, true, 14, true, true, true, true, 1, 14),
47+
PNEUMONIA(true, false, true, true, false, 0, true, false, false, false, 0, 0),
48+
MALARIA(true, true, false, true, false, 0, true, false, false, true, 7, 60),
49+
TYPHOID_FEVER(true, false, false, true, false, 0, true, false, false, false, 0, 0),
50+
ACUTE_VIRAL_HEPATITIS(true, false, false, true, false, 0, true, false, false, false, 0, 0),
51+
NON_NEONATAL_TETANUS(true, false, false, true, false, 0, true, false, false, false, 0, 0),
52+
HIV(true, false, false, true, false, 0, true, false, false, true, 10, 180),
53+
SCHISTOSOMIASIS(true, false, false, true, false, 0, true, false, false, false, 0, 0),
54+
SOIL_TRANSMITTED_HELMINTHS(true, false, false, true, false, 0, true, false, false, false, 0, 0),
55+
TRYPANOSOMIASIS(true, false, false, true, false, 0, true, false, false, false, 0, 0),
56+
DIARRHEA_DEHYDRATION(true, false, false, true, false, 0, true, false, false, false, 0, 0),
57+
DIARRHEA_BLOOD(true, false, false, true, false, 0, true, false, false, false, 0, 0),
58+
SNAKE_BITE(true, false, false, true, false, 0, true, false, false, false, 0, 0),
59+
RUBELLA(true, false, false, true, false, 0, true, false, false, true, 14, 23),
60+
TUBERCULOSIS(false, true, true, true, true, 365, true, false, false, true, 30, 730),
61+
LATENT_TUBERCULOSIS(false, true, true, true, true, 30, true, false, false, false, 0, 0),
62+
LEPROSY(true, false, false, true, false, 0, true, false, false, true, 18, 730),
63+
LYMPHATIC_FILARIASIS(true, false, false, true, false, 0, true, false, false, false, 0, 0),
64+
BURULI_ULCER(true, false, false, true, false, 0, true, false, false, false, 0, 0),
65+
PERTUSSIS(true, false, false, true, true, 0, true, false, false, true, 4, 21),
66+
NEONATAL_TETANUS(true, false, false, true, false, 0, true, false, false, true, 3, 21),
67+
ONCHOCERCIASIS(true, false, false, true, false, 0, true, false, false, false, 0, 0),
68+
DIPHTERIA(true, false, false, true, false, 0, true, false, false, true, 1, 10),
69+
TRACHOMA(true, false, false, true, false, 0, true, false, false, false, 0, 0),
70+
YAWS_ENDEMIC_SYPHILIS(true, false, false, true, false, 0, true, false, false, false, 0, 0),
71+
MATERNAL_DEATHS(true, false, false, true, false, 0, true, false, false, false, 0, 0),
72+
PERINATAL_DEATHS(true, false, false, true, false, 0, true, false, false, true, 1, 4),
73+
INFLUENZA(true, false, false, false, false, 0, true, false, false, true, 1, 4),
74+
INFLUENZA_A(false, true, true, false, false, 0, true, false, false, true, 1, 4),
75+
INFLUENZA_B(false, true, true, false, false, 0, true, false, false, true, 1, 4),
76+
H_METAPNEUMOVIRUS(true, false, true, true, false, 0, true, false, false, false, 0, 0),
77+
RESPIRATORY_SYNCYTIAL_VIRUS(true, false, true, false, false, 0, true, false, false, true, 2, 8),
78+
PARAINFLUENZA_1_4(false, false, true, true, false, 0, true, false, false, false, 0, 0),
79+
ADENOVIRUS(true, false, true, true, false, 0, true, false, false, false, 0, 0),
80+
RHINOVIRUS(true, false, true, true, false, 0, true, false, false, false, 0, 0),
81+
ENTEROVIRUS(true, false, true, true, false, 0, true, false, false, false, 0, 0),
82+
M_PNEUMONIAE(true, false, true, true, false, 0, true, false, false, false, 0, 0),
83+
C_PNEUMONIAE(true, false, true, true, false, 0, true, false, false, false, 0, 0),
84+
ARI(true, false, false, true, false, 0, true, false, false, false, 0, 0),
85+
CHIKUNGUNYA(true, false, false, true, false, 0, true, false, false, true, 2, 14),
86+
POST_IMMUNIZATION_ADVERSE_EVENTS_MILD(true, false, false, true, false, 0, true, false, false, false, 0, 0),
87+
POST_IMMUNIZATION_ADVERSE_EVENTS_SEVERE(true, false, false, true, false, 0, true, false, false, false, 0, 0),
88+
FHA(true, false, false, true, false, 0, true, false, false, false, 0, 0),
89+
INVASIVE_PNEUMOCOCCAL_INFECTION(true, true, true, false, false, 0, false, false, false, true, 1, 3),
90+
INVASIVE_MENINGOCOCCAL_INFECTION(true, true, true, false, true, 7, false, false, false, true, 1, 10),
91+
GIARDIASIS(true, true, true, false, true, 14, false, false, false, true, 7, 21),
92+
CRYPTOSPORIDIOSIS(true, true, true, false, true, 14, false, false, false, true, 2, 12),
93+
OTHER(true, true, true, false, true, 21, false, false, false, false, 0, 0),
94+
UNDEFINED(true, true, true, false, true, 0, false, false, false, false, 0, 0);
9595

9696
private final boolean defaultActive;
9797
private final boolean defaultPrimary;
@@ -102,6 +102,9 @@ public enum Disease
102102
private final boolean variantAllowed;
103103
private final boolean defaultExtendedClassification;
104104
private final boolean defaultExtendedClassificationMulti;
105+
private final boolean defaultIncubationPeriodEnabled;
106+
private final int defaultMinIncubationPeriod;
107+
private final int defaultMaxIncubationPeriod;
105108

106109
Disease(
107110
boolean defaultActive,
@@ -112,7 +115,10 @@ public enum Disease
112115
int defaultFollowUpDuration,
113116
boolean variantAllowed,
114117
boolean defaultExtendedClassification,
115-
boolean defaultExtendedClassificationMulti) {
118+
boolean defaultExtendedClassificationMulti,
119+
boolean defaultIncubationPeriodEnabled,
120+
int defaultMinIncubationPeriod,
121+
int defaultMaxIncubationPeriod) {
116122

117123
this.defaultActive = defaultActive;
118124
this.defaultPrimary = defaultPrimary;
@@ -123,6 +129,9 @@ public enum Disease
123129
this.variantAllowed = variantAllowed;
124130
this.defaultExtendedClassification = defaultExtendedClassification;
125131
this.defaultExtendedClassificationMulti = defaultExtendedClassificationMulti;
132+
this.defaultIncubationPeriodEnabled = defaultIncubationPeriodEnabled;
133+
this.defaultMinIncubationPeriod = defaultMinIncubationPeriod;
134+
this.defaultMaxIncubationPeriod = defaultMaxIncubationPeriod;
126135
}
127136

128137
@Override
@@ -189,6 +198,18 @@ public boolean isDefaultExtendedClassificationMulti() {
189198
return defaultExtendedClassificationMulti;
190199
}
191200

201+
public boolean isDefaultIncubationPeriodEnabled() {
202+
return defaultIncubationPeriodEnabled;
203+
}
204+
205+
public int getDefaultMinIncubationPeriod() {
206+
return defaultMinIncubationPeriod;
207+
}
208+
209+
public int getDefaultMaxIncubationPeriod() {
210+
return defaultMaxIncubationPeriod;
211+
}
212+
192213
@Override
193214
public int keyCompareTo(StatisticsGroupingKey o) {
194215

@@ -203,5 +224,5 @@ public int keyCompareTo(StatisticsGroupingKey o) {
203224
return this.toString().compareTo(o.toString());
204225
}
205226

206-
public static List<Disease> DISEASE_LIST = Arrays.asList(Disease.values());
227+
public static final List<Disease> DISEASE_LIST = Arrays.asList(Disease.values());
207228
}

sormas-api/src/main/java/de/symeda/sormas/api/caze/CaseDataDto.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,52 +494,86 @@ public class CaseDataDto extends SormasToSormasShareableDto implements IsCase {
494494
private boolean nosocomialOutbreak;
495495
@HideForCountriesExcept
496496
private InfectionSetting infectionSetting;
497+
@Diseases(value = {
498+
Disease.MALARIA }, hide = true)
497499
private QuarantineType quarantine;
498500
@SensitiveData
499501
@Size(max = FieldConstraints.CHARACTER_LIMIT_DEFAULT, message = Validations.textTooLong)
502+
@Diseases(value = {
503+
Disease.MALARIA }, hide = true)
500504
private String quarantineTypeDetails;
505+
@Diseases(value = {
506+
Disease.MALARIA }, hide = true)
501507
private Date quarantineFrom;
508+
@Diseases(value = {
509+
Disease.MALARIA }, hide = true)
502510
private Date quarantineTo;
503511
@SensitiveData
504512
@Size(max = FieldConstraints.CHARACTER_LIMIT_DEFAULT, message = Validations.textTooLong)
513+
@Diseases(value = {
514+
Disease.MALARIA }, hide = true)
505515
private String quarantineHelpNeeded;
506516
@HideForCountriesExcept(countries = {
507517
COUNTRY_CODE_GERMANY,
508518
COUNTRY_CODE_SWITZERLAND })
519+
@Diseases(value = {
520+
Disease.MALARIA }, hide = true)
509521
private boolean quarantineOrderedVerbally;
510522
@HideForCountriesExcept(countries = {
511523
COUNTRY_CODE_GERMANY,
512524
COUNTRY_CODE_SWITZERLAND })
525+
@Diseases(value = {
526+
Disease.MALARIA }, hide = true)
513527
private boolean quarantineOrderedOfficialDocument;
514528
@HideForCountriesExcept(countries = {
515529
COUNTRY_CODE_GERMANY,
516530
COUNTRY_CODE_SWITZERLAND })
531+
@Diseases(value = {
532+
Disease.MALARIA }, hide = true)
517533
private Date quarantineOrderedVerballyDate;
518534
@HideForCountriesExcept(countries = {
519535
COUNTRY_CODE_GERMANY,
520536
COUNTRY_CODE_SWITZERLAND })
537+
@Diseases(value = {
538+
Disease.MALARIA }, hide = true)
521539
private Date quarantineOrderedOfficialDocumentDate;
522540
@HideForCountriesExcept
541+
@Diseases(value = {
542+
Disease.MALARIA }, hide = true)
523543
private YesNoUnknown quarantineHomePossible;
524544
@HideForCountriesExcept
525545
@SensitiveData
526546
@Size(max = FieldConstraints.CHARACTER_LIMIT_DEFAULT, message = Validations.textTooLong)
547+
@Diseases(value = {
548+
Disease.MALARIA }, hide = true)
527549
private String quarantineHomePossibleComment;
528550
@HideForCountriesExcept
551+
@Diseases(value = {
552+
Disease.MALARIA }, hide = true)
529553
private YesNoUnknown quarantineHomeSupplyEnsured;
530554
@HideForCountriesExcept
531555
@SensitiveData
532556
@Size(max = FieldConstraints.CHARACTER_LIMIT_DEFAULT, message = Validations.textTooLong)
557+
@Diseases(value = {
558+
Disease.MALARIA }, hide = true)
533559
private String quarantineHomeSupplyEnsuredComment;
560+
@Diseases(value = {
561+
Disease.MALARIA }, hide = true)
534562
private boolean quarantineExtended;
563+
@Diseases(value = {
564+
Disease.MALARIA }, hide = true)
535565
private boolean quarantineReduced;
536566
@HideForCountriesExcept(countries = {
537567
COUNTRY_CODE_GERMANY,
538568
COUNTRY_CODE_SWITZERLAND })
569+
@Diseases(value = {
570+
Disease.MALARIA }, hide = true)
539571
private boolean quarantineOfficialOrderSent;
540572
@HideForCountriesExcept(countries = {
541573
COUNTRY_CODE_GERMANY,
542574
COUNTRY_CODE_SWITZERLAND })
575+
@Diseases(value = {
576+
Disease.MALARIA }, hide = true)
543577
private Date quarantineOfficialOrderSentDate;
544578
@SensitiveData
545579
private YesNoUnknown postpartum;
@@ -638,6 +672,8 @@ public class CaseDataDto extends SormasToSormasShareableDto implements IsCase {
638672
private Date previousQuarantineTo;
639673
@SensitiveData
640674
@Size(max = CHARACTER_LIMIT_BIG, message = Validations.textTooLong)
675+
@Diseases(value = {
676+
Disease.MALARIA }, hide = true)
641677
private String quarantineChangeComment;
642678

643679
private Map<String, String> externalData;

0 commit comments

Comments
 (0)