Eye Exam questions relative to use by Optometrists

(Al) #1

Situation=Evaluating OpenEMR for use by optometry practice
OpenEMR Version= OpenEMR version 5.0.1(6)
Browser=Firefox primarily
Operating System: Server=Linux Mint+XAMPP, clients=Windows 10

  1. Congrats to all the developers of OpenEMR - very impressive piece of software.
  2. Kudos to developers of the Eye Exam form…very slick!
  3. Here are some questions about the Eye Exam functionality.

A) SpecRx & CLRx prescriptions

  1. What is the easiest way for the front office staff to print a SpecRx / CLRx? Is the only method to open up (edit) the Eye Exam and then access the Manifest Refraction and Contact Lens Refraction boxes?
  2. The Spec & CL prescriptions don’t have an explicit expiration date on the prescription. (Example use case: State law requires optometrists to extend Spec & CL prescriptions for 30 days past initial expiration if patient requests within first 30 days after expiration.) How can this be addressed?
  3. The Contact Lens Prescription doesn’t have a field for the quantity of lenses prescribed. (Example use case: Patient requests a copy of CLRx on last day before expiration; Rx should be dispensed with the minimum amount of lenses possible.) How can this be addressed?
  4. How does the Provider “finalize” the eye exam so nobody else can modify it?
    It appears a clinician can access a previous exam and modify that captured data.
  5. What is the intended use of the “Active Chart” slider? Can any user who subsequently access the eye exam use the slider to reactivate the chart and then modify the entries?
  6. POSSIBLE PROBLEM: In the Additional Data Points box, the Axis field does not appear to reliably retain the data input. Sometimes the OS Axis field retains the input info, but not usually.
    B) Shorthand
  7. Is shorthand input available for any of the Mental Status, Vision, Tension, Amsler, Fields, Pupils, W, MR, AR, CTL ADD, VA boxes? If so, what is the syntax of the shorthand input
  8. Does shorthand work for the SocHx, FH, ROS fields?

Thank you for your help.

(R Magauran) #2

In general note that code changes are always welcome especially if they improve work flows when using the product…

  1. Yes.
  2. The expiration date is on the printed Rx. Currently it is hardcoded to exam date + 1 year.
  3. I suggest using the comments section. If you are tracking products and inventory there is another area in openemr for that.
  4. Encounter lock.
  5. Only one person/session/instance can write to the chart. Others can see it and every 15 seconds it refreshes. If they take control by clicking “active chart”, they can write and others go read only. An alert tells the others this if they try to write and if one of these other persons insists, they can take control back…
  6. I’ll look into this…
  7. And 8. No, but it could very easily. I usually leave that to the techs but I’ll look closer at this.

(R Magauran) #3
  1. Yes. Bug.
    Here is the fix:
    Eye JS Bug Fix by ophthal · Pull Request #1944 · openemr/openemr · GitHub

(Al) #4

Mr. Magauran,

Thank you very much for the super quick response.

  1. Easy way to print Spec&CL Rx: Understood, thank you.
  2. SpecRx & CLRx expiration date: Hmmm…Prescriptions I just printed display “Generated on: 10/25/2018” and “Visit Date: 10/24/2018”…but no expiration date I can see. Is there a setting or configuration step I overlooked? {v 5.0.1(6)}
  3. CL Lens quantity: Understood, thank you.
  4. ‘Finalizing’ & ‘Freezing’ the finished eye exam: ahah!..per your response, I have searched and found “Admin Globals 4.2.0 E-Sign” on the Wiki…will read & understand.
  5. ‘Active Chart’ functionality: Understood, thank you.
  6. Axis field bug in Additional Data Points: wow, that is lightning fast turnaround. Thank you!
  7. Shorthand for refractive fields: ahh…I think I understand. You’re saying your office staff / techs input this info…not the ophthalmologist / optometrist. Therefore, there is less need for shorthand functionality since the office staff / techs are unlikely to use shorthand. Correct?
  8. Shorthand for SocHx, FH, ROS: same as #7, correct?
    Thanks again for the extremely quick and highly informative responses.


(Al) #5

On Item 2: SpecRx & CLRx expiration date: After poking around, I discovered the following:

In the Manifest (Dry) Refraction box…there are 2 clickable icons:
a) List of previous refractions
b) Dispense this Rx

Clicking “Dispense this Rx” produces a printout I described previously: Generated on: 10/25/2018” and “Visit Date: 10/24/2018”…but no expiration date.
Closing that printout and clicking on the “List of previous refractions” produces a printout labeled “Rx History” with a list of SpecRxs that include an expiration date.

