2121import java .util .List ;
2222
2323import javax .validation .Valid ;
24+ import javax .validation .constraints .Size ;
2425
2526import de .symeda .sormas .api .CountryHelper ;
2627import de .symeda .sormas .api .Disease ;
2728import de .symeda .sormas .api .ImportIgnore ;
2829import de .symeda .sormas .api .activityascase .ActivityAsCaseDto ;
2930import de .symeda .sormas .api .exposure .ExposureDto ;
31+ import de .symeda .sormas .api .exposure .InfectionSource ;
32+ import de .symeda .sormas .api .exposure .ModeOfTransmission ;
3033import de .symeda .sormas .api .feature .FeatureType ;
31- import de .symeda .sormas .api .location . LocationDto ;
34+ import de .symeda .sormas .api .i18n . Validations ;
3235import de .symeda .sormas .api .utils .DataHelper ;
3336import de .symeda .sormas .api .utils .DependingOnFeatureType ;
3437import de .symeda .sormas .api .utils .Diseases ;
38+ import de .symeda .sormas .api .utils .FieldConstraints ;
3539import de .symeda .sormas .api .utils .HideForCountriesExcept ;
3640import de .symeda .sormas .api .utils .YesNoUnknown ;
3741import de .symeda .sormas .api .utils .pseudonymization .PseudonymizableDto ;
@@ -57,29 +61,37 @@ public class EpiDataDto extends PseudonymizableDto {
5761 public static final String CLUSTER_TYPE = "clusterType" ;
5862 public static final String CLUSTER_TYPE_TEXT = "clusterTypeText" ;
5963 public static final String CLUSTER_RELATED = "clusterRelated" ;
64+ public static final String MODE_OF_TRANSMISSION = "modeOfTransmission" ;
65+ public static final String MODE_OF_TRANSMISSION_TYPE = "modeOfTransmissionType" ;
66+ public static final String INFECTION_SOURCE = "infectionSource" ;
67+ public static final String INFECTION_SOURCE_TEXT = "infectionSourceText" ;
6068
6169 private YesNoUnknown exposureDetailsKnown ;
6270 private YesNoUnknown activityAsCaseDetailsKnown ;
6371 private YesNoUnknown contactWithSourceCaseKnown ;
6472 private YesNoUnknown highTransmissionRiskArea ;
6573 private YesNoUnknown largeOutbreaksArea ;
6674 @ Diseases ({
67- Disease .MEASLES })
68- @ HideForCountriesExcept ( countries = { CountryHelper . COUNTRY_CODE_LUXEMBOURG })
75+ Disease .MEASLES ,
76+ Disease . GIARDIASIS })
6977 private CaseImportedStatus caseImportedStatus ;
78+
79+ @ HideForCountriesExcept (countries = {
80+ CountryHelper .COUNTRY_CODE_LUXEMBOURG })
7081 @ Diseases ({
71- Disease .MEASLES })
72- @ HideForCountriesExcept (countries = {CountryHelper .COUNTRY_CODE_LUXEMBOURG })
82+ Disease .MEASLES })
7383 private ClusterType clusterType ;
7484
85+ @ HideForCountriesExcept (countries = {
86+ CountryHelper .COUNTRY_CODE_LUXEMBOURG })
7587 @ Diseases ({
76- Disease .MEASLES })
77- @ HideForCountriesExcept (countries = {CountryHelper .COUNTRY_CODE_LUXEMBOURG })
88+ Disease .MEASLES })
7889 private boolean clusterRelated ;
7990
80- @ HideForCountriesExcept (countries = {CountryHelper .COUNTRY_CODE_LUXEMBOURG })
91+ @ HideForCountriesExcept (countries = {
92+ CountryHelper .COUNTRY_CODE_LUXEMBOURG })
8193 @ Diseases ({
82- Disease .MEASLES })
94+ Disease .MEASLES })
8395 private String clusterTypeText ;
8496
8597 @ Diseases ({
@@ -92,6 +104,26 @@ public class EpiDataDto extends PseudonymizableDto {
92104 Disease .OTHER })
93105 private YesNoUnknown areaInfectedAnimals ;
94106
107+ @ Diseases ({
108+ Disease .GIARDIASIS ,
109+ Disease .CRYPTOSPORIDIOSIS })
110+ private ModeOfTransmission modeOfTransmission ;
111+
112+ @ Diseases ({
113+ Disease .GIARDIASIS ,
114+ Disease .CRYPTOSPORIDIOSIS })
115+ @ Size (max = FieldConstraints .CHARACTER_LIMIT_DEFAULT , message = Validations .textTooLong )
116+ private String modeOfTransmissionType ;
117+
118+ @ Diseases ({
119+ Disease .GIARDIASIS ,
120+ Disease .CRYPTOSPORIDIOSIS })
121+ private InfectionSource infectionSource ;
122+ @ Diseases ({
123+ Disease .GIARDIASIS ,
124+ Disease .CRYPTOSPORIDIOSIS })
125+ private String infectionSourceText ;
126+
95127 @ Valid
96128 private List <ExposureDto > exposures = new ArrayList <>();
97129
@@ -203,6 +235,38 @@ public void setClusterRelated(boolean clusterRelated) {
203235 this .clusterRelated = clusterRelated ;
204236 }
205237
238+ public InfectionSource getInfectionSource () {
239+ return infectionSource ;
240+ }
241+
242+ public void setInfectionSource (InfectionSource infectionSource ) {
243+ this .infectionSource = infectionSource ;
244+ }
245+
246+ public String getInfectionSourceText () {
247+ return infectionSourceText ;
248+ }
249+
250+ public void setInfectionSourceText (String infectionSourceText ) {
251+ this .infectionSourceText = infectionSourceText ;
252+ }
253+
254+ public ModeOfTransmission getModeOfTransmission () {
255+ return modeOfTransmission ;
256+ }
257+
258+ public void setModeOfTransmission (ModeOfTransmission modeOfTransmission ) {
259+ this .modeOfTransmission = modeOfTransmission ;
260+ }
261+
262+ public String getModeOfTransmissionType () {
263+ return modeOfTransmissionType ;
264+ }
265+
266+ public void setModeOfTransmissionType (String modeOfTransmissionType ) {
267+ this .modeOfTransmissionType = modeOfTransmissionType ;
268+ }
269+
206270 @ Override
207271 public EpiDataDto clone () throws CloneNotSupportedException {
208272 EpiDataDto clone = (EpiDataDto ) super .clone ();
0 commit comments