Dated Reminder System

bradymiller wrote on Monday, February 06, 2012:

Hi,

Note the CDR engine has “Active Alerts” which show a popup when you open a patient file, and could work in a rule that checks for things such as requiring a treatment plan for a patient.

Another example for a good place for vital patient messages is at top of summary screen. Kill a patient (ie. Set them to deceased in the patient demographics) and you will see an example of this.

This module, dated reminders, however, is simply a set human created reminder to do something on a certain day. If a user logs in, will see the number near Messages link on main menu if these are waiting for them. Of course, could always make an option to flash them on the main_title. If it’s truly important, why not also make an option to email the reminder on the date due.

-brady

cbezuidenhout wrote on Monday, February 06, 2012:

okay, some clarity here :

I have set a patient to have a different pid vs same patient’s id and I get issues.

So I edited the script to use pid and it worked fine in this case.

@aethelwulffe can you try editing the file (only 3 minor changes) : library/dated_reminders.php to test, if this solves your issue, I will commit it

line : 59

$pSQL = sqlStatement("SELECT pd.title ptitle, pd.fname pfname, pd.mname pmname, pd.lname plname FROM `patient_data` pd WHERE pd.pid = ?",array($drRow['pid']));  

line : 283

  $pSQL = sqlStatement("SELECT pd.title ptitle, pd.fname pfname, pd.mname pmname, pd.lname plname FROM `patient_data` pd WHERE pd.pid = ?",array($patientID));

line 377 :

$pSQL = sqlStatement("SELECT pd.title ptitle, pd.fname pfname, pd.mname pmname, pd.lname plname FROM `patient_data` pd WHERE pd.pid = ?",array($drRow['pid']));  

  - Craig
    Tajemo Enterprises

aethelwulffe wrote on Monday, February 06, 2012:

@Craig:
I am not using a “pop-up”  I am using the interface under Messages and Reminders.  I do not see another interface for it.  It was downloaded off yesterday’s dev tip.  I have not modified any relevant files.

The message center is open in the bottom frame on start up.  I hit “show reminders”.  Next “Send a dated reminder”.  I link it to a patient by clicking on the appropriate boxes (I have tried by name and ID).  I send it to myself, for/due today.
The message shows “TODAY:  Wrong Patient   This is a test”.
  I have tried it with a patient active, and without having a patient open.  Only change variable is when the patient ID number is more than two digits.

The tables look good, and the PID is an INT(11).  The data is correct.  IF the patient ID is 3 or more digits, it ALWAYS uses the name of the patient with one lower PID.  If it is a two digit pid, then it works correctly.  Mind you, the hyperlink will take you to the correct patient, but the name is simply incorrect.

@Brady:

Yeah, we are probably the poster children for a deep communications and organization system.
    The things we need reminders and time limits for often require repetitive stuff that also requires fuzzy dates (every third Tuesday on alternate blue moons kinda crap).  CDR rules are going to become useful once I can come up with some documentation for the users.  Naturally there is a lot of default content that does nothing but confuse and dishearten our folks.  “I don’t have time to learn to sharpen my axe!  I gotta keep chopping” kinda stuff goes on, and when the tools are usually not *quite* adaptable to the situation, well you keep looking.  That is/was the hope here.  We need a combination of things tied to the clinician, the patient, and the support staff.  We have a staff more the size of a small hospital than a typical clinic, multiple “programs”, various classifications of patients (who change, or are in multiple programs), units authorization, contractor pay, you name it….everything has a huge set of logic exceptions to how it has to operate.  This leads me to looking hard at everything in the communications department that comes out.
  I’m not even going to start on how hard unit tracking/authorizations/use vs. codes vs plan vs. program vs. human error is to code for……  Frankly, it’s more complex than billing itself.

aethelwulffe wrote on Monday, February 06, 2012:

@Craig
Yeah, sorry, I guess it DOES use a pop-up.  I was thinking “fancybox”.
I will pump in your new code and test immediately.

BTW, I have a test database creator program posted on this site and OEMR.org.  It lets you make a million or so patients and other data.  It’s nice to test against a large, database.  It’s not as good of a wash-test as handing it to your wife after you have sworn everything works, but it sure shows up a lot of weaknesses.

aethelwulffe wrote on Monday, February 06, 2012:

