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

Commit 241ffe9

Browse files
SORMAS-Foundation#2847 - Added new fields about official document being sent, reworked visibility calculation for quarantine fields
1 parent 168ac69 commit 241ffe9

27 files changed

Lines changed: 642 additions & 282 deletions

File tree

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

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

20-
import java.util.Date;
21-
2220
import de.symeda.sormas.api.Disease;
2321
import de.symeda.sormas.api.ImportIgnore;
2422
import de.symeda.sormas.api.PseudonymizableDto;
@@ -52,6 +50,8 @@
5250
import de.symeda.sormas.api.utils.SensitiveData;
5351
import de.symeda.sormas.api.utils.YesNoUnknown;
5452

53+
import java.util.Date;
54+
5555
public class CaseDataDto extends PseudonymizableDto {
5656

5757
private static final long serialVersionUID = 5007131477733638086L;
@@ -133,6 +133,8 @@ public class CaseDataDto extends PseudonymizableDto {
133133
public static final String QUARANTINE_HOME_SUPPLY_ENSURED = "quarantineHomeSupplyEnsured";
134134
public static final String QUARANTINE_HOME_SUPPLY_ENSURED_COMMENT = "quarantineHomeSupplyEnsuredComment";
135135
public static final String QUARANTINE_EXTENDED = "quarantineExtended";
136+
public static final String QUARANTINE_OFFICIAL_ORDER_SENT = "quarantineOfficialOrderSent";
137+
public static final String QUARANTINE_OFFICIAL_ORDER_SENT_DATE = "quarantineOfficialOrderSentDate";
136138
public static final String REPORTING_TYPE = "reportingType";
137139
public static final String POSTPARTUM = "postpartum";
138140
public static final String TRIMESTER = "trimester";
@@ -343,9 +345,21 @@ public class CaseDataDto extends PseudonymizableDto {
343345
private Date quarantineTo;
344346
@SensitiveData
345347
private String quarantineHelpNeeded;
348+
@HideForCountriesExcept(countries = {
349+
"de",
350+
"ch" })
346351
private boolean quarantineOrderedVerbally;
352+
@HideForCountriesExcept(countries = {
353+
"de",
354+
"ch" })
347355
private boolean quarantineOrderedOfficialDocument;
356+
@HideForCountriesExcept(countries = {
357+
"de",
358+
"ch" })
348359
private Date quarantineOrderedVerballyDate;
360+
@HideForCountriesExcept(countries = {
361+
"de",
362+
"ch" })
349363
private Date quarantineOrderedOfficialDocumentDate;
350364
@HideForCountriesExcept
351365
private YesNoUnknown quarantineHomePossible;
@@ -358,6 +372,14 @@ public class CaseDataDto extends PseudonymizableDto {
358372
@SensitiveData
359373
private String quarantineHomeSupplyEnsuredComment;
360374
private boolean quarantineExtended;
375+
@HideForCountriesExcept(countries = {
376+
"de",
377+
"ch" })
378+
private boolean quarantineOfficialOrderSent;
379+
@HideForCountriesExcept(countries = {
380+
"de",
381+
"ch" })
382+
private Date quarantineOfficialOrderSentDate;
361383
private ReportingType reportingType;
362384
private YesNoUnknown postpartum;
363385
private Trimester trimester;
@@ -1042,6 +1064,22 @@ public void setQuarantineExtended(boolean quarantineExtended) {
10421064
this.quarantineExtended = quarantineExtended;
10431065
}
10441066

1067+
public boolean isQuarantineOfficialOrderSent() {
1068+
return quarantineOfficialOrderSent;
1069+
}
1070+
1071+
public void setQuarantineOfficialOrderSent(boolean quarantineOfficialOrderSent) {
1072+
this.quarantineOfficialOrderSent = quarantineOfficialOrderSent;
1073+
}
1074+
1075+
public Date getQuarantineOfficialOrderSentDate() {
1076+
return quarantineOfficialOrderSentDate;
1077+
}
1078+
1079+
public void setQuarantineOfficialOrderSentDate(Date quarantineOfficialOrderSentDate) {
1080+
this.quarantineOfficialOrderSentDate = quarantineOfficialOrderSentDate;
1081+
}
1082+
10451083
public ReportingType getReportingType() {
10461084
return reportingType;
10471085
}

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

Lines changed: 54 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,6 @@
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-
2520
import de.symeda.sormas.api.Disease;
2621
import de.symeda.sormas.api.DiseaseHelper;
2722
import de.symeda.sormas.api.clinicalcourse.ClinicalCourseDto;
@@ -59,6 +54,11 @@
5954
import de.symeda.sormas.api.utils.pseudonymization.Pseudonymizer;
6055
import de.symeda.sormas.api.utils.pseudonymization.valuepseudonymizers.PostalCodePseudonymizer;
6156

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.
@@ -202,6 +202,8 @@ public class CaseExportDto implements Serializable {
202202
private Date quarantineOrderedVerballyDate;
203203
private Date quarantineOrderedOfficialDocumentDate;
204204
private boolean quarantineExtended;
205+
private boolean quarantineOfficialOrderSent;
206+
private Date quarantineOfficialOrderSentDate;
205207

206208
private YesNoUnknown postpartum;
207209
private Trimester trimester;
@@ -230,6 +232,7 @@ public CaseExportDto(long id, long personId, long personAddressId, long epiDataI
230232
QuarantineType quarantine, String quarantineTypeDetails, Date quarantineFrom, Date quarantineTo,
231233
boolean quarantineOrderedVerbally, boolean quarantineOrderedOfficialDocument, Date quarantineOrderedVerballyDate,
232234
Date quarantineOrderedOfficialDocumentDate, boolean quarantineExtended,
235+
boolean quarantineOfficialOrderSent, Date quarantineOfficialOrderSentDate,
233236
YesNoUnknown admittedToHealthFacility, Date admissionDate, Date dischargeDate, YesNoUnknown leftAgainstAdvice, PresentCondition presentCondition,
234237
Date deathDate, Date burialDate, BurialConductor burialConductor, String burialPlaceDescription,
235238
String addressRegion, String addressDistrict, String city, String street, String houseNumber, String additionalInformation, String postalCode,
@@ -277,6 +280,8 @@ public CaseExportDto(long id, long personId, long personAddressId, long epiDataI
277280
this.quarantineOrderedVerballyDate = quarantineOrderedVerballyDate;
278281
this.quarantineOrderedOfficialDocumentDate = quarantineOrderedOfficialDocumentDate;
279282
this.quarantineExtended = quarantineExtended;
283+
this.quarantineOfficialOrderSent = quarantineOfficialOrderSent;
284+
this.quarantineOfficialOrderSentDate = quarantineOfficialOrderSentDate;
280285
this.healthFacility = FacilityHelper.buildFacilityString(healthFacilityUuid, healthFacility, healthFacilityDetails);
281286
this.pointOfEntry = InfrastructureHelper.buildPointOfEntryString(pointOfEntryUuid, pointOfEntry, pointOfEntryDetails);
282287
this.admittedToHealthFacility = admittedToHealthFacility;
@@ -633,7 +638,9 @@ public Date getQuarantineTo() {
633638
CaseExportType.CASE_MANAGEMENT })
634639
@ExportProperty(value = QUARANTINE_INFORMATION, combined = true)
635640
@ExportGroup(ExportGroupType.ADDITIONAL)
636-
@HideForCountriesExcept
641+
@HideForCountriesExcept(countries = {
642+
"de",
643+
"ch" })
637644
public boolean isQuarantineOrderedVerbally() {
638645
return quarantineOrderedVerbally;
639646
}
@@ -644,7 +651,9 @@ public boolean isQuarantineOrderedVerbally() {
644651
CaseExportType.CASE_MANAGEMENT })
645652
@ExportProperty(value = QUARANTINE_INFORMATION, combined = true)
646653
@ExportGroup(ExportGroupType.ADDITIONAL)
647-
@HideForCountriesExcept
654+
@HideForCountriesExcept(countries = {
655+
"de",
656+
"ch" })
648657
public boolean isQuarantineOrderedOfficialDocument() {
649658
return quarantineOrderedOfficialDocument;
650659
}
@@ -655,7 +664,9 @@ public boolean isQuarantineOrderedOfficialDocument() {
655664
CaseExportType.CASE_MANAGEMENT })
656665
@ExportProperty(value = QUARANTINE_INFORMATION, combined = true)
657666
@ExportGroup(ExportGroupType.ADDITIONAL)
658-
@HideForCountriesExcept
667+
@HideForCountriesExcept(countries = {
668+
"de",
669+
"ch" })
659670
public Date getQuarantineOrderedVerballyDate() {
660671
return quarantineOrderedVerballyDate;
661672
}
@@ -666,7 +677,9 @@ public Date getQuarantineOrderedVerballyDate() {
666677
CaseExportType.CASE_MANAGEMENT })
667678
@ExportProperty(value = QUARANTINE_INFORMATION, combined = true)
668679
@ExportGroup(ExportGroupType.ADDITIONAL)
669-
@HideForCountriesExcept
680+
@HideForCountriesExcept(countries = {
681+
"de",
682+
"ch" })
670683
public Date getQuarantineOrderedOfficialDocumentDate() {
671684
return quarantineOrderedOfficialDocumentDate;
672685
}
@@ -677,11 +690,37 @@ public Date getQuarantineOrderedOfficialDocumentDate() {
677690
CaseExportType.CASE_MANAGEMENT })
678691
@ExportProperty(value = QUARANTINE_INFORMATION, combined = true)
679692
@ExportGroup(ExportGroupType.ADDITIONAL)
693+
@HideForCountriesExcept(countries = {
694+
"de",
695+
"ch" })
696+
public boolean isQuarantineOfficialOrderSent() {
697+
return quarantineOfficialOrderSent;
698+
}
699+
700+
@Order(42)
701+
@ExportTarget(caseExportTypes = {
702+
CaseExportType.CASE_SURVEILLANCE,
703+
CaseExportType.CASE_MANAGEMENT })
704+
@ExportProperty(value = QUARANTINE_INFORMATION, combined = true)
705+
@ExportGroup(ExportGroupType.ADDITIONAL)
706+
@HideForCountriesExcept(countries = {
707+
"de",
708+
"ch" })
709+
public Date getQuarantineOfficialOrderSentDate() {
710+
return quarantineOfficialOrderSentDate;
711+
}
712+
713+
@Order(43)
714+
@ExportTarget(caseExportTypes = {
715+
CaseExportType.CASE_SURVEILLANCE,
716+
CaseExportType.CASE_MANAGEMENT })
717+
@ExportProperty(value = QUARANTINE_INFORMATION, combined = true)
718+
@ExportGroup(ExportGroupType.ADDITIONAL)
680719
public boolean isQuarantineExtended() {
681720
return quarantineExtended;
682721
}
683722

684-
@Order(42)
723+
@Order(44)
685724
@ExportTarget(caseExportTypes = {
686725
CaseExportType.CASE_SURVEILLANCE })
687726
@ExportProperty(MAX_SOURCE_CASE_CLASSIFICATION)
@@ -690,7 +729,7 @@ public CaseClassification getMaxSourceCaseClassification() {
690729
return maxSourceCaseClassification;
691730
}
692731

693-
@Order(43)
732+
@Order(45)
694733
@ExportTarget(caseExportTypes = {
695734
CaseExportType.CASE_SURVEILLANCE })
696735
@ExportProperty(ASSOCIATED_WITH_OUTBREAK)
@@ -703,7 +742,7 @@ public void setMaxSourceCaseClassification(CaseClassification maxSourceCaseClass
703742
this.maxSourceCaseClassification = maxSourceCaseClassification;
704743
}
705744

706-
@Order(44)
745+
@Order(46)
707746
@ExportTarget(caseExportTypes = {
708747
CaseExportType.CASE_SURVEILLANCE,
709748
CaseExportType.CASE_MANAGEMENT })
@@ -713,7 +752,7 @@ public YesNoUnknown getAdmittedToHealthFacility() {
713752
return admittedToHealthFacility;
714753
}
715754

716-
@Order(45)
755+
@Order(47)
717756
@ExportTarget(caseExportTypes = {
718757
CaseExportType.CASE_SURVEILLANCE,
719758
CaseExportType.CASE_MANAGEMENT })
@@ -723,7 +762,7 @@ public Date getAdmissionDate() {
723762
return admissionDate;
724763
}
725764

726-
@Order(46)
765+
@Order(48)
727766
@ExportTarget(caseExportTypes = {
728767
CaseExportType.CASE_SURVEILLANCE,
729768
CaseExportType.CASE_MANAGEMENT })
@@ -737,7 +776,7 @@ public void setDischargeDate(Date dischargeDate) {
737776
this.dischargeDate = dischargeDate;
738777
}
739778

740-
@Order(47)
779+
@Order(49)
741780
@ExportTarget(caseExportTypes = {
742781
CaseExportType.CASE_SURVEILLANCE,
743782
CaseExportType.CASE_MANAGEMENT })

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

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

20-
import java.util.Date;
21-
2220
import de.symeda.sormas.api.Disease;
2321
import de.symeda.sormas.api.PseudonymizableDto;
2422
import de.symeda.sormas.api.caze.CaseDataDto;
@@ -37,6 +35,8 @@
3735
import de.symeda.sormas.api.utils.SensitiveData;
3836
import de.symeda.sormas.api.utils.YesNoUnknown;
3937

38+
import java.util.Date;
39+
4040
public class ContactDto extends PseudonymizableDto {
4141

4242
private static final long serialVersionUID = -7764607075875188799L;
@@ -96,6 +96,8 @@ public class ContactDto extends PseudonymizableDto {
9696
public static final String QUARANTINE_HOME_SUPPLY_ENSURED = "quarantineHomeSupplyEnsured";
9797
public static final String QUARANTINE_HOME_SUPPLY_ENSURED_COMMENT = "quarantineHomeSupplyEnsuredComment";
9898
public static final String QUARANTINE_EXTENDED = "quarantineExtended";
99+
public static final String QUARANTINE_OFFICIAL_ORDER_SENT = "quarantineOfficialOrderSent";
100+
public static final String QUARANTINE_OFFICIAL_ORDER_SENT_DATE = "quarantineOfficialOrderSentDate";
99101
public static final String ADDITIONAL_DETAILS = "additionalDetails";
100102
public static final String EPI_DATA = "epiData";
101103
public static final String HEALTH_CONDITIONS = "healthConditions";
@@ -176,9 +178,21 @@ public class ContactDto extends PseudonymizableDto {
176178

177179
@SensitiveData
178180
private String quarantineHelpNeeded;
181+
@HideForCountriesExcept(countries = {
182+
"de",
183+
"ch" })
179184
private boolean quarantineOrderedVerbally;
185+
@HideForCountriesExcept(countries = {
186+
"de",
187+
"ch" })
180188
private boolean quarantineOrderedOfficialDocument;
189+
@HideForCountriesExcept(countries = {
190+
"de",
191+
"ch" })
181192
private Date quarantineOrderedVerballyDate;
193+
@HideForCountriesExcept(countries = {
194+
"de",
195+
"ch" })
182196
private Date quarantineOrderedOfficialDocumentDate;
183197
@HideForCountriesExcept
184198
private YesNoUnknown quarantineHomePossible;
@@ -191,6 +205,14 @@ public class ContactDto extends PseudonymizableDto {
191205
@SensitiveData
192206
private String quarantineHomeSupplyEnsuredComment;
193207
private boolean quarantineExtended;
208+
@HideForCountriesExcept(countries = {
209+
"de",
210+
"ch" })
211+
private boolean quarantineOfficialOrderSent;
212+
@HideForCountriesExcept(countries = {
213+
"de",
214+
"ch" })
215+
private Date quarantineOfficialOrderSentDate;
194216
@SensitiveData
195217
private String additionalDetails;
196218
private EpiDataDto epiData;
@@ -660,6 +682,22 @@ public void setQuarantineExtended(boolean quarantineExtended) {
660682
this.quarantineExtended = quarantineExtended;
661683
}
662684

685+
public boolean isQuarantineOfficialOrderSent() {
686+
return quarantineOfficialOrderSent;
687+
}
688+
689+
public void setQuarantineOfficialOrderSent(boolean quarantineOfficialOrderSent) {
690+
this.quarantineOfficialOrderSent = quarantineOfficialOrderSent;
691+
}
692+
693+
public Date getQuarantineOfficialOrderSentDate() {
694+
return quarantineOfficialOrderSentDate;
695+
}
696+
697+
public void setQuarantineOfficialOrderSentDate(Date quarantineOfficialOrderSentDate) {
698+
this.quarantineOfficialOrderSentDate = quarantineOfficialOrderSentDate;
699+
}
700+
663701
public String getAdditionalDetails() {
664702
return additionalDetails;
665703
}

0 commit comments

Comments
 (0)