Esempio n. 1
0
 private bool AnyClinicSelectedIsMedical()
 {
     if (!PrefC.HasClinicsEnabled)
     {
         return(Clinics.IsMedicalPracticeOrClinic(0));    //Check if the practice is medical
     }
     if (Security.CurUser.ClinicIsRestricted)             //User can only view one clinic
     {
         return(Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum));
     }
     for (int i = 0; i < listClin.SelectedIndices.Count; i++)
     {
         if (listClin.SelectedIndices[i] == 0 &&           //The user selected 'Unassigned'
             Clinics.IsMedicalPracticeOrClinic(0))                        //And the practice is medical
         {
             return(true);
         }
         //if(Clinics.IsMedicalPracticeOrClinic(_listClinics[listClin.SelectedIndices[i]-1].ClinicNum)) {//Minus 1 from the selected index
         if (listClin.SelectedIndices[i] != 0 && Clinics.IsMedicalPracticeOrClinic(_listClinics[listClin.SelectedIndices[i] - 1].ClinicNum))             //Minus 1 from the selected index
         {
             return(true);
         }
     }
     return(false);
 }
Esempio n. 2
0
        private void butOK_Click(object sender, System.EventArgs e)
        {
            if (date2.SelectionStart < date1.SelectionStart)
            {
                MsgBox.Show(this, "End date cannot be before start date.");
                return;
            }
            ReportSimpleGrid report = new ReportSimpleGrid();

            report.Query = @"SELECT SGDate,ProvName,County,county.CountyCode,
				site.Description AS schoolName,site.Note AS schoolCode,site.PlaceService,screen.GradeLevel,Age,Birthdate,RaceOld,Gender,Urgency,"                ;
            if (!Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
            {
                report.Query += "HasCaries,EarlyChildCaries,CariesExperience,ExistingSealants,NeedsSealants,MissingAllTeeth,";
            }
            report.Query += @"Comments 
				FROM screen
				LEFT JOIN screengroup ON screengroup.ScreenGroupNum=screen.ScreenGroupNum
				LEFT JOIN site ON screengroup.GradeSchool=site.Description
				LEFT JOIN county ON screengroup.County=county.CountyName
				WHERE SGDate >= "                 + POut.Date(date1.SelectionStart) + " "
                            + "AND SGDate <= " + POut.Date(date2.SelectionStart);
            FormQuery2 = new FormQuery(report);
            FormQuery2.textTitle.Text = "RawScreeningData" + DateTime.Today.ToString("MMddyyyy");
            FormQuery2.SubmitQuery();
            FormQuery2.ShowDialog();
            DialogResult = DialogResult.OK;
        }
Esempio n. 3
0
        ///<Summary>Surround with try-catch.</Summary>
        private void SaveGridChanges()
        {
            //validate all grid cells
            double dbl;
            int    toothIndexOffset = 0;

            if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
            {
                toothIndexOffset = 1;
            }
            for (int i = 0; i < gridMain.ListGridRows.Count; i++)
            {
                if (gridMain.ListGridRows[i].Cells[4 - toothIndexOffset].Text != "")
                {
                    try{
                        dbl = Convert.ToDouble(gridMain.ListGridRows[i].Cells[4 - toothIndexOffset].Text);
                    }
                    catch {
                        throw new ApplicationException(Lan.g(this, "Amount not valid: ") + gridMain.ListGridRows[i].Cells[4 - toothIndexOffset].Text);
                    }
                }
            }
            for (int i = 0; i < ClaimProcsToEdit.Count; i++)
            {
                ClaimProcsToEdit[i].InsPayEst = PIn.Double(gridMain.ListGridRows[i].Cells[4 - toothIndexOffset].Text);
                ClaimProcsToEdit[i].Remarks   = gridMain.ListGridRows[i].Cells[5 - toothIndexOffset].Text;
            }
        }
Esempio n. 4
0
 public void RefreshButtons()
 {
     Buttons[0].Caption = Lan.g(this, "Appts");
     Buttons[0].Image   = imageList32.Images[ODColorTheme.OutlookApptImageIndex];
     Buttons[1].Caption = Lan.g(this, "Family");
     Buttons[1].Image   = imageList32.Images[ODColorTheme.OutlookFamilyImageIndex];
     Buttons[2].Caption = Lan.g(this, "Account");
     Buttons[2].Image   = imageList32.Images[ODColorTheme.OutlookAcctImageIndex];
     Buttons[3].Caption = Lan.g(this, "Treat' Plan");
     Buttons[3].Image   = imageList32.Images[ODColorTheme.OutlookTreatPlanImageIndex];
     Buttons[4].Caption = Lan.g(this, "Chart");
     Buttons[4].Image   = imageList32.Images[ODColorTheme.OutlookChartImageIndex];
     Buttons[5].Caption = Lan.g(this, "Images");
     Buttons[5].Image   = imageList32.Images[ODColorTheme.OutlookImagesImageIndex];
     Buttons[6].Caption = Lan.g(this, "Manage");
     Buttons[6].Image   = imageList32.Images[ODColorTheme.OutlookManageImageIndex];
     if (PrefC.GetBool(PrefName.EasyHideClinical))
     {
         Buttons[4].Caption = Lan.g(this, "Procs");
     }
     if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
     {
         Buttons[3].Image = imageList32.Images[ODColorTheme.OutlookEcwTreatPlanImageIndex];
         Buttons[4].Image = imageList32.Images[ODColorTheme.OutlookEcwChartImageIndex];
     }
 }
Esempio n. 5
0
 private void FormProcCodeNew_Load(object sender, EventArgs e)
 {
     ProcedureCodes.RefreshCache();
     listType.Items.Add(Lan.g(this, "none"));
     listType.Items.Add(Lan.g(this, "Exam"));
     listType.Items.Add(Lan.g(this, "Xray"));
     listType.Items.Add(Lan.g(this, "Prophy"));
     listType.Items.Add(Lan.g(this, "Fluoride"));
     listType.Items.Add(Lan.g(this, "Sealant"));
     listType.Items.Add(Lan.g(this, "Amalgam"));
     listType.Items.Add(Lan.g(this, "Composite, Anterior"));
     listType.Items.Add(Lan.g(this, "Composite, Posterior"));
     listType.Items.Add(Lan.g(this, "Buildup/Post"));
     listType.Items.Add(Lan.g(this, "Pulpotomy"));
     listType.Items.Add(Lan.g(this, "RCT"));
     listType.Items.Add(Lan.g(this, "SRP"));
     listType.Items.Add(Lan.g(this, "Denture"));
     listType.Items.Add(Lan.g(this, "RPD"));
     listType.Items.Add(Lan.g(this, "Denture Repair"));
     listType.Items.Add(Lan.g(this, "Reline"));
     listType.Items.Add(Lan.g(this, "Ceramic Inlay"));
     listType.Items.Add(Lan.g(this, "Metallic Inlay"));
     listType.Items.Add(Lan.g(this, "Whitening"));
     listType.Items.Add(Lan.g(this, "All-Ceramic Crown"));
     listType.Items.Add(Lan.g(this, "PFM Crown"));
     listType.Items.Add(Lan.g(this, "Full Gold Crown"));
     listType.Items.Add(Lan.g(this, "Bridge Pontic or Retainer - Ceramic"));
     listType.Items.Add(Lan.g(this, "Bridge Pontic or Retainer - PFM"));
     listType.Items.Add(Lan.g(this, "Bridge Pontic or Retainer - Metal"));
     listType.Items.Add(Lan.g(this, "Extraction"));
     listType.Items.Add(Lan.g(this, "Ortho"));
     listType.Items.Add(Lan.g(this, "Nitrous"));
     if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
     {
         labelListType.Visible  = false;
         listType.Visible       = false;
         labelTreatArea.Visible = false;
         comboTreatArea.Visible = false;
     }
     listType.SelectedIndex = 0;
     for (int i = 0; i < Enum.GetNames(typeof(ToothPaintingType)).Length; i++)
     {
         comboPaintType.Items.Add(Enum.GetNames(typeof(ToothPaintingType))[i]);
     }
     comboPaintType.SelectedIndex = (int)ToothPaintingType.None;
     for (int i = 1; i < Enum.GetNames(typeof(TreatmentArea)).Length; i++)
     {
         comboTreatArea.Items.Add(Lan.g(this, Enum.GetNames(typeof(TreatmentArea))[i]));
     }
     comboTreatArea.SelectedIndex = (int)TreatmentArea.Mouth - 1;
     _listProcCodeCatDefs         = Defs.GetDefsForCategory(DefCat.ProcCodeCats, true);
     for (int i = 0; i < _listProcCodeCatDefs.Count; i++)
     {
         comboCategory.Items.Add(_listProcCodeCatDefs[i].ItemName);
     }
     comboCategory.SelectedIndex = 0;
     textNewCode.Focus();
     textNewCode.Select(textNewCode.Text.Length, 1);
 }
Esempio n. 6
0
 private void FormPrinterSetup_Load(object sender, System.EventArgs e)
 {
     checkSimple.Checked = PrefC.GetBool(PrefName.EasyHidePrinters);
     SetSimple();
     SetControls(this);
     if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
     {
         labelTPandPerio.Text = Lan.g(this, "Treatment Plans");
     }
 }
Esempio n. 7
0
 ///<summary></summary>
 public void FormDocInfo_Load(object sender, System.EventArgs e)
 {
     if (_isOkDisabled)
     {
         butOK.Enabled = false;
     }
     //if (Docs.Cur.FileName.Equals(null))
     listCategory.Items.Clear();
     _listImageCatDefs = Defs.GetDefsForCategory(DefCat.ImageCats, true);
     for (int i = 0; i < _listImageCatDefs.Count; i++)
     {
         string folderName = _listImageCatDefs[i].ItemName;
         listCategory.Items.Add(folderName);
         if (i == 0 || _listImageCatDefs[i].DefNum == DocCur.DocCategory || folderName == initialSelection)
         {
             listCategory.SelectedIndex = i;
         }
     }
     listType.Items.Clear();
     listType.Items.AddRange(Enum.GetNames(typeof(ImageType)));
     listType.SelectedIndex = (int)DocCur.ImgType;
     textToothNumbers.Text  = Tooth.FormatRangeForDisplay(DocCur.ToothNumbers);
     textDate.Text          = DocCur.DateCreated.ToShortDateString();
     textTime.Text          = DocCur.DateCreated.ToLongTimeString();
     textDescript.Text      = DocCur.Description;
     if (PrefC.AtoZfolderUsed == DataStorageType.LocalAtoZ)
     {
         string patFolder = ImageStore.GetPatientFolder(PatCur, ImageStore.GetPreferredAtoZpath());
         textFileName.Text = ODFileUtils.CombinePaths(patFolder, DocCur.FileName);
         if (File.Exists(textFileName.Text))
         {
             FileInfo fileInfo = new FileInfo(textFileName.Text);
             textSize.Text = fileInfo.Length.ToString("n0");
         }
     }
     else if (CloudStorage.IsCloudStorage)
     {
         string patFolder = ImageStore.GetPatientFolder(PatCur, "");
         textFileName.Text = ODFileUtils.CombinePaths(patFolder, DocCur.FileName, '/');
     }
     else
     {
         labelFileName.Visible = false;
         textFileName.Visible  = false;
         butOpen.Visible       = false;
         textSize.Text         = DocCur.RawBase64.Length.ToString("n0");
     }
     textToothNumbers.Text = Tooth.FormatRangeForDisplay(DocCur.ToothNumbers);
     //textNote.Text=DocCur.Note;
     if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
     {
         labelToothNums.Visible   = false;
         textToothNumbers.Visible = false;
     }
 }
Esempio n. 8
0
        private void FormClaimPayTotal_Shown(object sender, EventArgs e)
        {
            int toothIndexOffset = 0;

            if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
            {
                toothIndexOffset = 1;
            }
            InsPlan plan = InsPlans.GetPlan(ClaimProcsToEdit[0].PlanNum, PlanList);

            gridMain.SetSelected(new Point(4 - toothIndexOffset, 0));
        }
Esempio n. 9
0
 private void FormProcButtonQuickEdit_Load(object sender, EventArgs e)
 {
     textDescript.Text      = pbqCur.Description;
     textProcedureCode.Text = pbqCur.CodeValue;
     textSurfaces.Text      = pbqCur.Surf;
     checkIsLabel.Checked   = pbqCur.IsLabel;
     if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
     {
         labelSurfaces.Visible = false;
         textSurfaces.Visible  = false;
     }
 }
Esempio n. 10
0
        private void FillGrid()
        {
            //Changes made in this window do not get saved until after this window closes.
            //But if you double click on a row, then you will end up saving.  That shouldn't hurt anything, but could be improved.
            //also calculates totals for this "payment"
            //the payment itself is imaginary and is simply the sum of the claimprocs on this form
            gridMain.BeginUpdate();
            gridMain.ListGridColumns.Clear();
            GridColumn col;

            if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
            {
                col = new GridColumn(Lan.g(this, "Code"), 85);
                gridMain.ListGridColumns.Add(col);
            }
            else
            {
                col = new GridColumn(Lan.g(this, "Code"), 50);
                gridMain.ListGridColumns.Add(col);
                col = new GridColumn(Lan.g(this, "Tth"), 35);
                gridMain.ListGridColumns.Add(col);
            }
            col = new GridColumn(Lan.g(this, "Description"), 120);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g(this, "Fee"), 55, HorizontalAlignment.Right);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g(this, "Estimate"), 55, HorizontalAlignment.Right, true);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g(this, "Remarks"), 170, true);
            gridMain.ListGridColumns.Add(col);
            gridMain.ListGridRows.Clear();
            GridRow   row;
            Procedure ProcCur;

            for (int i = 0; i < ClaimProcsToEdit.Count; i++)
            {
                row = new GridRow();
                //for pre-auths, there are no total payments, so ProcNum must be >0
                ProcCur = Procedures.GetProcFromList(ProcList, ClaimProcsToEdit[i].ProcNum);
                row.Cells.Add(ProcedureCodes.GetProcCode(ProcCur.CodeNum).ProcCode);
                if (!Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
                {
                    row.Cells.Add(Tooth.ToInternat(ProcCur.ToothNum));
                }
                row.Cells.Add(ProcedureCodes.GetProcCode(ProcCur.CodeNum).Descript);
                row.Cells.Add(ClaimProcsToEdit[i].FeeBilled.ToString("F"));
                row.Cells.Add(ClaimProcsToEdit[i].InsPayEst.ToString("F"));
                row.Cells.Add(ClaimProcsToEdit[i].Remarks);
                gridMain.ListGridRows.Add(row);
            }
            gridMain.EndUpdate();
            FillTotals();
        }
Esempio n. 11
0
 private void FormProcTPEdit_Load(object sender, System.EventArgs e)
 {
     //this window never comes up for new TP.  Always saved ahead of time.
     if (!Security.IsAuthorized(Permissions.TreatPlanEdit, DateTP) || _isSigned)
     {
         if (_isSigned)
         {
             labelWarning.Visible = true;
         }
         butOK.Enabled     = false;
         butDelete.Enabled = false;
     }
     comboPriority.Items.Add(Lan.g(this, "none"));
     comboPriority.SelectedIndex = 0;
     _listTxPriorityDefs         = Defs.GetDefsForCategory(DefCat.TxPriorities, true);
     for (int i = 0; i < _listTxPriorityDefs.Count; i++)
     {
         comboPriority.Items.Add(_listTxPriorityDefs[i].ItemName);
         if (ProcCur.Priority == _listTxPriorityDefs[i].DefNum)
         {
             comboPriority.SelectedIndex = i + 1;
         }
     }
     textToothNumTP.Text = ProcCur.ToothNumTP;
     textSurf.Text       = ProcCur.Surf;    //already converted to international format before saved to db.
     textCode.Text       = ProcCur.ProcCode;
     textDescript.Text   = ProcCur.Descript;
     textFeeAmt.Text     = ProcCur.FeeAmt.ToString("F");
     textPriInsAmt.Text  = ProcCur.PriInsAmt.ToString("F");
     textSecInsAmt.Text  = ProcCur.SecInsAmt.ToString("F");
     textDiscount.Text   = ProcCur.Discount.ToString("F");
     textPatAmt.Text     = ProcCur.PatAmt.ToString("F");
     textPrognosis.Text  = ProcCur.Prognosis;
     textDx.Text         = ProcCur.Dx;
     textProcAbbr.Text   = ProcCur.ProcAbbr;
     textFeeAllowed.Text = ProcCur.FeeAllowed.ToString("F");
     if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
     {
         labelToothNum.Visible  = false;
         textToothNumTP.Visible = false;
         labelSurface.Visible   = false;
         textSurf.Visible       = false;
     }
 }
Esempio n. 12
0
 private void FormPrinterSetup_Load(object sender, System.EventArgs e)
 {
     PrinterSettings.StringCollection installedPrinters = null;
     try {
         installedPrinters = PrinterSettings.InstalledPrinters;
     }
     catch (Exception ex) {           //do not let the window open if printers cannot be accessed
         FriendlyException.Show(Lan.g(this, "Unable to access installed printers."), ex);
         DialogResult = DialogResult.Cancel;
         return;
     }
     checkSimple.Checked = PrefC.GetBool(PrefName.EasyHidePrinters);
     SetSimple();
     SetControls(this, installedPrinters);
     if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
     {
         labelTPandPerio.Text = Lan.g(this, "Treatment Plans");
     }
 }
Esempio n. 13
0
 ///<summary>If medical only, this will hide the tooth chart and fill the space with the treatement notes text box.  Not for eCWTightOrFull.
 ///This is made public so that it can be called from ContrChart.</summary>
 public static void SetToothChartVisibleHelper(ToothChartWrapper toothChart, RichTextBox textTreatmentNotes, TrackBar trackBar, Label textTrack)
 {
     if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
     {
         toothChart.Visible          = false;
         trackBar.Visible            = false;
         textTrack.Visible           = false;
         textTreatmentNotes.Location = new Point(0, toothChart.Top);
         textTreatmentNotes.Height   = toothChart.Height + 72;          //textTreatmentNotes height is 71, +1 for distance between toothChart and textTreatmentNotes
     }
     else
     {
         toothChart.Visible          = true;
         trackBar.Visible            = true;
         textTrack.Visible           = true;
         textTreatmentNotes.Location = new Point(0, trackBar.Bottom + 1);
         textTreatmentNotes.Height   = 71;
     }
 }
Esempio n. 14
0
        ///<Summary>Fails silently if text is in invalid format.</Summary>
        private void FillTotals()
        {
            double insPayEst        = 0;
            int    toothIndexOffset = 0;

            if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
            {
                toothIndexOffset = 1;
            }
            for (int i = 0; i < gridMain.ListGridRows.Count; i++)
            {
                try {
                    insPayEst += Convert.ToDouble(gridMain.ListGridRows[i].Cells[4 - toothIndexOffset].Text);
                }
                catch {
                }
            }
            textTotal.Text = insPayEst.ToString("F");
        }
Esempio n. 15
0
        private void FormImagingSetup_Load(object sender, System.EventArgs e)
        {
            comboType.Items.Add("B");
            comboType.Items.Add("D");
            _scanDocSelectSourceOld          = ComputerPrefs.LocalComputer.ScanDocSelectSource;
            checkScanDocSelectSource.Checked = _scanDocSelectSourceOld;
            if (ComputerPrefs.LocalComputer.ScanDocShowOptions)
            {
                radioScanDocShowOptions.Checked     = true;
                radioScanDocUseOptionsBelow.Checked = false;
                groupScanningOptions.Enabled        = false;
            }
            else
            {
                radioScanDocShowOptions.Checked     = false;
                radioScanDocUseOptionsBelow.Checked = true;
                groupScanningOptions.Enabled        = true;
            }
            checkScanDocDuplex.Checked    = ComputerPrefs.LocalComputer.ScanDocDuplex;
            checkScanDocGrayscale.Checked = ComputerPrefs.LocalComputer.ScanDocGrayscale;
            textScanDocResolution.Text    = ComputerPrefs.LocalComputer.ScanDocResolution.ToString();
            textScanDocQuality.Text       = ComputerPrefs.LocalComputer.ScanDocQuality.ToString();
            //textScanDocQuality.Text=PrefC.GetLong(PrefName.ScannerCompression).ToString();
            slider.MinVal       = PrefC.GetInt(PrefName.ImageWindowingMin);
            slider.MaxVal       = PrefC.GetInt(PrefName.ImageWindowingMax);
            upDownPort.Value    = ComputerPrefs.LocalComputer.SensorPort;
            comboType.Text      = ComputerPrefs.LocalComputer.SensorType;
            checkBinned.Checked = ComputerPrefs.LocalComputer.SensorBinned;
            int exposureLevelVal = ComputerPrefs.LocalComputer.SensorExposure;

            if (exposureLevelVal < (int)upDownExposure.Minimum || exposureLevelVal > (int)upDownExposure.Maximum)
            {
                exposureLevelVal = (int)upDownExposure.Minimum;              //Play it safe with the default exposure.
            }
            upDownExposure.Value = exposureLevelVal;
            //checkScanDocShowOptions.Checked=PrefC.GetBool(PrefName.ScannerSuppressDialog);
            //textScanDocResolution.Text=PrefC.GetString(PrefName.ScannerResolution);
            if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
            {
                labelPanoBW.Visible = false;
            }
        }
Esempio n. 16
0
        private void FillGrid()
        {
            CreditCalcType credCalc;

            if (_isSimpleView)
            {
                credCalc = CreditCalcType.ExcludeAll;
                groupBreakdown.Visible   = false;
                groupCreditLogic.Visible = false;
            }
            else if (radioIncludeAllCredits.Checked)
            {
                credCalc = CreditCalcType.IncludeAll;
            }
            else if (radioOnlyAllocatedCredits.Checked)
            {
                credCalc = CreditCalcType.AllocatedOnly;
            }
            else
            {
                credCalc = CreditCalcType.ExcludeAll;
            }
            _listAccountCharges = AccountModules.GetListUnpaidAccountCharges(_listProcedures, _listAdjustments,
                                                                             _listPaySplits, _listClaimProcs, _listPayPlanCharges, _listInsPayAsTotal, credCalc, ListSplitsCur);
            gridMain.BeginUpdate();
            gridMain.ListGridColumns.Clear();
            GridColumn col = new GridColumn(Lan.g("TableProcSelect", "Date"), 70);

            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableProcSelect", "Prov"), 55);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableProcSelect", "Code"), 55);
            gridMain.ListGridColumns.Add(col);
            if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
            {
                col = new GridColumn(Lan.g("TableProcSelect", "Description"), 290);
                gridMain.ListGridColumns.Add(col);
            }
            else
            {
                col = new GridColumn(Lan.g("TableProcSelect", "Tooth"), 40);
                gridMain.ListGridColumns.Add(col);
                col = new GridColumn(Lan.g("TableProcSelect", "Description"), 250);
                gridMain.ListGridColumns.Add(col);
            }
            if (credCalc == CreditCalcType.ExcludeAll)
            {
                col = new GridColumn(Lan.g("TableProcSelect", "Amt"), 0, HorizontalAlignment.Right);
                gridMain.ListGridColumns.Add(col);
            }
            else
            {
                col = new GridColumn(Lan.g("TableProcSelect", "Amt Orig"), 60, HorizontalAlignment.Right);
                gridMain.ListGridColumns.Add(col);
                col = new GridColumn(Lan.g("TableProcSelect", "Amt Start"), 60, HorizontalAlignment.Right);
                gridMain.ListGridColumns.Add(col);
                col = new GridColumn(Lan.g("TableProcSelect", "Amt End"), 60, HorizontalAlignment.Right);
                gridMain.ListGridColumns.Add(col);
            }
            gridMain.ListGridRows.Clear();
            GridRow row;

            foreach (AccountEntry entry in _listAccountCharges)
            {
                if ((entry.GetType() != typeof(ProcExtended) || Math.Round(entry.AmountEnd, 3) == 0) && credCalc != CreditCalcType.ExcludeAll)
                {
                    continue;
                }
                Procedure     procCur     = ((ProcExtended)entry.Tag).Proc;
                ProcedureCode procCodeCur = ProcedureCodes.GetProcCode(procCur.CodeNum);
                row = new GridRow();
                row.Cells.Add(procCur.ProcDate.ToShortDateString());
                row.Cells.Add(Providers.GetAbbr(entry.ProvNum));
                row.Cells.Add(procCodeCur.ProcCode);
                if (!Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
                {
                    row.Cells.Add(procCur.ToothNum == "" ? Tooth.SurfTidyFromDbToDisplay(procCur.Surf, procCur.ToothNum) : Tooth.ToInternat(procCur.ToothNum));
                }
                string descriptionText = "";
                if (procCur.ProcStatus == ProcStat.TP)
                {
                    descriptionText = "(TP) ";
                }
                descriptionText += procCodeCur.Descript;
                row.Cells.Add(descriptionText);
                row.Cells.Add(entry.AmountOriginal.ToString("f"));
                if (credCalc != CreditCalcType.ExcludeAll)
                {
                    row.Cells.Add(entry.AmountStart.ToString("f"));
                    row.Cells.Add(entry.AmountEnd.ToString("f"));
                }
                row.Tag = entry;
                gridMain.ListGridRows.Add(row);
            }
            gridMain.EndUpdate();
            if (!_isSimpleView)
            {
                RefreshBreakdown();
            }
        }
