private void FillHeader() { Text = "Procedure Paid - Patient: " + _proc.ClaimPaid.PatientName; textProcAdjudicated.Text = _proc.ProcCodeAdjudicated; if (ProcedureCodes.IsValidCode(_proc.ProcCodeAdjudicated)) { textProcAdjudicated.Text = _proc.ProcCodeAdjudicated + " - " + ProcedureCodes.GetProcCode(_proc.ProcCodeAdjudicated).AbbrDesc; } textProcSubmitted.Text = _proc.ProcCodeBilled; if (ProcedureCodes.IsValidCode(_proc.ProcCodeBilled)) { textProcSubmitted.Text = _proc.ProcCodeBilled + " - " + ProcedureCodes.GetProcCode(_proc.ProcCodeBilled).AbbrDesc; } textDateService.Text = _proc.DateServiceStart.ToShortDateString(); if (_proc.DateServiceEnd > _proc.DateServiceStart) { textDateService.Text += " to " + _proc.DateServiceEnd.ToShortDateString(); textDateService.Width = 160; //Increase width to accout for extra text. } textInsPaid.Text = _proc.InsPaid.ToString("f2"); if (_proc.ProcNum == 0) { textProcNum.Text = ""; } else { textProcNum.Text = _proc.ProcNum.ToString(); } textProcFee.Text = _proc.ProcFee.ToString("f2"); textInsPaidCalc.Text = (_proc.ProcFee - _patRespSum - _contractualObligationSum - _payorInitiatedReductionSum - _otherAdjustmentSum).ToString("f2"); }
private void butOK_Click(object sender, System.EventArgs e) { if (textRuleDesc.Text == "") { MsgBox.Show(this, "Description not allowed to be blank."); return; } if (!ProcedureCodes.IsValidCode(textCodeStart.Text) || !ProcedureCodes.IsValidCode(textCodeEnd.Text)) { MsgBox.Show(this, "Start and end codes must be valid procedure codes."); return; } ApptRuleCur.RuleDesc = textRuleDesc.Text; ApptRuleCur.CodeStart = textCodeStart.Text; ApptRuleCur.CodeEnd = textCodeEnd.Text; ApptRuleCur.IsEnabled = checkIsEnabled.Checked; if (IsNew) { AppointmentRules.Insert(ApptRuleCur); } else { AppointmentRules.Update(ApptRuleCur); } DialogResult = DialogResult.OK; }
public static void ResetApptProcsQuickAdd() { string command = "DELETE FROM definition WHERE Category=3"; General.NonQ(command); string[] array = new string[] { "CompEx-4BW-Pano-Pro-Flo", "D0150,D0274,D0330,D1110,D1204", "CompEx-2BW-Pano-ChPro-Flo", "D0150,D0272,D0330,D1120,D1203", "PerEx-4BW-Pro-Flo", "D0120,D0274,D1110,D1204", "LimEx-PA", "D0140,D0220", "PerEx-4BW-Pro-Flo", "D0120,D0274,D1110,D1204", "PerEx-2BW-ChildPro-Flo", "D0120,D0272,D1120,D1203", "Comp Exam", "D0150", "Per Exam", "D0120", "Lim Exam", "D0140", "1 PA", "D0220", "2BW", "D0272", "4BW", "D0274", "Pano", "D0330", "Pro Adult", "D1110", "Fluor Adult", "D1204", "Pro Child", "D1120", "Fuor Child", "D1203", "PostOp", "N4101", "DentAdj", "N4102", "Consult", "D9310" }; Def def; string[] codelist; bool allvalid; int itemorder = 0; for (int i = 0; i < array.Length; i += 2) { //first, test all procedures for valid codelist = array[i + 1].Split(','); allvalid = true; for (int c = 0; c < codelist.Length; c++) { if (!ProcedureCodes.IsValidCode(codelist[c])) { allvalid = false; } } if (!allvalid) { continue; } def = new Def(); def.Category = DefCat.ApptProcsQuickAdd; def.ItemOrder = itemorder; def.ItemName = array[i]; def.ItemValue = array[i + 1]; Defs.Insert(def); itemorder++; } }
private void FillProcedureBreakdown() { if (_claimPaid.ListProcs.Count == 0) { gridProcedureBreakdown.Title = "EOB Procedure Breakdown (None Reported)"; } else { gridProcedureBreakdown.Title = "EOB Procedure Breakdown"; } gridProcedureBreakdown.BeginUpdate(); gridProcedureBreakdown.ListGridColumns.Clear(); gridProcedureBreakdown.ListGridColumns.Add(new GridColumn("ProcNum", 80, HorizontalAlignment.Left)); gridProcedureBreakdown.ListGridColumns.Add(new GridColumn("ProcCode", 80, HorizontalAlignment.Center)); gridProcedureBreakdown.ListGridColumns.Add(new GridColumn("ProcDescript", 0, HorizontalAlignment.Left)); gridProcedureBreakdown.ListGridColumns.Add(new GridColumn("FeeBilled", 70, HorizontalAlignment.Right)); gridProcedureBreakdown.ListGridColumns.Add(new GridColumn("InsPaid", 70, HorizontalAlignment.Right)); gridProcedureBreakdown.ListGridColumns.Add(new GridColumn("PatPort", 70, HorizontalAlignment.Right)); gridProcedureBreakdown.ListGridColumns.Add(new GridColumn("Deduct", 70, HorizontalAlignment.Right)); gridProcedureBreakdown.ListGridColumns.Add(new GridColumn("Writeoff", 70, HorizontalAlignment.Right)); gridProcedureBreakdown.ListGridRows.Clear(); _procAdjAmtSum = 0; for (int i = 0; i < _claimPaid.ListProcs.Count; i++) { //Logic mimics SheetUtil.getTable_EraClaimsPaid(...) Hx835_Proc proc = _claimPaid.ListProcs[i]; GridRow row = new GridRow(); row.Tag = proc; if (proc.ProcNum == 0) { row.Cells.Add(new GridCell("")); //ProcNum } else { row.Cells.Add(new GridCell(proc.ProcNum.ToString())); //ProcNum } row.Cells.Add(new GridCell(proc.ProcCodeAdjudicated)); //ProcCode string procDescript = ""; if (ProcedureCodes.IsValidCode(proc.ProcCodeAdjudicated)) { ProcedureCode procCode = ProcedureCodes.GetProcCode(proc.ProcCodeAdjudicated); procDescript = procCode.AbbrDesc; } row.Cells.Add(new GridCell(procDescript)); //ProcDescript row.Cells.Add(new GridCell(proc.ProcFee.ToString("f2"))); //FeeBilled row.Cells.Add(new GridCell(proc.InsPaid.ToString("f2"))); //InsPaid row.Cells.Add(new GridCell(proc.PatientPortionAmt.ToString("f2"))); //PatPort row.Cells.Add(new GridCell(proc.DeductibleAmt.ToString("f2"))); //Deduct row.Cells.Add(new GridCell(proc.WriteoffAmt.ToString("f2"))); //Writeoff gridProcedureBreakdown.ListGridRows.Add(row); } gridProcedureBreakdown.EndUpdate(); textProcAdjAmtSum.Text = _procAdjAmtSum.ToString("f2"); }
///<summary>Resets the descriptions for all ADA codes to the official wording. Required by the license.</summary> public static void ResetADAdescriptions(List <ProcedureCode> codeList) { ProcedureCode code; for (int i = 0; i < codeList.Count; i++) { if (!ProcedureCodes.IsValidCode(codeList[i].ProcCode)) { continue; } code = ProcedureCodes.GetProcCode(codeList[i].ProcCode); code.Descript = codeList[i].Descript; ProcedureCodes.Update(code); } //don't forget to refresh procedurecodes. }
///<summary>schedI is the currently displayed index of the fee schedule to save to. Empty fees never even make it this far and should be skipped earlier in the process.</summary> public static void Import(string codeText, double amt, int schedI) { if (!ProcedureCodes.IsValidCode(codeText)) { return; //skip for now. Possibly insert a code in a future version. } Fee fee = GetFeeByOrder(ProcedureCodes.GetCodeNum(codeText), schedI); if (fee != null) { Delete(fee); } fee = new Fee(); fee.Amount = amt; fee.FeeSched = DefB.Short[(int)DefCat.FeeSchedNames][schedI].DefNum; fee.CodeNum = ProcedureCodes.GetCodeNum(codeText); Insert(fee); }
private bool AddProc() { if (textNewCode.Text == "") { MsgBox.Show(this, "Code not allowed to be blank."); return(false); } if (ProcedureCodes.IsValidCode(textNewCode.Text)) { MsgBox.Show(this, "That code already exists."); return(false); } if (textDescription.Text == "") { MsgBox.Show(this, "Description not allowed to be blank."); return(false); } if (textAbbreviation.Text == "") { MsgBox.Show(this, "Abbreviation not allowed to be blank."); return(false); } //ok to add code----------------------------------------------------------------------------------- ProcedureCode code = new ProcedureCode(); code.ProcCode = textNewCode.Text; //code.ProcTime="/X/";//moved to contructor. //code.GraphicColor=Color.FromArgb(0);//moved to contructor. code.Descript = textDescription.Text; code.AbbrDesc = textAbbreviation.Text; code.SetRecall = checkSetRecall.Checked; code.NoBillIns = checkNoBillIns.Checked; code.IsHygiene = checkIsHygiene.Checked; code.IsProsth = checkIsProsth.Checked; code.PaintType = (ToothPaintingType)comboPaintType.SelectedIndex; code.TreatArea = (TreatmentArea)comboTreatArea.SelectedIndex + 1; //if(comboCategory.SelectedIndex!=-1) code.ProcCat = DefB.Short[(int)DefCat.ProcCodeCats][comboCategory.SelectedIndex].DefNum; ProcedureCodes.Insert(code); Changed = true; SecurityLogs.MakeLogEntry(Permissions.Setup, 0, "Added Procedure Code: " + code.ProcCode); return(true); }
private void butOK_Click(object sender, System.EventArgs e) { if (textDescription.Text == "") { MsgBox.Show(this, "Description not allowed to be blank."); return; } AutoCur.Description = textDescription.Text; AutoCur.Autotrigger = (AutomationTrigger)comboTrigger.SelectedIndex; //should never be <0 #region ProcCodes AutoCur.ProcCodes = ""; //set to correct proc code string below if necessary if (new[] { AutomationTrigger.CompleteProcedure, AutomationTrigger.ScheduleProcedure }.Contains(AutoCur.Autotrigger)) { if (textProcCodes.Text.Contains(" ")) { MsgBox.Show(this, "Procedure codes cannot contain any spaces."); return; } if (textProcCodes.Text == "") { MsgBox.Show(this, "Please enter valid procedure code(s) first."); return; } string strInvalidCodes = string.Join(", ", textProcCodes.Text.Split(',').Where(x => !ProcedureCodes.IsValidCode(x))); if (!string.IsNullOrEmpty(strInvalidCodes)) { MessageBox.Show(Lan.g(this, "The following procedure code(s) are not valid") + ": " + strInvalidCodes); return; } AutoCur.ProcCodes = textProcCodes.Text; } #endregion ProcCodes #region Automation Action //Dictionary linking actions to their associated sheet types and the string to add to the message box text. //Only valid for actions PrintPatientLetter, PrintReferralLetter, ShowExamSheet, and ShowConsentForm. Dictionary <AutomationAction, Tuple <SheetTypeEnum, string> > dictAutoActionSheetType = new Dictionary <AutomationAction, Tuple <SheetTypeEnum, string> >() { { AutomationAction.PrintPatientLetter, Tuple.Create(SheetTypeEnum.PatientLetter, "a patient letter") }, { AutomationAction.PrintReferralLetter, Tuple.Create(SheetTypeEnum.ReferralLetter, "a referral letter") }, { AutomationAction.ShowExamSheet, Tuple.Create(SheetTypeEnum.ExamSheet, "an exam sheet") }, { AutomationAction.ShowConsentForm, Tuple.Create(SheetTypeEnum.Consent, "a consent form") } }; AutoCur.AutoAction = _listAutoActions[comboAction.SelectedIndex]; AutoCur.SheetDefNum = 0; AutoCur.CommType = 0; AutoCur.MessageContent = ""; AutoCur.AptStatus = ApptStatus.None; AutoCur.AppointmentTypeNum = 0; switch (AutoCur.AutoAction) { case AutomationAction.CreateCommlog: if (comboActionObject.SelectedIndex == -1) { MsgBox.Show(this, "A commlog type must be selected."); return; } AutoCur.CommType = _listCommLogTypeDefs[comboActionObject.SelectedIndex].DefNum; AutoCur.MessageContent = textMessage.Text; break; case AutomationAction.PopUp: case AutomationAction.PopUpThenDisable10Min: if (string.IsNullOrEmpty(textMessage.Text.Trim())) { MsgBox.Show(this, "The message cannot be blank."); return; } AutoCur.MessageContent = textMessage.Text; break; case AutomationAction.PrintPatientLetter: case AutomationAction.PrintReferralLetter: case AutomationAction.ShowExamSheet: case AutomationAction.ShowConsentForm: if (comboActionObject.SelectedIndex == -1) { MsgBox.Show(this, "A sheet definition must be selected."); return; } if (SheetDefs.GetDeepCopy()[comboActionObject.SelectedIndex].SheetType != dictAutoActionSheetType[AutoCur.AutoAction].Item1) { MessageBox.Show(this, Lan.g(this, "The selected sheet type must be") + " " + dictAutoActionSheetType[AutoCur.AutoAction].Item2 + "."); return; } AutoCur.SheetDefNum = SheetDefs.GetDeepCopy()[comboActionObject.SelectedIndex].SheetDefNum; break; case AutomationAction.SetApptStatus: if (comboActionObject.SelectedIndex == -1) { MsgBox.Show(this, "An appointment status must be selected."); return; } AutoCur.AptStatus = _listApptStatuses[comboActionObject.SelectedIndex]; break; case AutomationAction.SetApptType: if (comboActionObject.SelectedIndex == -1) { MsgBox.Show(this, "An appointment type must be selected."); return; } AutoCur.AppointmentTypeNum = _listAptTypes[comboActionObject.SelectedIndex].AppointmentTypeNum; break; } #endregion Automation Action Automations.Update(AutoCur); //Because always inserted before opening this form. DialogResult = DialogResult.OK; }
///<summary>Deletes all current autocodes and then adds the default autocodes. Procedure codes must have already been entered or they cannot be added as an autocode.</summary> public static void SetToDefault() { string command = @" DELETE FROM autocode; DELETE FROM autocodecond; DELETE FROM autocodeitem" ; General.NonQ(command); int autoCodeNum; int autoCodeItemNum; //Amalgam------------------------------------------------------------------------------------------------------- command = "INSERT INTO autocode (Description,IsHidden,LessIntrusive) VALUES ('Amalgam',0,0)"; autoCodeNum = General.NonQ(command, true); //1Surf if (ProcedureCodes.IsValidCode("D2140")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D2140") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.One_Surf) + ")"; General.NonQ(command); } //2Surf if (ProcedureCodes.IsValidCode("D2150")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D2150") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Two_Surf) + ")"; General.NonQ(command); } //3Surf if (ProcedureCodes.IsValidCode("D2160")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D2160") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Three_Surf) + ")"; General.NonQ(command); } //4Surf if (ProcedureCodes.IsValidCode("D2161")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D2161") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Four_Surf) + ")"; General.NonQ(command); } //5Surf if (ProcedureCodes.IsValidCode("D2161")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D2161") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Five_Surf) + ")"; General.NonQ(command); } //Composite------------------------------------------------------------------------------------------------------- command = "INSERT INTO autocode (Description,IsHidden,LessIntrusive) VALUES ('Composite',0,0)"; autoCodeNum = General.NonQ(command, true); //1SurfAnt if (ProcedureCodes.IsValidCode("D2330")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D2330") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.One_Surf) + ")"; General.NonQ(command); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Anterior) + ")"; General.NonQ(command); } //2SurfAnt if (ProcedureCodes.IsValidCode("D2331")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D2331") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Two_Surf) + ")"; General.NonQ(command); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Anterior) + ")"; General.NonQ(command); } //3SurfAnt if (ProcedureCodes.IsValidCode("D2332")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D2332") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Three_Surf) + ")"; General.NonQ(command); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Anterior) + ")"; General.NonQ(command); } //4SurfAnt if (ProcedureCodes.IsValidCode("D2335")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D2335") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Four_Surf) + ")"; General.NonQ(command); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Anterior) + ")"; General.NonQ(command); } //5SurfAnt if (ProcedureCodes.IsValidCode("D2335")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D2335") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Five_Surf) + ")"; General.NonQ(command); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Anterior) + ")"; General.NonQ(command); } //Posterior Composite---------------------------------------------------------------------------------------------- //1SurfPost if (ProcedureCodes.IsValidCode("D2391")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D2391") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.One_Surf) + ")"; General.NonQ(command); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Posterior) + ")"; General.NonQ(command); } //2SurfPost if (ProcedureCodes.IsValidCode("D2392")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D2392") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Two_Surf) + ")"; General.NonQ(command); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Posterior) + ")"; General.NonQ(command); } //3SurfPost if (ProcedureCodes.IsValidCode("D2393")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D2393") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Three_Surf) + ")"; General.NonQ(command); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Posterior) + ")"; General.NonQ(command); } //4SurfPost if (ProcedureCodes.IsValidCode("D2394")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D2394") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Four_Surf) + ")"; General.NonQ(command); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Posterior) + ")"; General.NonQ(command); } //5SurfPost if (ProcedureCodes.IsValidCode("D2394")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D2394") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Five_Surf) + ")"; General.NonQ(command); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Posterior) + ")"; General.NonQ(command); } //Root Canal------------------------------------------------------------------------------------------------------- command = "INSERT INTO autocode (Description,IsHidden,LessIntrusive) VALUES ('Root Canal',0,0)"; autoCodeNum = General.NonQ(command, true); //Ant if (ProcedureCodes.IsValidCode("D3310")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D3310") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Anterior) + ")"; General.NonQ(command); } //Premolar if (ProcedureCodes.IsValidCode("D3320")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D3320") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Premolar) + ")"; General.NonQ(command); } //Molar if (ProcedureCodes.IsValidCode("D3330")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D3330") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Molar) + ")"; General.NonQ(command); } //Bridge------------------------------------------------------------------------------------------------------- command = "INSERT INTO autocode (Description,IsHidden,LessIntrusive) VALUES ('Bridge',0,0)"; autoCodeNum = General.NonQ(command, true); //Pontic if (ProcedureCodes.IsValidCode("D6242")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D6242") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Pontic) + ")"; General.NonQ(command); } //Retainer if (ProcedureCodes.IsValidCode("D6752")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D6752") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Retainer) + ")"; General.NonQ(command); } //Denture------------------------------------------------------------------------------------------------------- command = "INSERT INTO autocode (Description,IsHidden,LessIntrusive) VALUES ('Denture',0,0)"; autoCodeNum = General.NonQ(command, true); //Max if (ProcedureCodes.IsValidCode("D5110")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D5110") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Maxillary) + ")"; General.NonQ(command); } //Mand if (ProcedureCodes.IsValidCode("D5120")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D5120") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Mandibular) + ")"; General.NonQ(command); } //BU/P&C------------------------------------------------------------------------------------------------------- command = "INSERT INTO autocode (Description,IsHidden,LessIntrusive) VALUES ('BU/P&C',0,0)"; autoCodeNum = General.NonQ(command, true); //BU if (ProcedureCodes.IsValidCode("D2950")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D2950") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Posterior) + ")"; General.NonQ(command); } //P&C if (ProcedureCodes.IsValidCode("D2954")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D2954") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Anterior) + ")"; General.NonQ(command); } //Root Canal Retreat-------------------------------------------------------------------------------------------------- command = "INSERT INTO autocode (Description,IsHidden,LessIntrusive) VALUES ('RCT Retreat',0,0)"; autoCodeNum = General.NonQ(command, true); //Ant if (ProcedureCodes.IsValidCode("D3346")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D3346") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Anterior) + ")"; General.NonQ(command); } //Premolar if (ProcedureCodes.IsValidCode("D3347")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D3347") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Premolar) + ")"; General.NonQ(command); } //Molar if (ProcedureCodes.IsValidCode("D3348")) { command = "INSERT INTO autocodeitem (AutoCodeNum,CodeNum) VALUES (" + POut.PInt(autoCodeNum) + "," + ProcedureCodes.GetCodeNum("D3348") + ")"; autoCodeItemNum = General.NonQ(command, true); command = "INSERT INTO autocodecond (AutoCodeItemNum,Cond) VALUES (" + POut.PInt(autoCodeItemNum) + "," + POut.PInt((int)AutoCondition.Molar) + ")"; General.NonQ(command); } }
private void butImportCanada_Click(object sender, EventArgs e) { if (!MsgBox.Show(this, true, "If you want a clean slate, the current fee schedule should be cleared first. When imported, any fees that are found in the text file will overwrite values of the current fee schedule showing in the main window. Are you sure you want to continue?")) { return; } Cursor = Cursors.WaitCursor; FormFeeSchedPickRemote formPick = new FormFeeSchedPickRemote(); formPick.Url = @"http://www.opendental.com/feescanada/"; //points to index.php file if (formPick.ShowDialog() != DialogResult.OK) { Cursor = Cursors.Default; return; } Cursor = Cursors.WaitCursor; //original wait cursor seems to go away for some reason. Application.DoEvents(); string feeData = ""; if (formPick.IsFileChosenProtected) { string memberNumberODA = ""; string memberPasswordODA = ""; if (formPick.FileChosenName.StartsWith("ON_")) //Any and all Ontario fee schedules { FormFeeSchedPickAuthOntario formAuth = new FormFeeSchedPickAuthOntario(); if (formAuth.ShowDialog() != DialogResult.OK) { Cursor = Cursors.Default; return; } memberNumberODA = formAuth.ODAMemberNumber; memberPasswordODA = formAuth.ODAMemberPassword; } //prepare the xml document to send-------------------------------------------------------------------------------------- XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; settings.IndentChars = (" "); StringBuilder strbuild = new StringBuilder(); using (XmlWriter writer = XmlWriter.Create(strbuild, settings)) { writer.WriteStartElement("RequestFeeSched"); writer.WriteStartElement("RegistrationKey"); writer.WriteString(PrefC.GetString(PrefName.RegistrationKey)); writer.WriteEndElement(); //RegistrationKey writer.WriteStartElement("FeeSchedFileName"); writer.WriteString(formPick.FileChosenName); writer.WriteEndElement(); //FeeSchedFileName if (memberNumberODA != "") { writer.WriteStartElement("ODAMemberNumber"); writer.WriteString(memberNumberODA); writer.WriteEndElement(); //ODAMemberNumber writer.WriteStartElement("ODAMemberPassword"); writer.WriteString(memberPasswordODA); writer.WriteEndElement(); //ODAMemberPassword } writer.WriteEndElement(); //RequestFeeSched } #if DEBUG OpenDental.localhost.Service1 updateService = new OpenDental.localhost.Service1(); #else OpenDental.customerUpdates.Service1 updateService = new OpenDental.customerUpdates.Service1(); updateService.Url = PrefC.GetString(PrefName.UpdateServerAddress); #endif //Send the message and get the result------------------------------------------------------------------------------------- string result = ""; try { result = updateService.RequestFeeSched(strbuild.ToString()); } catch (Exception ex) { Cursor = Cursors.Default; MessageBox.Show("Error: " + ex.Message); return; } Cursor = Cursors.Default; XmlDocument doc = new XmlDocument(); doc.LoadXml(result); //Process errors------------------------------------------------------------------------------------------------------------ XmlNode node = doc.SelectSingleNode("//Error"); if (node != null) { MessageBox.Show(node.InnerText, "Error"); return; } node = doc.SelectSingleNode("//KeyDisabled"); if (node == null) { //no error, and no disabled message if (Prefs.UpdateBool(PrefName.RegistrationKeyIsDisabled, false)) //this is one of three places in the program where this happens. { DataValid.SetInvalid(InvalidType.Prefs); } } else { MessageBox.Show(node.InnerText); if (Prefs.UpdateBool(PrefName.RegistrationKeyIsDisabled, true)) //this is one of three places in the program where this happens. { DataValid.SetInvalid(InvalidType.Prefs); } return; } //Process a valid return value------------------------------------------------------------------------------------------------ node = doc.SelectSingleNode("//ResultCSV64"); string feeData64 = node.InnerXml; byte[] feeDataBytes = Convert.FromBase64String(feeData64); feeData = Encoding.UTF8.GetString(feeDataBytes); } else { string tempFile = Path.GetTempFileName(); WebClient myWebClient = new WebClient(); try { myWebClient.DownloadFile(formPick.FileChosenUrl, tempFile); } catch (Exception ex) { MessageBox.Show(Lan.g(this, "Failed to download fee schedule file") + ": " + ex.Message); Cursor = Cursors.Default; return; } feeData = File.ReadAllText(tempFile); File.Delete(tempFile); } string[] feeLines = feeData.Split('\n'); double feeAmt; long numImported = 0; long numSkipped = 0; for (int i = 0; i < feeLines.Length; i++) { string[] fields = feeLines[i].Split('\t'); if (fields.Length > 1) // && fields[1]!=""){//we no longer skip blank fees { string procCode = fields[0]; if (ProcedureCodes.IsValidCode(procCode)) //The Fees.Import() function will not import fees for codes that do not exist. { if (fields[1] == "") { feeAmt = -1; //triggers deletion of existing fee, but no insert. } else { feeAmt = PIn.Double(fields[1]); } Fees.Import(procCode, feeAmt, SchedNum); numImported++; } else { numSkipped++; } } } DataValid.SetInvalid(InvalidType.Fees); Cursor = Cursors.Default; DialogResult = DialogResult.OK; string outputMessage = Lan.g(this, "Done. Number imported") + ": " + numImported; if (numSkipped > 0) { outputMessage += " " + Lan.g(this, "Number skipped") + ": " + numSkipped; } MessageBox.Show(outputMessage); }
private void butImportEcw_Click(object sender, EventArgs e) { Cursor = Cursors.WaitCursor; OpenFileDialog Dlg = new OpenFileDialog(); #if DEBUG Dlg.InitialDirectory = @"E:\My Documents\Bridge Info\eClinicalWorks\FeeSchedules"; #endif if (Dlg.ShowDialog() != DialogResult.OK) { Cursor = Cursors.Default; return; } if (!File.Exists(Dlg.FileName)) { Cursor = Cursors.Default; MsgBox.Show(this, "File not found"); return; } string extension = Path.GetExtension(Dlg.FileName); if (extension != ".csv") { Cursor = Cursors.Default; MsgBox.Show(this, "Only .csv files may be imported."); return; } string[] lines = File.ReadAllLines(Dlg.FileName); if (lines.Length == 0 || (lines[0] != "Code,Description,Unit Fee,Allowed Fee,POS,TOS,Modifier,RequiresCliaID,GlobalBillingDays,ChargeCode" && lines[0] != "\"Code\",\"Description\",\"UnitFee\",\"AllowedFee\",\"POS\",\"TOS\",\"Modifier\",\"RequiresCliaID\",\"GlobalBillingDays\",\"ChargeCode\"")) { Cursor = Cursors.Default; MessageBox.Show("Unexpected file format. First line in file should be:\r\nCode,Description,Unit Fee,Allowed Fee,POS,TOS,Modifier,RequiresCliaID,GlobalBillingDays,ChargeCode\r\nor\r\n\"Code\",\"Description\",\"UnitFee\",\"AllowedFee\",\"POS\",\"TOS\",\"Modifier\",\"RequiresCliaID\",\"GlobalBillingDays\",\"ChargeCode\""); return; } string feeSchedName = Path.GetFileNameWithoutExtension(Dlg.FileName); FeeSched feesched = FeeScheds.GetByExactName(feeSchedName, FeeScheduleType.Normal); if (feesched == null) { feesched = new FeeSched(); feesched.Description = feeSchedName; feesched.FeeSchedType = FeeScheduleType.Normal; feesched.ItemOrder = FeeSchedC.ListLong[FeeSchedC.ListLong.Count - 1].ItemOrder + 1; feesched.IsHidden = false; //feesched.IsNew=true; FeeScheds.Insert(feesched); DataValid.SetInvalid(InvalidType.FeeScheds); } else { if (!MsgBox.Show(this, MsgBoxButtons.OKCancel, "Fee schedule already exists and all the fees will be overwritten. Continue?")) { Cursor = Cursors.Default; return; } Fees.ClearFeeSched(feesched.FeeSchedNum); } bool importAllowed = false; if (MsgBox.Show(this, MsgBoxButtons.YesNo, "Import Allowed Fee column instead of Unit Fee column?")) { importAllowed = true; } int imported = 0; int skippedCode = 0; int skippedMalformed = 0; string[] fieldArray; List <string> fields; double feeAmt = 0; string codeText = ""; bool formatQuotes = false; if (lines.Length > 1) { if (lines[1].Substring(0, 1) == "\"") { formatQuotes = true; } } if (formatQuotes) //Original format - fields are surrounded by quotes (except first row, above) { for (int i = 1; i < lines.Length; i++) { //fieldArray=lines[i].Split(new string[1] { "\"" },StringSplitOptions.RemoveEmptyEntries);//Removing emtpy entries will misalign the columns fieldArray = lines[i].Split(new string[1] { "\"" }, StringSplitOptions.None); //half the 'fields' will be commas. fields = new List <string>(); for (int f = 1; f < fieldArray.Length - 1; f++) //this loop skips the first and last elements because they are artifacts of the string splitting. { if (fieldArray[f] == ",") { continue; } fields.Add(fieldArray[f]); } if (fields.Count < 4) { skippedMalformed++; continue; } if (importAllowed) { feeAmt = PIn.Double(fields[3]); } else { feeAmt = PIn.Double(fields[2]); } codeText = fields[0]; if (!ProcedureCodes.IsValidCode(codeText)) { skippedCode++; continue; } Fees.Import(fields[0], feeAmt, feesched.FeeSchedNum); imported++; } } else //New format - fields are delimited by commas only (no quotes) { for (int i = 1; i < lines.Length; i++) { fieldArray = lines[i].Split(new string[1] { "," }, StringSplitOptions.None); fields = new List <string>(); for (int f = 0; f < fieldArray.Length; f++) { fields.Add(fieldArray[f]); } if (fields.Count < 4) { skippedMalformed++; continue; } if (fields.Count > 10) { MsgBox.Show(this, "Import aborted. Commas are not allowed in text fields. Check your descriptions for commas and try again."); Cursor = Cursors.Default; return; } if (importAllowed) { feeAmt = PIn.Double(fields[3]); } else { feeAmt = PIn.Double(fields[2]); } codeText = fields[0]; if (!ProcedureCodes.IsValidCode(codeText)) { skippedCode++; continue; } Fees.Import(fields[0], feeAmt, feesched.FeeSchedNum); imported++; } } DataValid.SetInvalid(InvalidType.Fees); Cursor = Cursors.Default; string displayMsg = "Import complete.\r\nCodes imported: " + imported.ToString(); if (skippedCode > 0) { displayMsg += "\r\nCodes skipped because not valid codes in Open Dental: " + skippedCode.ToString(); } if (skippedMalformed > 0) { displayMsg += "\r\nCodes skipped because malformed line in text file: " + skippedMalformed.ToString(); } MessageBox.Show(displayMsg); DialogResult = DialogResult.OK; }
private void butOK_Click(object sender, System.EventArgs e) { if (textDescription.Text == "") { MsgBox.Show(this, "Description not allowed to be blank."); return; } if (comboTrigger.SelectedIndex == (int)AutomationTrigger.CompleteProcedure) { if (textProcCodes.Text.Contains(" ")) { MsgBox.Show(this, "Procedure codes cannot contain any spaces."); return; } if (textProcCodes.Text == "") { MsgBox.Show(this, "Please enter valid procedure code(s) first."); return; } string[] arrayCodes = textProcCodes.Text.Split(','); for (int i = 0; i < arrayCodes.Length; i++) { if (!ProcedureCodes.IsValidCode(arrayCodes[i])) { MessageBox.Show(arrayCodes[i] + Lan.g(this, " is not a valid procedure code.")); return; } } } if (comboAction.SelectedIndex == (int)AutomationAction.CreateCommlog) { if (comboCommType.SelectedIndex == -1) { MsgBox.Show(this, "A CommType must be selected."); return; } } if (comboAction.SelectedIndex == (int)AutomationAction.PopUp) { if (textMessage.Text.Trim() == string.Empty) { MsgBox.Show(this, "Message cannot be blank."); return; } } if (comboAction.SelectedIndex == (int)AutomationAction.PrintPatientLetter) { if (comboSheetDef.SelectedIndex == -1) { MsgBox.Show(this, "A SheetDef must be selected."); return; } if (SheetDefC.Listt[comboSheetDef.SelectedIndex].SheetType != SheetTypeEnum.PatientLetter) { MsgBox.Show(this, "The selected sheet type must be a patient letter."); return; } } if (comboAction.SelectedIndex == (int)AutomationAction.PrintReferralLetter) { if (comboSheetDef.SelectedIndex == -1) { MsgBox.Show(this, "A SheetDef must be selected."); return; } if (SheetDefC.Listt[comboSheetDef.SelectedIndex].SheetType != SheetTypeEnum.ReferralLetter) { MsgBox.Show(this, "The selected sheet type must be a referral letter."); return; } } if (comboAction.SelectedIndex == (int)AutomationAction.ShowExamSheet) { if (comboSheetDef.SelectedIndex == -1) { MsgBox.Show(this, "A SheetDef must be selected."); return; } if (SheetDefC.Listt[comboSheetDef.SelectedIndex].SheetType != SheetTypeEnum.ExamSheet) { MsgBox.Show(this, "The selected sheet type must be an exam sheet."); return; } } AutoCur.Description = textDescription.Text; AutoCur.Autotrigger = (AutomationTrigger)comboTrigger.SelectedIndex; if (comboTrigger.SelectedIndex == (int)AutomationTrigger.CompleteProcedure) { AutoCur.ProcCodes = textProcCodes.Text; } else { AutoCur.ProcCodes = ""; } AutoCur.AutoAction = (AutomationAction)comboAction.SelectedIndex; if (comboAction.SelectedIndex == (int)AutomationAction.PrintPatientLetter || comboAction.SelectedIndex == (int)AutomationAction.PrintReferralLetter || comboAction.SelectedIndex == (int)AutomationAction.ShowExamSheet) { AutoCur.SheetDefNum = SheetDefC.Listt[comboSheetDef.SelectedIndex].SheetDefNum; } else { AutoCur.SheetDefNum = 0; } if (comboAction.SelectedIndex == (int)AutomationAction.CreateCommlog) { AutoCur.CommType = DefC.Short[(int)DefCat.CommLogTypes][comboCommType.SelectedIndex].DefNum; AutoCur.MessageContent = textMessage.Text; } else { AutoCur.CommType = 0; AutoCur.MessageContent = ""; } if (comboAction.SelectedIndex == (int)AutomationAction.PopUp) { AutoCur.MessageContent = textMessage.Text; } //MessageContent was already set blank if not PopUp or Commlog above. Automations.Update(AutoCur); //Because always inserted before opening this form. DialogResult = DialogResult.OK; }
/*//<summary>Used when a button is moved out of a category. This leaves a 'hole' in the order, so we need to clean up the orders. Remember to run Refresh before this.</summary> * public static void ResetOrder(int cat){ * * }*/ ///<summary>Deletes all current ProcButtons from the Chart module, and then adds the default ProcButtons. Procedure codes must have already been entered or they cannot be added as a ProcButton.</summary> public static void SetToDefault() { string command = @" DELETE FROM procbutton; DELETE FROM procbuttonitem; DELETE FROM definition WHERE Category=26" ; General.NonQ(command); int category; //defNum int procButtonNum; int autoCodeNum; int autoCodeNum2; //General--------------------------------------------------------------------------------------------------------- command = "INSERT INTO definition (Category,ItemOrder,ItemName,ItemValue,ItemColor,IsHidden) " + "VALUES (26,0,'General','',0,0)"; category = General.NonQ(command, true); //Amalgam autoCodeNum = AutoCodes.GetNumFromDescript("Amalgam"); if (autoCodeNum != 0) { command = "INSERT INTO procbutton (Description,ItemOrder,Category,ButtonImage) VALUES('Amalgam',0," + POut.PInt(category) + @",'Qk12BgAAAAAAADYAAAAoAAAAFAAAABQAAAABACAAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAA/////////////////////9bW1v+ctbX/vebv/8XW1v+tvbX/hKWt/36crf9+nKX/nLW1/97v7//m9/f/pdbe/5y9vf/3////////////////////////////////////ztbO/5y1rf+cxcX/hKWt/5S1vf+cvcX/nMXO/5S9zv+Mrb3/jK2t/629vf+cxc7/nL29//f///////////////////////////////////+9zs7/fpSM/5S1vf+cxc7/tdbe/87m5v/O5u//1u/v/8Xe5v+lxdb/jK21/4Slrf+cvbX/9////////////////////////////////////7XW1v+ErbX/rc7W/8Xm5v/F3ub/3u/v/9739//W7+//zubv/87m7/+11t7/jK21/5y9vf/////////////////////////////////39/f/nLW9/5zFzv/O5ub/3vf3/8Xe5v/m////7////+/////O5u//zu/v/9739/+11tb/lLW1/+/39////////////////////////////9bW5v9NXb3/VWbv/8XW9//v////vdbm/+b3///v////9////73e3v+UtbX/5vf3/7XF9/9ufr3/zt7m////////////////////////////xcXv/xws3v8THO//bn73/87e5v+MrbX/xd7m/+/////v////rc7W/4ylpf/e7///PU33/xwk5v+1ve////////////////////////////+1ve//HCze/xwk7/80Pe//doy9/5y9vf/O5ub/9/////f///+1ztb/nLW1/4yc9/8cJOb/EyTv/4SU7////////////////////////////5yl7/8kLOb/HCzv/xwk7/80Rc7/foze/5Sl7/+crff/nK33/36U5v9dbsX/PUXv/xwk5v8cJOb/XW7m///////////////////////m9/f/foTv/yQs5v8cLO//HCzm/xws7/8kLOb/JCzm/yQs5v8kLOb/JCzm/xws5v8cJOb/HCzm/xwk7/9FVdb/9////////////////////+/39/9dbt7/HCTm/xws5v8cLOb/HCzm/xws5v8cLOb/HCzm/xws5v8cLOb/HCzm/xws5v8cLOb/HCTv/0VVzv/3/////////////////////////1Vm1v8cJO//HCzm/xws5v8cJOb/HCTv/xwk5v8cJOb/HCTm/xwk5v8cJO//HCTm/xws5v8cJO//RVXO//f39//////////////////3////RVXO/xwk7/8cLOb/HCTm/yw05v8sNOb/ND3v/zQ97/80Pe//ND3v/yw05v8kLO//HCTm/xwk7/9FVc7/9/f3//////////////////f///9FVc7/HCTv/xwk5v8sNOb/jJzm/3aErf+1xff/xdb3/8XW//+ElL3/nLXe/4yc9/8kLOb/HCTv/0VVzv/39/f/////////////////9////0VVzv8THO//ND3v/7XF9//O5ub/lK2l/87e1v/3////9////5y1rf/W7+//9////4yU9/8cJO//RVXW//f/////////////////////////boTF/1Vm7//Fzv//9////97v9/+1ztb/xdbW//f////m9/f/rcXO/+b39//3////7////5Sl7/9NXbX/9/f3//////////////////////+91tb/nL3F//f////v////5vf3/87m5v/e7/f/7////+b39//W7+//7////+/////v////tc7O/629vf////////////////////////////////+lxcX/pcXF/+/////3////1u/v/9739//3////3u/3/97v9//3////7////7XO1v+lvcX/9/////////////////////////////////////f39/+lvcX/nL3F/+b39//3////7////+/////m////7////97v7/+txcX/pb3F//f39/////////////////////////////////////////////f39/+txcX/lLW1/629vf/O3t7/3vf3/8Xe3v+lxcX/jKWc/7XFxf/39/f//////////////////////w==')"; procButtonNum = General.NonQ(command, true); command = "INSERT INTO procbuttonitem (ProcButtonNum,CodeNum,AutoCodeNum) VALUES (" + POut.PInt(procButtonNum) + ",''," + POut.PInt(autoCodeNum) + ")"; General.NonQ(command); } //Composite autoCodeNum = AutoCodes.GetNumFromDescript("Composite"); if (autoCodeNum != 0) { command = "INSERT INTO procbutton (Description,ItemOrder,Category,ButtonImage) VALUES('Composite',1," + POut.PInt(category) + @",'Qk12BgAAAAAAADYAAAAoAAAAFAAAABQAAAABACAAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAA///////////e5v//RU3m/yQ05v8kNOb/JDTm/xwk7/8cJO//JCzm/36UnP9+lJT/fpSc/3aUlP9+lIz/xc7O/////////////////////////////////3Z+9/8kLOb/Znbv/3aE7/+ElO//fpTv/zQ97/8kLOb/rcXm/73e3v+11t7/tdbe/5zFzv+EpaX/1t7e////////////////////////////LDTv/11u5v/e7/f/5vf//+/////3////pbX//yQs7//e7///7////+b39//e7/f/zubv/5S1vf+tvbX///////////////////////////80Pff/XW7m/+b////3////7/////f///+1xf//JCzv/+b3///3////7////+b39//W7+//nL3F/629vf///////////////////////////z1F9/9dbu//7/f//+/////v////9////4yc//89Rff/5vf//+/////v////7////9bv7/+cvcX/rb29////////////////////////////ND3v/3aE7//3////7////+/////v////XWb3/36M9//3////7////+/////v////1u/3/5S1vf+9zs7///////////////////////////8sNO//doTv//f////v////7////+////80Pe//pbX///f////v////7////+/////e7/f/jK2t/9be3v///////////////////////////yw07/9ufu//7////+/////v////3u///zQ97/+9zv//9////+/////v////7////87m7/9+lIz/3u/v////////////////////////////JCzv/2Z27//m////7/////f///+MlP//VWb3//f////v////7////+/////v////zubm/36UlP/m7+////////////////////////////89Rff/VWbm/97v9//3////7////11m9/9mbvf/9////+/////v////7////+////+91t7/lK2t//f3/////////////////////////////5yl//80Rd7/zubv//f////O3v//LDTv/7XF///3////7////+/////v////5vf//6W9xf+ctbX/////////////////////////////////1t7//yQ05v+MnO///////4yU//89Rff/5vf//+/////v////7////+/////m9///nL3F/7XFzv/////////////////////////////////39///Zm73/0VV5v+9zvf/LDTv/5yl///3////7////+/////v////7////+b39/+UrbX/1t7e//////////////////////////////////////+UnPf/JCzm/yw07/9dbvf/5vf//+/////v////7////+/////v////1ubv/4ylpf/m7+///////////////////////////////////////97m//8sNO//XW7v/97v///3////7////+/////v////7////+/////F3t7/nK2t/////////////////////////////////////////////////25+vf+Mpc7/7////+/////v////7////+/////v////7////6W9vf/Fzs7/////////////////////////////////////////////////pb21/5Strf/O5ub/7////+/////v////7/////f////e7+//jK2t/+bv7//////////////////////////////////////////////////O5ub/fpyc/7XOzv/e9/f/9////+/////v////9////7XOzv+EpaX/5vf3/////////////////////////////////////////////////+bv7/+MvcX/lK2t/5y1tf/O5ub/5vf3/+bv7/+9zs7/lL29/4ytrf/3////////////////////////////////////////////////////3ubm/5TFxf+95u//rb29/4ylnP+cra3/lK2t/6W9vf+t1t7/nLW1/////////////////////////////////w==')"; procButtonNum = General.NonQ(command, true); command = "INSERT INTO procbuttonitem (ProcButtonNum,CodeNum,AutoCodeNum) VALUES (" + POut.PInt(procButtonNum) + ",''," + POut.PInt(autoCodeNum) + ")"; General.NonQ(command); } //Crown if (ProcedureCodes.IsValidCode("D2750") || ProcedureCodes.IsValidCode("N4118")) { command = "INSERT INTO procbutton (Description,ItemOrder,Category,ButtonImage) VALUES('Crown',2," + POut.PInt(category) + @",'Qk12BgAAAAAAADYAAAAoAAAAFAAAABQAAAABACAAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAA//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+1ve//PVXW/1Vu7/9mdu//Znbv/2Z27/9mdu//XW7v/2Z27/9mbu//Zm7v/2Zu7/9dbu//XW7v/01m7/9FXeb/pa33/////////////////11m7/89Re//XWbv/11m7/9dZu//XWbv/11m7/9dZu//XWbv/11m7/9dZu//XWbv/11m7/9dZu//XWbv/z1F7/9NVe/////////////e3v//LDTv/6Wt9//39///9/f///f3///39///9/f///f3///39///9/f///f3///39///9/f///f3///39///vb3//zQ97//W1v///////5Sc9/80Re//5ub////////////////////////////////////////////////////////////////////////W1v//PUXv/73F9//39///XWbv/2Zu7////////////////////////////////////////////////////////////////////////////9bW//89Re//vcX3/87O//8sNO//tb3/////////////////////////////////////////////////////////////////////////////3t7//zRF7/+cpff/hIz3/z1F7//v7///////////////////////////////////////////////////////////////////////////////////XWbv/2529/9udvf/VV3v//f3//////////////////////////////////////////////////////////////////////////////////+MlPf/TVXv/2529/9VXe//9/f/////////////////////////////7+///6Wl9/+1vf///////////////////////////////////////6Wl9/80Re//bnb3/1Vd7//39//////////////////////////////W1v//RU3v/6Wl9///////////////////////////////////////3t7//yw07/9mdu//XWbv//f3/////////////////////////////87W//9FTe//zs7////////////////////////////////////////39///VV3v/3Z+9/9NVe//9/f/////////////////////////////1tb//1Vd7//Ozv////////////////////////////////////////f3//9VXe//vb3//yQs7//Ozv////////////////////////////+9xff/ND3v/4yU9//v7///////////////////////////////////tb3//yw07//v7///VV3v/z1F7/+cnPf/5ub///f3///m5v//jJT3/zQ97/89Re//LDTv/0VN7/+MlPf/pa33/87O///v9///5ub//5Sc9/8sNO//foT3///////e5v//foT3/z1N7/8sNO//VV3v/zQ97/9FTe//lJz3/+/v///e5v//foT3/01V7/9FTe//LDTv/0VN7/8sNO//ND3v/4yU9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w==')"; procButtonNum = General.NonQ(command, true); if (ProcedureCodes.IsValidCode("D2750")) { command = "INSERT INTO procbuttonitem (ProcButtonNum,CodeNum,AutoCodeNum) VALUES (" + POut.PInt(procButtonNum) + "," + ProcedureCodes.GetCodeNum("D2750") + ",0)"; General.NonQ(command); } if (ProcedureCodes.IsValidCode("N4118")) { command = "INSERT INTO procbuttonitem (ProcButtonNum,CodeNum,AutoCodeNum) VALUES (" + POut.PInt(procButtonNum) + "," + ProcedureCodes.GetCodeNum("N4118") + ",0)"; General.NonQ(command); } } //RCT autoCodeNum = AutoCodes.GetNumFromDescript("Root Canal"); if (autoCodeNum != 0) { command = "INSERT INTO procbutton (Description,ItemOrder,Category,ButtonImage) VALUES('RCT',3," + POut.PInt(category) + @",'Qk12BgAAAAAAADYAAAAoAAAAFAAAABQAAAABACAAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAA///////////////////////////////////////////F1tb/boyt/xwkpf/m5ub//////////////////////////////////////////////////////////////////////////////////////36MjP9VbpT/EySc/7XFxf//////////////////////////////////////////////////////////////////////////////////////XWZm/36lzv8kNMX/ZnZu//////////////////////////////////////////////////////////////////////////////////f39/9NXV3/fpz//wMD//9ddm7/zs7O////////////////////////////////////////////////////////////////////////////3t7e/2Z+dv9mfv//AwP//2aEfv+lpaX////////////////////////////////////////////////////////////////////////////FxcX/XXZ2/26E//8DA///jK2t/5ycnP///////////////////////////////////////////////////////////////////////////8XFxf9mfnb/fpT//wMD//+Era3/lJSU//f39///////////////////////////////////////////////////////////////////////nKWl/2aMjP9uhP//AwP//4y1tf+UnJz/9/f3//////////////////////////////////////////////////////////////////////9mbm7/ZoSE/2Z+//8DA///nMXF/4SMjP/39/f//////////////////////////////////////////////////////////////////////2Zubv9ujIT/Znb//wMD//+lzs7/foyM//f39///////////////////////////////////////////////////////////////////////PUVF/36lpf9ufv//AwP//63W1v9ufn7/9/f3/////////////////////////////////////////////////////////////////+/v7/9VVVX/jLW1/2Z2//8DA///td7m/2Z2dv/v7+//////////////////////////////////////////////////////////////////3t7e/1VVVf+Uxb3/bn7//wMD//+13ub/ZnZ2/+bm5v/////////////////////////////////////////////////////////////////e3t7/XWZu/5TFvf9mdv//AwP//7Xe5v9mdnb/3t7e/////////////////////////////////////////////////////////////////8XFxf9mbm7/nMXF/11m//8DA///zu/3/1VmXf/e3t7/////////////////////////////////////////////////////////////////zs7O/11mZv+cxcX/XW7//wMD///O7/f/VWZm/87Ozv/////////////////////////////////////////////////////////////////FxcX/ZnZ2/6XOzv9dbv//AwP//9bv9/9Vbm7/pa2t/////////////////////////////////////////////////////////////////62trf9VZmb/rdbW/01d//8DA///1u/3/01mZv+UlJT/////////////////////////////////////////////////////////////////nJyc/0VNTf+t3tb/XW7//wMD//+Urf//RV1d/4yUlP////////////////////////////////////////////////////////////////+1tbX/RV1d/7Xe3v9dZv//AwP//4yl//89VVX/foSE/////////////////////////////////w==')"; procButtonNum = General.NonQ(command, true); command = "INSERT INTO procbuttonitem (ProcButtonNum,CodeNum,AutoCodeNum) VALUES (" + POut.PInt(procButtonNum) + ",''," + POut.PInt(autoCodeNum) + ")"; General.NonQ(command); } //RCT BU PFM autoCodeNum = AutoCodes.GetNumFromDescript("Root Canal"); autoCodeNum2 = AutoCodes.GetNumFromDescript("BU/P&C"); if (autoCodeNum != 0 || ProcedureCodes.IsValidCode("D2750")) //we add this button if either RCT or crown is available. { command = "INSERT INTO procbutton (Description,ItemOrder,Category,ButtonImage) VALUES('RCT BU PFM',4," + POut.PInt(category) + @",'Qk12BgAAAAAAADYAAAAoAAAAFAAAABQAAAABACAAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAA////////////////pcXF/63W7/89Te//Exzv/01V7/+95u//tebm/7Xm5v9+lO//HCTv/xwk7/9Vbu//pdbe/73m5v////////////////////////////////+cvb3/rdbv/z1N7/8cJO//PUXv/63W7/+15ub/tebm/11u7/8cJO//HCTv/01d7/+cztb/td7e////////////////////////////9/f//5y9tf+t1u//PU3v/xwk7/8kLO//pb33/73m5v/W7/f/PU3v/xwk7/8cJO//PU3v/4zF3v+13t7/////////////////////////////////lL21/6XW7/89Te//HCTv/xwk7/+ElPf/zvfv/5yt9/8kLO//HCTv/xwk7/89Te//lMXe/73e3v////////////////////////////////+UvbX/vd73/0VN7/8cJO//HCzv/yw97/9mbu//LDTv/xwk7/8cLO//HCTv/0VN7/+Uvc7/rc7O/////////////////////////////////6XO1v+13u//RU3v/xwk7/8cLO//HCTv/xwk7/8cJO//HCzv/xws7/8cJO//RU3v/4S13v+lztb////////////////////////////m5v//PU3v/zRF5v8kLO//EyTv/xwk7/8cJO//HCTv/xwk7/8cJO//HCTv/xMk7/8cJO//JCzv/zRF5v/W1v///////////////////////5yl9/8sNO//fn73/4SM9/+EjPf/hIz3/4SM9/+EjPf/hIz3/4SM9/+EjPf/hIz3/4SM9/+EhPf/ND3v/4yU9//////////////////39///TVXv/36E9/////////////////////////////////////////////////////////////////9mbvf/VV3v//f3/////////////8XF//8cLO//zs7//////////////////////////////////////////////////////////////////4SM9/8sPe//7+//////////////hIz3/0VN7//39///////////////////////////////////////////////////////////////////paX3/yQs7//m5v///////+bm//9FTe//hIT3///////////////////////////////////////////////////////////////////////Fxf//JCzv/7299///////xcX//yw07/+9vff//////////////////////////////////////////////////////////////////////+/v//89Re//VV3v///////Ozv//ND3v/7299////////////////////////////+/v///e3v//9/f/////////////////////////////9/f//1Vd7/9FTe///////8XO//80Pe//vb33////////////////////////////ra33/11m7//e3v//////////////////////////////////dn73/yQs7///////xcX//yw07//Fxf////////////////////////////+UlPf/Zm7v//////////////////////////////////////+1tf//JCzv///////W1v//NEXv/7299////////////////////////////5yl9/92fvf//////////////////////////////////////7299/8kLO////////f3//9dZu//fn73////////////////////////////foT3/z1F7//Ozv//////////////////////////////////dn73/zQ97////////////5yl9/8kLO//jJT3/+bm///39///5u///4SM9/8sNO//LDTv/yQs7/9+hPf/vb33/97e///39///5u///3Z+9/8kLO//vb33////////////9/f//5Sc9/9NVe//ND3v/z1F7/80Pe//TVXv/62t9//v7///nKX3/0VN7/8sNO//LDTv/01V7/80Pe//PUXv/7299////////////w==')"; procButtonNum = General.NonQ(command, true); if (ProcedureCodes.IsValidCode("D2750")) { command = "INSERT INTO procbuttonitem (ProcButtonNum,CodeNum,AutoCodeNum) VALUES (" + POut.PInt(procButtonNum) + "," + ProcedureCodes.GetCodeNum("D2750") + ",0)"; General.NonQ(command); } if (ProcedureCodes.IsValidCode("N4118")) { command = "INSERT INTO procbuttonitem (ProcButtonNum,CodeNum,AutoCodeNum) VALUES (" + POut.PInt(procButtonNum) + "," + ProcedureCodes.GetCodeNum("N4118") + ",0)"; General.NonQ(command); } if (autoCodeNum != 0) { command = "INSERT INTO procbuttonitem (ProcButtonNum,CodeNum,AutoCodeNum) VALUES (" + POut.PInt(procButtonNum) + ",''," + POut.PInt(autoCodeNum) + ")"; General.NonQ(command); } if (autoCodeNum2 != 0) { command = "INSERT INTO procbuttonitem (ProcButtonNum,CodeNum,AutoCodeNum) VALUES (" + POut.PInt(procButtonNum) + ",''," + POut.PInt(autoCodeNum2) + ")"; General.NonQ(command); } } //Bridge autoCodeNum = AutoCodes.GetNumFromDescript("Bridge"); if (autoCodeNum != 0 || ProcedureCodes.IsValidCode("N4127")) { command = "INSERT INTO procbutton (Description,ItemOrder,Category,ButtonImage) VALUES('Bridge',5," + POut.PInt(category) + @",'')"; procButtonNum = General.NonQ(command, true); if (ProcedureCodes.IsValidCode("N4127")) { command = "INSERT INTO procbuttonitem (ProcButtonNum,CodeNum,AutoCodeNum) VALUES (" + POut.PInt(procButtonNum) + "," + ProcedureCodes.GetCodeNum("N4127") + ",0)"; General.NonQ(command); } if (autoCodeNum != 0) { command = "INSERT INTO procbuttonitem (ProcButtonNum,CodeNum,AutoCodeNum) VALUES (" + POut.PInt(procButtonNum) + ",''," + POut.PInt(autoCodeNum) + ")"; General.NonQ(command); } } //Build Up autoCodeNum = AutoCodes.GetNumFromDescript("BU/P&C"); if (autoCodeNum != 0) { command = "INSERT INTO procbutton (Description,ItemOrder,Category,ButtonImage) VALUES('BU/P&C',6," + POut.PInt(category) + @",'')"; procButtonNum = General.NonQ(command, true); command = "INSERT INTO procbuttonitem (ProcButtonNum,CodeNum,AutoCodeNum) VALUES (" + POut.PInt(procButtonNum) + ",''," + POut.PInt(autoCodeNum) + ")"; General.NonQ(command); } //Exams/Cleanings Category-------------------------------------------------------------------------------------------- command = "INSERT INTO definition (Category,ItemOrder,ItemName,ItemValue,ItemColor,IsHidden) " + "VALUES (26,1,'Exams/Cleanings','',0,0)"; category = General.NonQ(command, true); //PA if (ProcedureCodes.IsValidCode("D0220")) { command = "INSERT INTO procbutton (Description,ItemOrder,Category,ButtonImage) VALUES('PA',0," + POut.PInt(category) + @",'Qk12BgAAAAAAADYAAAAoAAAAFAAAABQAAAABACAAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3/0VFRf8DAwP/AwMD/wMDA/9dXV3/jIyM/yQkJP8DAwP/AwMD/4SEhP8LCwv/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/RUVF/97e3v+MjIz/AwMD/wMDA/8DAwP/AwMD/35+fv/FxcX/JCQk/wMDA/8DAwP/5ubm/5SUlP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/VVVV/wMDA/8DAwP/AwMD/wMDA/8LCwv/nJyc/+bm5v9dXV3/AwMD/wsLC/+MjIz/ZmZm/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wsLC/+lpaX/xcXF/zQ0NP8DAwP/NDQ0/62trf9dXV3/JCQk/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/TU1N/2ZmZv/Ozs7/dnZ2/wMDA/9dXV3/xcXF/+bm5v80NDT/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/9FRUX/lJSU/8XFxf+tra3/hISE/7W1tf/FxcX/tbW1/2ZmZv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/01NTf/Ozs7/1tbW/+bm5v/Ozs7/7+/v/+bm5v/v7+//jIyM/yQkJP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/ZmZm/+bm5v//////5ubm/+/v7//v7+//5ubm//f39//W1tb/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/9mZmb////////////39/f/5ubm//f39///////9/f3/+bm5v80NDT/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/1VVVf/39/f//////+/v7//m5ub/////////////////7+/v/yQkJP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/3t7e/+/v7//39/f/9/f3/9bW1v/m5ub////////////v7+//AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/+EhIT/paWl/8XFxf//////3t7e/97e3v/v7+//5ubm/5ycnP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/TU1N/wsLC/8DAwP/AwMD/wMDA/89PT3/1tbW/87Ozv/FxcX/lJSU/35+fv+MjIz/dnZ2/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/2ZmZv//////XV1d/wMDA/8DAwP/AwMD/wMDA/8LCwv/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/9mZmb//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w==')"; procButtonNum = General.NonQ(command, true); command = "INSERT INTO procbuttonitem (ProcButtonNum,CodeNum,AutoCodeNum) VALUES (" + POut.PInt(procButtonNum) + "," + ProcedureCodes.GetCodeNum("D0220") + ",0)"; General.NonQ(command); } //NewChildExam }