protected void btnSearchClientID_Click(object sender, EventArgs e)
        {
            //code to search Client by ID
            DataLayer.Billback obj = new DataLayer.Billback();

            string    strClientID = txtClientID.Text;
            string    exMessage   = "";
            DataTable dtClient    = new DataTable();

            if (!String.IsNullOrWhiteSpace(strClientID))
            {
                dtClient = obj.SearchClientData_By_ID_SP(strClientID, 0, out exMessage);
                grdClientSelect2.DataSource = dtClient;
                grdClientSelect2.DataBind();
                updClientSearch.Update();
                txtClientID.Text       = "";
                lblStatusMsg.Text      = "Row Count: " + dtClient.Rows.Count;
                lblStatusMsg.ForeColor = System.Drawing.Color.White;
                lblStatusMsg.BackColor = System.Drawing.Color.Blue;
            }
            else
            {
                lblStatusMsg.Text      = "Client ID Cannot be Blank";
                lblStatusMsg.ForeColor = System.Drawing.Color.White;
                lblStatusMsg.BackColor = System.Drawing.Color.Red;
            }
        }
Exemple #2
0
 private void LoadFileFormatData()
 {
     DataLayer.Billback obj = new DataLayer.Billback();
     //  dtHDR = obj.GetHDRData();
     //  dtPMT = obj.GetPMTData();
     //  dtTRL = obj.GetTRLData();
 }
Exemple #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //find the next Display Order ID and fill in text box
                DataLayer.Billback obj       = new DataLayer.Billback();
                string             exMessage = "";
                txtDisplayOrdID.Text         = obj.FindNextDisplayOrderID(out exMessage).ToString();
                rdPayCodeLogic.SelectedIndex = 1;
            }

            //have them enter paycode suffix last 2 digits (e.g *45 )
        }
Exemple #4
0
        protected void btSave_Click(object sender, EventArgs e)
        {
            if (ValidateRequiredFields() == true)
            {
                //if all checks pass then save to databaes

                string strServiceType      = txtServiceType.Text.Trim().ToUpper();
                string strDescription      = txtDescription.Text.Trim();
                string strDisplay          = txtDisplay.Text.Trim();
                string strDisplayOrdID     = txtDisplayOrdID.Text.Trim();
                string strTaxID            = txtTaxID.Text.Trim();
                string strTaxSubID         = txtTaxSubID.Text.Trim();
                int    Search_Enable       = BooltoInt(chSearchEnable.Checked);
                int    Add_Enable          = BooltoInt(chAddEnable.Checked);
                int    Import_Enable       = BooltoInt(chImportEnable.Checked);
                int    Remove_Enable       = BooltoInt(chRemoveEnable.Checked);
                int    Process_Enable      = BooltoInt(chProcessEnable.Checked);
                int    PayCodeLogic        = rdPayCodeLogic.SelectedIndex;
                string strPayCodeLogicDesc = rdPayCodeLogic.SelectedItem.Text.ToUpper();
                string strPayCode          = txtPayCodeSuffix.Text.Trim();

                DataLayer.Billback obj       = new DataLayer.Billback();
                string             exMessage = "";
                obj.InsertNewServiceType(strServiceType, strDescription, strDisplay, strDisplayOrdID, strTaxID, strTaxSubID, Search_Enable, Add_Enable,
                                         Import_Enable, Remove_Enable, Process_Enable, PayCodeLogic, strPayCodeLogicDesc, strPayCode, out exMessage);
                if (String.IsNullOrWhiteSpace(exMessage))
                {
                    LogActivity("CREATE NEW SERVICE TYPE", "NEW SERVICE TYPE CREATED - Svc Type: " + strServiceType + " Desc: " + strDescription +
                                " Display: " + strDisplay + " Display Order: " + strDisplayOrdID + " TaxID: " + strTaxID + " Tax SubID: " + strTaxSubID + " SearchEnable: " + Search_Enable +
                                " AddEnable: " + Add_Enable + " ImportEnable: " + Import_Enable + " RemoveEnable: " + Remove_Enable + " ProcessEnable: " + Process_Enable +
                                " PayCodeLogic: " + PayCodeLogic + " PayCodeLogicDesc: " + strPayCodeLogicDesc + " PayCode: " + strPayCode);
                    Session["PopUpClosed"]  = true;
                    Session["NewSvcType"]   = true;
                    Session["ClientSearch"] = false;
                    ClientScript.RegisterStartupScript(typeof(System.Web.UI.Page), "closePage", "<script type='text/javascript'>closeAndRefresh();</script>");
                }
                else
                {
                    LogActivity("APPLICATION EXCEPTION", " ERROR ADDING NEW SERVICE TYPE: " + strServiceType + " Exception: " + exMessage);
                    lblStatusMsg.Text = " ERROR ADDING NEW SERVICE TYPE: " + strServiceType + " Check Activity Log";
                }
            }
        }
