Skip to content

Commit 5e17e6e

Browse files
Merge branch 'development' into 13461-chest-pain-missing-from-symptoms-for-plague
2 parents f6359f2 + acfe63d commit 5e17e6e

File tree

52 files changed

+657
-214
lines changed

Some content is hidden

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

52 files changed

+657
-214
lines changed

sormas-api/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<parent>
33
<groupId>de.symeda.sormas</groupId>
44
<artifactId>sormas-base</artifactId>
5-
<version>1.102.0-SNAPSHOT</version>
5+
<version>1.103.0-SNAPSHOT</version>
66
<relativePath>../sormas-base</relativePath>
77
</parent>
88
<modelVersion>4.0.0</modelVersion>

sormas-api/src/main/java/de/symeda/sormas/api/adverseeventsfollowingimmunization/AefiCriteria.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ public class AefiCriteria extends BaseCriteria implements Serializable {
7171
private Date toDate;
7272
private EntityRelevanceStatus relevanceStatus;
7373

74+
private Boolean gisMapCriteria = false;
7475
private Boolean showSeriousAefiForMap = false;
7576
private Boolean showNonSeriousAefiForMap = false;
7677

@@ -230,6 +231,11 @@ public AefiCriteria aefiType(AefiType aefiType) {
230231
return this;
231232
}
232233

234+
public AefiCriteria gisMapCriteria(Boolean gisMapCriteria) {
235+
this.gisMapCriteria = gisMapCriteria;
236+
return this;
237+
}
238+
233239
public AefiCriteria showSeriousAefiForMap(Boolean showSeriousAefi) {
234240
this.showSeriousAefiForMap = showSeriousAefi;
235241
return this;
@@ -240,6 +246,10 @@ public AefiCriteria showNonSeriousAefiForMap(Boolean showNonSeriousAefi) {
240246
return this;
241247
}
242248

249+
public Boolean isGisMapCriteria() {
250+
return gisMapCriteria;
251+
}
252+
243253
public Boolean isShowSeriousAefiForMap() {
244254
return showSeriousAefiForMap;
245255
}

sormas-api/src/main/java/de/symeda/sormas/api/dashboard/AefiDashboardCriteria.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public class AefiDashboardCriteria extends BaseDashboardCriteria<AefiDashboardCr
2323
private AefiDashboardFilterDateType aefiDashboardFilterDateType;
2424
private AefiType aefiType;
2525

26+
private boolean gisMapCriteria;
2627
private boolean showSeriousAefiForMap;
2728
private boolean showNonSeriousAefiForMap;
2829

@@ -38,6 +39,10 @@ public AefiType getAefiType() {
3839
return aefiType;
3940
}
4041

42+
public boolean isGisMapCriteria() {
43+
return gisMapCriteria;
44+
}
45+
4146
public boolean isShowSeriousAefiForMap() {
4247
return showSeriousAefiForMap;
4348
}
@@ -56,6 +61,11 @@ public AefiDashboardCriteria aefiType(AefiType aefiType) {
5661
return self;
5762
}
5863

64+
public AefiDashboardCriteria gisMapCriteria(boolean gisMapCriteria) {
65+
this.gisMapCriteria = gisMapCriteria;
66+
return self;
67+
}
68+
5969
public AefiDashboardCriteria showSeriousAefiForMap(boolean showSeriousAefi) {
6070
this.showSeriousAefiForMap = showSeriousAefi;
6171
return self;

sormas-api/src/main/java/de/symeda/sormas/api/externalmessage/processing/doctordeclaration/AbstractDoctorDeclarationMessageProcessingFlow.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* along with this program. If not, see <https://www.gnu.org/licenses/>.
1414
*/
1515

16-
package de.symeda.sormas.api.externalmessage.processing.labmessage;
16+
package de.symeda.sormas.api.externalmessage.processing.doctordeclaration;
1717

1818
import java.util.ArrayList;
1919
import java.util.Date;

sormas-api/src/main/java/de/symeda/sormas/api/importexport/DatabaseTable.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,9 @@ public enum DatabaseTable {
158158
SYSTEM_CONFIGURATION_VALUES(DatabaseTableType.CONFIGURATION, "system_configuration_values", null),
159159
SYSTEM_CONFIGURATION_CATEGORIES(DatabaseTableType.CONFIGURATION, "system_configuration_categories", null),
160160

161-
NOTIFIER(DatabaseTableType.SORMAS, "notifier", null);
161+
NOTIFIER(DatabaseTableType.SORMAS, "notifier", null),
162+
163+
DRUG_SUSCEPTIBILITY(DatabaseTableType.SORMAS, "drug_susceptibility", null);
162164

163165
private static BiFunction<List<FeatureConfigurationDto>, ConfigFacade, Boolean> dependingOnFeature(FeatureType... featureTypes) {
164166
return (featureConfigurations, configFacade) -> featureConfigurations.stream()

sormas-api/src/main/java/de/symeda/sormas/api/sample/PathogenTestDto.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,8 @@ public static PathogenTestDto build(EnvironmentSampleDto environmentSample, User
267267
PathogenTestDto pathogenTest = new PathogenTestDto();
268268
pathogenTest.setUuid(DataHelper.createUuid());
269269
pathogenTest.setEnvironmentSample(environmentSample.toReference());
270-
270+
// Initialize with an empty drug susceptibility to avoid multiple unnecessary conditional addFields ana checks of the drug susceptibility field in the form
271+
pathogenTest.setDrugSusceptibility(DrugSusceptibilityDto.build());
271272
pathogenTest.setLab(currentUser.getLaboratory());
272273
if (pathogenTest.getLab() == null) {
273274
pathogenTest.setLab(environmentSample.getLaboratory());

sormas-api/src/main/java/de/symeda/sormas/api/utils/AnnotationFieldHelper.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,31 +41,32 @@ public static List<String> getFieldNamesWithMatchingDiseaseAndTestAnnotations(
4141
Field[] fields = clazz.getDeclaredFields();
4242

4343
for (Field field : fields) {
44-
boolean matches = false;
44+
boolean diseaseMatches = false;
45+
boolean pathogenTestMatches = false;
4546

4647
// Check @Diseases annotation
4748
if (diseases != null && !diseases.isEmpty()) {
4849
Diseases diseasesAnnotation = field.getAnnotation(Diseases.class);
4950
if (diseasesAnnotation != null) {
5051
List<Disease> fieldDiseases = Arrays.asList(diseasesAnnotation.value());
5152
if (fieldDiseases.stream().anyMatch(diseases::contains)) {
52-
matches = true;
53+
diseaseMatches = true;
5354
}
5455
}
5556
}
5657

5758
// Check @ApplicableToPathogenTests annotation
58-
if (matches && pathogenTestTypes != null && !pathogenTestTypes.isEmpty()) {
59+
if (diseaseMatches && pathogenTestTypes != null && !pathogenTestTypes.isEmpty()) {
5960
ApplicableToPathogenTests pathogenTestsAnnotation = field.getAnnotation(ApplicableToPathogenTests.class);
6061
if (pathogenTestsAnnotation != null) {
6162
List<PathogenTestType> fieldTestTypes = Arrays.asList(pathogenTestsAnnotation.value());
6263
if (fieldTestTypes.stream().anyMatch(pathogenTestTypes::contains)) {
63-
matches = true;
64+
pathogenTestMatches = true;
6465
}
6566
}
6667
}
6768

68-
if (matches) {
69+
if (diseaseMatches && pathogenTestMatches) {
6970
matchingFieldNames.add(field.getName());
7071
}
7172
}

sormas-api/src/main/resources/enum.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2649,7 +2649,7 @@ RadiographyCompatibility.NOT_COMPATIBLE_WITH_TB = Not compatible with TB regardl
26492649

26502650
# ClinicalPresentationStatus
26512651
ClinicalPresentationStatus.ASYMPTOMATIC=Asymtomatic
2652-
ClinicalPresentationStatus.COMPATIBLE=Signs and symptoms compatible with %s regardless of the anatomical site
2652+
ClinicalPresentationStatus.COMPATIBLE=Signs and symptoms compatible regardless of the anatomical site
26532653
ClinicalPresentationStatus.UNKNOWN=Unknown
26542654

26552655
# InfectionSite

sormas-app/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ The SORMAS Android app is designed for use by users at the level of hospitals, c
44
These have only limited access to the overall data of the system, so it is possible to transfer the relevant data set and make it available offline.
55

66
The **offline** functionality was also one of the core requirements in the development of the app, as it is also to be used in areas where no or hardly any mobile data network is available.
7-
This makes it possible for users to use the app freely and, for example, to synchronise the recorded data with the server in the evening.
7+
This makes it possible for users to use the app freely and, for example, to synchronize the recorded data with the server in the evening.
88

99
The app covers **all essential functionalities of SORMAS** and the complete data collection in the areas of
1010
cases, contacts, events, samples, messages, aggregate reports and tasks.
@@ -14,9 +14,9 @@ To manage the large number of devices used within a country and to simplify supp
1414

1515
## Data Synchronization
1616

17-
For synchronisation, the Android app accesses the **SORMAS ReST** interface.
17+
For synchronization, the Android app accesses the **SORMAS ReST** interface.
1818

19-
First, all data that has changed since the last synchronisation is retrieved from the server.
19+
First, all data that has changed since the last synchronization is retrieved from the server.
2020
In the app, a three-way merge takes place for all data that the user has changed himself in the meantime.
2121
For each individual field (e.g. gender of a person), it is checked whether the value on the server has changed compared to the original status on the device.
2222
If so, this change is adopted, otherwise any existing change of the user is retained.
@@ -48,7 +48,7 @@ During the update **existing data is automatically migrated** using the commands
4848

4949
## Device Encryption
5050

51-
Each Android device using SORMAS should ahve device encryption enabled. This is currently not enforced.
51+
Each Android device using SORMAS should have device encryption enabled. This is currently not enforced.
5252

5353
## Data Storage
5454

sormas-app/app/src/main/java/de/symeda/sormas/app/backend/common/DatabaseHelper.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3179,9 +3179,33 @@ public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource, int
31793179
getDao(UserRole.class)
31803180
.executeRaw("ALTER TABLE userroles ADD COLUMN restrictAccessToAssignedEntities boolean NOT NULL DEFAULT false;");
31813181

3182+
case 359:
3183+
currentVersion = 359;
3184+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN apnoea varchar(255);");
3185+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN arthritis varchar(255);");
3186+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN asymptomatic varchar(255);");
3187+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN clinicalpresentationstatus varchar(255);");
3188+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN coughingbouts varchar(255);");
3189+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN coughsprovokevomiting varchar(255);");
3190+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN dateofonsetknown varchar(255);");
3191+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN diagnosis varchar(255);");
3192+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN hemorrhagicrash varchar(255);");
3193+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN majorsite varchar(255);");
3194+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN meningitis varchar(255);");
3195+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN minorsite varchar(255);");
3196+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN nocturnalcough varchar(255);");
3197+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN otherclinicalpresentation varchar(255);");
3198+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN otherclinicalpresentationtext varchar(255);");
3199+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN othermajorsitedetails varchar(255);");
3200+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN otherminorsitedetails varchar(255);");
3201+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN septicaemia varchar(255);");
3202+
getDao(Symptoms.class).executeRaw("ALTER TABLE symptoms ADD COLUMN whoopsound varchar(255);");
3203+
31823204
// ATTENTION: break should only be done after last version
31833205
break;
31843206

3207+
3208+
31853209
default:
31863210
throw new IllegalStateException("onUpgrade() with unknown oldVersion " + oldVersion);
31873211
}

0 commit comments

Comments
 (0)