Skip to content

Commit 55068f9

Browse files
committed
Handled downloading of survey request / ignore option for some fields
1 parent e82a009 commit 55068f9

5 files changed

Lines changed: 33 additions & 1 deletion

File tree

sormas-api/src/main/java/de/symeda/sormas/api/externalmessage/ExternalMessageDto.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ public class ExternalMessageDto extends SormasToSormasShareableDto {
204204
private String externalMessageDetails;
205205
@Size(max = FieldConstraints.CHARACTER_LIMIT_TEXT, message = Validations.textTooLong)
206206
private String caseComments;
207+
208+
// TODO: reportId can be used as dedup - idempotency key
207209
@Size(max = FieldConstraints.CHARACTER_LIMIT_DEFAULT, message = Validations.textTooLong)
208210
private String reportId;
209211

sormas-api/src/main/java/de/symeda/sormas/api/hospitalization/HospitalizationDto.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,8 @@ public class HospitalizationDto extends EntityDto {
119119
Disease.CRYPTOSPORIDIOSIS })
120120
private Integer durationOfHospitalization;
121121

122+
private YesNoUnknown oxygenTherapy;
123+
122124
public static HospitalizationDto build() {
123125
HospitalizationDto hospitalization = new HospitalizationDto();
124126
hospitalization.setUuid(DataHelper.createUuid());
@@ -278,4 +280,12 @@ public Integer getDurationOfHospitalization() {
278280
public void setDurationOfHospitalization(Integer durationOfHospitalization) {
279281
this.durationOfHospitalization = durationOfHospitalization;
280282
}
283+
284+
public YesNoUnknown getOxygenTherapy() {
285+
return oxygenTherapy;
286+
}
287+
288+
public void setOxygenTherapy(YesNoUnknown oxygenTherapy) {
289+
this.oxygenTherapy = oxygenTherapy;
290+
}
281291
}

sormas-api/src/main/java/de/symeda/sormas/api/utils/YesNoUnknown.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222

2323
public enum YesNoUnknown {
2424

25+
@ValueMapperDefault
2526
YES,
2627
NO,
27-
@ValueMapperDefault
2828
UNKNOWN;
2929

3030
@Override

sormas-backend/src/main/java/de/symeda/sormas/backend/externalmessage/survey/AutomaticSurveyResponseProcessor.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import org.slf4j.LoggerFactory;
1818

1919
import de.symeda.sormas.api.externalmessage.ExternalMessageDto;
20+
import de.symeda.sormas.api.externalmessage.ExternalMessageStatus;
2021
import de.symeda.sormas.api.externalmessage.survey.ExternalMessageSurveyResponseRequest;
2122
import de.symeda.sormas.api.externalmessage.survey.ExternalMessageSurveyResponseResult;
2223
import de.symeda.sormas.api.externalmessage.survey.ExternalMessageSurveyResponseWrapper;
@@ -27,6 +28,7 @@
2728
import de.symeda.sormas.api.survey.SurveyTokenDto;
2829
import de.symeda.sormas.api.utils.Tuple;
2930
import de.symeda.sormas.api.utils.dataprocessing.ProcessingResultStatus;
31+
import de.symeda.sormas.backend.externalmessage.labmessage.ExternalMessageProcessingFacadeEjbLocal;
3032
import de.symeda.sormas.backend.survey.SurveyFacadeEjb;
3133
import de.symeda.sormas.backend.survey.SurveyTokenFacadeEjb;
3234
import de.symeda.sormas.backend.util.CollectorUtils;
@@ -45,6 +47,9 @@ public class AutomaticSurveyResponseProcessor {
4547
@EJB
4648
private SurveyTokenFacadeEjb.SurveyTokenFacadeEjbLocal surveyTokenFacade;
4749

50+
@EJB
51+
private ExternalMessageProcessingFacadeEjbLocal processingFacade;
52+
4853
@Transactional(Transactional.TxType.REQUIRES_NEW)
4954
public List<SurveyResponseProcessingResult> processSurveyResponses(List<ExternalMessageDto> externalMessages)
5055
throws InterruptedException, ExecutionException {
@@ -111,6 +116,10 @@ public List<SurveyResponseProcessingResult> processSurveyResponses(List<External
111116
if (!response.isApplied()) {
112117
return surveyResponseProcessingResult.setResultStatus(ProcessingResultStatus.CANCELED);
113118
}
119+
120+
externalMessage.setStatus(ExternalMessageStatus.PROCESSED);
121+
processingFacade.saveExternalMessage(externalMessage);
122+
114123
return surveyResponseProcessingResult.setResultStatus(ProcessingResultStatus.DONE);
115124

116125
} catch (RuntimeException e) {

sormas-backend/src/main/java/de/symeda/sormas/backend/hospitalization/Hospitalization.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@ public class Hospitalization extends AbstractDomainObject {
8282
private YesNoUnknown currentlyHospitalized;
8383
private Integer durationOfHospitalization;
8484

85+
// TODO: add-UI + DB
86+
private YesNoUnknown oxygenTherapy;
87+
8588
@Temporal(TemporalType.TIMESTAMP)
8689
public Date getAdmissionDate() {
8790
return admissionDate;
@@ -262,4 +265,12 @@ public Integer getDurationOfHospitalization() {
262265
public void setDurationOfHospitalization(Integer durationOfHospitalization) {
263266
this.durationOfHospitalization = durationOfHospitalization;
264267
}
268+
269+
public YesNoUnknown getOxygenTherapy() {
270+
return oxygenTherapy;
271+
}
272+
273+
public void setOxygenTherapy(YesNoUnknown oxygenTherapy) {
274+
this.oxygenTherapy = oxygenTherapy;
275+
}
265276
}

0 commit comments

Comments
 (0)