diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/caze/Case.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/caze/Case.java index b8411b1aa58..562f2c29b5a 100644 --- a/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/caze/Case.java +++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/caze/Case.java @@ -563,6 +563,8 @@ public class Case extends PseudonymizableAdo { private Region regionOfResidence; @DatabaseField(foreign = true, foreignAutoRefresh = true) private District districtOfResidence; + @Column(length = CHARACTER_LIMIT_DEFAULT) + private String investigationOfficerAddress; public boolean isUnreferredPortHealthCase() { return caseOrigin == CaseOrigin.POINT_OF_ENTRY && healthFacility == null; @@ -2011,5 +2013,10 @@ public District getDistrictOfResidence() { public void setDistrictOfResidence(District districtOfResidence) { this.districtOfResidence = districtOfResidence; } + public String getInvestigationOfficerAddress() {return investigationOfficerAddress;} + + public void setInvestigationOfficerAddress(String investigationOfficerAddress) { + this.investigationOfficerAddress = investigationOfficerAddress; + } } diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/caze/CaseDtoHelper.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/caze/CaseDtoHelper.java index 981c19a39e2..ab465180fd4 100644 --- a/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/caze/CaseDtoHelper.java +++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/caze/CaseDtoHelper.java @@ -312,6 +312,7 @@ public void fillInnerFromDto(Case target, CaseDataDto source) { target.setOccupation(source.getOccupation()); target.setRegionOfResidence(DatabaseHelper.getRegionDao().getByReferenceDto(source.getRegionOfResidence())); target.setDistrictOfResidence(DatabaseHelper.getDistrictDao().getByReferenceDto(source.getDistrictOfResidence())); + target.setInvestigationOfficerAddress(source.getInvestigationOfficerAddress()); if (source.getDisease() == Disease.MONKEYPOX) { if (source.getHospitalization() != null) { @@ -677,6 +678,7 @@ public void fillInnerFromAdo(CaseDataDto target, Case source) { target.setNationality(source.getNationality()); target.setEthnicity(source.getEthnicity()); target.setOccupation(source.getOccupation()); + target.setInvestigationOfficerAddress(source.getInvestigationOfficerAddress()); if (source.getRegionOfResidence() != null) { Region regionOfResidence = DatabaseHelper.getRegionDao().queryForId(source.getRegionOfResidence().getId()); diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/common/DatabaseHelper.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/common/DatabaseHelper.java index e5f80104532..407d0c32669 100644 --- a/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/common/DatabaseHelper.java +++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/common/DatabaseHelper.java @@ -4305,6 +4305,7 @@ public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource, int getDao(Case.class).executeRaw("ALTER TABLE cases ADD COLUMN nationality varchar(255);"); getDao(Case.class).executeRaw("ALTER TABLE cases ADD COLUMN ethnicity varchar(255);"); getDao(Case.class).executeRaw("ALTER TABLE cases ADD COLUMN occupation varchar(255);"); + getDao(Case.class).executeRaw("ALTER TABLE cases ADD COLUMN investigationOfficerAddress varchar(255);"); getDao(Case.class).executeRaw("ALTER TABLE cases ADD COLUMN regionOfResidence_id bigint REFERENCES region(id);"); getDao(Case.class).executeRaw("ALTER TABLE cases ADD COLUMN districtOfResidence_id bigint REFERENCES district(id);"); diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/caze/edit/CaseEditFragment.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/caze/edit/CaseEditFragment.java index 3e80f363e34..0f59eda427a 100644 --- a/sormas-app/app/src/main/java/de/symeda/sormas/app/caze/edit/CaseEditFragment.java +++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/caze/edit/CaseEditFragment.java @@ -742,6 +742,9 @@ public void onChange(ControlPropertyField field) { if (record.getDisease() == Disease.YELLOW_FEVER){ handleYellowFever(); } + if (record.getDisease() == Disease.MONKEYPOX){ + handleMpox(); + } } private void fillConfirmedCaseClassificationCombo() { @@ -929,6 +932,13 @@ private void handleYellowFever() { } + private void handleMpox(){ + getContentBinding().caseDataReportingOfficerName.setCaption("Name"); + getContentBinding().caseDataReportingOfficerTitle.setCaption("Job Title"); + getContentBinding().caseDataReportingOfficerEmail.setCaption("Email Address"); + getContentBinding().caseDataReportingOfficerContactPhone.setCaption("Contact Number"); + } + private void handleNNT() { FragmentCaseEditLayoutBinding contentBinding = getContentBinding(); YesNoUnknown caseDataMotherHaveCard = contentBinding.caseDataMotherHaveCard != null ? (YesNoUnknown) contentBinding.caseDataMotherHaveCard.getValue() : null; diff --git a/sormas-app/app/src/main/res/layout/fragment_case_edit_layout.xml b/sormas-app/app/src/main/res/layout/fragment_case_edit_layout.xml index dd549080735..dbae993b99b 100644 --- a/sormas-app/app/src/main/res/layout/fragment_case_edit_layout.xml +++ b/sormas-app/app/src/main/res/layout/fragment_case_edit_layout.xml @@ -1328,6 +1328,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +