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

Commit 27f95a7

Browse files
lgallgal
authored andcommitted
SORMAS-Foundation#2977 Added "Quarantine before isolation" field on case
1 parent c79e8b9 commit 27f95a7

12 files changed

Lines changed: 65 additions & 3 deletions

File tree

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ public class CaseDataDto extends PseudonymizableDto {
155155
public static final String COVID_TEST_REASON_DETAILS = "covidTestReasonDetails";
156156
public static final String CONTACT_TRACING_FIRST_CONTACT_TYPE = "contactTracingFirstContactType";
157157
public static final String CONTACT_TRACING_FIRST_CONTACT_DATE = "contactTracingFirstContactDate";
158+
public static final String WAS_IN_QUARANTINE_BEFORE_ISOLATION = "wasInQuarantineBeforeIsolation";
158159
public static final String QUARANTINE_REASON_BEFORE_ISOLATION = "quarantineReasonBeforeIsolation";
159160
public static final String QUARANTINE_REASON_BEFORE_ISOLATION_DETAILS = "quarantineReasonBeforeIsolationDetails";
160161
public static final String END_OF_ISOLATION_REASON = "endOfIsolationReason";
@@ -418,6 +419,8 @@ public class CaseDataDto extends PseudonymizableDto {
418419
@HideForCountriesExcept(countries = COUNTRY_CODE_SWITZERLAND)
419420
private Date contactTracingFirstContactDate;
420421
@HideForCountriesExcept(countries = COUNTRY_CODE_SWITZERLAND)
422+
private YesNoUnknown wasInQuarantineBeforeIsolation;
423+
@HideForCountriesExcept(countries = COUNTRY_CODE_SWITZERLAND)
421424
private QuarantineReason quarantineReasonBeforeIsolation;
422425
@HideForCountriesExcept(countries = COUNTRY_CODE_SWITZERLAND)
423426
@SensitiveData
@@ -1232,6 +1235,14 @@ public void setContactTracingFirstContactDate(Date contactTracingFirstContactDat
12321235
this.contactTracingFirstContactDate = contactTracingFirstContactDate;
12331236
}
12341237

1238+
public YesNoUnknown getWasInQuarantineBeforeIsolation() {
1239+
return wasInQuarantineBeforeIsolation;
1240+
}
1241+
1242+
public void setWasInQuarantineBeforeIsolation(YesNoUnknown wasInQuarantineBeforeIsolation) {
1243+
this.wasInQuarantineBeforeIsolation = wasInQuarantineBeforeIsolation;
1244+
}
1245+
12351246
public QuarantineReason getQuarantineReasonBeforeIsolation() {
12361247
return quarantineReasonBeforeIsolation;
12371248
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,7 @@ public interface Captions {
271271
String CaseData_vaccinationInfoSource = "CaseData.vaccinationInfoSource";
272272
String CaseData_vaccine = "CaseData.vaccine";
273273
String CaseData_visits = "CaseData.visits";
274+
String CaseData_wasInQuarantineBeforeIsolation = "CaseData.wasInQuarantineBeforeIsolation";
274275
String caseDefaultView = "caseDefaultView";
275276
String caseDetailedView = "caseDetailedView";
276277
String caseEditData = "caseEditData";

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,7 @@ CaseData.covidTestReason=Reason for COVID-19-Test
360360
CaseData.covidTestReasonDetails=Other reason
361361
CaseData.contactTracingFirstContactType=Type of contact
362362
CaseData.contactTracingFirstContactDate=Date of Contact
363+
CaseData.wasInQuarantineBeforeIsolation=Was the case in quarantine before isolation?
363364
CaseData.quarantineReasonBeforeIsolation=Reason why the case was in quarantine before this isolation
364365
CaseData.quarantineReasonBeforeIsolationDetails=Other reason
365366
CaseData.endOfIsolationReason=Reason for end of isolation

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,7 @@ CaseData.covidTestReason=Grund für COVID-19-Test
355355
CaseData.covidTestReasonDetails=Anderer Grund für den COVID-19-Test
356356
CaseData.contactTracingFirstContactType=Art des Kontaktes
357357
CaseData.contactTracingFirstContactDate=Datum des Kontaktes
358+
CaseData.wasInQuarantineBeforeIsolation=War der COVID-19-Fall bereits in Quarantäne vor der Isolation?
358359
CaseData.quarantineReasonBeforeIsolation=Grund weshalb der COVID-19-Fall vor der Isolation in Quarantäne war
359360
CaseData.quarantineReasonBeforeIsolationDetails=Anderer Grund
360361
CaseData.endOfIsolationReason=Grund des Ende der Isolation

sormas-app/app/src/main/java/de/symeda/sormas/app/backend/caze/Case.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,8 @@ public class Case extends PseudonymizableAdo {
323323
@DatabaseField
324324
private Date contactTracingFirstContactDate;
325325
@Enumerated(EnumType.STRING)
326+
private YesNoUnknown wasInQuarantineBeforeIsolation;
327+
@Enumerated(EnumType.STRING)
326328
private QuarantineReason quarantineReasonBeforeIsolation;
327329
@Column(length = COLUMN_LENGTH_DEFAULT)
328330
private String quarantineReasonBeforeIsolationDetails;
@@ -1055,6 +1057,14 @@ public void setContactTracingFirstContactDate(Date contactTracingFirstContactDat
10551057
this.contactTracingFirstContactDate = contactTracingFirstContactDate;
10561058
}
10571059

1060+
public YesNoUnknown getWasInQuarantineBeforeIsolation() {
1061+
return wasInQuarantineBeforeIsolation;
1062+
}
1063+
1064+
public void setWasInQuarantineBeforeIsolation(YesNoUnknown wasInQuarantineBeforeIsolation) {
1065+
this.wasInQuarantineBeforeIsolation = wasInQuarantineBeforeIsolation;
1066+
}
1067+
10581068
public QuarantineReason getQuarantineReasonBeforeIsolation() {
10591069
return quarantineReasonBeforeIsolation;
10601070
}

sormas-app/app/src/main/java/de/symeda/sormas/app/backend/caze/CaseDtoHelper.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ public void fillInnerFromDto(Case target, CaseDataDto source) {
189189
target.setCovidTestReasonDetails(source.getCovidTestReasonDetails());
190190
target.setContactTracingFirstContactType(source.getContactTracingFirstContactType());
191191
target.setContactTracingFirstContactDate(source.getContactTracingFirstContactDate());
192+
target.setWasInQuarantineBeforeIsolation(source.getWasInQuarantineBeforeIsolation());
192193
target.setQuarantineReasonBeforeIsolation(source.getQuarantineReasonBeforeIsolation());
193194
target.setQuarantineReasonBeforeIsolationDetails(source.getQuarantineReasonBeforeIsolationDetails());
194195
target.setEndOfIsolationReason(source.getEndOfIsolationReason());
@@ -387,6 +388,7 @@ public void fillInnerFromAdo(CaseDataDto target, Case source) {
387388
target.setCovidTestReasonDetails(source.getCovidTestReasonDetails());
388389
target.setContactTracingFirstContactType(source.getContactTracingFirstContactType());
389390
target.setContactTracingFirstContactDate(source.getContactTracingFirstContactDate());
391+
target.setWasInQuarantineBeforeIsolation(source.getWasInQuarantineBeforeIsolation());
390392
target.setQuarantineReasonBeforeIsolation(source.getQuarantineReasonBeforeIsolation());
391393
target.setQuarantineReasonBeforeIsolationDetails(source.getQuarantineReasonBeforeIsolationDetails());
392394
target.setEndOfIsolationReason(source.getEndOfIsolationReason());

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1682,6 +1682,13 @@ public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource, int
16821682
getDao(Contact.class).executeRaw("ALTER TABLE contacts ADD COLUMN endOfQuarantineReason varchar(255);");
16831683
getDao(Contact.class).executeRaw("ALTER TABLE contacts ADD COLUMN endOfQuarantineReasonDetails varchar(512);");
16841684

1685+
// ATTENTION: break should only be done after last version
1686+
break;
1687+
1688+
case 234:
1689+
currentVersion = 234;
1690+
getDao(Case.class).executeRaw("ALTER TABLE cases ADD COLUMN wasInQuarantineBeforeIsolation varchar(255);");
1691+
16851692
// ATTENTION: break should only be done after last version
16861693
break;
16871694
default:

sormas-backend/src/main/java/de/symeda/sormas/backend/caze/Case.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,7 @@ public class Case extends CoreAdo {
303303
private String covidTestReasonDetails;
304304
private ContactTracingContactType contactTracingFirstContactType;
305305
private Date contactTracingFirstContactDate;
306+
private YesNoUnknown wasInQuarantineBeforeIsolation;
306307
private QuarantineReason quarantineReasonBeforeIsolation;
307308
private String quarantineReasonBeforeIsolationDetails;
308309
private EndOfIsolationReason endOfIsolationReason;
@@ -1282,6 +1283,15 @@ public void setContactTracingFirstContactDate(Date contactTracingContactDate) {
12821283
this.contactTracingFirstContactDate = contactTracingContactDate;
12831284
}
12841285

1286+
@Enumerated(EnumType.STRING)
1287+
public YesNoUnknown getWasInQuarantineBeforeIsolation() {
1288+
return wasInQuarantineBeforeIsolation;
1289+
}
1290+
1291+
public void setWasInQuarantineBeforeIsolation(YesNoUnknown wasInQuarantineBeforeIsolation) {
1292+
this.wasInQuarantineBeforeIsolation = wasInQuarantineBeforeIsolation;
1293+
}
1294+
12851295
@Enumerated(EnumType.STRING)
12861296
public QuarantineReason getQuarantineReasonBeforeIsolation() {
12871297
return quarantineReasonBeforeIsolation;

sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseFacadeEjb.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2109,6 +2109,7 @@ public Case fillOrBuildEntity(@NotNull CaseDataDto source, Case target) {
21092109
target.setContactTracingFirstContactType(source.getContactTracingFirstContactType());
21102110
target.setContactTracingFirstContactDate(source.getContactTracingFirstContactDate());
21112111
target.setQuarantineReasonBeforeIsolation(source.getQuarantineReasonBeforeIsolation());
2112+
target.setWasInQuarantineBeforeIsolation(source.getWasInQuarantineBeforeIsolation());
21122113
target.setQuarantineReasonBeforeIsolationDetails(source.getQuarantineReasonBeforeIsolationDetails());
21132114
target.setEndOfIsolationReason(source.getEndOfIsolationReason());
21142115
target.setEndOfIsolationReasonDetails(source.getEndOfIsolationReasonDetails());
@@ -2380,6 +2381,7 @@ public static CaseDataDto toDto(Case source) {
23802381
target.setCovidTestReasonDetails(source.getCovidTestReasonDetails());
23812382
target.setContactTracingFirstContactType(source.getContactTracingFirstContactType());
23822383
target.setContactTracingFirstContactDate(source.getContactTracingFirstContactDate());
2384+
target.setWasInQuarantineBeforeIsolation(source.getWasInQuarantineBeforeIsolation());
23832385
target.setQuarantineReasonBeforeIsolation(source.getQuarantineReasonBeforeIsolation());
23842386
target.setQuarantineReasonBeforeIsolationDetails(source.getQuarantineReasonBeforeIsolationDetails());
23852387
target.setEndOfIsolationReason(source.getEndOfIsolationReason());

sormas-backend/src/main/resources/sql/sormas_schema.sql

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5380,7 +5380,7 @@ INSERT INTO person_locations (person_id, location_id) SELECT person_id, location
53805380
ALTER TABLE person DROP COLUMN occupationregion_id, DROP COLUMN occupationdistrict_id, DROP COLUMN occupationcommunity_id, DROP COLUMN occupationfacilitytype, DROP COLUMN occupationfacility_id, DROP COLUMN occupationfacilitydetails;
53815381

53825382
INSERT INTO schema_version (version_number, comment) VALUES (258, 'Add facility fields to location and refactor occupation facilities for persons #2456');
5383-
5383+
53845384
-- 202-10-01 Split general signs of disease #2916
53855385
ALTER TABLE symptoms ADD COLUMN shivering character varying(255);
53865386
ALTER TABLE symptoms RENAME generalsignsofdisease to feelingill;
@@ -5400,8 +5400,8 @@ ALTER TABLE contact_history
54005400
ADD COLUMN endofquarantinereason varchar(255),
54015401
ADD COLUMN endofquarantinereasondetails varchar(512);
54025402

5403-
INSERT INTO schema_version (version_number, comment) VALUES (260, 'Contacts > Minimal Essential Data (MED) for Switzerland #2960');
5404-
5403+
INSERT INTO schema_version (version_number, comment) VALUES (260, 'Contacts > Minimal Essential Data (MED) for Switzerland #2960');
5404+
54055405
-- 2020-09-16 Add total series to campaigndiagramdefinition to calculate percentage values #2528
54065406
ALTER TABLE campaigndiagramdefinition ADD COLUMN campaignseriestotal json;
54075407
ALTER TABLE campaigndiagramdefinition_history ADD COLUMN campaignseriestotal json;
@@ -5419,4 +5419,15 @@ ALTER TABLE contact ADD COLUMN returningtraveler varchar(255);
54195419
ALTER TABLE contact_history ADD COLUMN returningtraveler varchar(255);
54205420

54215421
INSERT INTO schema_version (version_number, comment) VALUES (263, 'Add new field returningTraveler to contact #2603');
5422+
INSERT INTO schema_version (version_number, comment) VALUES (260, 'Contacts > Minimal Essential Data (MED) for Switzerland #2960');
5423+
5424+
-- 2020-10-05 Add new field: Quarantine before isolation #2977
5425+
ALTER TABLE cases
5426+
ADD COLUMN wasInQuarantineBeforeIsolation varchar(255);
5427+
5428+
ALTER TABLE cases_history
5429+
ADD COLUMN wasInQuarantineBeforeIsolation varchar(255);
5430+
5431+
INSERT INTO schema_version (version_number, comment) VALUES (263, 'Add new field: Quarantine before isolation #2977');
5432+
54225433
-- *** Insert new sql commands BEFORE this line ***

0 commit comments

Comments
 (0)