Summary Table
Categories |
Total Count |
PII |
0 |
URL |
0 |
DNS |
0 |
EKL |
0 |
IP |
0 |
PORT |
0 |
VsID |
0 |
CF |
0 |
AI |
0 |
VPD |
0 |
PL |
0 |
Other |
0 |
File Content
package gov.va.med.ewv.service.impl;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Service;
import gov.va.med.domain.ewv.EwvClaims;
import gov.va.med.domain.ewv.EwvECodes5010;
import gov.va.med.ewv.codes.CodeBase;
import gov.va.med.ewv.codes.ECode;
import gov.va.med.ewv.codes.ECodesContainer;
import gov.va.med.ewv.service.IEwvE_CodesInfoService;
@Service
public class EwvEcodesInfoServiceImpl implements IEwvE_CodesInfoService {
public static final Logger logger = LogManager.getLogger(EwvEcodesInfoServiceImpl.class);
@Override
public ECodesContainer populateECodesContainer(EwvClaims claimBean) {
logger.debug("Invoked populateECodesContainer() for claim guid : " + claimBean.getGuid());
//Set<EwvECodes5010> codes = eCodesRepository.getEwvECodes5010ByClaimGuid(claimBean.getGuid());
List<ECode> eCodes = createListOfECodes(claimBean.getEwvECodes5010s());
ECodesContainer ret = new ECodesContainer(eCodes);
//boolean okToRender = EwvUtils.okToRender(eCodes);
// ret.setShouldRender(ok);
logger.debug("Exiting populateECodesContainer() for claim guid : " + claimBean.getGuid());
return ret;
}
@Override
public List<ECode> createListOfECodes(Set<EwvECodes5010> eCodes) {
logger.debug("Invoked createListOfECodes()");
List<ECode> returnList = eCodes.stream()
.map(codeBean -> {
Long sequence = codeBean.getSequenceNum().longValue();
String code = codeBean.getECode().replaceAll("[^a-zA-Z0-9_-]", "");
return new ECode(sequence, code, codeBean.getPoaIndicator5010());
})
.collect(Collectors.toList());
// List<ECode> returnList = new ArrayList<>();
//
// for (EwvECodes5010 codeBean : eCodes) {
// Long sequence = codeBean.getSequenceNum().longValue();
// String code = codeBean.getECode().replaceAll("[^a-zA-Z0-9_-]", "");
// returnList.add(new ECode(sequence, code, codeBean.getPoaIndicator5010()));
// }
//
// Collections.sort(returnList); // natural sort is by sequenceNumber
// Experience shows that the codes in the database include sequence
// numbers that sometimes start with 1, and sometimes with 2.
returnList = CodeBase.renumber(returnList);
logger.debug("Exiting createListOfECodes()");
return returnList;
}
}