Set Appointment complete vs set procedure complete
Set Appointment complete vs set procedure complete
We use 14.3 in production. OD is configured so that we complete appointments, not individual procedures. However, from time to time, a procedure is mistakenly set complete using the drop-down list in the procedure edit window. That does not trigger any warning at all, and we end up with completed procedures not attached to any appointment. Moreover, since completing a procedure from the procedit window does not change its date, it is very often "completed" in the past. Has this behaviour been addressed in more recent releases? If not would it be possible to, at the very least, get a warning (the same warning we get when clicking "set complete") when someone changes the status to complete from the drop-down list? Personally, I would even prefer not to see the status "complete" in list or se it greyed out and have the set complete button next to the list deactivated.
Thanks
Thanks
-
- Posts: 64
- Joined: Thu Aug 20, 2015 11:08 am
Re: Set Appointment complete vs set procedure complete
Hello Mifa!
One thing you could do is edit the "Create Completed Procedures (or set complete)" permission in the Security window.
Here is how you do this if you are unfamiliar;
1. Make sure you logged in as an admin or someone who can edit permissions.
2. Setup -> Security
3. Select a user, you'll notice that the title "Permissions for group: GROUP NAME" will be above the permissions check boxs. This indicates that we are editing permissions for all users in that group. Additionally all users in that group will become red in the list.
4. For each group you do not want to allow setting procedures complete simply go to the Permissions check boxes and locate the "Create Completed Procedures (or set complete)" under "Chart Module" and uncheck it.
Let me know if this doesn't work for you or if there are any other issues!
One thing you could do is edit the "Create Completed Procedures (or set complete)" permission in the Security window.
Here is how you do this if you are unfamiliar;
1. Make sure you logged in as an admin or someone who can edit permissions.
2. Setup -> Security
3. Select a user, you'll notice that the title "Permissions for group: GROUP NAME" will be above the permissions check boxs. This indicates that we are editing permissions for all users in that group. Additionally all users in that group will become red in the list.
4. For each group you do not want to allow setting procedures complete simply go to the Permissions check boxes and locate the "Create Completed Procedures (or set complete)" under "Chart Module" and uncheck it.
Let me know if this doesn't work for you or if there are any other issues!
Re: Set Appointment complete vs set procedure complete
Hi Joe,
Thanks for your reply. I tried it but it does not work, or should I say it works too well as I cannot complete appointments anymore! What I need is just to prevent the status change to complete in the procedit window; I want the user to still be able to manually complete appointments, which in turn should complete the attached procedures.
Thanks
Mifa
Thanks for your reply. I tried it but it does not work, or should I say it works too well as I cannot complete appointments anymore! What I need is just to prevent the status change to complete in the procedit window; I want the user to still be able to manually complete appointments, which in turn should complete the attached procedures.
Thanks
Mifa
Re: Set Appointment complete vs set procedure complete
Go to Setup / Manage /Manage preferences. Select the Chart tab. un-check "Allow setting procedures complete".
Jorge Bonilla DMD
Open Dental user since May 2005
Open Dental user since May 2005
Re: Set Appointment complete vs set procedure complete
Thanks Jorge, but that is not it. This option is and has always been unchecked, yet, it is still possible to complete an individual procedure. See original post.
Here is how to fix it:
in FormProcEdit,
in comboProcStatus_SelectionChangeCommitted, replace
also, if it has not been corrected in more recent releases, there is a bug, an inversion between EO (index should be 3) and EC (index should be 2) when putting back previous status
in butSetComplete_Click add the following code at the beginning
Here is how to fix it:
in FormProcEdit,
in comboProcStatus_SelectionChangeCommitted, replace
Code: Select all
if(comboProcStatus.SelectedIndex==1){//C
// MF replaced below if(!Security.IsAuthorized(Permissions.ProcComplCreate))
if(!Security.IsAuthorized(Permissions.ProcComplCreate) || !PrefC.GetBool(PrefName.AllowSettingProcsComplete)) {
Code: Select all
//set it back to whatever it was before
if(ProcCur.ProcStatus==ProcStat.TP) {
comboProcStatus.SelectedIndex=0;
}
else if(PrefC.GetBool(PrefName.EasyHideClinical)) {
comboProcStatus.SelectedIndex=-1;//original status must not be visible
}
else {
if(ProcCur.ProcStatus==ProcStat.EO) {
comboProcStatus.SelectedIndex=2; // Should be 3
}
if(ProcCur.ProcStatus==ProcStat.EC) {
comboProcStatus.SelectedIndex=3; // Should be 2
}
if(ProcCur.ProcStatus==ProcStat.R) {
comboProcStatus.SelectedIndex=4;
}
if(ProcCur.ProcStatus==ProcStat.Cn) {
comboProcStatus.SelectedIndex=5;
}
}
return;
}
Code: Select all
private void butSetComplete_Click(object sender, System.EventArgs e) {
//can't get to here if attached to a claim, even if use the Edit Anyway button.
// MF start
if(!PrefC.GetBool(PrefName.AllowSettingProcsComplete)){
MsgBox.Show(this,"Only single appointments may be set complete. If you want to be able to set procedures complete, you must turn on that option in Setup | Chart | Chart Preferences.");
return;
}
// MF end
Re: Set Appointment complete vs set procedure complete
Mifa, I agree with you on all accounts and like all the code snippets you posted. I'll start working on getting them into the program as bug fixes.
Thanks for the help!
Thanks for the help!
The best thing about a boolean is even if you are wrong, you are only off by a bit.
Jason Salmon
Open Dental Software
http://www.opendental.com
Jason Salmon
Open Dental Software
http://www.opendental.com
Re: Set Appointment complete vs set procedure complete
Thanks Jason!
Which version(s) are you going to implement it in?
Mifa
Which version(s) are you going to implement it in?
Mifa
Re: Set Appointment complete vs set procedure complete
There will be two separate bugs: http://opendentalsoft.com:1942/ODBugTra ... sions.aspx
The inversion between EO and EC will go back to v15.4.
The additional implementation of the pref checks will probably go back to v16.1 (I'm going to be adding checks to the chart module as well) and since people aren't quite use to it I'd prefer they have to do a major update to get such a change so I'm only going to take it back to v16.1. v16.2 will be coming out soon which is going to push v16.1 to our "stable" version.
The inversion between EO and EC will go back to v15.4.
The additional implementation of the pref checks will probably go back to v16.1 (I'm going to be adding checks to the chart module as well) and since people aren't quite use to it I'd prefer they have to do a major update to get such a change so I'm only going to take it back to v16.1. v16.2 will be coming out soon which is going to push v16.1 to our "stable" version.
The best thing about a boolean is even if you are wrong, you are only off by a bit.
Jason Salmon
Open Dental Software
http://www.opendental.com
Jason Salmon
Open Dental Software
http://www.opendental.com
Re: Set Appointment complete vs set procedure complete
The bug "Procedure Edit window, the procedure status was getting set to an incorrect status sometimes when the user didn't have the ProcComplCreate permission and tried to set the procedure complete via the status combo box" is fixed and will be released with v15.4.52 and v16.1.22.
The bug "The Chart Module preference "Allow setting procedures complete..." was not stopping users from setting individual procedures complete from within the procedure edit window" is fixed and will be released with v16.1.22.
The bug "The Chart Module preference "Allow setting procedures complete..." was not stopping users from setting individual procedures complete from within the procedure edit window" is fixed and will be released with v16.1.22.
The best thing about a boolean is even if you are wrong, you are only off by a bit.
Jason Salmon
Open Dental Software
http://www.opendental.com
Jason Salmon
Open Dental Software
http://www.opendental.com
Re: Set Appointment complete vs set procedure complete
It turns out that after all these changes, my staff is very creative and is still finding ways to give me completed procedures without a completed appointment...
I have found another very simple scenario that leads to this:
The fix I have implemented in 14.3 for this is:
It may not work in the regular version of OD, as I have also modified how single and double-click are handled in the appointment's procedure grid. I found it was ambiguous at times, so I have reassigned the code for double-click (gridProc_CellDoubleClick) to single click by adding a variable whose value is set by 2 radio buttons, allowing the user to switch between appointment edit (i.e. add or remove procedure from the appointment - the original grid_ProcCellClick code) and procedure edit (modify a procedure in the list by opening the procedit window - the original grid-Proc_CellDoubleClick). Therefore, in procedure edit mode, I do not execute the code I'm proposing above, but simply redirect to gridProc_CellDoubleClick before reaching it.
I hope this makes sense!
Mifa


- complete an appointment
- open the completed appointment
- deselect a completed procedure from the list
- click OK
The fix I have implemented in 14.3 for this is:
Code: Select all
private void gridProc_CellClick(object sender,ODGridClickEventArgs e) {
...
// MF start
Procedure proc = Procedures.GetOneProc(PIn.Long(DS.Tables["Procedure"].Rows[e.Row]["ProcNum"].ToString()), false);
if (isSelected && proc.ProcStatus == ProcStat.C)
{
MessageBox.Show(Lan.g(this, "Completed procedure - cannot detach from appointment; change procedure status first"));
return;
}
// MF end
bool isPlanned=AptCur.AptStatus==ApptStatus.Planned;
List<long> procNums=new List<long>();
I hope this makes sense!
Mifa