Visit to a Eye practice

Thanks to Dr. Harris, we were visiting a pretty large eye practice in United States, to understand the day to day operations.

At the start, we had a perception that a set of tests are done by Technicians in various rooms and collated for the doctor to prescribe the medication. As Dr. Harris took us from room to room giving a brief explanation of what that tests are and how they are done, we were taken back by the speed and efficiency in which they operate a eye clinic.

A common clinical scenario enacted was:

One of our colleagues volunteered to be the patient. He was taken to the front desk where he would register his arrival as per his appointment.
The patient would then be given a small electronic token, which will aid as a directing device too.

So as per the directions of the device, the patient will be waiting in the area mentioned. A paper would be printed in the technician desk automatically which will inform the arrival of the patient.

The technician will then meet the patient take him to the room where he registers his primary eye problem and other medically relevant details.

Then the technician takes the patient to the dilation room from where after few minutes will move in to the exam/ test rooms.

The technician then performs the exams, records the details too in the same paper booklet where previous details are captured. Then the technician leaves the records in his desk, in the designated area “For Dr. Review”.

Dr. Harris once he completes the previous patient, comes to the technician desk and takes the next record available and goes into the corresponding exam room where the patient is waiting.

Dr. Harris does additional exams as necessary. In our clinical scenario, Dr. Harris did about 6 exams on the patient, in less than 40 seconds. Based on clinical findings, a technician stepped in to help the doctor on checking the corneal thickness. This test was also completed before we(as viewers) could assimilate them.

Upon completion of the exam, Dr. Harris prescribed the glasses prescription in the same record and coded the service which he rendered to the patient.

For readers benefit, Coding is the process by which doctors select pre-defined billing codes for each of the service they rendered. This is a standard followed across US, for medical insurance claims.

Then Dr. Harris places the record in the designated area named “visit completed”, from there the technician/administrator takes care of the post visit activities.

One of the most startling thing was the speed in which doctors and technicians capture the data is beyond our imagination. A patient visit will be taking anywhere between 20 mins – 30 mins (actual time spent with doctor and technician). Getting a system to work on these highly efficient practices will be a extremely tough task.

The final question that remains in my mind is:
Can technology bring more efficiency in these environments ?
Without real innovation, I doubt.

However, Technology can improve the quality of health care by:
1. Increasing the legibility of the medical records.
2. Data mining to analyse effective and ineffective practices.
3. Doctors can easily browse through historical data to understand and provide best care possible.
4. Can enhance communication between medical professionals.
Ex: E-Prescribition tracks the patients medications and allergies.
5. Aiding medical professionals to reduce errors

About Dr. Jeff Harris
Jeff Harris is the Vice President of Integrity Digital Solutions and has served on the faculty at the Scott & White Eye Institute for more than eight years. He is actively involved in resident education and lectures regularly on optics and contact lens topics. He provides primary care services and has extensive experience managing common ocular diseases such as glaucoma, macular degeneration and diabetic retinopathy.


Ant parallel execution – Error with emma code coverage

In our project we tried to run ant tasks in parallel. We were parallelizing emma code coverage task with some other independent build tasks.
At that time we were getting this error:

../project/build.xml:157: java.lang.ExceptionInInitializerError
Caused by: java.lang.ExceptionInInitializerError
at com.vladium.emma.instr.instrTask.execute(
at com.vladium.emma.emmaTask.execute(
... 31 more
Caused by: java.lang.IllegalArgumentException: null or corrupt input: out
at com.vladium.logging.Logger.create(
at com.vladium.logging.Logger.(
... 39 more

On analysing this we found a open defect in emma which is linked here:

Then on further debugging it, I found that the code in some of the logging portion in ant is obtaining locks and releasing it. Then we found out that the defect is in ant. We were running ant 1.7.1 at that time. I upgraded the ant to 1.8.1 and it solved the problem.

In ant 1.8.1, the locks which were obtained and released in logging was removed and an advanced lockless way of logging was introduced.

I hope this is useful for others debugging this issue.