Esempio n. 1
0
        public ctlEligibilityRestrictionDisplay(provider_eligibility_restrictions per, bool canEdit)
        {
            InitializeComponent();

            ProviderEligibilityRestriction = per;
            pnlEditButton.Visible          = canEdit;
            LoadText();
        }
Esempio n. 2
0
        private void btnEdit_Click(object sender, EventArgs e)
        {
            frmEditProviderEligibilityRestriction editRestriction = new frmEditProviderEligibilityRestriction(ProviderEligibilityRestriction);

            if (editRestriction.ShowDialog() == DialogResult.OK)
            {
                ProviderEligibilityRestriction = editRestriction.FormRestriction;
                LoadText();
            }
        }
        void Edit_Click(object sender, EventArgs e)
        {
            RichTextBox linkedrtb = (RichTextBox)((Button)sender).Tag;
            provider_eligibility_restrictions per = (provider_eligibility_restrictions)linkedrtb.Tag;

            frmEditProviderEligibilityRestriction toShow =
                new frmEditProviderEligibilityRestriction(per);

            toShow.ShowDialog(this);
            LoadRules();
        }
Esempio n. 4
0
        public frmEditProviderEligibilityRestriction(provider_eligibility_restrictions per)
        {
            InitializeComponent();
            _formFromProviderClaim       = new claim();
            _formToProviderClaim         = new claim();
            _includedGroups              = new BindingList <insurance_company_group>();
            lstGroupsIncluded.DataSource = _includedGroups;
            LoadProviders(false);
            LoadGroups(false);
            _formRestriction = per;
            _formProvider    = per.provider_id;

            try
            {
                if (per.provider_id == "")
                {
                    cmbForProvider.SelectedIndex = 0;
                }
                else
                {
                    LoadProvider(true, _formFromProviderClaim.FindFirstClaimWithProvider(per.provider_id));
                }

                LoadProvider(false, _formToProviderClaim.FindFirstClaimWithProvider(per.switch_to_provider_id));
            }
            catch
            {
                // Don't worry about it, doesn't have any matching claims. Only happens when debugging
                MessageBox.Show("Couldn't find a valid claim for this provider.");
            }

            ctlStartDate.CurrentDate = per.start_date;
            ctlEndDate.CurrentDate   = per.end_date;

            if (per.is_advanced)
            {
                // obsolete
            }
            else
            {
                foreach (insurance_company_group icg in per.Groups)
                {
                    _includedGroups.Add(icg);
                }

                RefreshCompaniesInGroup();
            }

            chkEnabled.Checked = per.is_enabled;
        }
Esempio n. 5
0
        public frmEditProviderEligibilityRestriction()
        {
            InitializeComponent();
            _formFromProviderClaim       = new claim();
            _formToProviderClaim         = new claim();
            _includedGroups              = new BindingList <insurance_company_group>();
            lstGroupsIncluded.DataSource = _includedGroups;
            LoadProviders(true);
            LoadGroups(true);
            _formRestriction = new provider_eligibility_restrictions();

            ctlStartDate.CurrentDate = DateTime.Today;
            ctlEndDate.SetDefaultDate(DateTime.Today);
        }
