コード例 #1
0
        private void CreateIndividual()
        {
            ReportComplex report             = new ReportComplex(true, false);
            bool          isAnyClinicMedical = false; //Used to determine whether or not to display 'Tooth' column

            if (AnyClinicSelectedIsMedical())
            {
                isAnyClinicMedical = true;
            }
            DataTable table = new DataTable();

            try {
                table = RpProcSheet.GetIndividualTable(date1.SelectionStart, date2.SelectionStart, _listProvNums, _listClinicNums, textCode.Text,
                                                       isAnyClinicMedical, checkAllProv.Checked, PrefC.HasClinicsEnabled);
            }
            catch (Exception ex) {
                report.CloseProgressBar();
                string          text   = Lan.g(this, "Error getting report data:") + " " + ex.Message + "\r\n\r\n" + ex.StackTrace;
                MsgBoxCopyPaste msgBox = new MsgBoxCopyPaste(text);
                msgBox.ShowDialog();
                return;
            }
            if (table.Columns.Contains("ToothNum"))
            {
                foreach (DataRow row in table.Rows)
                {
                    row["ToothNum"] = Tooth.GetToothLabel(row["ToothNum"].ToString());
                }
            }
            string subtitleProvs   = ConstructProviderSubtitle();
            string subtitleClinics = ConstructClinicSubtitle();
            Font   font            = new Font("Tahoma", 9);
            Font   fontBold        = new Font("Tahoma", 9, FontStyle.Bold);
            Font   fontTitle       = new Font("Tahoma", 17, FontStyle.Bold);
            Font   fontSubTitle    = new Font("Tahoma", 10, FontStyle.Bold);

            report.ReportName = Lan.g(this, "Daily Procedures");
            report.AddTitle("Title", Lan.g(this, "Daily Procedures"), fontTitle);
            report.AddSubTitle("Practice Title", PrefC.GetString(PrefName.PracticeTitle), fontSubTitle);
            report.AddSubTitle("Dates of Report", date1.SelectionStart.ToString("d") + " - " + date2.SelectionStart.ToString("d"), fontSubTitle);
            report.AddSubTitle("Providers", subtitleProvs, fontSubTitle);
            if (PrefC.HasClinicsEnabled)
            {
                report.AddSubTitle("Clinics", subtitleClinics, fontSubTitle);
            }
            QueryObject query = report.AddQuery(table, Lan.g(this, "Date") + ": " + DateTimeOD.Today.ToString("d"));

            query.AddColumn(Lan.g(this, "Date"), 90, FieldValueType.Date, font);
            query.GetColumnDetail(Lan.g(this, "Date")).StringFormat = "d";
            query.AddColumn(Lan.g(this, "Patient Name"), 150, FieldValueType.String, font);
            if (isAnyClinicMedical)
            {
                query.AddColumn(Lan.g(this, "Code"), 140, FieldValueType.String, font);
            }
            else
            {
                query.AddColumn(Lan.g(this, "Code"), 70, FieldValueType.String, font);
                query.AddColumn("Tooth", 40, FieldValueType.String, font);
            }
            query.AddColumn(Lan.g(this, "Description"), 140, FieldValueType.String, font);
            query.AddColumn(Lan.g(this, "Provider"), 80, FieldValueType.String, font);
            if (PrefC.HasClinicsEnabled)
            {
                query.AddColumn(Lan.g(this, "Clinic"), 100, FieldValueType.String, font);
            }
            query.AddColumn(Lan.g(this, "Fee"), 80, FieldValueType.Number, font);
            report.AddPageNum(font);
            if (!report.SubmitQueries())
            {
                return;
            }
            FormReportComplex FormR = new FormReportComplex(report);

            FormR.ShowDialog();
            DialogResult = DialogResult.OK;
        }
