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

Commit 9160bca

Browse files
SORMAS-Foundation#2456: Add facility fields to location and refactor occupation facilities (SORMAS-Foundation#3051)
Add facility fields to location Remove occupation facility Migrate existing occupation facilities to locations
1 parent 6224da9 commit 9160bca

36 files changed

Lines changed: 587 additions & 679 deletions

File tree

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

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@
1717
*******************************************************************************/
1818
package de.symeda.sormas.api.caze;
1919

20+
import java.io.Serializable;
21+
import java.util.ArrayList;
22+
import java.util.Date;
23+
import java.util.List;
24+
2025
import de.symeda.sormas.api.Disease;
2126
import de.symeda.sormas.api.DiseaseHelper;
2227
import de.symeda.sormas.api.clinicalcourse.ClinicalCourseDto;
@@ -54,11 +59,6 @@
5459
import de.symeda.sormas.api.utils.pseudonymization.Pseudonymizer;
5560
import de.symeda.sormas.api.utils.pseudonymization.valuepseudonymizers.PostalCodePseudonymizer;
5661

57-
import java.io.Serializable;
58-
import java.util.ArrayList;
59-
import java.util.Date;
60-
import java.util.List;
61-
6262
/**
6363
* A DTO class that contains the properties that are exported during a detailed case export. These
6464
* properties are also those that users can select when creating a custom export configuration.
@@ -93,6 +93,7 @@ public class CaseExportDto implements Serializable {
9393
public static final String LAST_COOPERATIVE_VISIT_SYMPTOMATIC = "lastCooperativeVisitSymptomatic";
9494
public static final String LAST_COOPERATIVE_VISIT_DATE = "lastCooperativeVisitDate";
9595
public static final String LAST_COOPERATIVE_VISIT_SYMPTOMS = "lastCooperativeVisitSymptoms";
96+
public static final String FACILITY = "facility";
9697
public static final String EVENT_COUNT = "eventCount";
9798
public static final String LATEST_EVENT_ID = "latestEventId";
9899
public static final String LATEST_EVENT_STATUS = "latestEventStatus";
@@ -169,6 +170,9 @@ public class CaseExportDto implements Serializable {
169170
@PersonalData
170171
@SensitiveData
171172
private String addressGpsCoordinates;
173+
@PersonalData
174+
@SensitiveData
175+
private String facility;
172176
@SensitiveData
173177
private String phone;
174178
private String occupationType;
@@ -246,9 +250,9 @@ public CaseExportDto(long id, long personId, long personAddressId, long epiDataI
246250
YesNoUnknown admittedToHealthFacility, Date admissionDate, Date dischargeDate, YesNoUnknown leftAgainstAdvice, PresentCondition presentCondition,
247251
Date deathDate, Date burialDate, BurialConductor burialConductor, String burialPlaceDescription,
248252
String addressRegion, String addressDistrict, String city, String street, String houseNumber, String additionalInformation, String postalCode,
253+
String facility, String facilityUuid, String facilityDetails,
249254
String phone, String phoneOwner, EducationType educationType, String educationDetails,
250-
OccupationType occupationType, String occupationDetails, String occupationFacility,
251-
String occupationFacilityUuid, String occupationFacilityDetails, YesNoUnknown traveled,
255+
OccupationType occupationType, String occupationDetails, YesNoUnknown traveled,
252256
YesNoUnknown burialAttended, YesNoUnknown directContactConfirmedCase, YesNoUnknown directContactProbableCase, YesNoUnknown contactWithRodent,
253257
//Date onsetDate,
254258
Vaccination vaccination, String vaccinationDoses, Date vaccinationDate,
@@ -310,12 +314,10 @@ public CaseExportDto(long id, long personId, long personAddressId, long epiDataI
310314
this.houseNumber = houseNumber;
311315
this.additionalInformation = additionalInformation;
312316
this.postalCode = postalCode;
317+
this.facility = FacilityHelper.buildFacilityString(facilityUuid, facility, facilityDetails);
313318
this.phone = PersonHelper.buildPhoneString(phone, phoneOwner);
314319
this.educationType = PersonHelper.buildEducationString(educationType, educationDetails);
315-
this.occupationType = PersonHelper.buildOccupationString(
316-
occupationType,
317-
occupationDetails,
318-
FacilityHelper.buildFacilityString(occupationFacilityUuid, occupationFacility, occupationFacilityDetails));
320+
this.occupationType = PersonHelper.buildOccupationString(occupationType, occupationDetails);
319321
this.traveled = traveled;
320322
this.burialAttended = burialAttended;
321323
this.directContactConfirmedCase = directContactConfirmedCase;
@@ -735,8 +737,8 @@ public boolean isQuarantineExtended() {
735737

736738
@Order(44)
737739
@ExportTarget(caseExportTypes = {
738-
CaseExportType.CASE_SURVEILLANCE,
739-
CaseExportType.CASE_MANAGEMENT })
740+
CaseExportType.CASE_SURVEILLANCE,
741+
CaseExportType.CASE_MANAGEMENT })
740742
@ExportProperty(value = QUARANTINE_INFORMATION, combined = true)
741743
@ExportGroup(ExportGroupType.ADDITIONAL)
742744
public boolean isQuarantineReduced() {
@@ -921,7 +923,17 @@ public String getAddressGpsCoordinates() {
921923
return addressGpsCoordinates;
922924
}
923925

924-
@Order(64)
926+
@Order(63)
927+
@ExportTarget(caseExportTypes = {
928+
CaseExportType.CASE_SURVEILLANCE,
929+
CaseExportType.CASE_MANAGEMENT })
930+
@ExportProperty(FACILITY)
931+
@ExportGroup(ExportGroupType.SENSITIVE)
932+
public String getFacility() {
933+
return facility;
934+
}
935+
936+
@Order(65)
925937
@ExportTarget(caseExportTypes = {
926938
CaseExportType.CASE_SURVEILLANCE,
927939
CaseExportType.CASE_MANAGEMENT })
@@ -931,7 +943,7 @@ public String getPhone() {
931943
return phone;
932944
}
933945

934-
@Order(65)
946+
@Order(66)
935947
@ExportTarget(caseExportTypes = {
936948
CaseExportType.CASE_SURVEILLANCE,
937949
CaseExportType.CASE_MANAGEMENT })
@@ -945,7 +957,7 @@ public void setEducationType(String educationType) {
945957
this.educationType = educationType;
946958
}
947959

948-
@Order(66)
960+
@Order(67)
949961
@ExportTarget(caseExportTypes = {
950962
CaseExportType.CASE_SURVEILLANCE,
951963
CaseExportType.CASE_MANAGEMENT })
@@ -1448,6 +1460,10 @@ public void setAddressGpsCoordinates(String addressGpsCoordinates) {
14481460
this.addressGpsCoordinates = addressGpsCoordinates;
14491461
}
14501462

1463+
public void setFacility(String facility) {
1464+
this.facility = facility;
1465+
}
1466+
14511467
public void setPhone(String phone) {
14521468
this.phone = phone;
14531469
}

sormas-api/src/main/java/de/symeda/sormas/api/contact/ContactExportDto.java

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
*******************************************************************************/
1818
package de.symeda.sormas.api.contact;
1919

