Ejemplo n.º 1
0
        private void gridMain_CellDoubleClick(object sender, ODGridClickEventArgs e)
        {
            if (!Security.IsAuthorized(Permissions.ClaimView))
            {
                return;
            }
            Claim claim = Claims.GetClaim(((UnsentInsClaim)gridMain.Rows[e.Row].Tag).ClaimNum);

            if (claim == null)
            {
                MsgBox.Show(this, "The claim has been deleted.");
                FillGrid();
                return;
            }
            Patient       pat    = Patients.GetPat(claim.PatNum);
            Family        fam    = Patients.GetFamily(pat.PatNum);
            FormClaimEdit FormCE = new FormClaimEdit(claim, pat, fam);

            FormCE.IsNew = false;
            FormCE.ShowDialog();
            if (FormCE.DialogResult == DialogResult.OK)
            {
                FillGrid();                //FillGrid() is necessary here as we are allowing the user to open up claim details and they could change the claim status or claim type.
                return;
            }
        }
Ejemplo n.º 2
0
        private void gridMain_CellDoubleClick(object sender, ODGridClickEventArgs e)
        {
            Claim         claim  = Claims.GetClaim(PIn.Long(Table.Rows[e.Row]["ClaimNum"].ToString()));
            Patient       pat    = Patients.GetPat(claim.PatNum);
            Family        fam    = Patients.GetFamily(pat.PatNum);
            FormClaimEdit FormCE = new FormClaimEdit(claim, pat, fam);

            FormCE.IsNew = false;
            FormCE.ShowDialog();
        }
        private void gridClaims_CellDoubleClick(object sender, UI.ODGridClickEventArgs e)
        {
            if (!Security.IsAuthorized(Permissions.ClaimView))
            {
                return;
            }
            Claim claim = Claims.GetClaim(((Claim)gridClaims.ListGridRows[e.Row].Tag).ClaimNum); //This is the easiest way to determine if the claim was deleted.

            if (claim == null)                                                                   //Was deleted.
            {
                MsgBox.Show(this, "Claim has been deleted by another user.");
                gridClaims.BeginUpdate();
                gridClaims.ListGridRows.RemoveAt(e.Row);                //This will also deselect the row.
                gridClaims.EndUpdate();
                return;
            }
            FormClaimEdit formCE = new FormClaimEdit(claim, Patients.GetPat(_patNum), Patients.GetFamily(_patNum));

            formCE.ShowDialog();
            claim = Claims.GetClaim(((Claim)gridClaims.ListGridRows[e.Row].Tag).ClaimNum); //This is the easiest way to determine if the claim was deleted.
            if (claim == null)                                                             //Was deleted.
            {
                gridClaims.BeginUpdate();
                gridClaims.ListGridRows.RemoveAt(e.Row);                //This will also deselect the row.
                gridClaims.EndUpdate();
                return;
            }
            if (formCE.DialogResult == DialogResult.OK)
            {
                //Update row
                UI.GridRow row = new UI.GridRow();
                row.Tag = claim;
                row.Cells.Add(claim.DateService.ToShortDateString());                           //DOS
                row.Cells.Add(Carriers.GetName(InsPlans.RefreshOne(claim.PlanNum).CarrierNum)); //Carrier
                row.Cells.Add(Claims.GetClaimStatusString(claim.ClaimStatus));                  //Status
                if (PrefC.HasClinicsEnabled)                                                    //Using clinics
                {
                    Clinic clinic = Clinics.GetClinic(claim.ClinicNum);
                    if (clinic == null)
                    {
                        row.Cells.Add("");                        //Clinic
                    }
                    else
                    {
                        row.Cells.Add(clinic.Description);                        //Clinic
                    }
                }
                row.Cells.Add(claim.ClaimFee.ToString("f"));                //Claimfee
                gridClaims.BeginUpdate();
                gridClaims.ListGridRows[e.Row] = row;
                gridClaims.EndUpdate();
                gridClaims.SetSelected(e.Row, true);               //Reselect Row
            }
        }
