//Account Module private void PatientDashboardDataEventArgsFactory(AccountModules.LoadData data) { //DataSetMain=data.DataSetMain; Not implementing this for now, as I don't think it's necessary. Fam = data.Fam; PatNote = data.PatNote; ListPatFields = data.ArrPatFields.ToList(); ListInsSubs = data.ListInsSubs; ListInsPlans = data.ListInsPlans; ListPatPlans = data.ListPatPlans; ListBenefits = data.ListBenefits; ListClaims = data.ListClaims; HistList = data.HistList; ListPrePayments = data.ListPrePayments; ListRepeatCharges = data.ArrRepeatCharges.ToList(); ///<summary>Key: PatPlanNum, Value: The date of the last ortho claim for this plan.</summary> DictDateLastOrthoClaims = data.DictDateLastOrthoClaims; FirstOrthoProcDate = data.FirstOrthoProcDate; ListFieldDefLinksAcct = data.ListFieldDefLinksAcct; ListMergeLinks = data.ListMergeLinks; //AccountModules.LoadData does not have a Pat, so we will figure it out from the data we do have. long patNum = GetPatNumFromData(); Pat = Fam?.GetPatient(patNum); //No db calls. }
private void butAdd_Click(object sender, EventArgs e) { FormProcCodes FormP = new FormProcCodes(); FormP.IsSelectionMode = true; FormP.ShowDialog(); if (FormP.DialogResult != DialogResult.OK) { return; } Procedure ProcCur; ProcCur = new Procedure(); //going to be an insert, so no need to set Procedures.CurOld ProcCur.CodeNum = FormP.SelectedCodeNum; //procnum ProcCur.PatNum = AptCur.PatNum; //aptnum //proccode //ProcCur.CodeNum=ProcedureCodes.GetProcCode(ProcCur.OldCode).CodeNum;//already set ProcCur.ProcDate = DateTime.Today; ProcCur.DateTP = ProcCur.ProcDate; //int totUnits = ProcCur.BaseUnits + ProcCur.UnitQty; InsPlan priplan = null; InsSub prisub = null; Family fam = Patients.GetFamily(AptCur.PatNum); Patient pat = fam.GetPatient(AptCur.PatNum); List <InsSub> subList = InsSubs.RefreshForFam(fam); List <InsPlan> planList = InsPlans.RefreshForSubList(subList); List <PatPlan> patPlanList = PatPlans.Refresh(pat.PatNum); if (patPlanList.Count > 0) { prisub = InsSubs.GetSub(patPlanList[0].InsSubNum, subList); priplan = InsPlans.GetPlan(prisub.PlanNum, planList); } //Check if it's a medical procedure. double insfee; bool isMed = false; ProcCur.MedicalCode = ProcedureCodes.GetProcCode(ProcCur.CodeNum).MedicalCode; if (ProcCur.MedicalCode != null && ProcCur.MedicalCode != "") { isMed = true; } //Get fee schedule for medical or dental. long feeSch; if (isMed) { feeSch = Fees.GetMedFeeSched(pat, planList, patPlanList, subList); } else { feeSch = Fees.GetFeeSched(pat, planList, patPlanList, subList); } //Get the fee amount for medical or dental. if (PrefC.GetBool(PrefName.MedicalFeeUsedForNewProcs) && isMed) { insfee = Fees.GetAmount0(ProcedureCodes.GetProcCode(ProcCur.MedicalCode).CodeNum, feeSch); } else { insfee = Fees.GetAmount0(ProcCur.CodeNum, feeSch); } if (priplan != null && priplan.PlanType == "p") //PPO { double standardfee = Fees.GetAmount0(ProcCur.CodeNum, Providers.GetProv(Patients.GetProvNum(pat)).FeeSched); if (standardfee > insfee) { ProcCur.ProcFee = standardfee; } else { ProcCur.ProcFee = insfee; } } else { ProcCur.ProcFee = insfee; } //surf //ToothNum //Procedures.Cur.ToothRange //ProcCur.NoBillIns=ProcedureCodes.GetProcCode(ProcCur.ProcCode).NoBillIns; ProcCur.Priority = 0; ProcCur.ProcStatus = ProcStat.TP; if (ProcedureCodes.GetProcCode(ProcCur.CodeNum).IsHygiene && pat.SecProv != 0) { ProcCur.ProvNum = pat.SecProv; } else { ProcCur.ProvNum = pat.PriProv; } ProcCur.Note = ""; ProcCur.ClinicNum = pat.ClinicNum; //dx //nextaptnum ProcCur.DateEntryC = DateTime.Now; ProcCur.BaseUnits = ProcedureCodes.GetProcCode(ProcCur.CodeNum).BaseUnits; ProcCur.SiteNum = pat.SiteNum; ProcCur.RevCode = ProcedureCodes.GetProcCode(ProcCur.CodeNum).RevenueCodeDefault; Procedures.Insert(ProcCur); List <Benefit> benefitList = Benefits.Refresh(patPlanList, subList); Procedures.ComputeEstimates(ProcCur, pat.PatNum, new List <ClaimProc>(), true, planList, patPlanList, benefitList, pat.Age, subList); FormProcEdit FormPE = new FormProcEdit(ProcCur, pat.Copy(), fam); FormPE.IsNew = true; FormPE.ShowDialog(); if (FormPE.DialogResult == DialogResult.Cancel) { //any created claimprocs are automatically deleted from within procEdit window. try{ Procedures.Delete(ProcCur.ProcNum); //also deletes the claimprocs } catch (Exception ex) { MessageBox.Show(ex.Message); } } else if (Programs.UsingOrion) { //No need to synch with Orion mode. } else { //Default is set to TP, so Synch is usually not needed. if (ProcCur.ProcStatus == ProcStat.C || ProcCur.ProcStatus == ProcStat.EC || ProcCur.ProcStatus == ProcStat.EO) { Recalls.Synch(pat.PatNum); } } FillGrid(); }
private void FormReferralEdit_Load(object sender, System.EventArgs e) { listSpecialty.Items.Clear(); for (int i = 0; i < Enum.GetNames(typeof(DentalSpecialty)).Length; i++) { listSpecialty.Items.Add(Lan.g("enumDentalSpecialty" , Enum.GetNames(typeof(DentalSpecialty))[i])); } if (IsPatient) { if (IsNew) { Text = Lan.g(this, "Add Referral"); Family FamCur = Patients.GetFamily(RefCur.PatNum); Patient PatCur = FamCur.GetPatient(RefCur.PatNum); RefCur.Address = PatCur.Address; RefCur.Address2 = PatCur.Address2; RefCur.City = PatCur.City; RefCur.EMail = PatCur.Email; RefCur.FName = PatCur.FName; RefCur.LName = PatCur.LName; RefCur.MName = PatCur.MiddleI; //RefCur.PatNum=Patients.Cur.PatNum;//already handled RefCur.SSN = PatCur.SSN; RefCur.Telephone = TelephoneNumbers.FormatNumbersExactTen(PatCur.HmPhone); if (PatCur.WkPhone == "") { RefCur.Phone2 = PatCur.WirelessPhone; } else { RefCur.Phone2 = PatCur.WkPhone; } RefCur.ST = PatCur.State; RefCur.Zip = PatCur.Zip; } labelPatient.Visible = true; textLName.ReadOnly = true; textFName.ReadOnly = true; textMName.ReadOnly = true; textTitle.ReadOnly = true; textAddress.ReadOnly = true; textAddress2.ReadOnly = true; textCity.ReadOnly = true; textST.ReadOnly = true; textZip.ReadOnly = true; checkNotPerson.Enabled = false; textPhone1.ReadOnly = true; textPhone2.ReadOnly = true; textPhone3.ReadOnly = true; textSSN.ReadOnly = true; radioTIN.Enabled = false; textEmail.ReadOnly = true; listSpecialty.Enabled = false; listSpecialty.SelectedIndex = -1; butNone.Enabled = false; textNotes.Select(); } else //non patient { if (IsNew) { this.Text = Lan.g(this, "Add Referral"); RefCur = new Referral(); RefCur.Specialty = DentalSpecialty.General; } listSpecialty.SelectedIndex = (int)RefCur.Specialty; textLName.Select(); } checkNotPerson.Checked = RefCur.NotPerson; checkHidden.Checked = RefCur.IsHidden; textLName.Text = RefCur.LName; textFName.Text = RefCur.FName; textMName.Text = RefCur.MName; textTitle.Text = RefCur.Title; textAddress.Text = RefCur.Address; textAddress2.Text = RefCur.Address2; textCity.Text = RefCur.City; textST.Text = RefCur.ST; textZip.Text = RefCur.Zip; string phone = RefCur.Telephone; if (phone != null && phone.Length == 10) { textPhone1.Text = phone.Substring(0, 3); textPhone2.Text = phone.Substring(3, 3); textPhone3.Text = phone.Substring(6); } textSSN.Text = RefCur.SSN; if (RefCur.UsingTIN) { radioTIN.Checked = true; } else { radioSSN.Checked = true; } textNationalProvID.Text = RefCur.NationalProvID; textOtherPhone.Text = RefCur.Phone2; textEmail.Text = RefCur.EMail; textNotes.Text = RefCur.Note; //Patients using: string[] patsTo = RefAttaches.GetPats(RefCur.ReferralNum, false); string[] patsFrom = RefAttaches.GetPats(RefCur.ReferralNum, true); textPatientsNumTo.Text = patsTo.Length.ToString(); textPatientsNumFrom.Text = patsFrom.Length.ToString(); comboPatientsTo.Items.Clear(); comboPatientsFrom.Items.Clear(); for (int i = 0; i < patsTo.Length; i++) { comboPatientsTo.Items.Add(patsTo[i]); } for (int i = 0; i < patsFrom.Length; i++) { comboPatientsFrom.Items.Add(patsFrom[i]); } if (patsTo.Length > 0) { comboPatientsTo.SelectedIndex = 0; } if (patsFrom.Length > 0) { comboPatientsFrom.SelectedIndex = 0; } }