I've rewritten my contact lens calculator on EyeDock. The new version does a better bob of showing its calculations by displaying information on optic crosses. It's also more flexible with how it accepts keratometry and refraction input. Lastly, I've added a SPE / CPE lens calculator that uses Thomas Quinn OD's nomograms (the same ones we used to create the GPLI calculator).
Here's a little video introduction. I hope you find it useful!
Admittedly, a refraction (the process of measuring a glasses prescription) can be a little stressful for a patient. Sometimes it's difficult to make a choice, sometimes both choices look back, and sometimes you might even say "one" when you meant "two". People fear that, if they make one wrong decision, they're going to end up with a bad pair of glasses.
In truth, this should not happen with a proper refraction because it's a very sound process that starts by breaking your prescription into three parts, the amount of nearsightedness or farsightedness, the amount of astigmatism, and the axis (or angle) of astigmatism. For each part we show more and less amounts of power (or axis) until one of a few things happen:
- There's a clear cut best power.
- The choices start to look the same - This means we're splitting hairs so fine we that the changes were presenting are beyond the patient's threshold for seeing a difference.
- The flip-flopping begins. If the answers are telling us "I want more power. No I want less power. No I want more power" we know that, again, we've narrowed the value down to a small range and we can't go any further.
In my humble opinion, the most helpful thing to do while being refracted is to limit your answers to one of three things: Lens one is better, lens two is better, or they look the same. It doesn't matter if the one you're choosing is still blurry, sometimes that's the case. We just need to know which is the clear-er of the two. The primary goal of everyone involved is to clear things up, but that might not happen until the end of the process. When we ask which is better ("one or two") we're trying to find out which direction we need to move our power - up or down, or which way to twist our axis, left or right - to reach our objective of getting the best possible vision. Most other information besides "one", "two", or "the same" is extraneous. "Choice one is better, but it's blurry" doesn't really tell us anything beyond the fact that we need to move the power in the direction of choice one.
Optometrists learn to refract pretty quickly. Within a couple years we've done thousands of refractions and are quite proficient at it. We start to feel like finely tuned machines - if you say "one" we reflexively make our change in the instrument and ask our next question.
One thing that throws me off is when people don't tell me which choice they like, but when they tell me which one they don't like. On the surface it the distinction between the two seems insignificant. If there's only two choices, and you know which one is worse, then the other one is better, correct?
I was trying to figure out why this seemingly little thing seems to interrupt my flow so much. I was looking for something to compare it to, and I thought of another situation where you might have to make frequent choices between two options : Getting directions while driving. Sure, if someone constantly told me to "turn not left" or "turn not right" I could pretty much figure out how to get where I'm going but, the way my brain is wired, being told "turn right" or "turn left" is a lot easier for my brain to process.
All that being said, a good refractionist has to be flexible. To the best of our ability we need to educate our patients how to respond to our questions, and we need to alleviate their stressors and fears while being refracted. However, sometimes we just have to parse our patient's responses to the best of our ability and just do our best.
It's been a long time since I made a new iPhone app. I wrote the original EyeDock and CLCalcs on a very early version of iOS (it was iPhone OS at the time). Back then, iPhones only had 3.5" screens and iPads didn't exist.
I've opened up XCode and modified those apps a few times since their inception, but mostly just to fix things. It usually worked like this:
- new version of iOS comes out
- Crap, my app doesn't work!
- Hurriedly, with a thin sheen of sweat on my brow, try to fix app before I got too many complaints
My apps were pretty much like an old watch: I fixed them when they broke, but I broke out in a cold swear whenever I opened them up and looked at the insides.
I decided a few months ago I really need to make some changes to the EyeDock app. I don't like the way it downloads its data, it's not optimized for the 4" iPhone screens, and I really need an iPad version.
I'd stayed tuned to the developments in iOS and knew that things were evolving rapidly. In light of Apples has added or changed their APIs, in conjunction with the major changes I wanted to make to my old apps, I thought it might be best to relearn the ropes. What better way to do this than to make a new app from scratch.
In conclusion, I bring you the Parks Three Step app. It's my first universal app (it works on both the iPhone and iPad). I too advantage of many of the new things that have come along with the last 3-4 versions of iOS, including parallax, blocks, autolayout, and ARC. These things may not mean a lot to my non-iOS-developer readers, but this essentially means I'm caught up on the modern way of doing things.
Now time to rebuild that watch.
If you haven't seen the Jonathan Dong's (wahoo ICO!) Thrift Opt Video, you really need to check it out. I haven't done a lot of video editing, but I can recognize talent and hard work when I see it.
One of the first comments I heard about this video was "that guy has too much time on his hands". I'm a pretty laid back guy but this sort of attitude annoys the [redacted] out of me.
This was also one of the first comments I received when I started showing off my EyeDock Web site 10+ years ago. My skin admittedly a little thin, but it was crushing to hear a response like this after dedicating a year's worth of free time to my passion.
I think that, if someone creates something great, it should be celebrated. I don't care what it is. I don't even care if you don't like it. That fact that someone poured their heart and soul into their project deserves your respect.
And free time? Some people don't like to watch TV. Some people can't understand how anyone could spend half a day golfing. And other people like to spend their time making things.
Some people might say creating a something like EyeDock and producing a hip (do the kids still say that?) music video are totally different. After all, EyeDock generates some income (enough for me to justify spending the last decade working on it, anyway). However, I would disagree. I think developing a skill is always valuable.
Take, for example, Oculus Invaders, my "video game for optometrists". It really serves no practical purpose. By the time I finished it I felt it'd taken up way too much of my time and, when I put it on the Web site, I only received one comment - from an angry OD complaining that it was keeping his staff from doing their jobs. Still, making this game was very helpful for me. I learned the ins and outs of programming in Flash and it allowed me to develop many new features for EyeDock over the years.
The bottom line is, we all have some free time (except me - I have two jobs and three little kids!). We can use that time to create something of value, even if the value is that it makes someone smile or it just gives you some satisfaction. Or, we can spend two hours a night watching TV and complain about how other people have too much time on their hands.
. . .Then again, how did he do this while at ICO? Why, when I was a student, I studied 23 hours a day!
A long while back, perhaps in about 2003, I created a tutorial to teach the basics of refracting. I think I spent nearly every night and weekend on it for about a year (that was when I didn't have any kids, and my wife worked a lot of hours that I had off and vice versa).
I actually didn't even know what I was going to do with it when I finished it, if I ever did. I ultimately did finish it, and by a recommendation by my old ICO roomate, I ended up publishing it at medrounds.org. Like anybody who creates things, I'm very critical of my own work, but overall I'm proud of conceiving this and putting in the work to see it through to completion. It has generated some small extra income, although I don't think I want to know what the hourly wages would break down to! To be frank, however, I really don't care - it's been very rewarding to hear the feedback over the years and I hope I've helped a lot of new optometrists, ophthalmologists, and technicians get their feet wet with refracting concepts.
A few days ago a comment appeared on the youtube screencast I recorded to introduce this tutorial.
I was very disappointed. There's only 15 case studies, and then pretty much all you're left with is with the option where you manually input the target refraction... well that's not too useful is it since you already know what the endpoint refraction is gonna be!
It's always difficult to hear criticism of your work, but the more I thought about it, the more I saw this person's point. Of all the time I spent programming, drawing images of phoropters, etc., I should have spent some more time creating case studies. That would have been very easy. Or, I should have provided an option to generate random cases.
To be honest, I'm a little afraid to try to add features to this tutorial at this point. It's been quite a while since I've worked on it, and it's kind of like a swiss watch. If open it up and start tinkering with it I'm afraid I'll start breaking things and I'll never get it put back together again.
The good news is, it's actually quite easy to add patient cases to this tutorial. Somehow I had the foresight to separate the patient cases from the rest of the programming.
To do this, you will need to copy all the files on the CD onto your computer. I'd put them all into a folder (directory) - call it something clever, like "refraction tutorial". Then, within that file, find a file called patient_files.xml.
if you open this file, you'll see an xml document that describes all the patient cases that are included in the refraction tutorial. I won't go into too much detail here, but if you look at the structure I think you'll figure it out and should be able to add more patients.
But wait! Before you start messing with the contents of this file I'd recommend making a duplicate of the original, and rename it to something clever like patient_files_original.xml. Computers can be pretty picky about the syntax of XML. If you make a mistake you might find yourself in a position where you don't have any cases to work with!
However, I really don't like the idea of people having to populate this XML file to generate more virtual patients to refract. So, I spent the last couple nights writing a script to generate some data for you. The script uses totally random numbers to generate 100 patients.
I tried to make it relatively smart, so you'll find that:
- Every patient has a unique name. Not a useful feature, but it was kinda fun doing it!
- Most patients should have a fair amount of symmetry between their eyes, just like real patients (ie you won't find many cases with a +6.00 OD and a -6.00 OS).
- The old glasses or autorefractor results won't be perfect (what would be the point of refracting?), but they won't be off-the-wall either (ie, autorefractor says +4.00 but you refract -6.00).
How is this data lacking?
- I didn't have the motivation to factor in accommodation. I wrote a lot of code to make the virtual patients accommodate in ways you'd expect based on age. However, this data lists a starting VA's that do not take into account accommodation. As such, a 20 year old with +2.00 of hyperopia may show a starting VA of 20/80, but we all know this patient would probably be able to accommodate through that to a much better VA. As a cop out, I wrote a comment that these VAs were taken while the patient was cyclopleged. It's important to point out that this will not affect the process of refracting, only the initial VAs that are listed in the case "file".
- I didn't supply much history for the patients. Patients with cataracts or amblyopia will have some sort of statement related to their reduced BCVA, but the histories are not quite as involved as they are in the original case studies.
Each of these files has 100 patient cases. You can download them to your computer, than drag them into the directory that contains the contents of your CD. Rename the file you want to use to patient_files.xml (again, make sure you renamed the original so you don't overwrite it! ). When you start the refraction simulator it should pull in the data from the new file.
With 400 patients you'll have no excuse for not becoming refracting ninja!
did a little experiment looking at the size of eye drops in about 1999, and I thought I'd dust it off and share it here. A couple things to keep in mind:
- This isn't a peer-reviewed paper
- Some time has passed and I wouldn't recommend looking too closely at the raw data. After all, I suspect the dropper tips used in my experiment have been redesigned several times in the last 13 years and measurements of drop size would not apply to today's bottles.
- It's hard for me to believe, but the medical treatment of glaucoma has greatly changed since I did this experiment: Prostaglandins were not even available at the time of my study.
However, the overall conclusions are still valid. There can be considerable differences in drop sizes, which can make the length of time a given drop will last quite variable.
So, without further adieu,
[insert dramatic 20th Century Fox movie music here]
Days of therapy expected from promotional samples of antiglaucoma medication based on drop number and size.
Todd M. Zarwell OD FAAO
Objective: To evaluate the duration of therapy of five antiglaucoma promotional samples.
Methods: Five different antiglaucoma medication promotional samples were obtainedfrom laboratory representatives. Three subjects dispensed 10 drops each onto ananalytical scale. The mean drop volume of each medication was calculated. In addition, the fill volume and amount of medication wasted by the patient was calculated. Fromthis data the expected days of therapy for each medication was determined This was then compared to what an accepted "rule of thumb" equation would have predicted. Results: This study found that four medications (timolol maleate, dorzolamide, brimonidine tartrate, and a timolol / dorzolamide combination) provided a longer duration of therapy than the "rule of thumb" would have predicted while one (betaxolol) providedless than predicted. The Alphagan bottle had the most wastage while Trusopt had the least.
Conclusion: There is considerable variation in the duration of therapy of glaucoma medications in sample form. This may be due to differences in sample size as well as differences in drop size between the medications. The professional providing these promotional samples should be aware of the duration of therapy of each medication toensure continuous treatment until further follow up or additional medication can be obtained.
Key words and phrases: Antiglaucoma medications, ophthalmic promotional samples, timolol maleate, dorzolamide HC1, brimonidine tartrate, betaxolol HCl.
When attempting to determine the drop volume of commercially available glaucoma medications, clinicians sometimes use the "rule of thumb" equation that every milliliter of medication will yield approximately twenty drops.
Using this formula the medical vision care provider can estimate the number of drops that a container of medication will yield by multiplying its volume in milliliters by 20. Furthermore, the number of days of expected therapy from that medication can be determined by dividing the number of drops by the number of drops used per day, taking into account the dosing schedule and the number of eyes that are receiving drops.
Assuming 20 drops per millimeter assumes a 50 microliter drop size. However, a study of 20 antiglaucoma medications by Lederer and Harold found a mean drop size of 39.0 microliters and a range from 25.1 to 56.4 microliters.1 This indicates that assuming the 20 drops per millimeter rule will greatly underestimate the number of drops and consequently the duration of therapy that can be expected from antiglaucoma medication. In addition, it is apparent that any one formula is not adequate to determine the drop size of all antiglaucoma medications as considerable variation exists.
A number of studies have been performed to determine the duration of therapy of commercially available antiglaucoma medications. 2,3 Stewart and associates considered duration of therapy, average cost, and wastage of product in determining the expected yearl cost of glaucoma therapy.2
To the author's knowledge there has been no investigation of the duration of therapy expected from promotional samples of antiglaucoma medication. This is likely due to the fact that these samples are free of charge and are of no direct expense to the patient or the clinician. However, the knowledge of how long a promotional sample of medication will last may provide useful information to both the medical vision care provider and the patient.
The purpose of this paper is to determine the amount of medication that is provided in these promotional samples. The quantity of each of five commonly distributed sample products was determined from which the days of therapy was extrapolated, taking into account drop size and wastage of product.
Five promotional antiglaucoma medication samples were obtained from local laboratory representatives. The medications included a 5 ml bottle of Alphagan(brimonidine tartrate .2%), 2.5 ml bottles of Trusopt (dorzolamide HC12%), Cosopt (a dorzolamide HCl and timolol maleate combination product), and Betoptic S (betaxolol HCL.25%), and a 1.25 ml bottle of Timoptic XE (timolol maleate .5%).
Three subjects, all optometry students, instilled 10 drops of each medication at room temperature onto an analytical scale. To prevent fatigue, subjects were instructed to pause ten seconds between drops, at which time the size of the drops was recorded in grams. Subjects were asked to use the method of instillation they were most comfortable with. Because previous research has indicated that the dropping angle can significantly affect drop size, the analytical scale was elevated to a height of five feet to best estimatethe technique of instilling drops into the eye.4 The scale used was a Viscount Plus Series II sensitive to 0.001g.
For each medication the mass of the individual drops was measured, from which an average and a standard deviation were calculated. Calculations for wastage of medicine and percent usability were performed using formulae identified by Stewart and associates, as described below.2 Total mass of medication was calculated by finding the difference between the empty and full bottles. This value was compared to the actual amount of fluid dispensed to arrive at the amount of medicine wasted using the following formula:
Medicine wasted - total bottle mass - mass of dispensed medicine-unused medicine
Sources of wasted medicine include the fluid that rolled down the dropper tip alter dispensing and any extra drops that leaked out of the bottle after dispensing the intended drop.
The percent usability (percent dispensed correctly versus wasted) of a medicine was calculated by the following formula:
Number of days of bilateral therapy was calculated by the following formula:
Statistical analysis included a two-sample t-test comparing the difference between the drop size of each medication with each of the other four medications. In addition, a two-sample t-test was also calculated to compare the difference between the three different subjects.
The results of the mean drop size are shown in Graph 1. No significant difference was found between the mean drop size of Cosopt and Trusopt or between Betoptic and Timoptic XE, but a significant difference was found between all other medications (p<0.005). The largest mean drop sizes were observed with Betoptic (49 mg) and and Timoptic XE (47 mg), while the smallest drops were observed with Cosopt (31 mg) and Trusopt (31mg). Alphagan had a 37 mg drop size.
The percent usable value for each medication can be seen in Graph 2. The largest percent usable drug (least waste) was Trusopt (97.7%), while the least percent usable drug (most waste) was Alphagan(83.2%).
Graph 3 shows the expected days of therapy for each medication. A twice-a-day therapy was assumed for every medication except Timoptic XE, which was assumed to be once-a-day. As would be expected due to the larger bottle, the 5 mL Alphagan sample provided the most days of therapy: 30.1 days. Among the 2.5 mL, bottles Trusopt (23.9 days) and Cosopt (22.1 days) had a similar length of duration while Betoptic, which had the largest drop volume, yielded less days of treatment (9.9 days) than the 1.25 mL Timoptic XE (15.6 days).
Graph 3 also illustrates the expected days of therapy using the 20 drops/mL rule. All but Betoptic yielded more than the predicted duration of therapy.
No significant difference in drop size was found between the three subjects (p<0.001).
Oftentimes clinicians determine how long a medication will last for a patient based upon the number of drops that can be expected per milliliter of medication. It is often assumed that 20 drops of medication will amount to a volume of 1 mL.
The results of this study indicate that such assumptions may lead to errors in the estimation of duration of therapy. Of the five promotional samples tested, this assumption underestimated the duration of treatment of four of the medications (Timoptic XE, Alphagan, Trusopt, and Cosopt) and overestimated the duration of treatment of one (Betoptic S).
Other studies have found similar results for commercially available (not promotional samples) antiglaucoma medications. Ball and Schneider point out that the differences in duration of treatment may result in a wide variation in cost of treatment for the consumer. As some physicians assume the potency of many glaucoma medications to be equivalent, cost may be a prime consideration when deciding upon a treatment for an ocular hypertensive patient.5 Because promotional samples are free to the consumer, cost of therapy is not a major concern when beginning treatment with these products. However, knowledge of how long the medication will last is useful for informing the patient how much time he or she has to obtain more so that no treatment is missed. In addition, it may be particularly useful in a system that provides medications for the patient, such as the Veterans Affairs or a managed care group. Comparing how long a sample of medication lasts a patient to how long it is expected to last based on this study's results may be useful in determining a patient's compliance.
Promotional samples come in a variety of different volumes, which, as expected, results in a variation in the duration of therapy provided. In addition, there is also a variation in drop size for each of the medications. As current research indicates that a larger drop does not necessarily have a therapeutic advantage over a small drop, the main consequence of an increased drop size may be a decreased number of days of treatment.6,7 According to Brown, the factor most responsible for drop size is the diameter of the bottle's dropper tip.8 Other determinants may include the temperature and the viscosity of the fluid, which may offer an explanation as to why a suspension such as Betoptic S has a different mean drp size than a solution such as Alphagan.
Obviously, an increase in drop size will decrease the number of drops and therefore the days of therapy a medication will provide. For example, in this study both Betoptic S and Cosopt had a 2.5 ml volume. However, Betoptic had a 58% larger drop than Cosopt, which consequently yielded 55% less days of therapy.
There are several clinical considerations that may interfere with extrapolation of this stud's results. For instance, the amount of medicine wasted can be much higher when instilled into the eye as compared to an analytical scale due to the increased difficulty with this process. In addition, because the mean of a glaucoma patient is significantly older than the subjects of this study, there is a greater likelihood of decreased fine motor control and therefor a greater amount of wastage.
Promotional samples of antiglaucoma medications come in a variety of sizes. The samples in this study came in quantities ranging from 1.25 mi to 5 ml. In addition, there is also considerable difference in the mean drop size of these medications. In this study,the wide range of both these variables resulted in durations of therapy ranging from 9.9 days to 30.1 days.
When dispensing promotional antiglaucoma samples, the medical vision care provider should be aware that this range exists. Knowledge of the duration of treatment will enable the clinician to either provide enough medication to supply the patient until he or she can obtain more or to schedule follow-up before the patient's supplies are exhausted.
1. Lederer, CM., and Harold, RE.: Drop size of commercial glaucoma medications. Am. J Ophthalmol. 101: 691, 1986.
2. Stewart, WC., Sine, C., Cate, E., Mirmo, G.E., and Hunt, RH.: Daily cost of beta-adrenergic blocker therapy. Arch. Opthalmol. 115: 853, 1997.
3. Meyer, M.A. and Savitt, M i . : A comparison of timolol maleate and levobunolol. Length of use per 5-ml bottle. Ophthalmol. 101: 1658, 1994.
4. German, E., Hurst, A., and Wood, D.: Eye drop container delivery: A source of response variation? Ophthalmol. Physiolol. Opt. 17: 196, 1997.
5. Ball, S.F., and Schneider, E.: Cost of beta-adrenergic receptor blocking agents for ocular hypertension. Arch Ophthalmol. 110: 654, 1992.
6. Shell, J.W. : Pharmacokinetics of topically applied ophthalmic drugs. Surv. Ophthalmol. 26: 207, 1982.
7. Petursson, G., Cole, R., and Hanna, C.: Treatment of glaucoma using minidrops of cionidine. Arch Ophthalthol. 102: 1180, 1984.
8. Brown, RH., Hotchkins, M.I., and Davis, E R : Creating smaller eyedrops byreducing eye dropper tip dimensions. Am. J Ophthalmol. 11: 460, 1985.
I've had a contact lens calculator on my EyeDock Web site for nearly 10 years now, and overall it's been very well received. I was therefore pretty surprised to receive an email a few days ago taking issue with how I require the keratometry values to be entered. The calculator gives these instructions:
Enter the keratometry measurements in this format: 45/43.25@90.
When I made the calculator I was pretty pleased with myself for allowing my users to simply enter a string of text, as opposed to selecting each value from separate dropdown boxes. However, to make it easier to parse the input I figured I better restrict the user to a certain format. I decided to prohibit entries like this:
45.00 @ 180 / 43.25 @ 090
Hence my instructions listed above.
Now, when I was at the Illinois College of Optometry we learned to record K's like this:
horizontal meridian power / vertical meridian power @ vertical meridian
eg) 44.00 / 46.00 @ 090
This seemed about as simple as could be - on a manual keratometer you record it like so:
the drum on the left,/ the drum on the right @ the number on the axis wheel
After receiving the email regarding how I document K's I plunged into an abyss of self doubt. Well, that's a little melodramatic, but I did start to wonder how other people deal with recording keratometry. I took an informal poll of people I work with and the members of the OptcomList. You know what I found out? Some people actually do things differently than I do. It seems that another popular convention is to record K's like this:
steep power / flat power @ meridian of the flat power
eg) 46.00 / 44.00 @ 180
Well, you know what they say: There's two types of people in this world, people like me and weirdos. Just kidding - there's more than one way to skin a cat.
The optometrist who wrote was concerned that the differences in keratometry documentation could result in errors - for example, readings would be recorded 90 off and the calculations would therefore result in lenses that induced double the cylinder instead of corrected. If this was happening I'm sure I would have heard about it, but it made me rethink how how I approached my calculators.
When I wrote these programs I spent a lot of time putting values on optical crosses because I found it was really easy to get confused. The trickiest part was keeping the axes that we use when describing a refraction separate from the meridians we use when describing keratometry. I don't want to insult anyone's intelligence, but here's a quick illustration of that concept:
In short, optical power come from a curved surface, and a curved surface has an hypothetical axis that it rotates around. If the power meridian is at a specific angle, the meridian is 90º away from that angle.
We record refractions like this: -2.00 - 1.75 x 180, where the "-1.75 x 180" means the -1.75 of extra cyl power has an axis of 180º, which means this power resides in the 90º meridian.
When I record keratometry like this: 44.00 / 46.00 @ 090, I'm saying there is 46.00 D of power in the 90º meridian (which would actually be at axis 180º, but let's not confuse ourselves too much).
Let's put these examples on an optical cross:
Now, this diagram makes sense to me right off the bat. Steeper meridians would be expected to be more myopic meridians: The more myopic 90º meridian is the steeper meridian, and the flatter 180º meridian is the less minus one.
So, again, I would have document the K's like the first example (44/46@90) and others would have done it like the second (46/44@180). However, it really doesn't matter as long as the meridian power is identified correctly with its proper meridian.
If I enter both of these into my calculator:
. . . the results are the same, as they should be.
In summary, the calculator works by identifying the power of each meridian in the refraction and on the corneal curvature, and then perform the RGP calculation. Although there are differing preferences related to recording keratometry, this calculator is essentially format agnostic, as long as you use the power1 / power2 @ power2's meridian format. If you don't, well, you can't blame me for the consequences!
I'm still curious about these formats, though. I've been doing it the same way for so long, and I I've thought so hard about optical crosses while building these calculators, that I'm used to taking my measurements and making snap fitting decisions.
The people who use the other format implied that it's more intuitive, and I can see why: the axis of the refraction (listed in minus cyl format) should match the meridian that's listed for the flat keratometry reading, eg) -2.00 -1.75 x 180 and 46.00 / 44.00 @ 180. I have to admit, that's a good quick double-check that your measurements make sense. However, I refract in plus cyl so I'd still have to do things a little differently.
I'd love to hear from others in the comments - which do you record keratometry, and why?