Ejemplo n.º 4
0
        /// <summary>Opens the current selected claim.</summary>
        private void openClaimToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!Security.IsAuthorized(Permissions.ClaimView))
            {
                return;
            }
            RpUnfinalizedInsPay.UnfinalizedInsPay unfinalPay = (RpUnfinalizedInsPay.UnfinalizedInsPay)gridMain.Rows[gridMain.SelectedIndices[0]].Tag;
            if (unfinalPay.ClaimCur == null)
            {
                MsgBox.Show(this, "This claim has been deleted.");
                return;
            }
            Family        famCur = Patients.GetFamily(unfinalPay.PatientCur.PatNum);
            FormClaimEdit FormCE = new FormClaimEdit(unfinalPay.ClaimCur, unfinalPay.PatientCur, famCur);

            FormCE.ShowDialog();
            LoadData();
            FillGrid();
        }
 /// <summary>Opens the current selected claim.</summary>
 private void openClaimToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (!Security.IsAuthorized(Permissions.ClaimView))
     {
         return;
     }
     RpUnfinalizedInsPay.UnfinalizedInsPay unfinalPay = (RpUnfinalizedInsPay.UnfinalizedInsPay)gridMain.ListGridRows[gridMain.SelectedIndices[0]].Tag;
     //Refresh claim from database.  Will return null if not in db, or unfinalPay.ClaimCur already null.
     unfinalPay.ClaimCur = Claims.GetClaim(unfinalPay.ClaimCur?.ClaimNum ?? 0);
     if (unfinalPay.ClaimCur == null)
     {
         MsgBox.Show(this, "Claim has been deleted by another user.");
     }
     else
     {
         Family        famCur = Patients.GetFamily(unfinalPay.PatientCur.PatNum);
         FormClaimEdit FormCE = new FormClaimEdit(unfinalPay.ClaimCur, unfinalPay.PatientCur, famCur);
         FormCE.ShowDialog();
     }
     LoadData();
     FillGrid();
 }
Ejemplo n.º 6
0
        private void gridClaimDetails_CellDoubleClick(object sender, ODGridClickEventArgs e)
        {
            Hx835_Claim claimPaid      = (Hx835_Claim)gridClaimDetails.ListGridRows[e.Row].Tag;
            Claim       claim          = claimPaid.GetClaimFromDb();
            bool        isAttachNeeded = (!claimPaid.IsAttachedToClaim);

            if (claim == null)           //Not found in db.
            {
                claim = ClaimSelectionHelper(claimPaid);
                if (claim != null)               //A claim was selected.
                {
                    isAttachNeeded = true;       //Hard attach selected claim to db claim, since user manually picked matching claim.
                }
            }
            if (claim == null)           //Claim not found and user did not select one.
            {
                return;
            }
            //From this point on claim is not null.
            bool isReadOnly = true;

            CreateAttachForClaim(claimPaid, claim.ClaimNum, isAttachNeeded);
            if (claimPaid.IsSplitClaim)
            {
                //Sync ClaimNum for all split claims in the same group, based on user selection.
                claimPaid.GetOtherNotDetachedSplitClaims()
                .ForEach(x => CreateAttachForClaim(x, claim.ClaimNum, isAttachNeeded));
            }
            if (claimPaid.IsProcessed(_listClaimProcs, _listAttaches))
            {
                //If the claim is already received, then we do not allow the user to enter payments.
                //The user can edit the claim to change the status from received if they wish to enter the payments again.
                if (Security.IsAuthorized(Permissions.ClaimView))
                {
                    Patient       pat    = Patients.GetPat(claim.PatNum);
                    Family        fam    = Patients.GetFamily(claim.PatNum);
                    FormClaimEdit formCE = new FormClaimEdit(claim, pat, fam);
                    formCE.ShowDialog();                    //Modal, because the user could edit information in this window.
                }
                isReadOnly = false;
            }
            else if (Security.IsAuthorized(Permissions.InsPayCreate))             //Claim found and is not received.  Date not checked here, but it will be checked when actually creating the check.
            {
                EtransL.ImportEraClaimData(_x835, claimPaid, claim, false);
                RefreshFromDb();                //ClaimProcs could have been split, need to refresh both claimProc list and attaches.
                isReadOnly = false;
            }
            if (isReadOnly)
            {
                FormEtrans835ClaimEdit formC = new FormEtrans835ClaimEdit(_x835, claimPaid);
                formC.Show(this);                //This window is just used to display information.
            }
            if (!gridClaimDetails.IsDisposed)    //Not sure how the grid is sometimes disposed, perhaps because of it being non-modal.
            //Refresh the claim detail row in case something changed above.
            {
                gridClaimDetails.BeginUpdate();
                List <GridRow> listRows = new List <GridRow>()
                {
                    gridClaimDetails.ListGridRows[e.Row]
                };                                          //Row associated to claimPaid
                if (claimPaid.IsSplitClaim)                 //Need to update multiple rows.
                {
                    List <Hx835_Claim> listOtherSplitClaims = claimPaid.GetOtherNotDetachedSplitClaims();
                    List <GridRow>     listAdditionalRows   = gridClaimDetails.ListGridRows
                                                              .Where(x =>
                                                                     x != gridClaimDetails.ListGridRows[e.Row] &&
                                                                     listOtherSplitClaims.Contains((Hx835_Claim)x.Tag)
                                                                     ).ToList();
                    listRows.AddRange(listAdditionalRows);
                }
                SetClaimDetailRows(listRows, listRows.Select(x => (Hx835_Claim)x.Tag).ToList(), true);
                gridClaimDetails.EndUpdate();
            }
        }