Exemple #5
0
        private bool ValidateRequiredFields()
        {
            //validate the information entered
            bool CheckPassed = true;

            if (String.IsNullOrWhiteSpace(txtServiceType.Text))
            {
                lblStatusMsg.Text      = "Service Type is required";
                lblStatusMsg.ForeColor = System.Drawing.Color.White;
                lblStatusMsg.BackColor = System.Drawing.Color.Red;
                CheckPassed            = false;
            }
            else if (txtServiceType.Text.Trim().Length != 3)
            {
                lblStatusMsg.Text      = "Service Type has to  be 3 characters";
                lblStatusMsg.ForeColor = System.Drawing.Color.White;
                lblStatusMsg.BackColor = System.Drawing.Color.Red;
                CheckPassed            = false;
            }

            if (String.IsNullOrWhiteSpace(txtDisplay.Text))
            {
                lblStatusMsg.Text      = "Display is required - This will appear in Service Type Selection";
                lblStatusMsg.ForeColor = System.Drawing.Color.White;
                lblStatusMsg.BackColor = System.Drawing.Color.Red;
                CheckPassed            = false;
            }

            if (String.IsNullOrWhiteSpace(txtTaxID.Text))
            {
                lblStatusMsg.Text      = "Tax ID is required";
                lblStatusMsg.ForeColor = System.Drawing.Color.White;
                lblStatusMsg.BackColor = System.Drawing.Color.Red;
                CheckPassed            = false;
            }

            if (Common.IsNumeric(txtTaxID.Text.Trim()) == false)
            {
                lblStatusMsg.Text      = "Tax ID Needs to be numeric";
                lblStatusMsg.ForeColor = System.Drawing.Color.White;
                lblStatusMsg.BackColor = System.Drawing.Color.Red;
                CheckPassed            = false;
            }

            if (Common.IsNumeric(txtTaxSubID.Text.Trim()) == false)
            {
                lblStatusMsg.Text      = "Tax Sub ID Needs to be numeric";
                lblStatusMsg.ForeColor = System.Drawing.Color.White;
                lblStatusMsg.BackColor = System.Drawing.Color.Red;
                CheckPassed            = false;
            }

            if (String.IsNullOrWhiteSpace(txtTaxSubID.Text))
            {
                lblStatusMsg.Text      = "Tax Sub ID is required";
                lblStatusMsg.ForeColor = System.Drawing.Color.White;
                lblStatusMsg.BackColor = System.Drawing.Color.Red;
                CheckPassed            = false;
            }

            if ((chSearchEnable.Checked == false) && (chImportEnable.Checked == false))
            {
                lblStatusMsg.Text      = "Either Search or Import Checkbox needs to be checked";
                lblStatusMsg.ForeColor = System.Drawing.Color.White;
                lblStatusMsg.BackColor = System.Drawing.Color.Red;
                CheckPassed            = false;
            }

            DataLayer.Billback obj       = new DataLayer.Billback();
            string             exMessage = "";

            if (obj.CheckIfServiceTypeExists(txtServiceType.Text.Trim().ToUpper(), out exMessage) == true)
            {
                lblStatusMsg.Text      = "Service Type " + txtServiceType.Text + " Already Exists";
                lblStatusMsg.ForeColor = System.Drawing.Color.White;
                lblStatusMsg.BackColor = System.Drawing.Color.Red;
                CheckPassed            = false;
            }

            if ((rdPayCodeLogic.SelectedIndex == 0) || (rdPayCodeLogic.SelectedIndex == 1))
            {
                if (txtPayCodeSuffix.Text.Trim().Length != 3)
                {
                    lblStatusMsg.Text      = "Pay Code Suffix must be 3 characters starting with * ";
                    lblStatusMsg.ForeColor = System.Drawing.Color.White;
                    lblStatusMsg.BackColor = System.Drawing.Color.Red;
                    CheckPassed            = false;
                }
                else if (txtPayCodeSuffix.Text.StartsWith("*") == false)
                {
                    lblStatusMsg.Text      = "Pay Code Suffix must start with * ";
                    lblStatusMsg.ForeColor = System.Drawing.Color.White;
                    lblStatusMsg.BackColor = System.Drawing.Color.Red;
                    CheckPassed            = false;
                }
            }


            return(CheckPassed);
        }
        private string GetPayCode(string ServiceType, string strState_data, string OrigPayCode)
        {
            string strStateCode = "";
            string paycode      = "";

            if (strState_data == "CA")
            {
                strStateCode = "3"; //if California paycode is medical and starts with 3
            }
            else
            {
                strStateCode = "6";//if not California paycode use expense paycode and starts with 6
            }
            //procedure to get Paycode logic based on service type
            DataLayer.Billback obj       = new DataLayer.Billback();
            string             exMessage = "";
            DataTable          dtPayCode = obj.GetPayCodeLogic(ServiceType, out exMessage);

            if (dtPayCode.Rows.Count > 0)
            {
                int    PAYCODE_LOGIC = int.Parse(dtPayCode.Rows[0]["PAYCODE_LOGIC"].ToString());
                string PAYCODE       = dtPayCode.Rows[0]["PAYCODE"].ToString().Replace("*", "");
                switch (PAYCODE_LOGIC)
                {
                case 0:                    //USE SERVICE INTERACTION LOGIC
                    paycode = OrigPayCode; //for now TCM/UR use paycode supplied
                    break;

                case 1:     //USE CA PAY CODE FLIP LOGIC
                    paycode = strState_data + PAYCODE;
                    break;

                case 2:     //USE PAY CODE SUPPLIED
                    if (!String.IsNullOrWhiteSpace(OrigPayCode))
                    {
                        paycode = OrigPayCode;
                    }
                    else
                    {
                        paycode = "6" + PAYCODE;     //if paycode not supplied use expense
                    }
                    break;

                default:
                    paycode = OrigPayCode;
                    break;
                }
            }

            switch (ServiceType) //used for paycode
            {
            // case "TCM":
            //    paycode = strStateCode + "45"; //** paycode TCM *45
            //    break;
            //case "UTR":
            //    paycode = strStateCode + "48"; //** paycode UTR *48
            //    break;
            case "CLC":
                paycode = strStateCode + "32";     //** paycode CLC *32
                break;

            case "CAT":
                paycode = strStateCode + "31";     //** paycode CAT *31
                break;

            case "OSA":
                paycode = "697";     //** paycode OSA or ITK
                break;

            case "ITK":
                paycode = "697";     //** paycode OSA or ITK
                break;
            }

            return(paycode);
        }
        // private void ImportClaimsData(DataTable dtExcelClaimData, string FileFullPath)
        // {
        //     //import claims data from datatable inputting defaults and temporary claim uids
        ////     System.Data.DataTable dtExcelData = dt; //import first table in dataset (sheet 1 from excel import)

        //     string FileName = Path.GetFileName(FileFullPath);
        //     string TemplateType = "A";
        //     if (FileName.Contains("TEMPLATE_A"))
        //     {
        //         TemplateType = "A";
        //     }
        //     else
        //     {
        //         TemplateType = "B";
        //     }

        //     if (dtClaimSearchData.Rows.Count == 0)
        //     {
        //         dtClaimSearchData = BuildEmptyGridColumns();
        //     }

        //   //  dtClaimSearchData.PrimaryKey = new DataColumn[] { dtClaimSearchData.Columns["CLAIM_UID"] };
        //     string strFromDate = common.GetPreviousMonthBeginDate();
        //     string strThruDate = common.GetPreviousMonthEndDate();
        //     string ServiceType = "";
        //     string PayCode = "";
        //     string AllocAmt = "";
        //     foreach (DataRow dr in dtExcelClaimData.Rows)
        //     {
        //         if (dr["CLAIM_NUMBER"].ToString().Trim() != "")
        //         {
        //             DataRow drClaim = dtClaimSearchData.NewRow();


        //             drClaim["CLAIM#"] = dr["CLAIM_NUMBER"].ToString().Trim();
        //             drClaim["CLIENTID"] = dr["CLIENT_ID"].ToString().Trim();
        //             drClaim["PROCESSINGUNIT"] = "";
        //             drClaim["CLAIM_UID"] = common.GetUniqueID();
        //             drClaim["DOL"] = strFromDate;
        //             if (common.IsValidDate(dr["DATE_PAY_FROM"].ToString().Trim()) == true)
        //             {
        //                 drClaim["DATEFROM"] = dr["DATE_PAY_FROM"].ToString().Trim();
        //             }
        //             else
        //             {
        //                 drClaim["DATEFROM"] = strFromDate;
        //             }
        //             if (common.IsValidDate(dr["DATE_PAY_THRU"].ToString().Trim()) == true)
        //             {
        //                 drClaim["DATETHRU"] = dr["DATE_PAY_THRU"].ToString().Trim();
        //             }
        //             else
        //             {
        //                 drClaim["DATETHRU"] = strThruDate;
        //             }
        //             AllocAmt = dr["AMOUNT"].ToString().Trim().Replace("$","");
        //             if (common.IsValidCurrency(AllocAmt) == true)
        //             {

        //                 drClaim["ALLOCATIONAMOUNT"] = common.ConvertToDecimal(AllocAmt); //converts to 2 decimal format
        //             }
        //             else
        //             {
        //                 drClaim["ALLOCATIONAMOUNT"] = "";
        //             }
        //             drClaim["BINVOICE"] = dr["BINVOICE"].ToString().Trim();

        //             //*** we need to get state and paycode from database (paycode is depends on service type and state)
        //             ServiceType = dr["SERVICE_TYPE"].ToString().Trim();
        //             drClaim["GUID"] = common.GetNewGUID(); //always get GUID regardless of template used



        //             if (TemplateType == "B") // Template B has additional columns such as CLAIM_UID, VENDOR_ID etc.
        //             {
        //                 drClaim["CLAIM_UID"] = dr["CLAIM_UID"].ToString().Trim();
        //                 drClaim["VENDOR_ID"] = dr["VENDOR_ID"].ToString().Trim();
        //                 drClaim["STATE_PAYROLL"] = dr["STATE_PAYROLL"].ToString().Trim();
        //                 drClaim["STATE_A"] = dr["STATE_A"].ToString().Trim();
        //                 drClaim["DATA_SET"] = dr["DATA_SET"].ToString().Trim();
        //                 drClaim["CLAIM_TYPE"] = dr["CLAIM_TYPE"].ToString().Trim();
        //                 if (dr["STATE_A"].ToString().Trim() != "")
        //                 {
        //                     if ((ServiceType == "TCM") || (ServiceType == "UTR"))
        //                     {
        //                         drClaim["PAYCODE"] = dr["PAYCODE"].ToString().Trim();
        //                     }
        //                     else
        //                     {
        //                         drClaim["PAYCODE"] = GetPayCode(ServiceType, dr["STATE_A"].ToString().Trim());
        //                     }

        //                 }
        //                 drClaim["SUB_TYPE"] = "";
        //                 drClaim["LINE_CODE"] = "";


        //             }



        //             dtClaimSearchData.Rows.Add(drClaim);
        //         }
        //     }


        //     Session["dtClaimsSearchData"] = dtClaimSearchData;
        //     Session["PopUpClosed"] = true;

        //     lblStatus.Visible = false;


        //     this.ClientScript.RegisterClientScriptBlock(this.GetType(), "Close", "window.close()", true);



        // }
        #endregion

        private bool ImportClaimsDataNew(DataTable dtExcelClaimData, string FileFullPath)
        {
            //import claims data from datatable inputting defaults and temporary claim uids
            //     System.Data.DataTable dtExcelData = dt; //import first table in dataset (sheet 1 from excel import)

            string FileName = Path.GetFileName(FileFullPath);

            DataLayer.Billback obj = new DataLayer.Billback();
            //do validation here and find claim uid and GUIDs that don't  pass validation, then mark those with red x image
            List <string> claimGUIDFailed = new List <string>();

            if (dtClaimSearchData.Rows.Count == 0)
            {
                dtClaimSearchData = BuildEmptyGridColumns();
            }

            //  dtClaimSearchData.PrimaryKey = new DataColumn[] { dtClaimSearchData.Columns["CLAIM_UID"] };
            string strFromDate = Common.GetPreviousMonthBeginDate();
            string strThruDate = Common.GetPreviousMonthEndDate();
            string ServiceType = "";
            string PayCode     = "";
            string AllocAmt    = "";

            //load all claim numbers into string list
            List <string> RawClaimNumberList = new List <string>();

            foreach (DataRow dr in dtExcelClaimData.Rows)
            {
                RawClaimNumberList.Add(dr["CLAIM_NUMBER"].ToString().Trim());
            }
            List <string> ClaimNumberList = Common.FormatClaimNumbers(RawClaimNumberList);

            //*******testing new GetClaimInfo Stor PRoc*************
            DataTable dtClaimInfo = obj.GetClaimInfoPRD(ClaimNumberList); //gets the claim information for all claim numbers (i.e. CLAIM_UID, VENDOR_ID, STATE_A  etc.)
            string    ExMsg       = "";

            //DataTable dtClaimInfo = obj.GetClaimInfo(ClaimNumberList, out ExMsg); //gets the claim information for all claim numbers (i.e. CLAIM_UID, VENDOR_ID, STATE_A  etc.)
            //*******testing new GetClaimInfo Stor PRoc*************

            DataRow[] foundClaim;
            bool      All_ClaimUID_Found = true;

            //Note:  We are merging data from VIAONE (dtClaimInfo, found[]) and data from spreadsheet (dtExcelClaimData, dr[]) into new datatable dtClaimSearchData, drClaim[]
            foreach (DataRow dr in dtExcelClaimData.Rows)
            {
                if (!String.IsNullOrWhiteSpace(dr["CLAIM_NUMBER"].ToString()))
                {
                    DataRow drClaim = dtClaimSearchData.NewRow();


                    drClaim["CLAIM#"]         = dr["CLAIM_NUMBER"].ToString().Trim();
                    drClaim["CLIENTID"]       = dr["CLIENT_ID"].ToString().Trim();
                    drClaim["PROCESSINGUNIT"] = "";
                    drClaim["CLAIM_UID"]      = Common.GetUniqueID();
                    // drClaim["DOL"] = strFromDate;
                    if (Common.IsValidDate(dr["DATE_PAY_FROM"].ToString().Trim()) == true)
                    {
                        drClaim["DATEFROM"] = dr["DATE_PAY_FROM"].ToString().Trim();
                    }
                    else
                    {
                        drClaim["DATEFROM"] = strFromDate;
                    }
                    if (Common.IsValidDate(dr["DATE_PAY_THRU"].ToString().Trim()) == true)
                    {
                        drClaim["DATETHRU"] = dr["DATE_PAY_THRU"].ToString().Trim();
                    }
                    else
                    {
                        drClaim["DATETHRU"] = strThruDate;
                    }
                    AllocAmt = dr["AMOUNT"].ToString().Trim().Replace("$", "");
                    if (Common.IsValidCurrency(AllocAmt) == true)
                    {
                        drClaim["ALLOCATIONAMOUNT"] = Common.ConvertToDecimal(AllocAmt); //converts to 2 decimal format
                    }
                    else
                    {
                        drClaim["ALLOCATIONAMOUNT"] = "";
                    }
                    drClaim["BINVOICE"] = dr["BINVOICE"].ToString().Trim();

                    //*** we need to get state and paycode from database (paycode is depends on service type and state)
                    ServiceType     = dr["SERVICE_TYPE"].ToString().Trim();
                    drClaim["GUID"] = Common.GetNewGUID(); //always get GUID regardless of template used

                    /* START - doing some debugging to find if multiple claim uid exists for a claim number */
                    //foundClaim = dtClaimInfo.Select("CLAIM_NUMBER = '" + common.RemoveDashesFromString(dr["CLAIM_NUMBER"].ToString().Trim()) + "'");
                    //if (foundClaim.Count() > 1)
                    //{
                    //    LogActivity("MULTIPLE CLAIM UIDs", "MULTIPLE CLAIM UIDs for Claim# : " + common.RemoveDashesFromString(dr["CLAIM_NUMBER"].ToString().Trim()) + " #claim uids found: " + foundClaim.Count().ToString() );
                    //}

                    /* END - doing some debugging to find if multiple claim uid exists for a claim number*/

                    //filter by claim number AND client id  (e.g. 6400)
                    foundClaim = dtClaimInfo.Select("CLAIM_NUMBER = '" + Common.RemoveDashesFromString(dr["CLAIM_NUMBER"].ToString().Trim()) + "' AND CLIENT_ID = '" + dr["CLIENT_ID"].ToString().Trim() + "'");
                    if (foundClaim.Count() > 0)
                    {
                        drClaim["CLAIM_UID"]     = foundClaim[0]["CLAIM_UID"]; //foundClaim...data coming from VIAONE filtered by claim#
                        drClaim["VENDOR_ID"]     = foundClaim[0]["VENDOR_ID"];
                        drClaim["STATE_PAYROLL"] = foundClaim[0]["STATE_PAYROLL"];
                        drClaim["STATE_A"]       = foundClaim[0]["STATE_A"];
                        drClaim["DATA_SET"]      = foundClaim[0]["DATA_SET"];
                        drClaim["CLAIM_TYPE"]    = foundClaim[0]["CLAIM_TYPE"];
                        drClaim["CLMNTFNAME"]    = foundClaim[0]["CLMNTFNAME"];
                        drClaim["CLMNTLNAME"]    = foundClaim[0]["CLMNTLNAME"];
                        drClaim["DOL"]           = foundClaim[0]["DOL"];
                        if ((string)foundClaim[0]["CLAIM_TYPE"].ToString().Trim() == "IO") //flag claim_type IO, do not process IO claims
                        {
                            LogActivity("CLAIM_TYPE = IO", "CLAIM_TYPE = IO FOR CLAIM# " + Common.RemoveDashesFromString(dr["CLAIM_NUMBER"].ToString().Trim()));
                            claimGUIDFailed.Add(drClaim["GUID"].ToString());
                            All_ClaimUID_Found = false;
                        }

                        if ((string)foundClaim[0]["DELETED"].ToString().Trim() == "Y") //flag deleted claims, do not process deleted claims
                        {
                            LogActivity("CLAIM DELETED = Y", "CLAIM DELETED = Y FOR CLAIM# " + Common.RemoveDashesFromString(dr["CLAIM_NUMBER"].ToString().Trim()));
                            claimGUIDFailed.Add(drClaim["GUID"].ToString());
                            All_ClaimUID_Found = false;
                        }

                        if (!String.IsNullOrWhiteSpace(foundClaim[0]["STATE_A"].ToString()))
                        {
                            //if ((ServiceType == "TCM") || (ServiceType == "UTR"))
                            if (ServiceType == "TCM") //only TCM should be manual input for now, UR follows same logic as other service types
                            {
                                drClaim["PAYCODE"] = dr["PAYCODE"].ToString().Trim();
                            }
                            else
                            {
                                //SV 2/24/2017 - corrected again use paycode logic based on service type
                                drClaim["PAYCODE"] = GetPayCode(ServiceType, foundClaim[0]["STATE_A"].ToString().Trim(), dr["PAYCODE"].ToString().Trim());
                            }
                        }
                        drClaim["SUB_TYPE"]  = "";
                        drClaim["LINE_CODE"] = "";
                    }
                    else
                    {
                        LogActivity("CLAIM_UID NOT FOUND", "CLAIM_UID NOT FOUND FOR CLAIM# " + Common.RemoveDashesFromString(dr["CLAIM_NUMBER"].ToString().Trim()));
                        claimGUIDFailed.Add(drClaim["GUID"].ToString());
                        All_ClaimUID_Found = false;
                    }

                    dtClaimSearchData.Rows.Add(drClaim);
                }
            }

            Session["ListOfGUIDErrored"]  = claimGUIDFailed;
            Session["dtClaimsSearchData"] = dtClaimSearchData;
            Session["PopUpClosed"]        = true;
            Session["ServiceType"]        = ServiceType;
            lblStatus.Visible             = false;


            //    this.ClientScript.RegisterClientScriptBlock(this.GetType(), "Close", "window.close()", true);

            return(All_ClaimUID_Found);
        }