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 automation.Pages;


import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.junit.Assert;
import automation.ExplorerSuite;
import automation.SharedCodeClass;
import po.EDI_Dental_Detail_PO;
import po.EDI_Dental_Quick_PO;
import po.EDI_Instit_Detail_PO;
import po.EDI_Instit_Quick_PO;
import po.EDI_PDILookupPO;
import po.EDI_Prof_Detail_PO;
import po.EDI_Prof_Quick_PO;
import po.LoginPO;


/***
*
* @author EKutsenko,
* @version 1.0
*/


public class EDI_PDITooltips extends ExplorerSuite {

LoginPO selectLogin;
EDI_PDILookupPO ediWebViewerLookup;
EDI_Dental_Quick_PO edi_Dental_Quick_PO;
EDI_Dental_Detail_PO edi_Dental_Detail_PO;
EDI_Instit_Quick_PO edi_Instit_Quick_PO;
EDI_Instit_Detail_PO edi_Instit_Detail_PO;
EDI_Prof_Quick_PO edi_Prof_Quick_PO;
EDI_Prof_Detail_PO edi_Prof_Detail_PO;

public void localRunner() throws IOException, InterruptedException{
String pdi = "200617203000959"; //PDI for Instit Claim
selectLogin = new LoginPO(driver);
ediWebViewerLookup = new EDI_PDILookupPO(driver);
edi_Instit_Quick_PO = new EDI_Instit_Quick_PO(driver);
edi_Instit_Detail_PO = new EDI_Instit_Detail_PO(driver);
edi_Dental_Quick_PO = new EDI_Dental_Quick_PO(driver);
edi_Dental_Detail_PO = new EDI_Dental_Detail_PO(driver);
edi_Prof_Quick_PO = new EDI_Prof_Quick_PO(driver);
edi_Prof_Detail_PO = new EDI_Prof_Detail_PO(driver);

// Preconditions
loadPage(pdi);
// Test cases
/****Instit *************************/
verifyTooltip_OHIInfoQuick("ToolTip for OHI Info on Instit Quick View page");
verifyTooltip_RemitRemarkQuick("ToolTip for Remittance Remark Code on Quick View page");
edi_Instit_Detail_PO.clkDetailTab();
verifyTooltip_Medicare_Outpatient_Adjudication_Primary("Tooltip for Medicare Outpatient Adjudication Primary Payer");
verifyTooltip_Medicare_Outpatient_Adjudication_Secondary("Tooltip for Medicare Outpatient Adjudication Secondary Payer");
verifyTooltip_Medicare_Outpatient_Adjudication_Tertiary("Tooltip for Medicare Outpatient Adjudication Tertiary Payer");
verifyTooltip_OHI_Service_Line_Adjustments("Tooltip for OHI Service Line Adjustments");
verifyTooltip_OHI_Paid_Amt_Adj("Tooltip for OHI Claim Adjustments");

///****Dental *************************/
edi_Dental_Quick_PO.findNewPdi("200617203000952");
verifyTooltip_OHIInfoQuick_Dental("ToolTip for OHI Info on Dental Quick View page");
verifyTooltip_RemitRemarkQuick_Dental("ToolTip for Remittance Remark Code on Dental Quick View page");
edi_Instit_Detail_PO.clkDetailTab();
verifyTooltip_Medicare_Outpatient_Adjudication_Primary_Dental("Tooltip for Medicare Outpatient Adjudication Primary Payer on Dental Detail View");
verifyTooltip_Medicare_Outpatient_Adjudication_Secondary_Dental("Tooltip for Medicare Outpatient Adjudication Secondary Payer on Dental Detail View");
verifyTooltip_Medicare_Outpatient_Adjudication_Tertiary_Dental("Tooltip for Medicare Outpatient Adjudication Tertiary Payer on Dental Detail View");
verifyTooltip_OHI_Paid_Amt_Adj_Dental("Tooltip for OHI Claim Adjustments");
//verifyTooltip_OHI_Service_Line_Adjustments_Dental("Tooltip for OHI Service Line Adjustments");

///****Prof *************************/
edi_Dental_Quick_PO.findNewPdi("200617203000825");
verifyTooltip_OHIInfoQuick_Prof("ToolTip for OHI Info on Prof Quick View page");
verifyTooltip_OHILineAdjQuick_Prof("Tooltip for OHI Line Adj on Prof Quick View page");
verifyTooltip_RemitRemarkQuick_Prof("ToolTip for Remittance Remark Code on Quick View page");
edi_Instit_Detail_PO.clkDetailTab();
verifyTooltip_OHI_Paid_Amt_Adj_Prof("Tooltip for OHI Claim Adjustments");
verifyTooltip_Medicare_Inpatient_Adjudication_Primary_Prof("Tooltip for Medicare Inpatient Adjudication Primary Payer on Prof Detail View");
verifyTooltip_Medicare_Outpatient_Adjudication_Primary_Prof("Tooltip for Medicare Outpatient Adjudication Primary Payer on Prof Detail View");
verifyTooltip_Medicare_Inpatient_Adjudication_Secondary_Prof("Tooltip for Medicare Inpatient Adjudication Secondary Payer on Prof Detail View");
verifyTooltip_Medicare_Outpatient_Adjudication_Secondary_Prof("Tooltip for Medicare Outpatient Adjudication Secondary Payer on Prof Detail View");
verifyTooltip_Medicare_Inpatient_Adjudication_Tertiary_Prof("Tooltip for Medicare Inpatient Adjudication Tertiary Payer on Prof Detail View");
verifyTooltip_Medicare_Outpatient_Adjudication_Tertiary_Prof("Tooltip for Medicare Outpatient Adjudication Tertiary Payer on Prof Detail View");
verifyTooltip_OHI_Service_Line_Adjustments_Prof("Tooltip for OHI Service Line Adjustments");
};


public void loadPage(String pdiDental) throws InterruptedException {
selectLogin.submitBtnClick();
ediWebViewerLookup.EDIsearchClk();
ediWebViewerLookup.setPDINumber(pdiDental);
ediWebViewerLookup.clickButtonRetrieve();
}

/**************Institutional Page *************************************************************/

public void verifyTooltip_OHIInfoQuick(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList("ABCD", "ABCD", "ABCD");
try {
ArrayList<String> actualTooltip= edi_Instit_Quick_PO.getOHIInfo_Tooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}

public void verifyTooltip_RemitRemarkQuick(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList("REM1: DESC1", "REM2: DESC2", "REM3: DESC3", "REM4: DESC4", "REM5: DESC5",
"REMARK1: DESCR1", "REMARK2: DESCR2", "REMARK3: DESCR3", "REMARK4: DESCR4", "REMARK5: DESCR5",
"REM1: DESC1", "REM2: DESC2", "REM3: DESC3", "REM4: DESC4", "REM5: DESC5");
try {
ArrayList<String> actualTooltip= edi_Instit_Quick_PO.getRemRemarkTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}


public void verifyTooltip_Medicare_Outpatient_Adjudication_Primary(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList("REM1: DESC1", "REM2: DESC2", "REM3: DESC3", "REM4: DESC4", "REM5: DESC5");
try {
ArrayList<String> actualTooltip= edi_Instit_Detail_PO.getMedOutAdjRemPrimTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}


public void verifyTooltip_Medicare_Outpatient_Adjudication_Secondary(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList("REMARK1: DESCR1", "REMARK2: DESCR2", "REMARK3: DESCR3", "REMARK4: DESCR4", "REMARK5: DESCR5");
try {
ArrayList<String> actualTooltip= edi_Instit_Detail_PO.getMedOutAdjRemSecTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}

public void verifyTooltip_Medicare_Outpatient_Adjudication_Tertiary(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList("REM1: DESC1", "REM2: DESC2", "REM3: DESC3", "REM4: DESC4", "REM5: DESC5");
try {
ArrayList<String> actualTooltip= edi_Instit_Detail_PO.getMedOutAdjRemTertTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}

public void verifyTooltip_OHI_Service_Line_Adjustments(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList("AAA");
try {
ArrayList<String> actualTooltip= edi_Instit_Detail_PO.getOhiServiceLine_AdjTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}

public void verifyTooltip_OHI_Paid_Amt_Adj(String description) throws IOException{
List<String> expectedPrim = Arrays.asList("ABCD");
List<String> expectedSec = Arrays.asList("ABCD");
List<String> expectedTert = Arrays.asList("ABCD");
try {
ArrayList<String> actualPrim= edi_Instit_Detail_PO.getohiPaidAmtAdj_Primary_Tooltips();
ArrayList<String> actualSec= edi_Instit_Detail_PO.getohiPaidAmtAdj_Sec_Tooltips();
ArrayList<String> actualTert= edi_Instit_Detail_PO.getohiPaidAmtAdj_Tert_Tooltips();
Assert.assertEquals(description, expectedPrim, actualPrim);
Assert.assertEquals(description, expectedSec, actualSec);
Assert.assertEquals(description, expectedTert, actualTert);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}


/**************Dental Page*************************************************************************/

public void verifyTooltip_OHIInfoQuick_Dental(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList(
"The procedure code is inconsistent with the modifier used or a required modifier is missing. Usage: Refer to the 835 Healthcare Policy Identification Segment (loop 2110 Service Payment Information REF), if present.",
"Co-payment Amount",
"The procedure code/type of bill is inconsistent with the place of service. Usage: Refer to the 835 Healthcare Policy Identification Segment (loop 2110 Service Payment Information REF), if present.");
try {
ArrayList<String> actualTooltip= edi_Dental_Quick_PO.getOHIInfo_Tooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}


public void verifyTooltip_RemitRemarkQuick_Dental(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList("REM1: DESC1", "REM2: DESC2", "REM3: DESC3", "REM4: DESC4", "REM5: DESC5",
"REMARK1: DESCR1", "REMARK2: DESCR2", "REMARK3: DESCR3", "REMARK4: DESCR4", "REMARK5: DESCR5",
"M3: Equipment is the same or similar to equipment already being used.",
"M7: No rental payments after the item is purchased, returned or after the total of issued rental payments equals the purchase price.",
"M10: Equipment purchases are limited to the first or the tenth month of medical necessity.",
"M12: Diagnostic tests performed by a physician must indicate whether purchased services are included on the claim.",
"M15: Separately billed services/tests have been bundled as they are considered components of the same procedure. Separate payment is not allowed.");
try {
ArrayList<String> actualTooltip= edi_Dental_Quick_PO.getRemRemarkTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}


public void verifyTooltip_Medicare_Outpatient_Adjudication_Primary_Dental(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList("REM1: DESC1", "REM2: DESC2", "REM3: DESC3", "REM4: DESC4", "REM5: DESC5");
try {
ArrayList<String> actualTooltip= edi_Dental_Detail_PO.getMedOutAdjRemPrimTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}

public void verifyTooltip_Medicare_Outpatient_Adjudication_Secondary_Dental(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList("REMARK1: DESCR1", "REMARK2: DESCR2", "REMARK3: DESCR3", "REMARK4: DESCR4", "REMARK5: DESCR5");
try {
ArrayList<String> actualTooltip= edi_Dental_Detail_PO.getMedOutAdjRemSecTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}


public void verifyTooltip_Medicare_Outpatient_Adjudication_Tertiary_Dental(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList("M3: Equipment is the same or similar to equipment already being used.",
"M7: No rental payments after the item is purchased, returned or after the total of issued rental payments equals the purchase price.",
"M10: Equipment purchases are limited to the first or the tenth month of medical necessity.",
"M12: Diagnostic tests performed by a physician must indicate whether purchased services are included on the claim.",
"M15: Separately billed services/tests have been bundled as they are considered components of the same procedure. Separate payment is not allowed.");
try {
ArrayList<String> actualTooltip= edi_Dental_Detail_PO.getMedOutAdjRemTertTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}

public void verifyTooltip_OHI_Paid_Amt_Adj_Dental(String description) throws IOException{
List<String> expectedPrim = Arrays.asList("The procedure code is inconsistent with the modifier used or a required modifier is missing. Usage: Refer to the 835 Healthcare Policy Identification Segment (loop 2110 Service Payment Information REF), if present.");
List<String> expectedSec = Arrays.asList("Co-payment Amount");
List<String> expectedTert = Arrays.asList("The procedure code/type of bill is inconsistent with the place of service. Usage: Refer to the 835 Healthcare Policy Identification Segment (loop 2110 Service Payment Information REF), if present.");
try {
ArrayList<String> actualPrim= edi_Dental_Detail_PO.getohiPaidAmtAdj_Primary_Tooltips();
ArrayList<String> actualSec= edi_Dental_Detail_PO.getohiPaidAmtAdj_Sec_Tooltips();
ArrayList<String> actualTert= edi_Dental_Detail_PO.getohiPaidAmtAdj_Tert_Tooltips();
Assert.assertEquals(description, expectedPrim, actualPrim);
Assert.assertEquals(description, expectedSec, actualSec);
Assert.assertEquals(description, expectedTert, actualTert);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}

public void verifyTooltip_OHI_Service_Line_Adjustments_Dental(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList("ABCDEFG",
"This is adjustment description, ex. The procedure code is inconsistent with the modifier used or a required modifier is missing. Usage: Refer to the 835 Healthcare Policy Identification Segment (loop 2110 Service Payment Information REF), if present.",
"This is adjustment description, ex. The procedure code is inconsistent with the modifier used or a required modifier is missing. Usage: Refer to the 835 Healthcare Policy Identification Segment (loop 2110 Service Payment Information REF), if present.");
try {
ArrayList<String> actualTooltip= edi_Dental_Detail_PO.getOhiServiceLine_AdjTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}


/**************Professional Page*************************************************************************/

public void verifyTooltip_OHIInfoQuick_Prof(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList("ABCD", "ABCD", "ABCD");
try {
ArrayList<String> actualTooltip= edi_Prof_Quick_PO.getOHIInfo_Tooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}

public void verifyTooltip_OHILineAdjQuick_Prof(String description) throws IOException{
String expectedTooltip =("ABCDEFG");
try {
String actualTooltip= edi_Prof_Quick_PO.getOhiLineAdj();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}

public void verifyTooltip_RemitRemarkQuick_Prof(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList(
"M61: We cannot pay for this as the approval period for the FDA clinical trial has expired.",
"MA18: The claim information is also being forwarded to the patients supplemental insurer. Send any questions regarding supplemental benefits to them.",
"MA44: No appeal rights. Adjudicative decision based on law.",
"M137: Part B coinsurance under a demonstration project.",
"MA13: You may be subject to penalties if you bill the patient for amounts not reported with the PR (patient responsibility) group code.",
"MA18: The claim information is also being forwarded to the patients supplemental insurer. Send any questions regarding supplemental benefits to them.",
"MA44: No appeal rights. Adjudicative decision based on law.",
"M137: Part B coinsurance under a demonstration project.",
"MA13: You may be subject to penalties if you bill the patient for amounts not reported with the PR (patient responsibility) group code.",
"M63: We do not pay for more than one of these on the same day.",
"MA44: No appeal rights. Adjudicative decision based on law.",
"M39: The patient is not liable for payment for this service as the advance notice of non-coverage you provided the patient did not comply with program requirements.",
"M60: Missing Certificate of Medical Necessity.",
"MA01: If you do not agree with what we approved for these services. you may appeal our decision. To make sure that we are fair to you. we require another individual that did not process your initial claim to conduct the appeal. However in order to be eligible for an appeal you must write to us within 120 days of the date you received this notice unless you have a good reason for being late.",
"M27: The patient has been relieved of liability of payment of these items and services under the limitation of liability provision of the law. The provider is ultimately liable for the patients waived charges including any charges for coinsurance. since the items or services were not reasonable and necessary or constituted custodial care and you knew or could reasonably have been expected to know. that they were not covered. You may appeal this determination. You may ask for an appeal regarding both the coverage determination and the issue of whether you exercised due care. The appeal request must be filed within 120 days of the date you receive this notice. You must make the request through this office.",
"MA44: No appeal rights. Adjudicative decision based on law",
"M39: The patient is not liable for payment for this service as the advance notice of non-coverage you provided the patient did not comply with program requirements.",
"M60: Missing Certificate of Medical Necessity.",
"MA01: If you do not agree with what we approved for these services. you may appeal our decision. To make sure that we are fair to you. we require another individual that did not process your initial claim to conduct the appeal. However in order to be eligible for an appeal you must write to us within 120 days of the date you received this notice unless you have a good reason for being late",
"M27: The patient has been relieved of liability of payment of these items and services under the limitation of liability provision of the law. The provider is ultimately liable for the patients waived charges including any charges for coinsurance. since the items or services were not reasonable and necessary or constituted custodial care and you knew or could reasonably have been expected to know. that they were not covered. You may appeal this determination. You may ask for an appeal regarding both the coverage determination and the issue of whether you exercised due care. The appeal request must be filed within 120 days of the date you receive this notice. You must make the request through this office",
"MA130: Your claim contains incomplete and/or invalid information, and no appeal rights are afforded because the claim is unprocessable. Please submit a new claim with the complete/correct information.",
"MA44: No appeal rights. Adjudicative decision based on law.",
"MA02: If you do not agree with this determination. you have the right to appeal. You must file a written request for an appeal within 180 days of the date you receive this notice.",
"N83: No appeal rights. Adjudicative decision based on the provisions of a demonstration project.",
"MA76: No appeal rights. Adjudicative decision based on the provisions of a demonstration project.",
"MA130: Your claim contains incomplete and/or invalid information, and no appeal rights are afforded because the claim is unprocessable. Please submit a new claim with the complete/correct information.",
"MA02: If you do not agree with this determination. you have the right to appeal. You must file a written request for an appeal within 180 days of the date you receive this notice.",
"N83: No appeal rights. Adjudicative decision based on the provisions of a demonstration project.",
"MA76: Missing/incomplete/invalid provider identifier for home health agency or hospice when physician is performing care plan oversight services.",
"M61: We cannot pay for this as the approval period for the FDA clinical trial has expired."
);
try {
ArrayList<String> actualTooltip= edi_Prof_Quick_PO.getRemRemarkTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}




// Detail View
public void verifyTooltip_OHI_Paid_Amt_Adj_Prof(String description) throws IOException{
List<String> expectedPrim = Arrays.asList("ABCD");
List<String> expectedSec = Arrays.asList("ABCD");
List<String> expectedTert = Arrays.asList("ABCD");
try {
ArrayList<String> actualPrim= edi_Prof_Detail_PO.getohiPaidAmtAdj_Primary_Tooltips();
ArrayList<String> actualSec= edi_Prof_Detail_PO.getohiPaidAmtAdj_Sec_Tooltips();
ArrayList<String> actualTert= edi_Prof_Detail_PO.getohiPaidAmtAdj_Tert_Tooltips();
Assert.assertEquals(description, expectedPrim, actualPrim);
Assert.assertEquals(description, expectedSec, actualSec);
Assert.assertEquals(description, expectedTert, actualTert);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}


public void verifyTooltip_Medicare_Inpatient_Adjudication_Primary_Prof(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList(
"M61: We cannot pay for this as the approval period for the FDA clinical trial has expired.",
"MA18: The claim information is also being forwarded to the patients supplemental insurer. Send any questions regarding supplemental benefits to them.",
"MA44: No appeal rights. Adjudicative decision based on law.",
"M137: Part B coinsurance under a demonstration project.",
"MA13: You may be subject to penalties if you bill the patient for amounts not reported with the PR (patient responsibility) group code."
);
try {
ArrayList<String> actualTooltip= edi_Prof_Detail_PO.getMedInAdjRemPrimTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}

public void verifyTooltip_Medicare_Outpatient_Adjudication_Primary_Prof(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList(
"MA18: The claim information is also being forwarded to the patients supplemental insurer. Send any questions regarding supplemental benefits to them.",
"MA44: No appeal rights. Adjudicative decision based on law.",
"M137: Part B coinsurance under a demonstration project.",
"MA13: You may be subject to penalties if you bill the patient for amounts not reported with the PR (patient responsibility) group code.",
"M63: We do not pay for more than one of these on the same day."
);
try {
ArrayList<String> actualTooltip= edi_Prof_Detail_PO.getMedOutAdjRemPrimTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}


public void verifyTooltip_Medicare_Inpatient_Adjudication_Secondary_Prof(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList(
"MA44: No appeal rights. Adjudicative decision based on law.",
"M39: The patient is not liable for payment for this service as the advance notice of non-coverage you provided the patient did not comply with program requirements.",
"M60: Missing Certificate of Medical Necessity.",
"MA01: If you do not agree with what we approved for these services. you may appeal our decision. To make sure that we are fair to you. we require another individual that did not process your initial claim to conduct the appeal. However in order to be eligible for an appeal you must write to us within 120 days of the date you received this notice unless you have a good reason for being late.",
"M27: The patient has been relieved of liability of payment of these items and services under the limitation of liability provision of the law. The provider is ultimately liable for the patients waived charges including any charges for coinsurance. since the items or services were not reasonable and necessary or constituted custodial care and you knew or could reasonably have been expected to know. that they were not covered. You may appeal this determination. You may ask for an appeal regarding both the coverage determination and the issue of whether you exercised due care. The appeal request must be filed within 120 days of the date you receive this notice. You must make the request through this office."
);
try {
ArrayList<String> actualTooltip= edi_Prof_Detail_PO.getMedInAdjRemSecTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}

public void verifyTooltip_Medicare_Outpatient_Adjudication_Secondary_Prof(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList(
"MA44: No appeal rights. Adjudicative decision based on law",
"M39: The patient is not liable for payment for this service as the advance notice of non-coverage you provided the patient did not comply with program requirements.",
"M60: Missing Certificate of Medical Necessity.",
"MA01: If you do not agree with what we approved for these services. you may appeal our decision. To make sure that we are fair to you. we require another individual that did not process your initial claim to conduct the appeal. However in order to be eligible for an appeal you must write to us within 120 days of the date you received this notice unless you have a good reason for being late",
"M27: The patient has been relieved of liability of payment of these items and services under the limitation of liability provision of the law. The provider is ultimately liable for the patients waived charges including any charges for coinsurance. since the items or services were not reasonable and necessary or constituted custodial care and you knew or could reasonably have been expected to know. that they were not covered. You may appeal this determination. You may ask for an appeal regarding both the coverage determination and the issue of whether you exercised due care. The appeal request must be filed within 120 days of the date you receive this notice. You must make the request through this office"
);
try {
ArrayList<String> actualTooltip= edi_Prof_Detail_PO.getMedOutAdjRemSecTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}


public void verifyTooltip_Medicare_Inpatient_Adjudication_Tertiary_Prof(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList(
"MA130: Your claim contains incomplete and/or invalid information, and no appeal rights are afforded because the claim is unprocessable. Please submit a new claim with the complete/correct information.",
"MA44: No appeal rights. Adjudicative decision based on law.",
"MA02: If you do not agree with this determination. you have the right to appeal. You must file a written request for an appeal within 180 days of the date you receive this notice.",
"N83: No appeal rights. Adjudicative decision based on the provisions of a demonstration project.",
"MA76: No appeal rights. Adjudicative decision based on the provisions of a demonstration project." );
try {
ArrayList<String> actualTooltip= edi_Prof_Detail_PO.getMedInAdjRemTertTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}

public void verifyTooltip_Medicare_Outpatient_Adjudication_Tertiary_Prof(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList(
"MA130: Your claim contains incomplete and/or invalid information, and no appeal rights are afforded because the claim is unprocessable. Please submit a new claim with the complete/correct information.",
"MA02: If you do not agree with this determination. you have the right to appeal. You must file a written request for an appeal within 180 days of the date you receive this notice.",
"N83: No appeal rights. Adjudicative decision based on the provisions of a demonstration project.",
"MA76: Missing/incomplete/invalid provider identifier for home health agency or hospice when physician is performing care plan oversight services.",
"M61: We cannot pay for this as the approval period for the FDA clinical trial has expired."
);
try {
ArrayList<String> actualTooltip= edi_Prof_Detail_PO.getMedOutAdjRemTertTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}

public void verifyTooltip_OHI_Service_Line_Adjustments_Prof(String description) throws IOException{
List<String> expectedTooltip = Arrays.asList("ABCDEFG");
try {
ArrayList<String> actualTooltip= edi_Prof_Detail_PO.getOhiServiceLine_AdjTooltips();
Assert.assertEquals(description, expectedTooltip, actualTooltip);
SharedCodeClass.assertPassed(description);
} catch (AssertionError | Exception e) {
SharedCodeClass.assertFailed(description, e);
}
}

}