Esempio n. 6
0
        private void ClearRestrictions(string provider_id)
        {
            if (_formRestriction != null)
            {
                provider_eligibility_restrictions workingPER = new provider_eligibility_restrictions();
                string sql = "DELETE FROM provider_eligibility_restrictions WHERE provider_id = '" +
                             provider_id + "'";

                sql += " AND switch_to_provider_id = '" + _formRestriction.switch_to_provider_id +
                       "' AND start_date = '" + CommonFunctions.ToMySQLDate(_formRestriction.start_date.Value) + "'";

                workingPER.ExecuteNonQuery(sql);
            }
        }
        private void LoadRules()
        {
            provider_eligibility_restrictions workingPER = new provider_eligibility_restrictions();

            string sql = "SELECT * FROM provider_eligibility_restrictions";

            if (cmbCurrentProvider.SelectedIndex > 0)
            {
                sql += string.Format(" WHERE provider_id = '{0}'", ((ProviderInfoDisplay)cmbCurrentProvider.SelectedItem).ProviderID);
            }

            sql += " ORDER BY provider_id, start_date";

            DataTable allMatches = workingPER.Search(sql);

            pnlEnabled.Controls.Clear();
            pnlDisabled.Controls.Clear();

            foreach (DataRow aRow in allMatches.Rows)
            {
                workingPER = new provider_eligibility_restrictions();
                workingPER.Load(aRow);

                if (workingPER.insurance_group_id > 0)
                {
                    // Temporary safeguard since we are switching to multiple storage - take the value out and put it in the table
                    provider_eligibility_restrictions.AddGroup(workingPER.id, workingPER.insurance_group_id, true);
                    workingPER.insurance_group_id = 0;
                    workingPER.Save();
                }

                string fromProvider;

                if (workingPER.provider_id == "")
                {
                    fromProvider = "ALL";
                }
                else
                {
                    fromProvider = workingPER.provider_id;
                }

                try
                {
                    fromProvider = provider_eligibility_restrictions.FindClaimByProviderID(fromProvider).DoctorName + " (" + fromProvider + ")";
                }
                catch { }


                // Add rich text box with text summarytext
                Panel pnl = new Panel();
                pnl.Dock      = DockStyle.Top;
                pnl.Height    = 40;
                pnl.Padding   = new Padding(0, 0, 0, 0);
                pnl.BackColor = BackColor;

                RichTextBox rtb = new RichTextBox();
                rtb.Dock     = DockStyle.Fill;
                rtb.Font     = new System.Drawing.Font(new FontFamily("Microsoft Sans Serif"), 10.0f);
                rtb.Rtf      = GenerateRulesText(workingPER);
                rtb.ReadOnly = true;
                rtb.Tag      = workingPER;

                Button btn = new Button();
                btn.Text   = "Edit";
                btn.Click += Edit_Click;
                btn.Tag    = rtb;
                btn.Font   = new System.Drawing.Font(new FontFamily("Microsoft Sans Serif"), 10.0f);
                btn.Dock   = DockStyle.Right;


                pnl.Controls.Add(rtb);
                pnl.Controls.Add(btn);

                if (!workingPER.is_enabled || (workingPER.end_date.HasValue && workingPER.end_date < DateTime.Today))
                {
                    pnlDisabled.Controls.Add(pnl);
                }
                else
                {
                    pnlEnabled.Controls.Add(pnl);
                }

                pnl.BringToFront();
            }

            lblCurrent.Text  = string.Format("Active ({0})", pnlEnabled.Controls.Count);
            lblDisabled.Text = string.Format("Inactive ({0})", pnlDisabled.Controls.Count);
        }
        private string GenerateRulesText(provider_eligibility_restrictions workingPER)
        {
            string SummaryText = @"{\rtf1\ansi \b [FORPROVIDER]:  [ICG]\b0  [TIME] \par Use [TOPROVIDER] from [STARTDATE][ENDDATE]}";

            string end_date = "";

            if (workingPER.end_date.HasValue)
            {
                end_date = workingPER.end_date.Value.ToShortDateString();
            }

            string filterList;

            if (workingPER.is_advanced)
            {
                filterList = "Custom (" + workingPER.GetCompanyCriteriaAsString() + ")";
            }
            else
            {
                filterList = string.Join(", ", workingPER.Groups.Select(x => x.name));
            }


            string toProvider = workingPER.switch_to_provider_id;

            try
            {
                toProvider = provider_eligibility_restrictions.FindClaimByProviderID(toProvider).DoctorName + " (" + toProvider + ")";
            }
            catch { }

            string forProvider = workingPER.provider_id;

            try
            {
                if (forProvider == "")
                {
                    forProvider = "All Providers";
                }
                else
                {
                    forProvider = provider_eligibility_restrictions.FindClaimByProviderID(forProvider).DoctorName + " (" + forProvider + ")";
                }
            }
            catch { } // No claims for this provider

            SummaryText = SummaryText.Replace("[TOPROVIDER]", toProvider);
            SummaryText = SummaryText.Replace("[FORPROVIDER]", forProvider);
            SummaryText = SummaryText.Replace("[STARTDATE]", workingPER.start_date.Value.ToShortDateString());

            if (end_date != "")
            {
                SummaryText = SummaryText.Replace("[ENDDATE]", "-" + end_date);
            }
            else
            {
                SummaryText = SummaryText.Replace("[ENDDATE]", " on");
            }

            if (!workingPER.is_enabled)
            {
                SummaryText = SummaryText.Replace("[TIME]", @"  \i (Disabled)\i0 ");
            }
            else if (workingPER.start_date.GetValueOrDefault() > DateTime.Now)
            {
                SummaryText = SummaryText.Replace("[TIME]", @"  \i (Future)\i0 ");
            }
            else if (workingPER.end_date.HasValue)
            {
                if (workingPER.end_date.Value < DateTime.Now)
                {
                    SummaryText = SummaryText.Replace("[TIME]", @"  \i (Past)\i0 ");
                }
            }

            SummaryText = SummaryText.Replace("[TIME]", @"");

            SummaryText = SummaryText.Replace("[ICG]", filterList);

            return(SummaryText);
        }