-
Notifications
You must be signed in to change notification settings - Fork 6
/
MasCompletionStatus.java
41 lines (35 loc) · 1.27 KB
/
MasCompletionStatus.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package gov.va.vro.service.provider.mas;
import gov.va.vro.model.bip.ClaimStatus;
import gov.va.vro.service.provider.ClaimProps;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import java.util.HashSet;
import java.util.Set;
@Getter
@RequiredArgsConstructor
public enum MasCompletionStatus {
OFF_RAMP("off-ramp", false, true, ClaimStatus.OPEN),
EXAM_ORDER("exam order", true, false, ClaimStatus.OPEN),
READY_FOR_DECISION("ready for decision", true, false, ClaimStatus.RFD);
private final String description;
private final boolean automationIndicator;
private final boolean removeRRDSpecialIssue;
private final ClaimStatus claimStatus;
public Set<String> getSpecialIssuesToRemove(ClaimProps claimProps) {
Set<String> result = new HashSet<>();
result.add(claimProps.getSpecialIssue1());
if (removeRRDSpecialIssue) {
result.add(claimProps.getSpecialIssue2());
}
return result;
}
public static MasCompletionStatus of(
MasCamelStage origin, Boolean sufficientForFastTracking, String offRampError) {
if (origin == MasCamelStage.START_COMPLETE
|| sufficientForFastTracking == null
|| offRampError != null) {
return OFF_RAMP;
}
return sufficientForFastTracking ? READY_FOR_DECISION : EXAM_ORDER;
}
}