Yep!
Using the actual pid field instead of the row index sure helped.  Apparently, patient 100 does not actually exist in that database.  Years ago, I suppose they were manually inputting patient numbers in version 2.8 or so when they were first loading their clients.  Of course, most folks naturally have a perfectly sensible and health database….so this was probably just us!….and the old code IS running clean against a test database.  I need to add a “Make table indexes goofy” option to the PrintaPatient program.

  I beat on it, it runs good.

Now that reminders are in the message center, do you see anything wrong with me increasing the field limit of the message?

aethelwulffe wrote on Monday, February 06, 2012:

Next whine:

Pop-up box for user selection is too small for four users per line.
Users need to be limited to “active” so that everyone in the address book (users table) does not come up (inactive users, Vendors, referring pcp’s etc…
Session user should only have the “Myself” choice, currently, your name will come up as well as the “Myself” box.
Would a search or drop-down be better here?  We have 48 active users, and about 30 inactive+address book contacts.
Need to omit users that do not have names (for whatever reason) presumably they are inactive.

cbezuidenhout wrote on Monday, February 06, 2012:

this is great input you are giving, I have been contemplating the recipient selection, whilst the checkboxes are easy for “dummies” they are screen hogs.

I was considering a multi-select box ? what do you think.

is it working with the new code then ? I will commit to GIT.

yes good call re: inactive users and not myself

I will do that all shortly

  - Craig
    Tajemo Enterprises

aethelwulffe wrote on Monday, February 06, 2012:

Yes, please commit the fix immediately.  It works fine.
Multi-select is a great idea.   I feel it is the best option.  For large groups like ours I would probably add ACL groups as well just for general “shouts”.

aethelwulffe wrote on Tuesday, February 07, 2012:

Hi Craig,
Next bit of feedback:

Let’s say that you send a dated reminder to more than one clinician.  They can all see the message….but if any one of them marks it as “done”, before the others see it, well, it goes away!  This forum makes it hard to give screenshots etc… so I will just copy and paste a small piece of a log:

ID 	Sent Date 	From 	To 	Patient 	Message 	Due Date 	Processed Date 	Processed By
1 	2012-02-06 00:38:40 	Michael Arthur Eaton 	Karin Neville, LMHC 	N/A 	We now have a "Dated Reminders" system in the Message Center. You will see how many messages you have in parentheses on the Messages button. 	2012-02-06 	2012-02-06 12:41:35 	Dawn Leonard, RMHCI
1 	2012-02-06 00:38:40 	Michael Arthur Eaton 	Linda J Eaton, LMHC 	N/A 	We now have a "Dated Reminders" system in the Message Center. You will see how many messages you have in parentheses on the Messages button. 	2012-02-06 	2012-02-06 12:41:35 	Dawn Leonard, RMHCI
1 	2012-02-06 00:38:40 	Michael Arthur Eaton 	Phyllis Dougherty, ARNP 	N/A 	We now have a "Dated Reminders" system in the Message Center. You will see how many messages you have in parentheses on the Messages button. 	2012-02-06 	2012-02-06 12:41:35 	Dawn Leonard, RMHCI
1 	2012-02-06 00:38:40 	Michael Arthur Eaton 	Damia Kelly, RMHCI 	N/A 	We now have a "Dated Reminders" system in the Message Center. You will see how many messages you have in parentheses on the Messages button. 	2012-02-06 	2012-02-06 12:41:35 	Dawn Leonard, RMHCI
1 	2012-02-06 00:38:40 	Michael Arthur Eaton 	Franklin Ed Shoemaker, RMHCI 	N/A 	We now have a "Dated Reminders" system in the Message Center. You will see how many messages you have in parentheses on the Messages button. 	2012-02-06 	2012-02-06 12:41:35 	Dawn Leonard, RMHCI
1 	2012-02-06 00:38:40 	Michael Arthur Eaton 	Veronica Seleska, LMHC 	N/A 	We now have a "Dated Reminders" system in the Message Center. You will see how many messages you have in parentheses on the Messages button. 	2012-02-06 	2012-02-06 12:41:35 	Dawn Leonard, RMHCI

Dawn was the first on to see the message, and snuffed it for everyone else.
I have not tested this for reminders that are linked to a patient, so I do not know if that makes and difference in the behavior.  I have not looked at the tables since finding this issue, so I do not know if they support individual sign-off, but I supposed that there is a data entry for every addressee, and you just need to tweak the sql update criterion to get this to function properly.
  BTW, good job so far.  Our folks are really looking forward to what they are calling the “text message” function.  I got alerted to this bug by someone saying “Hey Art, I ‘Tweeted’ everyone, but nobody got it”.  It took a while to figure out what he meant!  This really will get used.  It is far simpler to understand than the messages/patient/chart notes, which are not well understood.

bradymiller wrote on Tuesday, February 07, 2012:

Hi,
If the item is completed, though, why would others need to see it? My take is that this is more of a to do list than a message feature (we have the messages module for messages).
-brady

aethelwulffe wrote on Tuesday, February 07, 2012:

Another possible feature is to enable sending either group reminders or multiple per-patient reminders to one clinician.  The idea is to say “Hey, Bob, you need to review the following charts:  Patient1, Patient2, Patient3.” or similar things.  Of course, these can be put on the calender, but the problem with the calender is that once a date has passed, it is gone.  I am sure the clinical reminders/rules/alerts are going to be more useful for the “real” stuff like Treatment Plans (with appropriate targets in the demographics) but this is very nice to communicate and harass folks with.  We really appreciate it.

cbezuidenhout wrote on Tuesday, February 07, 2012:

Glad people are interested in this feature and that it will be used.

if any one of them marks it as “done”, before the others see it, well, it goes away!

This is more of a feature than a bug, the idea is to avoid duplication.

We have put some thought into it, and a “send each message individually” option may work for this case.

what do you think ?

as for multiple patients, I can’t see that being built it yet, it would require a serious restructure to the existing system.

we are busy changing the recipient selection method and possibly adding the   “send each message individually” option (if  it seems wanted) once these features and a few small bugs have been fixed, I will commit to GIT

  - Craig
    Tajemo Enterprises

aethelwulffe wrote on Tuesday, February 07, 2012:

2012-02-07 02:42:16 PST
Hi, If the item is completed, though, why would others need to see it? My take is that this is more of a to do list than a message feature (we have the messages module for messages). -brady

Because if you are going to send a reminder to multiple people such as “Meeting today, don’t forget!” to harass them, you don’t want the first person to effectively delete the message.  Mind you, if the messaging system in place had been written a little more cleverly, it could easily do all this.  Unfortunate, the “ofcNotes” function is extremely clumsy, hard to access,  and not very well thought out.  Patient Notes are for the chart, and Messages….well they are a little rough too.  Compared to the communication matrix in say, Amazingcharts, it’s kinda 1968 DARPA.

   Not complaining, but if you want to get away from e-mail communication in a fairly large organization, the ofcNotes and Messages don’t really cut it.  It really should work more like E-mail or a Forum with PM.  It would also be great to have “who’s online” to show logged users, and have a shoutbox available.  Sure, we can do this stuff by tweaking in features of other programs, but that’s cause we are geeks.

aethelwulffe wrote on Tuesday, February 07, 2012:

Doh! I hate not having edit
……Anyway, why would you SEND to multiple recipients if you didn’t want them all to receive it?  It can be an item that each PERSON must complete, right?  Anywho, the proof is in the pudding.  Real users immediately had a problem when they used it.  It provided “unexpected behavior” from the end user standpoint.  You either disable multiple addressee selection, or have multiple versions of the message.  As it is, you cannot send a message to everyone that says “hey, this feature is available”……get it?

bradymiller wrote on Tuesday, February 07, 2012:

Art,

Disagree. You are using (and training the staff) to use it as a messaging tool, which it is not. If want to send a reminder that all users need to “complete”, then should be sending separate reminders (guessing that could be worked into the code, but then this simple tool becomes more complicated). Rather than dismiss the Messages module and use another tool incorrectly, why don’t we try to fix the Messages module? What issues need fixing in the Messages module. The plan at this time for Messages module is:
1. Include counting of uncompleted messages in the Messages link counter also.
2. Place a patient to link directly from the messages (as the reminder does)
3. Consider not requiring a patient linking
4. Make the ‘Done’(from Message gui) and inactive (from pnote gui) consistent

-brady

aethelwulffe wrote on Tuesday, February 07, 2012:

Hi Brady, remember, I am just providing user feedback here.

I agree that the messages function could use any and all improvements you state.  By all means, get to work on it if you wish.  I never “dismissed” the messages module, just stated that I have never succeed in getting anyone to actually use it, and I can see why.  My function here is to state observed behavior of >this< contribution, and report usage feedback to the developer to make decisions.

   I feel perhaps you also misunderstand my role.  I do not get an opportunity to “train staff” very often.  We are talking about 5 installs and about 175 users.  I just *ahem* help them out by handing them the tools and any documentation available.  What we are getting here is the raw feedback from people who see a tool, decide how they are going to use it, and the resulting noise.  I figure that is what will happen with the broader population, no?

  Thus we are left with the end result:  Include the reminder tool, provide an explanation of it’s specific uses and limitations, and severely limit how it can be applied (no send to multiple if multiple are not guaranteed to receive it, right?), or do the last few tweaks that make it a pretty nice communication option as a “post-it” note tool.  This tool has features that folks immediately want to use.  The Executive Director here wants a message tool that jams the note directly in the face of an overworked counselor that is using the EMR from 3 counties away.  This can do that.  They can also figure out how it works on their own, and are not scared off by the 1984-looking table with the messages.  That interface, and the distinction between office notes, patient notes, and “messages” kinda blows their little minds -very little, in some cases ;).  The messages tool has languished for a long time in dis-use (except for patient notes) for our users, and is out of “development” as it were.  This new tool is indeed simple, but is already closer to being the desired feature that folks want than the other options, and is being actively worked on….so naturally it’s the bandwagon.

  There are many left-overs and legacies of the same things that are not quite fleshed out, yet get re-invented over and over.  How many ROS forms?  How many reports *almost* work?  How many contribs that never really worked so good?  Why is billing data scattered all over the system (ref entering HCFA referring provider)?  Because they are each little bits of a coding project that sort of got abandoned and re-started in some other way than written out and re-started in a code maintenance cycle, right?  Coding vs. Development, Carpentry vs. Architecture.  Two different topics, Ja?

  This wee bit of code is nicely modular, and can be popped in anywhere with the include AND is pretty decent modern code and style over-all.  Very nice start if you ask me.  I like it, but that in no way is to say that I dis-respect the contributions of the folks that made any of the other communications features, or any other legacy bits and pieces all over the place.  Here we are though.  We have added a few more tables to OpenEMR to handle this (up to what now? 158-160 tables for the average install?).  Seems like we should make full use of it and perfect something before wandering off.  Do that, expand it just a wee bit, and then you can just trash the original messages system, Fully integrate them, or just keep the old Dr Frankenstein approach.