Each time I do that sequence…another SpecRx is added to the “Rx History” printout…however none of the show any Sph/Cyl/Axis/Add measurements.


  1. What is that intended work-flow in this area?
  2. Are there any settings / configurations needed?

Thank you.


(R Magauran) #6
  1. Yup. Vous avez raison! Turns out we discussed it here:

but never committed it to the codebase.

I will update the codebase with this and add in quantity options into the RX Dispense page.
There area couple of other things to tweak on the CTL page that I’ll include in a commit this weekend.

My feeling is at least in the US, nobody really cares except the eye doc about expiration dates since you can buy pretty much any lens you want online without a script these days.

(R Magauran) #7

Each time you hit the printer icon, you are adding a new Rx.
If there is no data in that Rx, none should show up in the List. Perhaps it could be formatted better. I’ll take a look.

The modal window that opens can be altered if you want to tweak the Rx being dispensed, but whatever is there when closed is considered a final Rx and is listed on the Rx List page (the other icon). If you “Print” an Rx by accident, you can delete it from the list at any time.

When we did that Expiration stuff in 2017 it was only added to the codebase in the List of Rxs, not the Dispensed page. That’ll be in the commit/PR this weekend.

(R Magauran) #8

Here is the pull request with the changes:

Brady will review it and most likely it will be part of 5.0.2.
Until then you have to add these changes in yourself. If you are going to do this, just update the lines/segments changed since 5.0.2 has a totally new way of loading dependencies… If you just dump the new files in “as is”, they will not work. Plus you have to add a two new fields to the database to track what was dispensed (quantity of lenses dispensed). You wanted “Quantity” options too…

It has been 25 years since I prescribed a contact lens so let me know if the works flows need to be tweaked further. As you can see it is pretty easy to change things around. If the EMR doesn’t work for the providers, it is not worth using…

If your people want to use this in production, things like a menu link for the front desk to access past Rx’s is easy to add in. They just have to ask. It may not make it to the codebase but every aspect of OpenEMR can be configured for your local needs and desires. This is not your typical EMR!

(R Magauran) #9
  1. Is shorthand input available for any of the Mental Status, Vision, Tension, Amsler, Fields, Pupils, W, MR, AR, CTL ADD, VA boxes? If so, what is the syntax of the shorthand input

Note MS/Amsler/Fields/Pupils have default values. Pretty much everything in the VITALS row needs to entered manually.

Shorthand for refractive fields: ahh…I think I understand. You’re saying your office staff / techs input this info…not the ophthalmologist / optometrist. Therefore, there is less need for shorthand functionality since the office staff / techs are unlikely to use shorthand. Correct?

  1. Not necessarily. Retrieving visual acuities and IOPs are usually done “piecemeal” and get entered that way no matter who is doing the work.
  1. Does shorthand work for the SocHx, FH, ROS fields?

These three groups are too complex for shorthand - everyone has a different opinion about what goes where and why. At least in the HPI and Exam fields we all agree on the basics. These 3 zones will mean a lot less if CMS gets it’s way and strips E&M coding down to level 2 documentation levels in Jan 1.2019.

(Al) #10

Thank you Mr. (Dr?) Magauran.

I continue to thank you for your responsiveness and your thoughtful, open-minded attitude.

Regarding your suggestion of my implementing local changes to address optometry practice needs:

It is a great advantage of OpenEMR that it permits & facilitates local customization and extension.

I am currently planning to temporarily address our particular needs by adding an auxiliary application outside of OpenEMR.

I want to avoid modifying actual OpenEMR code and tables because of the likely version control issues. My plan is: An external, auxiliary application will read OpenEMR tables, present a GUI (outside of OpenEMR) & write to tables I add to the OpenEMR database that are separate from OpenEMR tables.
Advantages of this temporary work-around: immediately provide needed Optometry extensions while maintaining isolation from OpenEMR functionality.
Disadvantages: Users will need to ‘bounce’ back and forth from OpenEMr to a dissimilar external application.
This is intended to be a temporary work-around until OpenEMR can be evolved to address the few Optometry specific needs it does not currently address.

The current Eye Exam is very powerful and comprehensive, but some additional functionality, primarily in the management of Spec/CL prescriptions & dispensing & inventory will be needed to further facilitate Optometry usage.

I continue to test the OpenEMR Eye Exam form and review it with optometrists and will update y’all with additional feedback ASAP.

Thanks again for your help.