Skip to content
This repository was archived by the owner on May 5, 2021. It is now read-only.

Commit 74a510b

Browse files
lgallgal
authored andcommitted
Merge remote-tracking branch 'remotes/origin/development' into 2959_cases_MED_for_Switzerland
# Conflicts: # sormas-api/src/main/resources/captions.properties
2 parents 61ea1c0 + 5fe8cef commit 74a510b

68 files changed

Lines changed: 625 additions & 91 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/caze/CaseCriteria.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ public class CaseCriteria extends BaseCriteria implements Cloneable {
5353
public static final String CREATION_DATE_FROM = "creationDateFrom";
5454
public static final String CREATION_DATE_TO = "creationDateTo";
5555
public static final String NAME_UUID_EPID_NUMBER_LIKE = "nameUuidEpidNumberLike";
56+
public static final String EVENT_LIKE = "eventLike";
57+
public static final String ONLY_CASES_WITH_EVENTS = "onlyCasesWithEvents";
5658
public static final String REPORTING_USER_LIKE = "reportingUserLike";
5759
public static final String NEW_CASE_DATE_TYPE = "newCaseDateType";
5860
public static final String NEW_CASE_DATE_FROM = "newCaseDateFrom";
@@ -92,6 +94,8 @@ public class CaseCriteria extends BaseCriteria implements Cloneable {
9294
private Boolean withReducedQuarantine;
9395
private Boolean deleted = Boolean.FALSE;
9496
private String nameUuidEpidNumberLike;
97+
private String eventLike;
98+
private Boolean onlyCasesWithEvents = Boolean.FALSE;
9599
private String reportingUserLike;
96100
private CaseOrigin caseOrigin;
97101
private EntityRelevanceStatus relevanceStatus;
@@ -375,6 +379,7 @@ public Boolean getDeleted() {
375379
public void setNameUuidEpidNumberLike(String nameUuidEpidNumberLike) {
376380
this.nameUuidEpidNumberLike = nameUuidEpidNumberLike;
377381
}
382+
378383
public CaseCriteria nameUuidEpidNumberLike(String nameUuidEpidNumberLike) {
379384
setNameUuidEpidNumberLike(nameUuidEpidNumberLike);
380385
return this;
@@ -385,6 +390,34 @@ public String getNameUuidEpidNumberLike() {
385390
return nameUuidEpidNumberLike;
386391
}
387392

393+
public void setEventLike(String eventLike) {
394+
this.eventLike = eventLike;
395+
}
396+
397+
@IgnoreForUrl
398+
public String getEventLike() {
399+
return eventLike;
400+
}
401+
402+
public CaseCriteria eventLike(String eventLike) {
403+
setEventLike(eventLike);
404+
return this;
405+
}
406+
407+
public void setOnlyCasesWithEvents(Boolean onlyCasesWithEvents) {
408+
this.onlyCasesWithEvents = onlyCasesWithEvents;
409+
}
410+
411+
@IgnoreForUrl
412+
public Boolean getOnlyCasesWithEvents() {
413+
return onlyCasesWithEvents;
414+
}
415+
416+
public CaseCriteria onlyCasesWithEvents(Boolean onlyCasesWithEvents) {
417+
this.onlyCasesWithEvents = onlyCasesWithEvents;
418+
return this;
419+
}
420+
388421
@IgnoreForUrl
389422
public String getSourceCaseInfoLike() {
390423
return sourceCaseInfoLike;

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

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import de.symeda.sormas.api.contact.FollowUpStatus;
2525
import de.symeda.sormas.api.contact.QuarantineType;
2626
import de.symeda.sormas.api.epidata.EpiDataDto;
27+
import de.symeda.sormas.api.event.EventStatus;
2728
import de.symeda.sormas.api.facility.FacilityHelper;
2829
import de.symeda.sormas.api.hospitalization.HospitalizationDto;
2930
import de.symeda.sormas.api.i18n.I18nProperties;
@@ -92,6 +93,10 @@ public class CaseExportDto implements Serializable {
9293
public static final String LAST_COOPERATIVE_VISIT_SYMPTOMATIC = "lastCooperativeVisitSymptomatic";
9394
public static final String LAST_COOPERATIVE_VISIT_DATE = "lastCooperativeVisitDate";
9495
public static final String LAST_COOPERATIVE_VISIT_SYMPTOMS = "lastCooperativeVisitSymptoms";
96+
public static final String EVENT_COUNT = "eventCount";
97+
public static final String LATEST_EVENT_ID = "latestEventId";
98+
public static final String LATEST_EVENT_STATUS = "latestEventStatus";
99+
public static final String LATEST_EVENT_TITLE = "latestEventTitle";
95100

96101
private String country;
97102
private long id;
@@ -217,6 +222,11 @@ public class CaseExportDto implements Serializable {
217222

218223
private CaseJurisdictionDto jurisdiction;
219224

225+
private Long eventCount;
226+
private String latestEventId;
227+
private String latestEventTitle;
228+
private EventStatus latestEventStatus;
229+
220230
//@formatter:off
221231
public CaseExportDto(long id, long personId, long personAddressId, long epiDataId, long symptomsId,
222232
long hospitalizationId, long districtId, long healthConditionsId, String uuid, String epidNumber,
@@ -242,7 +252,8 @@ public CaseExportDto(long id, long personId, long personAddressId, long epiDataI
242252
YesNoUnknown burialAttended, YesNoUnknown directContactConfirmedCase, YesNoUnknown directContactProbableCase, YesNoUnknown contactWithRodent,
243253
//Date onsetDate,
244254
Vaccination vaccination, String vaccinationDoses, Date vaccinationDate,
245-
VaccinationInfoSource vaccinationInfoSource, YesNoUnknown postpartum, Trimester trimester) {
255+
VaccinationInfoSource vaccinationInfoSource, YesNoUnknown postpartum, Trimester trimester,
256+
long eventCount) {
246257
//@formatter:on
247258

248259
this.id = id;
@@ -319,6 +330,7 @@ public CaseExportDto(long id, long personId, long personAddressId, long epiDataI
319330
this.trimester = trimester;
320331
this.followUpStatus = followUpStatus;
321332
this.followUpUntil = followUpUntil;
333+
this.eventCount = eventCount;
322334

323335
jurisdiction = new CaseJurisdictionDto(reportingUserUuid, regionUuid, districtUuid, communityUuid, healthFacilityUuid, pointOfEntryUuid);
324336
}
@@ -1260,6 +1272,42 @@ public String getLastCooperativeVisitSymptoms() {
12601272
return lastCooperativeVisitSymptoms;
12611273
}
12621274

1275+
@Order(137)
1276+
@ExportTarget(caseExportTypes = {
1277+
CaseExportType.CASE_SURVEILLANCE })
1278+
@ExportProperty(CaseExportDto.EVENT_COUNT)
1279+
@ExportGroup(ExportGroupType.EVENT)
1280+
public Long getEventCount() {
1281+
return eventCount;
1282+
}
1283+
1284+
@Order(138)
1285+
@ExportTarget(caseExportTypes = {
1286+
CaseExportType.CASE_SURVEILLANCE })
1287+
@ExportProperty(CaseExportDto.LATEST_EVENT_ID)
1288+
@ExportGroup(ExportGroupType.EVENT)
1289+
public String getLatestEventId() {
1290+
return latestEventId;
1291+
}
1292+
1293+
@Order(139)
1294+
@ExportTarget(caseExportTypes = {
1295+
CaseExportType.CASE_SURVEILLANCE })
1296+
@ExportProperty(CaseExportDto.LATEST_EVENT_STATUS)
1297+
@ExportGroup(ExportGroupType.EVENT)
1298+
public EventStatus getLatestEventStatus() {
1299+
return latestEventStatus;
1300+
}
1301+
1302+
@Order(140)
1303+
@ExportTarget(caseExportTypes = {
1304+
CaseExportType.CASE_SURVEILLANCE })
1305+
@ExportProperty(CaseExportDto.LATEST_EVENT_TITLE)
1306+
@ExportGroup(ExportGroupType.EVENT)
1307+
public String getLatestEventTitle() {
1308+
return latestEventTitle;
1309+
}
1310+
12631311
public void setCountry(String country) {
12641312
this.country = country;
12651313
}
@@ -1527,4 +1575,16 @@ public void setLastCooperativeVisitDate(Date lastCooperativeVisitDate) {
15271575
public void setLastCooperativeVisitSymptoms(String lastCooperativeVisitSymptoms) {
15281576
this.lastCooperativeVisitSymptoms = lastCooperativeVisitSymptoms;
15291577
}
1578+
1579+
public void setLatestEventId(String latestEventId) {
1580+
this.latestEventId = latestEventId;
1581+
}
1582+
1583+
public void setLatestEventTitle(String latestEventTitle) {
1584+
this.latestEventTitle = latestEventTitle;
1585+
}
1586+
1587+
public void setLatestEventStatus(EventStatus latestEventStatus) {
1588+
this.latestEventStatus = latestEventStatus;
1589+
}
15301590
}

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

Lines changed: 43 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package de.symeda.sormas.api.caze;
22

3+
import java.util.Date;
4+
35
import de.symeda.sormas.api.Disease;
46
import de.symeda.sormas.api.contact.FollowUpStatus;
7+
import de.symeda.sormas.api.event.EventStatus;
58
import de.symeda.sormas.api.person.ApproximateAgeType;
69
import de.symeda.sormas.api.person.PresentCondition;
710
import de.symeda.sormas.api.person.Sex;
@@ -11,8 +14,6 @@
1114
import de.symeda.sormas.api.utils.pseudonymization.Pseudonymizer;
1215
import de.symeda.sormas.api.utils.pseudonymization.valuepseudonymizers.PostalCodePseudonymizer;
1316

14-
import java.util.Date;
15-
1617
public class CaseIndexDetailedDto extends CaseIndexDto {
1718

1819
private static final long serialVersionUID = -3722694511897383913L;
@@ -25,6 +26,10 @@ public class CaseIndexDetailedDto extends CaseIndexDto {
2526
public static final String ADDITIONAL_INFORMATION = "additionalInformation";
2627
public static final String PHONE = "phone";
2728
public static final String REPORTING_USER = "reportingUser";
29+
public static final String EVENT_COUNT = "eventCount";
30+
public static final String LATEST_EVENT_ID = "latestEventId";
31+
public static final String LATEST_EVENT_STATUS = "latestEventStatus";
32+
public static final String LATEST_EVENT_TITLE = "latestEventTitle";
2833

2934
@PersonalData
3035
@SensitiveData
@@ -44,6 +49,10 @@ public class CaseIndexDetailedDto extends CaseIndexDto {
4449
private String postalCode;
4550
@SensitiveData
4651
private String phone;
52+
private Long eventCount;
53+
private String latestEventId;
54+
private String latestEventTitle;
55+
private EventStatus latestEventStatus;
4756

4857
private UserReferenceDto reportingUser;
4958

@@ -55,15 +64,15 @@ public CaseIndexDetailedDto(long id, String uuid, String epidNumber, String exte
5564
String healthFacilityUuid, String healthFacilityName, String healthFacilityDetails,
5665
String pointOfEntryUuid, String pointOfEntryName, String pointOfEntryDetails, String surveillanceOfficerUuid, CaseOutcome outcome,
5766
Integer age, ApproximateAgeType ageType, Integer birthdateDD, Integer birthdateMM, Integer birthdateYYYY, Sex sex,
58-
Date quarantineTo, Float completeness, FollowUpStatus followUpStatus, Date followUpUntil,
67+
Date quarantineTo, Float completeness, FollowUpStatus followUpStatus, Date followUpUntil, Date changeDate, Long facilityId,
5968
String city, String street, String houseNumber, String additionalInformation, String postalCode, String phone,
60-
String reportingUserFirstName, String reportingUserLastName, int visitCount) {
69+
String reportingUserFirstName, String reportingUserLastName, int visitCount, long eventCount) {
6170

6271
super(id, uuid, epidNumber, externalID, personFirstName, personLastName, disease, diseaseDetails, caseClassification, investigationStatus,
6372
presentCondition, reportDate, reportingUserUuid, creationDate, regionUuid, districtUuid, districtName, communityUuid,
6473
healthFacilityUuid, healthFacilityName, healthFacilityDetails, pointOfEntryUuid, pointOfEntryName, pointOfEntryDetails, surveillanceOfficerUuid, outcome,
6574
age, ageType, birthdateDD, birthdateMM, birthdateYYYY, sex,
66-
quarantineTo, completeness, followUpStatus, followUpUntil, visitCount);
75+
quarantineTo, completeness, followUpStatus, followUpUntil, changeDate, facilityId, visitCount);
6776
//@formatter:on
6877

6978
this.city = city;
@@ -73,6 +82,7 @@ public CaseIndexDetailedDto(long id, String uuid, String epidNumber, String exte
7382
this.postalCode = postalCode;
7483
this.phone = phone;
7584
this.reportingUser = new UserReferenceDto(reportingUserUuid, reportingUserFirstName, reportingUserLastName, null);
85+
this.eventCount = eventCount;
7686
}
7787

7888
public String getCity() {
@@ -106,4 +116,32 @@ public UserReferenceDto getReportingUser() {
106116
public void setReportingUser(UserReferenceDto reportingUser) {
107117
this.reportingUser = reportingUser;
108118
}
119+
120+
public Long getEventCount() {
121+
return eventCount;
122+
}
123+
124+
public String getLatestEventId() {
125+
return latestEventId;
126+
}
127+
128+
public void setLatestEventId(String latestEventId) {
129+
this.latestEventId = latestEventId;
130+
}
131+
132+
public String getLatestEventTitle() {
133+
return latestEventTitle;
134+
}
135+
136+
public void setLatestEventTitle(String latestEventTitle) {
137+
this.latestEventTitle = latestEventTitle;
138+
}
139+
140+
public EventStatus getLatestEventStatus() {
141+
return latestEventStatus;
142+
}
143+
144+
public void setLatestEventStatus(EventStatus latestEventStatus) {
145+
this.latestEventStatus = latestEventStatus;
146+
}
109147
}

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

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,25 +108,28 @@ public CaseIndexDto(long id, String uuid, String epidNumber, String externalID,
108108
String districtUuid, String districtName, String communityUuid, String healthFacilityUuid, String healthFacilityName, String healthFacilityDetails,
109109
String pointOfEntryUuid, String pointOfEntryName, String pointOfEntryDetails, String surveillanceOfficerUuid, CaseOutcome outcome,
110110
Integer age, ApproximateAgeType ageType, Integer birthdateDD, Integer birthdateMM, Integer birthdateYYYY, Sex sex, Date quarantineTo,
111-
Float completeness, FollowUpStatus followUpStatus, Date followUpUntil) {
112-
//@formatter:on
111+
Float completeness, FollowUpStatus followUpStatus, Date followUpUntil, Date changeDate, Long facilityId) {
113112
this(id, uuid, epidNumber, externalID,personFirstName, personLastName, disease,
114113
diseaseDetails, caseClassification, investigationStatus,
115114
presentCondition, reportDate, reportingUserUuid, creationDate, regionUuid,
116115
districtUuid, districtName, communityUuid, healthFacilityUuid, healthFacilityName, healthFacilityDetails,
117116
pointOfEntryUuid, pointOfEntryName, pointOfEntryDetails, surveillanceOfficerUuid, outcome,
118117
age, ageType, birthdateDD, birthdateMM, birthdateYYYY, sex, quarantineTo,
119-
completeness, followUpStatus, followUpUntil, null
120-
);
118+
completeness, followUpStatus, followUpUntil, changeDate, facilityId, null
119+
);
121120
}
121+
//@formatter:on
122+
122123
//@formatter:off
123124
public CaseIndexDto(long id, String uuid, String epidNumber, String externalID, String personFirstName, String personLastName, Disease disease,
124125
String diseaseDetails, CaseClassification caseClassification, InvestigationStatus investigationStatus,
125126
PresentCondition presentCondition, Date reportDate, String reportingUserUuid, Date creationDate, String regionUuid,
126127
String districtUuid, String districtName, String communityUuid, String healthFacilityUuid, String healthFacilityName, String healthFacilityDetails,
127128
String pointOfEntryUuid, String pointOfEntryName, String pointOfEntryDetails, String surveillanceOfficerUuid, CaseOutcome outcome,
128129
Integer age, ApproximateAgeType ageType, Integer birthdateDD, Integer birthdateMM, Integer birthdateYYYY, Sex sex, Date quarantineTo,
129-
Float completeness, FollowUpStatus followUpStatus, Date followUpUntil, Integer visitCount) {
130+
Float completeness, FollowUpStatus followUpStatus, Date followUpUntil,
131+
Date changeDate, Long facilityId, // XXX: unused, only here for TypedQuery mapping
132+
Integer visitCount) {
130133
//@formatter:on
131134

132135
this.id = id;

sormas-api/src/main/java/de/symeda/sormas/api/i18n/Captions.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@ public interface Captions {
191191
String CaseData_epiData = "CaseData.epiData";
192192
String CaseData_epidemiologicalConfirmation = "CaseData.epidemiologicalConfirmation";
193193
String CaseData_epidNumber = "CaseData.epidNumber";
194+
String CaseData_eventCount = "CaseData.eventCount";
194195
String CaseData_externalID = "CaseData.externalID";
195196
String CaseData_facilityType = "CaseData.facilityType";
196197
String CaseData_followUpComment = "CaseData.followUpComment";
@@ -204,6 +205,9 @@ public interface Captions {
204205
String CaseData_investigatedDate = "CaseData.investigatedDate";
205206
String CaseData_investigationStatus = "CaseData.investigationStatus";
206207
String CaseData_laboratoryDiagnosticConfirmation = "CaseData.laboratoryDiagnosticConfirmation";
208+
String CaseData_latestEventId = "CaseData.latestEventId";
209+
String CaseData_latestEventStatus = "CaseData.latestEventStatus";
210+
String CaseData_latestEventTitle = "CaseData.latestEventTitle";
207211
String CaseData_maternalHistory = "CaseData.maternalHistory";
208212
String CaseData_nationalLevelDate = "CaseData.nationalLevelDate";
209213
String CaseData_noneHealthFacilityDetails = "CaseData.noneHealthFacilityDetails";
@@ -314,6 +318,7 @@ public interface Captions {
314318
String caseFilterCasesWithCaseManagementData = "caseFilterCasesWithCaseManagementData";
315319
String caseFilterExcludeSharedCases = "caseFilterExcludeSharedCases";
316320
String caseFilterPortHealthWithoutFacility = "caseFilterPortHealthWithoutFacility";
321+
String caseFilterRelatedToEvent = "caseFilterRelatedToEvent";
317322
String caseFilterWithDifferentRegion = "caseFilterWithDifferentRegion";
318323
String caseFilterWithExtendedQuarantine = "caseFilterWithExtendedQuarantine";
319324
String caseFilterWithoutGeo = "caseFilterWithoutGeo";

sormas-api/src/main/java/de/symeda/sormas/api/i18n/Descriptions.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public interface Descriptions {
2424
String descCaseFilterWithoutResponsibleOfficer = "descCaseFilterWithoutResponsibleOfficer";
2525
String descCaseFilterWithExtendedQuarantine = "descCaseFilterWithExtendedQuarantine";
2626
String descCaseFilterWithReducedQuarantine = "descCaseFilterWithReducedQuarantine";
27+
String descCaseFilterRelatedToEvent = "descCaseFilterRelatedToEvent";
2728
String descContactOnlyWithExtendedQuarantine = "descContactOnlyWithExtendedQuarantine";
2829
String descContactOnlyWithReducedQuarantine = "descContactOnlyWithReducedQuarantine";
2930
}

sormas-api/src/main/java/de/symeda/sormas/api/i18n/Strings.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -716,6 +716,7 @@ public interface Strings {
716716
String promptArea = "promptArea";
717717
String promptCampaign = "promptCampaign";
718718
String promptCampaignSearch = "promptCampaignSearch";
719+
String promptCaseOrContactEventSearchField = "promptCaseOrContactEventSearchField";
719720
String promptCasesDateFrom = "promptCasesDateFrom";
720721
String promptCasesEpiWeekFrom = "promptCasesEpiWeekFrom";
721722
String promptCasesEpiWeekTo = "promptCasesEpiWeekTo";

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ public enum ExportGroupType {
1212
VACCINATION,
1313
CASE_MANAGEMENT,
1414
FOLLOW_UP,
15-
ADDITIONAL;
15+
ADDITIONAL,
16+
EVENT;
1617

1718
public String toString() {
1819
return I18nProperties.getEnumCaption(this);

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,7 @@ caseFilterExcludeSharedCases=Exclude cases shared from other jurisdictions
221221
caseFilterWithoutResponsibleOfficer=Only cases without responsible officer
222222
caseFilterWithExtendedQuarantine=Only cases with extended quarantine
223223
caseFilterWithReducedQuarantine=Only cases with reduced quarantine
224+
caseFilterRelatedToEvent=Only cases with events
224225
caseFacilityDetailsShort=Facility name
225226
caseLineListing=Line listing
226227
caseNewCase=New case
@@ -350,6 +351,10 @@ CaseData.followUpComment=Follow-up status comment
350351
CaseData.followUpStatus=Follow-up status
351352
CaseData.followUpUntil=Follow-up until
352353
CaseData.overwriteFollowUpUntil=Overwrite follow-up until date
354+
CaseData.eventCount=Number of events
355+
CaseData.latestEventId=Latest event ID
356+
CaseData.latestEventStatus=Latest event status
357+
CaseData.latestEventTitle=Latest event title
353358
CaseData.caseIdIsm=Case-ID ISM
354359
CaseData.covidTestReason=Reason for COVID-19-Test
355360
CaseData.covidTestReasonDetails=Other reason

sormas-api/src/main/resources/captions_de-CH.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ epiWeekTo=Bis Epi Woche
3030
facilityType=Art der Einrichtung
3131
facilityTypeGroup=Kategorie der Einrichtung
3232
firstName=Vorname
33+
sex=Sex
3334
nationalHealthId=AHV-Nummer
3435
passportNumber=Passnummer
3536
from=Von

0 commit comments

Comments
 (0)