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 static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.when;
import java.math.BigDecimal;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import gov.va.med.ars.exceptions.GenericException;
import gov.va.med.domain.ewv.EwvClaims;
import gov.va.med.ewv.model.response.BillingAndAdmissionInfo;
import gov.va.med.ewv.service.IEwvBillingMiscInfoService;
import gov.va.med.ewv.util.ClaimFormat;
import gov.va.med.ewv.util.ClaimType;
import gov.va.med.ewv.util.EwvUtils;
@RunWith(MockitoJUnitRunner.class)
public class EwvBillingMiscInfoServiceImplTest {
@InjectMocks
EwvBillingMiscInfoService ewvBillingMiscInfoServiceImpl;
@Mock
IEwvBillingMiscInfoService ewvBillingMiscInfoService;
String pdi = "201736500000002";
EwvClaims ewvClaim;
BillingAndAdmissionInfo billingMiscellanous;
ClaimType claimType = ClaimType.DENTAL;
@Before
public void init() throws Exception {
Long guid = 3L;
String ediClaimKey = "681A4FD0-CE88-7F6C-E053-4A10BF0A3038";
ClaimFormat claimFormat = ClaimFormat.FORMAT4010;
//ClaimType claimType = ClaimType.DENTAL;
String memberId = "666666661";
String medicareCrossover = "Y";
String pos = "21";
// Patient info
String patientName = "RODGERS-CROMARTIE, DOMINIQUE";
String patientIdNumber = "1234567890";
String patientDob = "01/01/1935";
String patientGender = "M";
String patientAddressLine1 = "1122 Maple Street";
String patientAddressLine2 = "Apt. B";
String patientCity = "NEW YORK";
String patientState = "NY";
String patientPostalCode = "12345";
String patientCountry = "USA";
// Vendor info
String serviceVendorName = "GENERAL DIAGNOSTIC HOSPITAL";
String serviceVendorTaxIdNum = "1234567890";
String serviceVendorNpi = "1234567890";;
String serviceVendorAddressLine1 = "2000 SOUTH US HIGHWAY 1";
String serviceVendorAddressLine2 = "SUITE 100";
String serviceVendorCity = "NEW YORK";
String serviceVendorState = "NY";
String serviceVendorPostalCode = "12345";
String billingVendorName = "GENERAL MEMORIAL HOSPITAL";
String billingVendorTaxIdNum = "1234567890";
String billingVendorNpi = "1234567890";;
String billingVendorAddressLine1 = "1212 SOUTH US HIGHWAY 1";;
String billingVendorAddressLine2 = null;
String billingVendorCity = "NEW YORK";;
String billingVendorState = "NY";
String billingVendorPostalCode = "12345";
// Billing info
String invoicePatientAccountNum= "1721590-2";
String invoiceTypeOfBill= "21";
String invoiceFrequency= "1";
String invoiceStatementFromDate= "01/01/2017";
String invoiceStatementToDate= "02/01/2017";
String invoicePreviousPdi= "1234567890123";
String invoicePatientPaidAmt= "999.99";
String invoicePatientSignature= "B";
String invoicePatientStatus= "UNK";
String invoicePriorAuthorization1= "12345678901234567890";
String invoicePriorAuthorization2= "";
String invoiceAdmissionType= "UNK";
String invoiceAdmissionSource= "UNK";
String invoiceAdmissionDate = "01/01/2017";
String invoiceAdmissionHour = "15:00";
String invoiceAccidentDate= "01/01/2017";
String invoiceAccidentIndicator= "123456";
String invoiceProvAcceptsAssignmt= "A"; //which field?
String invoiceAssignmentOfBenefits= "Y";
String invoiceDischargeDateHour= "02/01/2017 15:00";
String invoiceAdmissionDateHour = "01/01/2017 15:00";
String svcLineTotalClaimCharges = "999.99";
String pcn = invoicePatientAccountNum;
String pcnShort = EwvUtils.shorten(pcn, 20);
String hccodesPoaNotes = "123456789012345678901234567890";
String hccodesPrincipalDiagnosis = "998";
String hccodesAdmittingDiagnosis = "998";
String hccodesReasonForVists = "998";
String hccodesECode = "998";
String hccodesPrincipalProcedure = "998";
String hccodesPrincipalProcDate = "03/01/2017";
String admittingDiagnosis = hccodesAdmittingDiagnosis;
String reasonForVisit = hccodesReasonForVists;
String eCode = hccodesECode;
String poaNotesPlain = hccodesPoaNotes;
String poaNotesLong = EwvUtils.addLineBreaks(poaNotesPlain);
String poaNotesShort = EwvUtils.shorten(poaNotesLong, 15);
boolean usePoaNotesModelPanel = false;
if (poaNotesShort.endsWith("...")) {
usePoaNotesModelPanel = true;
}
String priorAuthorizationReferralShort = EwvUtils.shorten(invoicePriorAuthorization1, 20);
String renderingPrvdName = "";
String renderingPrvdNpi = "";
String renderingPrvdTaxonomyCode = "";
String dischargeDateOrHour = "02/01/17";
String reasonForVisit2_5010 = "";
String reasonForVisit3_5010 = "";
String referralShort_5010 = "A-1899-414-8998";
String referralLong_5010 = "A-1899-414-8998";
billingMiscellanous = new BillingAndAdmissionInfo();
billingMiscellanous.setStatementFromTo(invoiceStatementFromDate + " - " + invoiceStatementToDate);
billingMiscellanous.setPatientAccountNumber(pcn);
billingMiscellanous.setPatientPaidAmount(invoicePatientPaidAmt);
billingMiscellanous.setPatientSignature(invoicePatientSignature);
billingMiscellanous.setPatientStatus(invoicePatientStatus);
billingMiscellanous.setPriorAuthorizationReferralLong(invoicePriorAuthorization1);
billingMiscellanous.setPriorAuthorizationReferralShort(priorAuthorizationReferralShort);
billingMiscellanous.setPreviousPDIOrClaimNumber(invoicePreviousPdi);
billingMiscellanous.setAdmissionType(invoiceAdmissionType);
billingMiscellanous.setAdmissionSource(invoiceAdmissionSource);
billingMiscellanous.setAdmissionDate(invoiceAdmissionDate);
billingMiscellanous.setAdmissionHour(invoiceAdmissionHour);
billingMiscellanous.setPlaceOfService(pos);
billingMiscellanous.setAccidentIndicator(invoiceAccidentIndicator);
billingMiscellanous.setAccidentDate(invoiceAccidentDate);
billingMiscellanous.setAssignmentOfBenefits(invoiceAssignmentOfBenefits);
billingMiscellanous.setDischargeDateOrHour(invoiceDischargeDateHour);
billingMiscellanous.setTotalClaimCharges(svcLineTotalClaimCharges);
billingMiscellanous.setStatementFromToEWV2(invoiceStatementFromDate + " Thru " + invoiceStatementToDate);
billingMiscellanous.setProviderAcceptsAssignment(invoiceProvAcceptsAssignmt);
billingMiscellanous.setFrequency(invoiceFrequency);
billingMiscellanous.setPoaNotesLong(poaNotesLong);
billingMiscellanous.setPoaNotesShort(poaNotesShort);
billingMiscellanous.setAdmittingDiagnosis(admittingDiagnosis);
billingMiscellanous.setReasonForVisit(reasonForVisit);
billingMiscellanous.setEeCode(eCode);
billingMiscellanous.setUsePoaNotesModalPanel(usePoaNotesModelPanel);
billingMiscellanous.setMedicareIcn("");
billingMiscellanous.setAdmissionDateOrHour("01/01/17 15:00");
billingMiscellanous.setRenderingPrvdName("");
billingMiscellanous.setRenderingPrvdName(renderingPrvdName);
billingMiscellanous.setRenderingPrvdNpi(renderingPrvdNpi);
billingMiscellanous.setRenderingPrvdTaxonomyCode(renderingPrvdTaxonomyCode);
billingMiscellanous.setDischargeDateOrHour(dischargeDateOrHour);
billingMiscellanous.setReasonForVisit2_5010(reasonForVisit2_5010);
billingMiscellanous.setReasonForVisit3_5010(reasonForVisit3_5010);
billingMiscellanous.setReferralLong_5010(referralLong_5010);
billingMiscellanous.setReferralShort_5010(referralShort_5010);
BigDecimal ewvClaim_guid = new BigDecimal(guid);
ewvClaim = new EwvClaims();
ewvClaim.setBillingVendorName(billingVendorName);
ewvClaim.setBillingVendorNpi(billingVendorNpi);
ewvClaim.setBillingVendorAddressLine1(billingVendorAddressLine1);
ewvClaim.setBillingVendorAddressLine2(billingVendorAddressLine2);
ewvClaim.setBillingVendorCity(billingVendorCity);
ewvClaim.setBillingVendorState(billingVendorState);
ewvClaim.setBillingVendorPostalCode(billingVendorPostalCode);
ewvClaim.setBillingVendorTaxIdNum(billingVendorTaxIdNum);
ewvClaim.setClaimType(claimType.getValueOf());
ewvClaim.setEdiClaimKey(ediClaimKey);
ewvClaim.setGuid(ewvClaim_guid);
ewvClaim.setInvoiceAccidentDate(invoiceAccidentDate);
ewvClaim.setInvoiceAccidentIndicator(invoiceAccidentIndicator);
ewvClaim.setInvoiceAdmissionDateHour(invoiceAdmissionDateHour);
ewvClaim.setInvoiceAdmissionSource(invoiceAdmissionSource);
ewvClaim.setInvoiceAdmissionType(invoiceAdmissionType);
ewvClaim.setInvoiceAssignmentOfBenefits(invoiceAssignmentOfBenefits);
ewvClaim.setInvoiceDischargeDateHour(invoiceDischargeDateHour);
ewvClaim.setInvoiceFrequency(invoiceFrequency);
ewvClaim.setInvoicePatientAccountNum(invoicePatientAccountNum);
ewvClaim.setInvoicePatientPaidAmt(invoicePatientPaidAmt);
ewvClaim.setInvoicePatientSignature(invoicePatientSignature);
ewvClaim.setInvoicePatientStatus(invoicePatientStatus);
ewvClaim.setInvoicePreviousPdi(invoicePreviousPdi);
ewvClaim.setInvoicePriorAuthorization1(invoicePriorAuthorization1);
ewvClaim.setInvoicePriorAuthorization2(invoicePriorAuthorization2);
ewvClaim.setInvoiceProvAcceptsAssignmt(invoiceProvAcceptsAssignmt);
ewvClaim.setInvoiceStatementFromDate(invoiceStatementFromDate);
ewvClaim.setInvoiceStatementToDate(invoiceStatementToDate);
ewvClaim.setInvoiceTypeOfBill(invoiceTypeOfBill);
ewvClaim.setMedicareCrossover(medicareCrossover);
ewvClaim.setMemberId(memberId);
ewvClaim.setPcn(pcn);
ewvClaim.setPdi(pdi);
ewvClaim.setPos(pos);
ewvClaim.setPatientAddressLine1(patientAddressLine1);
ewvClaim.setPatientAddressLine2(patientAddressLine2);
ewvClaim.setPatientCity(patientCity);
ewvClaim.setPatientCountry(patientCountry);
ewvClaim.setPatientDob(patientDob);
ewvClaim.setPatientGender(patientGender);
ewvClaim.setPatientIdNumber(patientIdNumber);
ewvClaim.setPatientName(patientName);
ewvClaim.setPatientState(patientState);
ewvClaim.setPatientPostalCode(patientPostalCode);
ewvClaim.setPatientState(patientState);
ewvClaim.setServiceVendorName(serviceVendorName);
ewvClaim.setServiceVendorNpi(serviceVendorNpi);
ewvClaim.setServiceVendorAddressLine1(serviceVendorAddressLine1);
ewvClaim.setServiceVendorAddressLine2(serviceVendorAddressLine2);
ewvClaim.setServiceVendorCity(serviceVendorCity);
ewvClaim.setServiceVendorState(serviceVendorState);
ewvClaim.setServiceVendorPostalCode(serviceVendorPostalCode);
ewvClaim.setServiceVendorTaxIdNum(serviceVendorTaxIdNum);
ewvClaim.setSvcLineTotalClaimCharges(svcLineTotalClaimCharges);
ewvClaim.setHccodesAdmittingDiagnosis(hccodesAdmittingDiagnosis);
ewvClaim.setHccodesReasonForVists(hccodesReasonForVists);
ewvClaim.setHccodesECode(hccodesECode);
ewvClaim.setHccodesPoaNotes(hccodesPoaNotes);
}
@Test
public void test_populateBillingMiscInfo_success() throws GenericException {
when(ewvBillingMiscInfoService.populateBillingAndAdmissionInfo(claimType, ewvClaim)).thenReturn(billingMiscellanous);
try {
BillingAndAdmissionInfo info = ewvBillingMiscInfoService.populateBillingAndAdmissionInfo(claimType, ewvClaim);
assertEquals(billingMiscellanous, info);
} catch (Exception e) {
e.printStackTrace();
}
}
}