コード例 #2
0
        private void butApptProcs_Click(object sender, EventArgs e)
        {
            if (!MsgBox.Show(this, MsgBoxButtons.OKCancel, "This will fix procedure descriptions in the Appt module that aren't correctly showing tooth numbers.\r\nContinue?"))
            {
                return;
            }
            Cursor = Cursors.WaitCursor;
            //The ApptProcDescript region is also in FormProcEdit.SaveAndClose() and FormApptEdit.UpdateToDB()  Make any changes there as well.
            #region ApptProcDescript
            List <long>   aptNums = new List <long>();
            Appointment[] aptList = Appointments.GetForPeriod(DateTime.Now.Date.AddMonths(-6), DateTime.MaxValue.AddDays(-10));
            for (int i = 0; i < aptList.Length; i++)
            {
                aptNums.Add(aptList[i].AptNum);
            }
            for (int i = 0; i < aptList.Length; i++)
            {
                //This gets the list of procedures in the correct order.
                DataTable   procTable = Appointments.GetProcTable(aptList[i].PatNum.ToString(), aptList[i].AptNum.ToString(), ((int)aptList[i].AptStatus).ToString(), aptList[i].AptDateTime.ToString());
                Appointment newApt    = aptList[i].Clone();
                newApt.ProcDescript = "";
                newApt.ProcsColored = "";
                int count = 0;
                for (int j = 0; j < procTable.Rows.Count; j++)
                {
                    if (procTable.Rows[j]["attached"].ToString() != "1")
                    {
                        continue;
                    }
                    string procDescOne = "";
                    string procCode    = procTable.Rows[j]["ProcCode"].ToString();
                    if (count > 0)
                    {
                        newApt.ProcDescript += ", ";
                    }
                    switch (procTable.Rows[j]["TreatArea"].ToString())
                    {
                    case "1":                                                        //TreatmentArea.Surf:
                        procDescOne += "#" + Tooth.GetToothLabel(procTable.Rows[j]["ToothNum"].ToString()) + "-"
                                       + procTable.Rows[j]["Surf"].ToString() + "-"; //""#12-MOD-"
                        break;

                    case "2":                                                                                     //TreatmentArea.Tooth:
                        procDescOne += "#" + Tooth.GetToothLabel(procTable.Rows[j]["ToothNum"].ToString()) + "-"; //"#12-"
                        break;

                    default:                            //area 3 or 0 (mouth)
                        break;

                    case "4":                                                      //TreatmentArea.Quad:
                        procDescOne += procTable.Rows[j]["Surf"].ToString() + "-"; //"UL-"
                        break;

                    case "5":                                                            //TreatmentArea.Sextant:
                        procDescOne += "S" + procTable.Rows[j]["Surf"].ToString() + "-"; //"S2-"
                        break;

                    case "6":                                                      //TreatmentArea.Arch:
                        procDescOne += procTable.Rows[j]["Surf"].ToString() + "-"; //"U-"
                        break;

                    case "7":                            //TreatmentArea.ToothRange:
                        //strLine+=table.Rows[j][13].ToString()+" ";//don't show range
                        break;
                    }
                    procDescOne         += procTable.Rows[j]["AbbrDesc"].ToString();
                    newApt.ProcDescript += procDescOne;
                    //Color and previous date are determined by ProcApptColor object
                    ProcApptColor        pac    = ProcApptColors.GetMatch(procCode);
                    System.Drawing.Color pColor = System.Drawing.Color.Black;
                    string prevDateString       = "";
                    if (pac != null)
                    {
                        pColor = pac.ColorText;
                        if (pac.ShowPreviousDate)
                        {
                            prevDateString = Procedures.GetRecentProcDateString(newApt.PatNum, newApt.AptDateTime, pac.CodeRange);
                            if (prevDateString != "")
                            {
                                prevDateString = " (" + prevDateString + ")";
                            }
                        }
                    }
                    newApt.ProcsColored += "<span color=\"" + pColor.ToArgb().ToString() + "\">" + procDescOne + prevDateString + "</span>";
                    count++;
                }
                Appointments.Update(newApt, aptList[i]);
            }
            #endregion
            Cursor = Cursors.Default;
            MsgBox.Show(this, "Done. Please refresh Appt module to see the changes.");
        }
コード例 #3
0
        private void butApptProcs_Click(object sender, EventArgs e)
        {
            if (!MsgBox.Show(this, MsgBoxButtons.OKCancel, "This will fix procedure descriptions in the Appt module that aren't correctly showing tooth numbers.\r\nContinue?"))
            {
                return;
            }
            Cursor = Cursors.WaitCursor;
            //The ApptProcDescript region is also in FormProcEdit.SaveAndClose() and FormDatabaseMaintenance.butApptProcs_Click()  Make any changes there as well.
            #region ApptProcDescript
            List <long>   aptNums = new List <long>();
            Appointment[] aptList = Appointments.GetForPeriod(DateTime.Now.Date.AddMonths(-6), DateTime.MaxValue.AddDays(-10));
            for (int i = 0; i < aptList.Length; i++)
            {
                aptNums.Add(aptList[i].AptNum);
            }
            List <Procedure> procsMultApts = Procedures.GetProcsMultApts(aptNums);
            for (int i = 0; i < aptList.Length; i++)
            {
                Appointment newApt = aptList[i].Clone();
                newApt.ProcDescript = "";
                Procedure[] procsForOne  = Procedures.GetProcsOneApt(aptList[i].AptNum, procsMultApts);
                string      procDescript = "";
                for (int j = 0; j < procsForOne.Length; j++)
                {
                    ProcedureCode procCode = ProcedureCodes.GetProcCodeFromDb(procsForOne[j].CodeNum);
                    if (j > 0)
                    {
                        procDescript += ", ";
                    }
                    switch (procCode.TreatArea)
                    {
                    case TreatmentArea.Surf:
                        procDescript += "#" + Tooth.GetToothLabel(procsForOne[j].ToothNum) + "-"
                                        + procsForOne[j].Surf + "-";             //""#12-MOD-"
                        break;

                    case TreatmentArea.Tooth:
                        procDescript += "#" + Tooth.GetToothLabel(procsForOne[j].ToothNum) + "-";                          //"#12-"
                        break;

                    case TreatmentArea.Quad:
                        procDescript += procsForOne[j].Surf + "-";                            //"UL-"
                        break;

                    case TreatmentArea.Sextant:
                        procDescript += "S" + procsForOne[j].Surf + "-";                          //"S2-"
                        break;

                    case TreatmentArea.Arch:
                        procDescript += procsForOne[j].Surf + "-";                            //"U-"
                        break;

                    case TreatmentArea.ToothRange:
                        break;

                    default:                            //area 3 or 0 (mouth)
                        break;
                    }
                    procDescript += procCode.AbbrDesc;
                }
                newApt.ProcDescript = procDescript;
                Appointments.Update(newApt, aptList[i]);
            }
            #endregion
            Cursor = Cursors.Default;
            MsgBox.Show(this, "Done. Please refresh Appt module to see the changes.");
        }