Esempio n. 17
0
 private void FormGraphics_Load(object sender, EventArgs e)
 {
     if (ComputerPrefCur == null)
     {
         ComputerPrefCur = ComputerPrefs.LocalComputer;
     }
     else
     {
         if (ComputerPrefCur != ComputerPrefs.LocalComputer)
         {
             _isRemoteEdit = true;
         }
         MsgBox.Show(this, "Warning, editing another computers graphical settings should be done from that computer to ensure the selected settings work."
                     + " We do not recommend editing this way. If you make changes for another computer you should still verifiy that they work on that machine.");
         SecurityLogs.MakeLogEntry(Permissions.GraphicsRemoteEdit, 0, "Edited graphical settings for " + ComputerPrefCur.ComputerName);
     }
     Text += " - " + ComputerPrefCur.ComputerName;
     if (ComputerPrefCur.ComputerOS == PlatformOD.Undefined)          //Remote computer has not updated yet.
     {
         MsgBox.Show(this, "Selected computer needs to be updated before being able to remotely change its graphical settings.");
         DialogResult = DialogResult.Cancel;
         return;
     }
     if (ComputerPrefCur.ComputerOS == PlatformOD.Unix)           //Force simple mode on Unix systems.
     {
         MsgBox.Show(this, "Linux users must use simple tooth chart.");
         radioDirectXChart.Enabled = false;
         radioOpenGLChart.Enabled  = false;
         group3DToothChart.Enabled = false;
         return;
     }
     //ComputerPref computerPref=ComputerPrefs.GetForLocalComputer();
     checkHardwareAccel.Checked   = ComputerPrefCur.GraphicsUseHardware;
     checkDoubleBuffering.Checked = ComputerPrefCur.GraphicsDoubleBuffering;
     selectedFormatNum            = ComputerPrefCur.PreferredPixelFormatNum;
     selectedDirectXFormat        = ComputerPrefCur.DirectXFormat;
     textSelected.Text            = "";
     if (ComputerPrefCur.GraphicsSimple == DrawingMode.Simple2D)
     {
         radioSimpleChart.Checked  = true;
         group3DToothChart.Enabled = false;
     }
     else if (ComputerPrefCur.GraphicsSimple == DrawingMode.DirectX)
     {
         radioDirectXChart.Checked = true;
         group3DToothChart.Enabled = true;
         groupFilters.Enabled      = false;
     }
     else             //OpenGL
     {
         radioOpenGLChart.Checked  = true;
         group3DToothChart.Enabled = true;
         groupFilters.Enabled      = true;
     }
     if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
     {
         radioDirectXChart.Text = "Use DirectX Graphics (recommended)";
         radioSimpleChart.Text  = "Use Simple Graphics";
         radioOpenGLChart.Text  = "Use OpenGL Graphics";
         group3DToothChart.Text = "Options For 3D Graphics";
         label3DChart.Text      = "Most users will never need to change any of these options.  These are only used when the 3D graphics are not working "
                                  + "properly.";
     }
     RefreshFormats();
 }
Esempio n. 18
0
        private void ExecuteReport()
        {
            DateTime dateStart;
            DateTime dateEnd;
            bool     isMedOrClinic;

            if (!DateTime.TryParse(textDateStart.Text, out dateStart))
            {
                MsgBox.Show(this, "Please input a valid date.");
                return;
            }
            if (!DateTime.TryParse(textDateEnd.Text, out dateEnd))
            {
                MsgBox.Show(this, "Please input a valid date.");
                return;
            }
            if (String.IsNullOrWhiteSpace(textCarrier.Text))
            {
                MsgBox.Show(this, "Carrier can not be blank. Please input a value for carrier.");
                return;
            }
            ReportComplex report = new ReportComplex(true, true);

            if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
            {
                isMedOrClinic = true;
            }
            else
            {
                isMedOrClinic = false;
            }
            Font font         = new Font("Tahoma", 9);
            Font fontTitle    = new Font("Tahoma", 17, FontStyle.Bold);
            Font fontSubTitle = new Font("Tahoma", 10, FontStyle.Bold);

            report.AddTitle("Title", Lan.g(this, "Capitation Utilization"), fontTitle);
            report.AddSubTitle("PracTitle", PrefC.GetString(PrefName.PracticeTitle), fontSubTitle);
            report.AddSubTitle("Date", textDateStart.Text + " - " + textDateEnd.Text, fontSubTitle);
            DataTable   table = RpCapitation.GetCapitationTable(dateStart, dateEnd, textCarrier.Text, isMedOrClinic);
            QueryObject query = report.AddQuery(table, "", "", SplitByKind.None, 1, true);

            query.AddColumn("Carrier", 150, FieldValueType.String, font);
            query.GetColumnDetail("Carrier").SuppressIfDuplicate = true;
            query.AddColumn("Subscriber", 120, FieldValueType.String, font);
            query.GetColumnDetail("Subscriber").SuppressIfDuplicate = true;
            query.AddColumn("Subsc SSN", 70, FieldValueType.String, font);
            query.GetColumnDetail("Subsc SSN").SuppressIfDuplicate = true;
            query.AddColumn("Patient", 120, FieldValueType.String, font);
            query.AddColumn("Pat DOB", 80, FieldValueType.Date, font);
            if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
            {
                query.AddColumn("Code", 140, FieldValueType.String, font);
                query.AddColumn("Proc Description", 120, FieldValueType.String, font);
                query.AddColumn("Date", 80, FieldValueType.Date, font);
                query.AddColumn("UCR Fee", 60, FieldValueType.Number, font);
                query.AddColumn("Co-Pay", 60, FieldValueType.Number, font);
            }
            else
            {
                query.AddColumn("Code", 50, FieldValueType.String, font);
                query.AddColumn("Proc Description", 120, FieldValueType.String, font);
                query.AddColumn("Tth", 30, FieldValueType.String, font);
                query.AddColumn("Surf", 40, FieldValueType.String, font);
                query.AddColumn("Date", 80, FieldValueType.Date, font);
                query.AddColumn("UCR Fee", 70, FieldValueType.Number, font);
                query.AddColumn("Co-Pay", 70, FieldValueType.Number, font);
            }
            if (!report.SubmitQueries())
            {
                //DialogResult=DialogResult.Cancel;
                return;
            }
            FormReportComplex FormR = new FormReportComplex(report);

            FormR.ShowDialog();
            DialogResult = DialogResult.OK;
        }