bradymiller wrote on Tuesday, February 07, 2012:

Art,
The user feedback you are providing seems to point more towards issues with the Messages module (which was actually revamped a couple years ago by another contributor), which is now causing users to compensate for it by using another tool incorrectly. I simply disagree with your overall conclusion on how to go about fixing it. Regarding training, I was referring to how you used it in the log above and the dismissed comment was referring to this statement “Mind you, if the messaging system in place had been written a little more cleverly, it could easily do all this”. Not sure what total number of sql tables has to do with this? The feedback you provide is always very helpful; I’m just trying to avoid duplication of already existent tools etc. One of the goals of this release is to have a fully integrated Message Center on that screen for reminders/messages/authorizations etc; all this requires is some front-end mods.
-brady

jcahn2 wrote on Tuesday, February 07, 2012:

Some messages that are patient linked must be permanent and retrievable for ongoing care (and legal reasons); e.g. “Please tell Mrs Jones to stop Actos”

Others are IM, good for broadcast, and can be trashed, “Our flu shots are in now!!!”     These functions could/should be handled differently.    P.S.  Where is the “save” button for standard messages and is there an option to select where to save them in the record?

Jack
OEMR Board

cbezuidenhout wrote on Tuesday, February 07, 2012:

Feature to send to mulitple recipients, but have them “mark as completed” individually has been added, as well as some other changes.

I don’t think it is really an argument of which is better, the simple fact is that the DATED reminder system is intended for just that, DATED reminders (ie future reminders) it is not a replacement for the message system, however if it fills a user’s needs, then great, that is in favor of OpenEMR as a whole. So the more feature packed the DATED reminders can be the better.

remember the idea behind the DATED reminders is to send a message to someone that is for a future date
e,g, To: Reception “please call mr Jones for a follow up appointment in 2 weeks” will now appear on Reception’s screen close to the due date, making Reception aware of this task.

  - Craig
    Tajemo Enterprises

bradymiller wrote on Tuesday, February 07, 2012:

Hi,

Something that would also be useful is a way to check for future due messages. For example:
Checking a day ahead
Checking a week ahead
Checking a month ahead

I think the log can do this, but at some point the access to log will only be for admins (I assume that is the plan).

-brady