The past few months of have been spent expanding OpenElis and the urge to finish “just one more feature” has put writing about what we have done on the back burner. The urge to finish the features is still there but so is the need to let people know what is going on. I’m going to go touch on some of the new features, if you want more details feel free to contact us.
Observation History
A laboratory information system should not be the primary repository for patient demographics. In an ideal world a patient’s records would reside in medical records system attached to their primary health care server but sadly we do not live in an ideal world and a clinical lab may indeed be the a persons main point of contact where records are kept. There is some information about a person which does not change, their gender, their birth date etc. There is other information which does change over time, such as what other medical conditions they may have, what medications they are taking or their weight. We can now capture that information in OpenELIS.
Reporting
Originally the reporting portion of OpenELIS had been done through an open source application called OpenReports. OpenReports solved many problems, it is a well written and flexible package which added a lot of capacity with relatively little effort. The major drawback is that it is a separate application and communicating between OpenELIS and OpenReports is a weak link. We also found that it was confusing for users to be in one application, OpenELIS, and all of the sudden find themselves in another application, OpenReports. We are slowly moving our reports out of OpenReports and expect to have that completely done by the end of the year. The new reports will be able to take advantage of the search capacity within OpenELIS, such as search for a patient by name, ST Number or National ID. This is also the direction that the domestic US version of OpenELIS has taken so we will be in line with their practices.
Integrating with Analyzers
The integration of a LIS with analyzers is a major challenge. Interfacing with any hardware device is difficult and interfacing with a hardware device which you don’t actually have access to is even more difficult. The path of software development is to specify the requirements, write the implementation and then find if the implementation meets the needs of the problem. For analyzers all of the steps are difficult, each type, model and version of an analyzer has different requirements and the manufactures are not always willing to share the specifications with open source providers. Implementing the requirements is almost impossible without access to the analyzer itself. In the bad old days of software development software engineers would write programs, hand them to a person behind a desk who would then try and run the program sometime in the next couple of days. If there were any bugs the person behind the desk would give you the printout and you would try and fix the bug, give the program to the person behind the desk again and wait a few days to find if you had fixed it. Without the analyzer that is what it is like to develop an interface for the LIS, except that you are interrupting the work of the lab to see if what you wrote works. We have taken a much more modest approach, most analyzers are able to export their results to a file and we have written the software which will import those files into OpenELIS
Modifying test requests
This has been a long requested feature for our version of OpenELIS and we have finished the work. So long as a test has not actually been done it can be canceled and additional tests can be ordered after the original sample had been entered into the system. The domestic version of OpenELIS also has this feature but it had not been integrated into the global workflow.
Reducing the complexity of the Administration view
Sometimes removing features is a step forward. When we did the administrator training we found ourselves cautioning against changing some of the settings. We finally took the obvious step and removed the ability to change those settings.
Upcoming new features
One of the harder tasks in OpenELIS is adding new tests and configuring the correct result limits, panels and reflexes. It is an error prone process and several OpenELIS implementers are working on solutions. Because we want all of our meta data changes to happen through Liquibase, so we can track and reapply the updates, we will be building a tool which will take the test specification from a template and generate the correct Liquibase files. The goodness of this is that the domain experts will be able to state what the tests they want in a way they understand and the result will be a file that will allow us to apply those changes to all of the implementations that need the new test.
Most of the development team will be traveling to Cote d’Ivoire for a few weeks and when we return the focus will be on finishing up the work for the Haitian LNSP facility as well as finalizing the tests for the clinical version of OpenELIS.
I hope you all had a good summer and are looking forward to a gentle Autumn.