Esempio n. 19
0
        private void FillGrid()
        {
            //Changes made in this window do not get saved until after this window closes.
            //But if you double click on a row, then you will end up saving.  That shouldn't hurt anything, but could be improved.
            //also calculates totals for this "payment"
            //the payment itself is imaginary and is simply the sum of the claimprocs on this form
            gridMain.BeginUpdate();
            gridMain.ListGridColumns.Clear();
            List <string> listDefDescripts = new List <string>();

            listDefDescripts.Add("None");
            for (int i = 0; i < _listClaimPaymentTrackingDefs.Count; i++)
            {
                listDefDescripts.Add(_listClaimPaymentTrackingDefs[i].ItemName);
            }
            GridColumn col = new GridColumn(Lan.g("TableClaimProc", "Date"), 66);

            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableClaimProc", "Prov"), 50);
            gridMain.ListGridColumns.Add(col);
            if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
            {
                col = new GridColumn(Lan.g("TableClaimProc", "Code"), 75);
                gridMain.ListGridColumns.Add(col);
            }
            else
            {
                col = new GridColumn(Lan.g("TableClaimProc", "Code"), 50);
                gridMain.ListGridColumns.Add(col);
                col = new GridColumn(Lan.g("TableClaimProc", "Tth"), 25);
                gridMain.ListGridColumns.Add(col);
            }
            col = new GridColumn(Lan.g("TableClaimProc", "Description"), 130);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableClaimProc", "Fee"), 62, HorizontalAlignment.Right);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableClaimProc", "Billed to Ins"), 75, HorizontalAlignment.Right);
            gridMain.ListGridColumns.Add(col);
            if (CultureInfo.CurrentCulture.Name.EndsWith("CA"))             //Canadian. en-CA or fr-CA
            {
                col = new GridColumn(Lan.g("TableClaimProc", "Labs"), 62, HorizontalAlignment.Right);
                gridMain.ListGridColumns.Add(col);
            }
            col = new GridColumn(Lan.g("TableClaimProc", "Deduct"), 62, HorizontalAlignment.Right, true);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableClaimProc", "Allowed"), 62, HorizontalAlignment.Right, true);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableClaimProc", "Ins Pay"), 62, HorizontalAlignment.Right, true);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableClaimProc", "Writeoff"), 62, HorizontalAlignment.Right, _isWriteOffEditable);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableClaimProc", "Status"), 50, HorizontalAlignment.Center);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableClaimProc", "Pmt"), 62, HorizontalAlignment.Center);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableClaimProc", "Pay Tracking"), 90)
            {
                ListDisplayStrings = listDefDescripts, DropDownWidth = 160
            };
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableClaimProc", "Remarks"), 0, true);
            gridMain.ListGridColumns.Add(col);
            gridMain.ListGridRows.Clear();
            GridRow   row;
            Procedure ProcCur;

            for (int i = 0; i < ClaimProcsToEdit.Length; i++)
            {
                row = new GridRow();
                if (ClaimProcsToEdit[i].ProcNum == 0)               //Total payment
                //We want to always show the "Payment Date" instead of the procedure date for total payments because they are not associated to procedures.
                {
                    row.Cells.Add(ClaimProcsToEdit[i].DateCP.ToShortDateString());
                }
                else
                {
                    row.Cells.Add(ClaimProcsToEdit[i].ProcDate.ToShortDateString());
                }
                row.Cells.Add(Providers.GetAbbr(ClaimProcsToEdit[i].ProvNum));
                string procFee = "";
                if (ClaimProcsToEdit[i].ProcNum == 0)
                {
                    row.Cells.Add("");
                    if (!Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
                    {
                        row.Cells.Add("");
                    }
                    row.Cells.Add(Lan.g(this, "Total Payment"));
                }
                else
                {
                    ProcCur = Procedures.GetProcFromList(ProcList, ClaimProcsToEdit[i].ProcNum);                 //will return a new procedure if none found.
                    procFee = ProcCur.ProcFeeTotal.ToString("F");
                    ProcedureCode procCode = ProcedureCodes.GetProcCode(ProcCur.CodeNum);
                    row.Cells.Add(procCode.ProcCode);
                    if (!Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
                    {
                        row.Cells.Add(ProcCur.ToothNum == "" ? Tooth.SurfTidyFromDbToDisplay(ProcCur.Surf, ProcCur.ToothNum) : Tooth.ToInternat(ProcCur.ToothNum));
                    }
                    string descript = procCode.Descript;
                    if (procCode.IsCanadianLab)
                    {
                        descript = "^ ^ " + descript;
                    }
                    row.Cells.Add(descript);
                }
                row.Cells.Add(procFee);
                row.Cells.Add(ClaimProcsToEdit[i].FeeBilled.ToString("F"));
                if (CultureInfo.CurrentCulture.Name.EndsWith("CA"))                 //Canadian. en-CA or fr-CA
                {
                    decimal          labFeesForProc = 0;
                    List <Procedure> labFeeProcs    = Procedures.GetCanadianLabFees(ClaimProcsToEdit[i].ProcNum, ProcList);
                    for (int j = 0; j < labFeeProcs.Count; j++)
                    {
                        labFeesForProc += (decimal)labFeeProcs[j].ProcFee;
                    }
                    row.Cells.Add(labFeesForProc.ToString("F"));
                }
                row.Cells.Add(ClaimProcsToEdit[i].DedApplied.ToString("F"));
                if (ClaimProcsToEdit[i].AllowedOverride == -1)
                {
                    row.Cells.Add("");
                }
                else
                {
                    row.Cells.Add(ClaimProcsToEdit[i].AllowedOverride.ToString("F"));
                }
                row.Cells.Add(ClaimProcsToEdit[i].InsPayAmt.ToString("F"));
                row.Cells.Add(ClaimProcsToEdit[i].WriteOff.ToString("F"));
                switch (ClaimProcsToEdit[i].Status)
                {
                case ClaimProcStatus.Received:
                    row.Cells.Add(Lan.g("TableClaimProc", "Recd"));
                    break;

                case ClaimProcStatus.NotReceived:
                    row.Cells.Add("");
                    break;

                //adjustment would never show here
                case ClaimProcStatus.Preauth:
                    row.Cells.Add(Lan.g("TableClaimProc", "PreA"));
                    break;

                case ClaimProcStatus.Supplemental:
                    row.Cells.Add(Lan.g("TableClaimProc", "Supp"));
                    break;

                case ClaimProcStatus.CapClaim:
                    row.Cells.Add(Lan.g("TableClaimProc", "Cap"));
                    break;
                    //Estimate would never show here
                    //Cap would never show here
                }
                if (ClaimProcsToEdit[i].ClaimPaymentNum > 0)
                {
                    row.Cells.Add("X");
                }
                else
                {
                    row.Cells.Add("");
                }
                bool isDefPresent = false;
                for (int j = 0; j < _listClaimPaymentTrackingDefs.Count; j++)
                {
                    if (ClaimProcsToEdit[i].ClaimPaymentTracking == _listClaimPaymentTrackingDefs[j].DefNum)
                    {
                        row.Cells.Add(_listClaimPaymentTrackingDefs[j].ItemName);
                        row.Cells[row.Cells.Count - 1].ComboSelectedIndex = j + 1;
                        isDefPresent = true;
                        break;
                    }
                }
                if (!isDefPresent)                  //The ClaimPaymentTracking definition has been hidden or ClaimPaymentTracking==0
                {
                    row.Cells.Add("");
                    row.Cells[row.Cells.Count - 1].ComboSelectedIndex = 0;
                }
                row.Cells.Add(ClaimProcsToEdit[i].Remarks);
                gridMain.ListGridRows.Add(row);
            }
            gridMain.EndUpdate();
            FillTotals();
        }
Esempio n. 20
0
        private void FormScreenEdit_Load(object sender, System.EventArgs e)
        {
            textScreenGroupOrder.Text = ScreenCur.ScreenGroupOrder.ToString();
            switch (ScreenCur.Gender)
            {
            case PatientGender.Unknown:
                radioUnknown.Checked = true;
                break;

            case PatientGender.Male:
                radioM.Checked = true;
                break;

            case PatientGender.Female:
                radioF.Checked = true;
                break;
            }
            listRace.Items.Clear();
            listRace.Items.AddRange(Enum.GetNames(typeof(PatientRaceOld)));
            listRace.SelectedIndex = (int)ScreenCur.RaceOld;
            comboGradeLevel.Items.Clear();
            comboGradeLevel.Items.AddRange(Enum.GetNames(typeof(PatientGrade)));
            comboGradeLevel.SelectedIndex = (int)ScreenCur.GradeLevel;
            ArrayList items = new ArrayList();

            if (ScreenCur.Age == 0)
            {
                textAge.Text = "";
            }
            else
            {
                textAge.Text = ScreenCur.Age.ToString();
            }
            listUrgency.Items.Clear();
            listUrgency.Items.AddRange(Enum.GetNames(typeof(TreatmentUrgency)));
            listUrgency.SelectedIndex = (int)ScreenCur.Urgency;
            SetCheckState(checkHasCaries, ScreenCur.HasCaries);
            SetCheckState(checkNeedsSealants, ScreenCur.NeedsSealants);
            SetCheckState(checkCariesExperience, ScreenCur.CariesExperience);
            SetCheckState(checkEarlyChildCaries, ScreenCur.EarlyChildCaries);
            SetCheckState(checkExistingSealants, ScreenCur.ExistingSealants);
            SetCheckState(checkMissingAllTeeth, ScreenCur.MissingAllTeeth);
            if (ScreenCur.Birthdate.Year < 1880)
            {
                textBirthdate.Text = "";
            }
            else
            {
                textBirthdate.Text = ScreenCur.Birthdate.ToShortDateString();
            }
            textComments.Text = ScreenCur.Comments;
            if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
            {
                checkCariesExperience.Visible    = false;
                checkEarlyChildCaries.Visible    = false;
                checkExistingSealants.Visible    = false;
                checkMissingAllTeeth.Visible     = false;
                checkNeedsSealants.Visible       = false;
                checkHasCaries.Visible           = false;
                checkCariesExperience.CheckState = CheckState.Unchecked;
                checkEarlyChildCaries.CheckState = CheckState.Unchecked;
                checkExistingSealants.CheckState = CheckState.Unchecked;
                checkMissingAllTeeth.CheckState  = CheckState.Unchecked;
                checkNeedsSealants.CheckState    = CheckState.Unchecked;
                checkHasCaries.CheckState        = CheckState.Unchecked;
            }
            if (ScreenPatCur == null)
            {
                textName.Text          = "Anonymous";
                ScreenCur.ScreenPatNum = 0;
            }
            else
            {
                textName.Text          = Patients.GetPat(ScreenPatCur.PatNum).GetNameLF();
                ScreenCur.ScreenPatNum = ScreenPatCur.ScreenPatNum;
            }
            _isValid = true;
        }
Esempio n. 21
0
        private void FillGrid()
        {
            DataTable table                = GetIncompleteProcNotes();
            bool      includeNoNotes       = checkNoNotes.Checked;
            bool      includeUnsignedNotes = checkUnsignedNote.Checked;

            gridMain.BeginUpdate();
            //Columns
            gridMain.Columns.Clear();
            ODGridColumn col;

            col = new ODGridColumn(Lan.g(this, "Date"), 80);
            gridMain.Columns.Add(col);
            col = new ODGridColumn(Lan.g(this, "Patient Name"), 120);
            gridMain.Columns.Add(col);
            if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
            {
                col = new ODGridColumn(Lan.g(this, "Code"), 150);
                gridMain.Columns.Add(col);
                col = new ODGridColumn(Lan.g(this, "Description"), 220);
                gridMain.Columns.Add(col);
            }
            else
            {
                col = new ODGridColumn(Lan.g(this, "Code"), 150);
                gridMain.Columns.Add(col);
                col = new ODGridColumn(Lan.g(this, "Description"), 220);
                gridMain.Columns.Add(col);
                col = new ODGridColumn(Lan.g(this, "Tth"), 30);
                gridMain.Columns.Add(col);
                col = new ODGridColumn(Lan.g(this, "Surf"), 40);
                gridMain.Columns.Add(col);
            }
            if (includeUnsignedNotes || includeNoNotes)
            {
                col = new ODGridColumn(Lan.g(this, "Incomplete"), 80);
                gridMain.Columns.Add(col);
            }
            if (includeNoNotes)
            {
                col = new ODGridColumn(Lan.g(this, "No Note"), 60);
                gridMain.Columns.Add(col);
            }
            if (includeUnsignedNotes)
            {
                col = new ODGridColumn(Lan.g(this, "Unsigned"), 70);
                gridMain.Columns.Add(col);
            }
            //Rows
            gridMain.Rows.Clear();
            foreach (DataRow row in table.Rows)
            {
                ODGridRow newRow = new ODGridRow();
                newRow.Cells.Add(PIn.Date(row["ProcDate"].ToString()).ToString("d"));
                newRow.Cells.Add(row["PatName"].ToString());
                if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
                {
                    newRow.Cells.Add(row["ProcCode"].ToString());
                    newRow.Cells.Add(row["Descript"].ToString());
                }
                else
                {
                    newRow.Cells.Add(row["ProcCode"].ToString());
                    newRow.Cells.Add(row["Descript"].ToString());
                    newRow.Cells.Add(row["ToothNum"].ToString());
                    newRow.Cells.Add(row["Surf"].ToString());
                }
                if (includeUnsignedNotes || includeNoNotes)
                {
                    newRow.Cells.Add(row["Incomplete"].ToString());
                }
                if (includeNoNotes)
                {
                    newRow.Cells.Add(row["HasNoNote"].ToString());
                }
                if (includeUnsignedNotes)
                {
                    newRow.Cells.Add(row["HasUnsignedNote"].ToString());
                }
                newRow.Tag = row["PatNum"].ToString();
                gridMain.Rows.Add(newRow);
            }
            gridMain.EndUpdate();
        }
Esempio n. 22
0
        ///<summary>Fills the tree with the initial permission nodes.</summary>
        public void FillTreePermissionsInitial()
        {
            TreeNode node;
            TreeNode node2;            //second level
            TreeNode node3;            //third level

            node  = SetNode("Main Menu");
            node2 = SetNode(Permissions.Setup);
            node3 = SetNode(Permissions.ProblemEdit);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ReplicationSetup);
            node2.Nodes.Add(node3);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.ChooseDatabase);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.SecurityAdmin);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.AddNewUser);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.Schedules);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.GraphicsEdit);
            node.Nodes.Add(node2);
            node2 = SetNode("Merge Tools");
            node3 = SetNode(Permissions.InsCarrierCombine);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.InsPlanMerge);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.MedicationMerge);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.PatientMerge);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ProviderMerge);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ReferralMerge);
            node2.Nodes.Add(node3);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.ProcCodeEdit);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.Providers);
            node3 = SetNode(Permissions.ProviderAlphabetize);
            node2.Nodes.Add(node3);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.ProviderFeeEdit);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.Blockouts);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.Reports);
            node3 = SetNode(Permissions.GraphicalReportSetup);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.GraphicalReports);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ReportProdIncAllProviders);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ReportDailyAllProviders);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.UserQuery);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.UserQueryAdmin);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.CommandQuery);
            node2.Nodes.Add(node3);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.AutoNoteQuickNoteEdit);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.EServicesSetup);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.FeeSchedEdit);
            node.Nodes.Add(node2);
            node2 = SetNode("Tools");
            node3 = SetNode(Permissions.AuditTrail);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.RepeatChargeTool);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.WikiAdmin);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.WikiListSetup);
            node2.Nodes.Add(node3);
            node.Nodes.Add(node2);
            treePermissions.Nodes.Add(node);
            node  = SetNode("Main Toolbar");
            node2 = SetNode(Permissions.CommlogEdit);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.EmailSend);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.WebMailSend);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.SheetEdit);
            node.Nodes.Add(node2);
            node3 = SetNode(Permissions.SheetDelete);
            node2.Nodes.Add(node3);
            node2 = SetNode(Permissions.TaskEdit);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.TaskNoteEdit);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.TaskListCreate);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.PopupEdit);
            node.Nodes.Add(node2);
            treePermissions.Nodes.Add(node);
            node  = SetNode("Referrals");
            node2 = SetNode(Permissions.ReferralAdd);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.ReferralEdit);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.RefAttachAdd);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.RefAttachDelete);
            node.Nodes.Add(node2);
            treePermissions.Nodes.Add(node);
            node  = SetNode(Permissions.AppointmentsModule);
            node2 = SetNode(Permissions.AppointmentCreate);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.AppointmentMove);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.AppointmentEdit);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.AppointmentCompleteEdit);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.EcwAppointmentRevise);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.InsPlanVerifyList);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.ApptConfirmStatusEdit);
            node.Nodes.Add(node2);
            treePermissions.Nodes.Add(node);
            node  = SetNode(Permissions.FamilyModule);
            node2 = SetNode(Permissions.InsPlanEdit);
            node.Nodes.Add(node2);
            node3 = SetNode(Permissions.InsPlanPickListExisting);
            node2.Nodes.Add(node3);
            node2 = SetNode(Permissions.InsPlanChangeAssign);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.InsPlanChangeSubsc);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.InsPlanOrthoEdit);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.CarrierCreate);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.PatientBillingEdit);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.PatPriProvEdit);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.PatientApptRestrict);
            node.Nodes.Add(node2);
            treePermissions.Nodes.Add(node);
            node  = SetNode(Permissions.AccountModule);
            node2 = SetNode("Claim");
            node3 = SetNode(Permissions.ClaimSend);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ClaimSentEdit);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ClaimDelete);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ClaimHistoryEdit);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ClaimView);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ClaimProcClaimAttachedProvEdit);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ClaimProcReceivedEdit);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.UpdateCustomTracking);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.PreAuthSentEdit);
            node2.Nodes.Add(node3);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.AccountProcsQuickAdd);
            node.Nodes.Add(node2);
            node2 = SetNode("Insurance Payment");
            node3 = SetNode(Permissions.InsPayCreate);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.InsPayEdit);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.InsWriteOffEdit);
            node2.Nodes.Add(node3);
            node.Nodes.Add(node2);
            node2 = SetNode("Payment");
            node3 = SetNode(Permissions.PaymentCreate);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.PaymentEdit);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.SplitCreatePastLockDate);
            node2.Nodes.Add(node3);
            node.Nodes.Add(node2);
            node2 = SetNode("Payment Plan");
            node3 = SetNode(Permissions.PayPlanEdit);
            node2.Nodes.Add(node3);
            node.Nodes.Add(node2);
            node2 = SetNode("Adjustment");
            node3 = SetNode(Permissions.AdjustmentCreate);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.AdjustmentEdit);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.AdjustmentEditZero);
            node2.Nodes.Add(node3);
            node.Nodes.Add(node2);
            treePermissions.Nodes.Add(node);
            node  = SetNode(Permissions.TPModule);
            node2 = SetNode(Permissions.TreatPlanEdit);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.TreatPlanPresenterEdit);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.TreatPlanSign);
            node.Nodes.Add(node2);
            treePermissions.Nodes.Add(node);
            node  = SetNode(Permissions.ChartModule);
            node2 = SetNode("Procedure");
            node3 = SetNode(Permissions.ProcComplCreate);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ProcComplEdit);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ProcComplEditLimited);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ProcExistingEdit);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ProcEditShowFee);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ProcDelete);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ProcedureNoteFull);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.ProcedureNoteUser);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.GroupNoteEditSigned);
            node2.Nodes.Add(node3);
            node.Nodes.Add(node2);
            node2 = SetNode("Rx");
            node3 = SetNode(Permissions.RxCreate);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.RxEdit);
            node2.Nodes.Add(node3);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.OrthoChartEditFull);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.OrthoChartEditUser);
            node.Nodes.Add(node2);
            if (!Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
            {
                node2 = SetNode(Permissions.PerioEdit);
                node.Nodes.Add(node2);
            }
            node2 = SetNode("Anesthesia");
            node3 = SetNode(Permissions.AnesthesiaIntakeMeds);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.AnesthesiaControlMeds);
            node2.Nodes.Add(node3);
            node.Nodes.Add(node2);
            treePermissions.Nodes.Add(node);
            node  = SetNode(Permissions.ImagesModule);
            node2 = SetNode(Permissions.ImageDelete);
            node.Nodes.Add(node2);
            treePermissions.Nodes.Add(node);
            node  = SetNode(Permissions.ManageModule);
            node2 = SetNode(Permissions.Accounting);
            node3 = SetNode(Permissions.AccountingCreate);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.AccountingEdit);
            node2.Nodes.Add(node3);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.Billing);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.DepositSlips);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.Backup);
            node.Nodes.Add(node2);
            node2 = SetNode("Timecard");
            node3 = SetNode(Permissions.TimecardsEditAll);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.TimecardDeleteEntry);
            node2.Nodes.Add(node3);
            node.Nodes.Add(node2);
            node2 = SetNode("Equipment");
            node3 = SetNode(Permissions.EquipmentSetup);
            node2.Nodes.Add(node3);
            node3 = SetNode(Permissions.EquipmentDelete);
            node2.Nodes.Add(node3);
            node.Nodes.Add(node2);
            treePermissions.Nodes.Add(node);
            node  = SetNode("EHR");
            node2 = SetNode(Permissions.EhrEmergencyAccess);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.EhrMeasureEventEdit);
            node.Nodes.Add(node2);
            treePermissions.Nodes.Add(node);
            node  = SetNode("Dental School");
            node2 = SetNode(Permissions.AdminDentalInstructors);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.AdminDentalStudents);
            node.Nodes.Add(node2);
            node2 = SetNode(Permissions.AdminDentalEvaluations);
            node.Nodes.Add(node2);
            treePermissions.Nodes.Add(node);
            node  = SetNode("eServices");
            node2 = SetNode(Permissions.MobileWeb);
            node.Nodes.Add(node2);
            treePermissions.Nodes.Add(node);
            treePermissions.ExpandAll();
        }
