diff --git a/sormas-ui/src/main/java/de/symeda/sormas/ui/caze/CaseController.java b/sormas-ui/src/main/java/de/symeda/sormas/ui/caze/CaseController.java index 5270d8c0668..aaa7f1b0413 100644 --- a/sormas-ui/src/main/java/de/symeda/sormas/ui/caze/CaseController.java +++ b/sormas-ui/src/main/java/de/symeda/sormas/ui/caze/CaseController.java @@ -1582,8 +1582,7 @@ private void saveCaseWithOutcomeChangedWarning(CaseDataDto caze, CaseDataDto old Label valuesLabel = new Label(I18nProperties.getCaption(Captions.confirmChangesValue)); valuesLabel.addStyleName(CssStyles.LABEL_SECONDARY); valuesLayout.addComponent(valuesLabel); - valuesLayout.addComponent( - new Label((person.getPresentCondition() == null ? PresentCondition.DEAD : person.getPresentCondition()).toString())); + valuesLayout.addComponent(new Label(getNewPresentConditionFromOutcome(caze.getOutcome()).toString())); valuesLayout.addComponent(new Label(CauseOfDeath.EPIDEMIC_DISEASE.toString())); valuesLayout.addComponent(new Label(caze.getDisease().toString())); valuesLayout.addComponent(new Label(DateFormatHelper.formatDate(caze.getOutcomeDate()))); @@ -1610,6 +1609,22 @@ private void saveCaseWithOutcomeChangedWarning(CaseDataDto caze, CaseDataDto old saveCase(caze); } + private PresentCondition getNewPresentConditionFromOutcome(CaseOutcome outcome) { + if (outcome == null) { + return PresentCondition.UNKNOWN; + } + switch (outcome) { + case DECEASED: + return PresentCondition.DEAD; + case RECOVERED: + return PresentCondition.ALIVE; + case NO_OUTCOME: + case UNKNOWN: + default: + return PresentCondition.UNKNOWN; + } + } + public void referFromPointOfEntry(CaseDataDto caze) { CaseFacilityChangeForm form = new CaseFacilityChangeForm();