Summary Table
Categories |
Total Count |
PII |
2 |
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.ars.service.impl;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.mockito.Mockito.when;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.nio.charset.Charset;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
import gov.va.med.ars.dao.ars.ClaimContactRepository;
import gov.va.med.ars.dao.ars.ClaimSvcLinesRepository;
import gov.va.med.ars.dao.ars.HccsCdRepository;
import gov.va.med.ars.dao.ars.IClaimSubmissionRepository;
import gov.va.med.ars.dao.ars.LoincCdRepository;
import gov.va.med.ars.dao.ars.LoincModCdRepository;
import gov.va.med.ars.dao.ars.RfaiLookupRepository;
import gov.va.med.ars.model.response.Rfai277SubmissionResponse;
import gov.va.med.ars.model.response.RfaiAttachmentResponse;
import gov.va.med.ars.model.response.RfaiLineItemResponse;
import gov.va.med.ars.model.response.RfaiRelatedItemResponse;
import gov.va.med.domain.ars.ClaimCodeBridge;
import gov.va.med.domain.ars.ClaimCodeBridgeId;
import gov.va.med.domain.ars.ClaimContact;
import gov.va.med.domain.ars.ClaimSubmission;
import gov.va.med.domain.ars.HccsCd;
import gov.va.med.domain.ars.LoincCd;
import gov.va.med.domain.ars.LoincModCd;
import gov.va.med.domain.ars.PayerConfig;
@RunWith(MockitoJUnitRunner.class)
@ActiveProfiles("dev")
public class RfaiViewSubmissionServiceImplTest {
private static final Logger logger = LogManager.getLogger(RfaiViewSubmissionServiceImplTest.class);
public static final MediaType APPLICATION_JSON_UTF8 = new MediaType(MediaType.APPLICATION_JSON.getType(),
MediaType.APPLICATION_JSON.getSubtype(), Charset.forName("utf8"));
@Mock
IClaimSubmissionRepository claimSubRepo;
@Mock
HccsCdRepository hccsRepo;
@Mock
LoincCdRepository loincRepo;
@Mock
LoincModCdRepository loincModRepo;
@Mock
RfaiLookupRepository rfaiRepository;
@Mock
ClaimSvcLinesRepository claimSvcLinesRepository;
@Mock
ClaimContactRepository claimContactRepository;
public DateFormat dateFormat = new SimpleDateFormat("MM/DD/YYYY");
@InjectMocks
private RfaiViewSubmissionServiceImpl rfaiViewSubmissionServiceImpl;
@Test
public void testMockIsWorking() {
assertNotNull("RfaiViewSubmissionServiceImpl Injection Failed", rfaiViewSubmissionServiceImpl);
logger.info("RfaiViewSubmissionServiceImpl" + rfaiViewSubmissionServiceImpl);
}
@Test
public void getRfaiSubmissionResults() throws Exception {
BigInteger submissionId = new BigInteger("1622");
BigDecimal bigDecimal = new BigDecimal("17888.41");
LoincCd loinc = new LoincCd();
loinc.setLoincId(1l);
loinc.setStcloincCd("StcloincCd");
LoincModCd loincModCd = new LoincModCd();
loincModCd.setLoincModId(2l);
loincModCd.setStcloincCdMod("loincModCodes");
LoincModCd loincModCdTwo = new LoincModCd();
loincModCd.setLoincModId(3l);
loincModCdTwo.setStcloincCdMod("loincModCodesTwo");
HccsCd hccs = new HccsCd();
hccs.setHccsId(4l);
hccs.setStchccstatuscatCd("stchccstatuscatCd");
ClaimCodeBridgeId claimCodeBridgeId = new ClaimCodeBridgeId(new BigInteger("1623"), 1416, 3, 5, 0, 0);
Set<ClaimCodeBridge> ClaimCodeBridgeSet = new HashSet<>();
ClaimCodeBridge claimCodeBridge = new ClaimCodeBridge();
claimCodeBridge.setId(claimCodeBridgeId);
claimCodeBridge.setHccsCd(hccs);
claimCodeBridge.setLoincCd(loinc);
claimCodeBridge.setLoincModCdByLoincMod1Id(loincModCd);
claimCodeBridge.setLoincModCdByLoincMod2Id(loincModCdTwo);
ClaimCodeBridgeSet.add(claimCodeBridge);
List<RfaiAttachmentResponse> rfaiAttachmentResponseList = new ArrayList<>();
RfaiAttachmentResponse rfaiAttachmentResponse = new RfaiAttachmentResponse();
rfaiAttachmentResponse.setStatusCode("stchccstatuscatCd");
rfaiAttachmentResponse.setLoincCodes("StcloincCd");
rfaiAttachmentResponse.setLoincModCodes1("loincModCodes");
rfaiAttachmentResponse.setLoincModCodes2("loincModCodesTwo");
rfaiAttachmentResponse.setClaimLevel("LINE");
rfaiAttachmentResponse.setAttachments("");
rfaiAttachmentResponse.setServiceLine(1416l);
rfaiAttachmentResponseList.add(rfaiAttachmentResponse);
Rfai277SubmissionResponse rfai277SubmissionResponse = new Rfai277SubmissionResponse();
rfai277SubmissionResponse.setClaimId(new BigInteger("1"));
rfai277SubmissionResponse.setRfaiStatus("rfai status");
rfai277SubmissionResponse.setPayerName("payer name");
rfai277SubmissionResponse.setPayerId("1111");
rfai277SubmissionResponse.setInformationReceiver("info receiver");
rfai277SubmissionResponse.setResponseDate("12/12/2017");
rfai277SubmissionResponse.setProviderNpi("provider npi");
rfai277SubmissionResponse.setProviderTin("provider tin");
rfai277SubmissionResponse.setPatientLastname("last name");
rfai277SubmissionResponse.setPatientFirstName("first name");
rfai277SubmissionResponse.setPatientIdentifier("22");
rfai277SubmissionResponse.setPatientcontrolNumber("44");
rfai277SubmissionResponse.setPayerClaimControlNumber("66");
rfai277SubmissionResponse.setBillType("bill type");
rfai277SubmissionResponse.setClearingHouseId("88");
rfai277SubmissionResponse.setMedicalRecordNumber("100");
rfai277SubmissionResponse.setContactInfo("
PII
");
List<RfaiAttachmentResponse> rfaiAttachmentResponses = new ArrayList<RfaiAttachmentResponse>();
RfaiAttachmentResponse attachmentResponse = new RfaiAttachmentResponse();
attachmentResponse.setClaimLevel("claim level");
rfaiAttachmentResponses.add(attachmentResponse);
rfai277SubmissionResponse.setRfaiAttachmentResponse(rfaiAttachmentResponseList);
ClaimContact claimContact = new ClaimContact();
claimContact.setContactuserid(100l);
claimContact.setContactemail("
PII
");
claimContact.setDatecreated(dateFormat.parse("11/01/18"));
claimContact.setDatemodified(dateFormat.parse("11/01/18"));
ClaimSubmission claimSubmission = new ClaimSubmission();
claimSubmission.setTrn02claimIndex(rfai277SubmissionResponse.getClaimId());
// claimSubmission.setHl1nm103pyrNm(rfai277SubmissionResponse.getPayerName());
// claimSubmission.setHl1nm109pyrId(rfai277SubmissionResponse.getPayerId());
claimSubmission.setSubmissionid(submissionId);
claimSubmission.setHl2nm103infRcvr(rfai277SubmissionResponse.getInformationReceiver());
Date responseDate = new Date(rfai277SubmissionResponse.getResponseDate());
claimSubmission.setDtp203responseduedate(responseDate);
claimSubmission.setHl3nm109prvnpi(rfai277SubmissionResponse.getProviderNpi());
claimSubmission.setHl2nm109svcprvtin(rfai277SubmissionResponse.getProviderTin());
claimSubmission.setHl4nm103ptlstnm(rfai277SubmissionResponse.getPatientLastname());
claimSubmission.setHl4nm104ptftnm(rfai277SubmissionResponse.getPatientFirstName());
claimSubmission.setHl4nm109ptid(rfai277SubmissionResponse.getPatientIdentifier());
claimSubmission.setRef102ptctrlnmbr(rfai277SubmissionResponse.getPatientcontrolNumber());
claimSubmission.setTrn02pyrclmctrlnmbr(rfai277SubmissionResponse.getPayerClaimControlNumber());
claimSubmission.setRef202billtype(rfai277SubmissionResponse.getBillType());
claimSubmission.setRef402clrnghsid(rfai277SubmissionResponse.getClearingHouseId());
claimSubmission.setRef302medrecnmbr(rfai277SubmissionResponse.getMedicalRecordNumber());
claimSubmission.setSubmissionStatus("rfai status");
claimSubmission.setGenerate277Status("rfai status");
claimSubmission.setDatecreated(new Date());
claimSubmission.setDatemodified(new Date());
claimSubmission.setClaimContact(claimContact);
claimSubmission.setClaimCodeBridges(ClaimCodeBridgeSet);
PayerConfig payerConfig = new PayerConfig();
payerConfig.setPayerIndex((long) (1));
payerConfig.setPayerIdentifier("payerIdentifier");
payerConfig.setPayerIdentifierDesc("payerIdentifierDesc");
claimSubmission.setPayerConfig(payerConfig);
List<ClaimSubmission> relatedSubmissions = new ArrayList<ClaimSubmission>();
relatedSubmissions.add(claimSubmission);
List<RfaiRelatedItemResponse> rfaiRelatedItemResponses = new ArrayList<RfaiRelatedItemResponse>();
RfaiRelatedItemResponse relatedItemResponse = new RfaiRelatedItemResponse();
relatedItemResponse.setSubmissionId(new BigInteger("59"));
relatedItemResponse.setClaimId(new BigInteger("2"));
relatedItemResponse.setEndDate("12/11/2017");
relatedItemResponse.setMedicalRecordNumber("123");
relatedItemResponse.setPatientControlNumber("999");
relatedItemResponse.setPatientName("Last Name");
rfaiRelatedItemResponses.add(relatedItemResponse);
List<RfaiRelatedItemResponse> rfaiRelatedItemResponses2 = new ArrayList<RfaiRelatedItemResponse>();
rfai277SubmissionResponse.setRfaiRelatedItemResponse(rfaiRelatedItemResponses2);
List<RfaiLineItemResponse> rfaiLineItemResponseList = new ArrayList<>();
RfaiLineItemResponse rfaiLineItemResponse = new RfaiLineItemResponse(Long.valueOf("00001"), " 09/13/2017",
"09/13/2017", "0651", "Q5001", "G4,RT,LT,P3", bigDecimal);
rfaiLineItemResponseList.add(rfaiLineItemResponse);
List<RfaiLineItemResponse> rfaiLineItemResponseList2 = new ArrayList<>();
rfai277SubmissionResponse.setRfaiLineItemResponse(rfaiLineItemResponseList2);
when(rfaiRepository.getClaimSubInfo(submissionId)).thenReturn(claimSubmission);
when(rfaiRepository.findBytrn02claimIndex(new BigInteger("10096"))).thenReturn(relatedSubmissions);
Rfai277SubmissionResponse rfaiSubmissionResults = rfaiViewSubmissionServiceImpl
.getRfaiSubmissionResults(submissionId);
assertEquals(rfai277SubmissionResponse.getPatientFirstName(), rfaiSubmissionResults.getPatientFirstName());
}
}