20+
import java.io.Serializable;
21+
import java.util.Date;
22+
2023
import de.symeda.sormas.api.Disease;
2124
import de.symeda.sormas.api.DiseaseHelper;
2225
import de.symeda.sormas.api.caze.BirthDateDto;
@@ -37,9 +40,6 @@
3740
import de.symeda.sormas.api.utils.pseudonymization.Pseudonymizer;
3841
import de.symeda.sormas.api.utils.pseudonymization.valuepseudonymizers.PostalCodePseudonymizer;
3942

40-
import java.io.Serializable;
41-
import java.util.Date;
42-
4343
public class ContactExportDto implements Serializable {
4444

4545
private static final long serialVersionUID = 2054231712903661096L;
@@ -93,6 +93,9 @@ public class ContactExportDto implements Serializable {
9393
@SensitiveData
9494
@Pseudonymizer(PostalCodePseudonymizer.class)
9595
private String postalCode;
96+
@PersonalData
97+
@SensitiveData
98+
private String facility;
9699
@SensitiveData
97100
private String phone;
98101
private String occupationType;
@@ -140,8 +143,8 @@ public ContactExportDto(long id, long personId, String uuid, String sourceCaseUu
140143
boolean quarantineOfficialOrderSent, Date quarantineOfficialOrderSentDate,
141144
PresentCondition presentCondition, Date deathDate,
142145
String addressRegion, String addressDistrict, String city, String street, String houseNumber, String additionalInformation, String postalCode,
146+
String facility, String facilityUuid, String facilityDetails,
143147
String phone, String phoneOwner, OccupationType occupationType, String occupationDetails,
144-
String occupationFacility, String occupationFacilityUuid, String occupationFacilityDetails,
145148
String region, String district, String community,
146149
long epiDataId, YesNoUnknown traveled, YesNoUnknown burialAttended, YesNoUnknown directContactConfirmedCase, YesNoUnknown directContactProbableCase, YesNoUnknown contactWithRodent,
147150
String reportingUserUuid, String regionUuid, String districtUuid, String communityUuid,
@@ -194,11 +197,9 @@ public ContactExportDto(long id, long personId, String uuid, String sourceCaseUu
194197
this.houseNumber = houseNumber;
195198
this.additionalInformation = additionalInformation;
196199
this.postalCode = postalCode;
200+
this.facility = FacilityHelper.buildFacilityString(facilityUuid, facility, facilityDetails);
197201
this.phone = PersonHelper.buildPhoneString(phone, phoneOwner);
198-
this.occupationType = PersonHelper.buildOccupationString(
199-
occupationType,
200-
occupationDetails,
201-
FacilityHelper.buildFacilityString(occupationFacilityUuid, occupationFacility, occupationFacilityDetails));
202+
this.occupationType = PersonHelper.buildOccupationString(occupationType, occupationDetails);
202203
this.region = region;
203204
this.district = district;
204205
this.community = community;
@@ -485,36 +486,41 @@ public String getPostalCode() {
485486
}
486487

487488
@Order(50)
489+
public String getFacility() {
490+
return facility;
491+
}
492+
493+
@Order(51)
488494
public String getPhone() {
489495
return phone;
490496
}
491497

492-
@Order(51)
498+
@Order(52)
493499
public String getOccupationType() {
494500
return occupationType;
495501
}
496502

497-
@Order(52)
503+
@Order(53)
498504
public int getNumberOfVisits() {
499505
return numberOfVisits;
500506
}
501507

502-
@Order(53)
508+
@Order(54)
503509
public YesNoUnknown getLastCooperativeVisitSymptomatic() {
504510
return lastCooperativeVisitSymptomatic;
505511
}
506512

507-
@Order(54)
513+
@Order(55)
508514
public Date getLastCooperativeVisitDate() {
509515
return lastCooperativeVisitDate;
510516
}
511517

512-
@Order(55)
518+
@Order(56)
513519
public String getLastCooperativeVisitSymptoms() {
514520
return lastCooperativeVisitSymptoms;
515521
}
516522

517-
@Order(56)
523+
@Order(57)
518524
public YesNoUnknown getTraveled() {
519525
return traveled;
520526
}
@@ -523,7 +529,7 @@ public void setTraveled(YesNoUnknown traveled) {
523529
this.traveled = traveled;
524530
}
525531

526-
@Order(57)
532+
@Order(58)
527533
public String getTravelHistory() {
528534
return travelHistory;
529535
}
@@ -532,7 +538,7 @@ public void setTravelHistory(String travelHistory) {
532538
this.travelHistory = travelHistory;
533539
}
534540

535-
@Order(58)
541+
@Order(59)
536542
public YesNoUnknown getBurialAttended() {
537543
return burialAttended;
538544
}
@@ -541,7 +547,7 @@ public void setBurialAttended(YesNoUnknown burialAttended) {
541547
this.burialAttended = burialAttended;
542548
}
543549

544-
@Order(59)
550+
@Order(60)
545551
public YesNoUnknown getDirectContactConfirmedCase() {
546552
return directContactConfirmedCase;
547553
}
@@ -550,7 +556,7 @@ public void setDirectContactConfirmedCase(YesNoUnknown directContactConfirmedCas
550556
this.directContactConfirmedCase = directContactConfirmedCase;
551557
}
552558

553-
@Order(60)
559+
@Order(61)
554560
public YesNoUnknown getDirectContactProbableCase() {
555561
return directContactProbableCase;
556562
}
@@ -559,7 +565,7 @@ public void setDirectContactProbableCase(YesNoUnknown directContactProbableCase)
559565
this.directContactProbableCase = directContactProbableCase;
560566
}
561567

562-
@Order(61)
568+
@Order(62)
563569
public YesNoUnknown getContactWithRodent() {
564570
return contactWithRodent;
565571
}
@@ -719,4 +725,8 @@ public String getCommunityUuid() {
719725
public ContactJurisdictionDto getJurisdiction() {
720726
return jurisdiction;
721727
}
728+
729+
public void setFacility(String facility) {
730+
this.facility = facility;
731+
}
722732
}

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -956,6 +956,9 @@ public interface Captions {
956956
String Location_addressTypeDetails = "Location.addressTypeDetails";
957957
String Location_areaType = "Location.areaType";
958958
String Location_details = "Location.details";
959+
String Location_facility = "Location.facility";
960+
String Location_facilityDetails = "Location.facilityDetails";
961+
String Location_facilityType = "Location.facilityType";
959962
String Location_houseNumber = "Location.houseNumber";
960963
String Location_latitude = "Location.latitude";
961964
String Location_latLon = "Location.latLon";

sormas-api/src/main/java/de/symeda/sormas/api/location/LocationDto.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
package de.symeda.sormas.api.location;
1919

2020
import de.symeda.sormas.api.PseudonymizableDto;
21+
import de.symeda.sormas.api.facility.FacilityReferenceDto;
22+
import de.symeda.sormas.api.facility.FacilityType;
2123
import de.symeda.sormas.api.person.PersonAddressType;
2224
import de.symeda.sormas.api.region.CommunityReferenceDto;
2325
import de.symeda.sormas.api.region.DistrictReferenceDto;
@@ -49,6 +51,9 @@ public class LocationDto extends PseudonymizableDto {
4951
public static final String ADDITIONAL_INFORMATION = "additionalInformation";
5052
public static final String ADDRESS_TYPE = "addressType";
5153
public static final String ADDRESS_TYPE_DETAILS = "addressTypeDetails";
54+
public static final String FACILITY_TYPE = "facilityType";
55+
public static final String FACILITY = "facility";
56+
public static final String FACILITY_DETAILS = "facilityDetails";
5257

5358
private RegionReferenceDto region;
5459
private DistrictReferenceDto district;
@@ -86,6 +91,14 @@ public class LocationDto extends PseudonymizableDto {
8691
private String additionalInformation;
8792
private PersonAddressType addressType;
8893
private String addressTypeDetails;
94+
@PersonalData
95+
private FacilityType facilityType;
96+
@PersonalData
97+
@SensitiveData
98+
private FacilityReferenceDto facility;
99+
@PersonalData
100+
@SensitiveData
101+
private String facilityDetails;
89102

90103
public String getDetails() {
91104
return details;
@@ -207,6 +220,30 @@ public void setAddressTypeDetails(String addressTypeDetails) {
207220
this.addressTypeDetails = addressTypeDetails;
208221
}
209222

223+
public FacilityType getFacilityType() {
224+
return facilityType;
225+
}
226+
227+
public void setFacilityType(FacilityType facilityType) {
228+
this.facilityType = facilityType;
229+
}
230+
231+
public FacilityReferenceDto getFacility() {
232+
return facility;
233+
}
234+
235+
public void setFacility(FacilityReferenceDto facility) {
236+
this.facility = facility;
237+
}
238+
239+
public String getFacilityDetails() {
240+
return facilityDetails;
241+
}
242+
243+
public void setFacilityDetails(String facilityDetails) {
244+
this.facilityDetails = facilityDetails;
245+
}
246+
210247
@Override
211248
public String toString() {
212249

0 commit comments

Comments
 (0)