Esempio n. 23
0
        public static List <DefCatOptions> GetOptionsForDefCats(Array defCatVals)
        {
            List <DefCatOptions> listDefCatOptions = new List <DefCatOptions>();

            foreach (DefCat defCatCur in defCatVals)
            {
                if (defCatCur.GetDescription() == "NotUsed")
                {
                    continue;
                }
                if (defCatCur.GetDescription().Contains("HqOnly") && !PrefC.IsODHQ)
                {
                    continue;
                }
                DefCatOptions defCOption = new DefCatOptions(defCatCur);
                switch (defCatCur)
                {
                case DefCat.AccountColors:
                    defCOption.CanEditName = false;
                    defCOption.EnableColor = true;
                    defCOption.HelpText    = Lans.g("FormDefinitions", "Changes the color of text for different types of entries in Account Module");
                    break;

                case DefCat.AccountQuickCharge:
                    defCOption.CanDelete   = true;
                    defCOption.EnableValue = true;
                    defCOption.ValueText   = Lans.g("FormDefinitions", "Procedure Codes");
                    defCOption.HelpText    = Lans.g("FormDefinitions", "Account Proc Quick Add items.  Each entry can be a series of procedure codes separated by commas (e.g. D0180,D1101,D8220).  Used in the account module to quickly charge patients for items.");
                    break;

                case DefCat.AdjTypes:
                    defCOption.EnableValue = true;
                    defCOption.ValueText   = Lans.g("FormDefinitions", "+, -, or dp");
                    defCOption.HelpText    = Lans.g("FormDefinitions", "Plus increases the patient balance.  Minus decreases it.  Dp means discount plan.  Not allowed to change value after creating new type since changes affect all patient accounts.");
                    break;

                case DefCat.AppointmentColors:
                    defCOption.CanEditName = false;
                    defCOption.EnableColor = true;
                    defCOption.HelpText    = Lans.g("FormDefinitions", "Changes colors of background in Appointments Module, and colors for completed appointments.");
                    break;

                case DefCat.ApptConfirmed:
                    defCOption.EnableColor = true;
                    defCOption.EnableValue = true;
                    defCOption.ValueText   = Lans.g("FormDefinitions", "Abbrev");
                    defCOption.HelpText    = Lans.g("FormDefinitions", "Color shows on each appointment if Appointment View is set to show ConfirmedColor.");
                    break;

                case DefCat.ApptProcsQuickAdd:
                    defCOption.EnableValue = true;
                    defCOption.ValueText   = Lans.g("FormDefinitions", "ADA Code(s)");
                    if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
                    {
                        defCOption.HelpText = Lans.g("FormDefinitions", "These are the procedures that you can quickly add to the treatment plan from within the appointment editing window.  Multiple procedures may be separated by commas with no spaces. These definitions may be freely edited without affecting any patient records.");
                    }
                    else
                    {
                        defCOption.HelpText = Lans.g("FormDefinitions", "These are the procedures that you can quickly add to the treatment plan from within the appointment editing window.  They must not require a tooth number. Multiple procedures may be separated by commas with no spaces. These definitions may be freely edited without affecting any patient records.");
                    }
                    break;

                case DefCat.AutoDeposit:
                    defCOption.CanDelete   = true;
                    defCOption.CanHide     = true;
                    defCOption.EnableValue = true;
                    defCOption.ValueText   = Lans.g("FormDefinitions", "Account Number");
                    break;

                case DefCat.AutoNoteCats:
                    defCOption.CanDelete     = true;
                    defCOption.CanHide       = false;
                    defCOption.EnableValue   = true;
                    defCOption.IsValueDefNum = true;
                    defCOption.ValueText     = Lans.g("FormDefinitions", "Parent Category");
                    defCOption.HelpText      = Lans.g("FormDefinitions", "Leave the Parent Category blank for categories at the root level. Assign a Parent Category to move a category within another. The order set here will only affect the order within the assigned Parent Category in the Auto Note list. For example, a category may be moved above its parent in this list, but it will still be within its Parent Category in the Auto Note list.");
                    break;

                case DefCat.BillingTypes:
                    defCOption.EnableValue = true;
                    defCOption.ValueText   = Lans.g("FormDefinitions", "E=Email bill, C=Collection");
                    defCOption.HelpText    = Lans.g("FormDefinitions", "It is recommended to use as few billing types as possible.  They can be useful when running reports to separate delinquent accounts, but can cause 'forgotten accounts' if used without good office procedures. Changes affect all patients.");
                    break;

                case DefCat.BlockoutTypes:
                    defCOption.EnableColor = true;
                    defCOption.HelpText    = Lans.g("FormDefinitions", "Blockout types are used in the appointments module.");
                    defCOption.EnableValue = true;
                    defCOption.ValueText   = Lans.g("FormDefinitions", "Flags");
                    break;

                case DefCat.ChartGraphicColors:
                    defCOption.CanEditName = false;
                    defCOption.EnableColor = true;
                    if (Clinics.IsMedicalPracticeOrClinic(Clinics.ClinicNum))
                    {
                        defCOption.HelpText = Lans.g("FormDefinitions", "These colors will be used to graphically display treatments.");
                    }
                    else
                    {
                        defCOption.HelpText = Lans.g("FormDefinitions", "These colors will be used on the graphical tooth chart to draw restorations.");
                    }
                    break;

                case DefCat.ClaimCustomTracking:
                    defCOption.CanDelete   = true;
                    defCOption.CanHide     = false;
                    defCOption.EnableValue = true;
                    defCOption.ValueText   = Lans.g("FormDefinitions", "Days Suppressed");
                    defCOption.HelpText    = Lans.g("FormDefinitions", "Some offices may set up claim tracking statuses such as 'review', 'hold', 'riskmanage', etc.") + "\r\n"
                                             + Lans.g("FormDefinitions", "Set the value of 'Days Suppressed' to the number of days the claim will be suppressed from the Outstanding Claims Report "
                                                      + "when the status is changed to the selected status.");
                    break;

                case DefCat.ClaimErrorCode:
                    defCOption.CanDelete   = true;
                    defCOption.CanHide     = false;
                    defCOption.EnableValue = true;
                    defCOption.ValueText   = Lans.g("FormDefinitions", "Description");
                    defCOption.HelpText    = Lans.g("FormDefinitions", "Used to track error codes when entering claim custom statuses.");
                    break;

                case DefCat.ClaimPaymentTracking:
                    defCOption.ValueText = Lans.g("FormDefinitions", "Value");
                    defCOption.HelpText  = Lans.g("FormDefinitions", "EOB adjudication method codes to be used for insurance payments.  Last entry cannot be hidden.");
                    break;

                case DefCat.ClaimPaymentGroups:
                    defCOption.ValueText = Lans.g("FormDefinitions", "Value");
                    defCOption.HelpText  = Lans.g("FormDefinitions", "Used to group claim payments in the daily payments report.");
                    break;

                case DefCat.ClinicSpecialty:
                    defCOption.CanHide   = true;
                    defCOption.CanDelete = false;
                    defCOption.HelpText  = Lans.g("FormDefinitions", "You can add as many specialties as you want.  Changes affect all current records.");
                    break;

                case DefCat.CommLogTypes:
                    defCOption.EnableValue = true;
                    defCOption.ValueText   = Lans.g("FormDefinitions", "APPT,FIN,RECALL,MISC,TEXT");
                    defCOption.HelpText    = Lans.g("FormDefinitions", "Changes affect all current commlog entries.  In the second column, you can optionally specify APPT,FIN,RECALL,MISC,or TEXT. Only one of each. This helps automate new entries.");
                    break;

                case DefCat.ContactCategories:
                    defCOption.HelpText = Lans.g("FormDefinitions", "You can add as many categories as you want.  Changes affect all current contact records.");
                    break;

                case DefCat.Diagnosis:
                    defCOption.EnableValue = true;
                    defCOption.ValueText   = Lans.g("FormDefinitions", "1 or 2 letter abbreviation");
                    defCOption.HelpText    = Lans.g("FormDefinitions", "The diagnosis list is shown when entering a procedure.  Ones that are less used should go lower on the list.  The abbreviation is shown in the progress notes.  BE VERY CAREFUL.  Changes affect all patients.");
                    break;

                case DefCat.FeeColors:
                    defCOption.CanEditName = false;
                    defCOption.CanHide     = false;
                    defCOption.EnableColor = true;
                    defCOption.HelpText    = Lans.g("FormDefinitions", "These are the colors associated to fee types.");
                    break;

                case DefCat.ImageCats:
                    defCOption.ValueText = Lans.g("FormDefinitions", "Usage");
                    defCOption.HelpText  = Lans.g("FormDefinitions", "These are the categories that will be available in the image and chart modules.  If you hide a category, images in that category will be hidden, so only hide a category if you are certain it has never been used.  Multiple categories can be set to show in the Chart module, but only one category should be set for patient pictures, statements, and tooth charts. Selecting multiple categories for treatment plans will save the treatment plan in each category. Affects all patient records.");
                    break;

                case DefCat.InsurancePaymentType:
                    defCOption.CanDelete   = true;
                    defCOption.CanHide     = false;
                    defCOption.EnableValue = true;
                    defCOption.ValueText   = Lans.g("FormDefinitions", "N=Not selected for deposit");
                    defCOption.HelpText    = Lans.g("FormDefinitions", "These are claim payment types for insurance payments attached to claims.");
                    break;

                case DefCat.InsuranceVerificationStatus:
                    defCOption.HelpText = Lans.g("FormDefinitions", "These are statuses for the insurance verification list.");
                    break;

                case DefCat.JobPriorities:
                    defCOption.CanDelete   = false;
                    defCOption.CanHide     = true;
                    defCOption.EnableValue = true;
                    defCOption.EnableColor = true;
                    defCOption.ValueText   = Lans.g("FormDefinitions", "Comma-delimited keywords");
                    defCOption.HelpText    = Lans.g("FormDefinitions", "These are job priorities that determine how jobs are sorted in the Job Manager System.  Required values are: OnHold, Low, Normal, MediumHigh, High, Urgent, BugDefault, JobDefault, DocumentationDefault.");
                    break;

                case DefCat.LetterMergeCats:
                    defCOption.HelpText = Lans.g("FormDefinitions", "Categories for Letter Merge.  You can safely make any changes you want.");
                    break;

                case DefCat.MiscColors:
                    defCOption.CanEditName = false;
                    defCOption.EnableColor = true;
                    defCOption.HelpText    = "";
                    break;

                case DefCat.PaymentTypes:
                    defCOption.EnableValue = true;
                    defCOption.ValueText   = Lans.g("FormDefinitions", "N=Not selected for deposit");
                    defCOption.HelpText    = Lans.g("FormDefinitions", "Types of payments that patients might make. Any changes will affect all patients.");
                    break;

                case DefCat.PayPlanCategories:
                    defCOption.HelpText = Lans.g("FormDefinitions", "Assign payment plans to different categories");
                    break;

                case DefCat.PaySplitUnearnedType:
                    defCOption.HelpText = Lans.g("FormDefinitions", "Usually only used by offices that use accrual basis accounting instead of cash basis accounting. Any changes will affect all patients.");
                    break;

                case DefCat.ProcButtonCats:
                    defCOption.HelpText = Lans.g("FormDefinitions", "These are similar to the procedure code categories, but are only used for organizing and grouping the procedure buttons in the Chart module.");
                    break;

                case DefCat.ProcCodeCats:
                    defCOption.HelpText = Lans.g("FormDefinitions", "These are the categories for organizing procedure codes. They do not have to follow ADA categories.  There is no relationship to insurance categories which are setup in the Ins Categories section.  Does not affect any patient records.");
                    break;

                case DefCat.ProgNoteColors:
                    defCOption.CanEditName = false;
                    defCOption.EnableColor = true;
                    defCOption.HelpText    = Lans.g("FormDefinitions", "Changes color of text for different types of entries in the Chart Module Progress Notes.");
                    break;

                case DefCat.Prognosis:
                    //Nothing special. Might add HelpText later.
                    break;

                case DefCat.ProviderSpecialties:
                    defCOption.HelpText = Lans.g("FormDefinitions", "Provider specialties cannot be deleted.  Changes to provider specialties could affect e-claims.");
                    break;

                case DefCat.RecallUnschedStatus:
                    defCOption.EnableValue = true;
                    defCOption.ValueText   = Lans.g("FormDefinitions", "Abbreviation");
                    defCOption.HelpText    = Lans.g("FormDefinitions", "Recall/Unsched Status.  Abbreviation must be 7 characters or less.  Changes affect all patients.");
                    break;

                case DefCat.Regions:
                    defCOption.CanHide  = false;
                    defCOption.HelpText = Lans.g("FormDefinitions", "The region identifying the clinic it is assigned to.");
                    break;

                case DefCat.SupplyCats:
                    defCOption.CanDelete = true;
                    defCOption.CanHide   = false;
                    defCOption.HelpText  = Lans.g("FormDefinitions", "The categories for inventory supplies.");
                    break;

                case DefCat.TaskPriorities:
                    defCOption.EnableColor = true;
                    defCOption.EnableValue = true;
                    defCOption.ValueText   = Lans.g("FormDefinitions", "D = Default, R = Reminder");
                    defCOption.HelpText    = Lans.g("FormDefinitions", "Priorities available for selection within the task edit window.  Task lists are sorted using the order of these priorities.  They can have any description and color.  At least one priority should be Default (D).  If more than one priority is flagged as the default, the last default in the list will be used.  If no default is set, the last priority will be used.  Use (R) to indicate the initial reminder task priority to use when creating reminder tasks.  Changes affect all tasks where the definition is used.");
                    break;

                case DefCat.TxPriorities:
                    defCOption.EnableColor = true;
                    defCOption.HelpText    = Lans.g("FormDefinitions", "Priorities available for selection in the Treatment Plan module.  They can be simple numbers or descriptive abbreviations 7 letters or less.  Changes affect all procedures where the definition is used.");
                    break;

                case DefCat.WebSchedNewPatApptTypes:
                    defCOption.CanDelete = true;
                    defCOption.CanHide   = false;
                    defCOption.ValueText = Lans.g("FormDefinitions", "Appointment Type");
                    defCOption.HelpText  = Lans.g("FormDefinitions", "Appointment types to be displayed in the Web Sched New Pat Appt web application.  These are selectable for the new patients and will be saved to the appointment note.");
                    break;

                case DefCat.CarrierGroupNames:
                    defCOption.CanHide  = true;
                    defCOption.HelpText = Lans.g("FormDefinitions", "These are group names for Carriers.");
                    break;
                }
                listDefCatOptions.Add(defCOption);
            }
            return(listDefCatOptions);
        }