Introduction to ClearHealth

Open Source has a wealth of offerings across many different arenas of software, to date a great deal of the offerings out there are development tools, general purpose applications, and first generation vertical applications. In the medical market there has been a long history of development on first generation software such as OpenEMR, FreeMed, FreeB and others. For some users these applications have offered a productive and capable platform on which to run their practice, but it is apparent to most the first time they go to use them that there is not the level of richness and depth found in proprietary alternatives like WebMD’s Intergy, NextGen, or The Medical Manager. With the the release of ClearHealth 1.0 RC1 there is now a credible and full featured Open Source (under the GPL) offering that competes point for point in the big five areas of medical software:

  • Scheduling
  • Billing
  • EMR
  • HIPAA Security
  • Accounts Receivable

ClearHealth Day to day operations in a medical clinic have a lot to do with the capabilities of the scheduling package used. ClearHealth was designed for clinics large and small, but has several features applicable to multi-facility organizations. An unlimited number of building, room and/or device combinations are supported so in the general practice case you can schedule providers to see patients as you expect or for a walk-in clinic case and especially the dental clinic case you can schedule patients for a particular room and a provider for that room. Security policies work with multiple practice organizations so you can have a single installation running both your dental and medical facilities while keeping patient data and information separate where appropriate.

The user interface for adding and editing appointments is very well evolved and takes advantage of some of the latest technology available for web based interfaces. Widgets from the Celini Open Source Toolkit make the patient selector an autocomplete box with real time response, no page reload required. This takes advantage of javascript to talk to the server without reloading the page. The underlying technology used is the excellent JPSpan library similar to the AJAX library also in vogue but more object oriented. Simply typing a few letters, a date of birth, record number, or ssn will yield a drop down box you can scroll through with arrow keys or the mouse. As ClearHealth continues to develop these rich UI components will play an increasingly major role in all future versions.

On the schedule display itself vertically colored columns give you an at-a-glance overview of who is in and when. Clicking 2 checkboxes yields an inline dialog that is pre-populated with the time and provider selected. The application will also confirm with a warning double booking or scheduling outside of a providers listed in time. We have had so much positive feedback on the scheduling package here that it is being rolled out as a standalone application called phCalendar.

A medical software suite isn’t much here in the US without support for billing. Myself and Fred Trotter (who created the original open source billing solution, FreeB) have worked painstaikingly to overcome the limitations and mistakes made in that first generation effort by creating FreeB version 2.0 which is bundled in with ClearHealth. This is nice for non-US users (everything in ClearHealth supports internationlization using IntSmarty, a spanish translation is coming in June) as it can be easily unbundled, there is a clean API which separates things as FreeB 2.0 is also available standalone.

ClearHealth For those unfamiliar with medical billing, thanks to congress, electronic billing uses the bleeding edge EDI standard known as X12 (circa 1976). In a nutshell this uses the UN numerical encodings for international trade as well as some semi-proprietary medical codings (such as CPT procedure codes from the American Medical Association) in a plaintext file with lot of :’s and ~’s separating the lot. There are also the fun to fill out HCFA and UB92 paper forms which are used a lot more than you would think. ClearHealth currently includes support for the X12 837P format which is used for general professional (not hospital or dental yet) claims, as well as the paper HCFA forms. X12 837I support for institutions and the UB92 paper form are already in the works and will be available later this year.

What would a national electronic standard be without at least one different version per state, if not per paying company. ClearHealth has support for about 10 variations across paper and electronic billing including the most common California and Texas payers. A lesson from FreeB v1 was to make it really easy to make new variations and that has been implemented in FreeB 2.0 using the Smarty template engine. Anyone with basic HTML and medical billing knowledge can adjust a format to make a new varitation and we would love the help, you can contribute them for now through the FreeB 2.0 site at

As far as features go all of the usual billing capabilities are included as well as some nicities. A revision control system was implemented for each claim, you make a change and it saves a revision. As many claims need to be submitted more than once this offers a great way to see what has been going on. Each claim is snapshotted from the main demographics system so if you need to make a specialty edit due to a last name change (such as from a recent marriage) for a single payer you can easily do so without it effecting the patients normal record. Almost all of the obscure sections of electronic billing are supported as well, ambulance claims, 35 specialty dates, referals etc.

Electronic Medical Records have been a hot-topic in the medical community since the dawn of the computer age, in reality not too many practices are willing to do away with the good old paper chart. ClearHealth offers a lot of options from simply improving your paper chart process by printing on-demand populated forms or going all the way with a 100% electronic worlflow. The EMR really consists of 3 components, these are stored documents, EMR Extensions, and per visit reports. There is a complete document storage system bundled in with support for file uploads (through the browser or via filesystem batch) as well as integration with some document sending units for easier or higher volume use. All common formats are supported like images, PDFs, Faxes, and word processing docs. You can also attach meta information and notes to each.

Almost all of the first generation Open Source EMR systems have some kind of custom form support usually requiring some amount of programming to create new forms. In ClearHealth we have upped the anty with its EMR Extensions which allow users to create their own forms in HTML, cut and paste them in, and then the system autocreates the database and logic to use the form, no programming necessary. You can also attach the form to any screen in the application or to a menu. Reports are a similar story, it takes a little bit of SQL knowledge but you can easily create reports that offer nice grid displays (autogenerated) or that display in a Smarty template themselves. These reports can be attached anywhere too.

There are some reasearch and development plans in the works to include a Gantt like display showing patient treatments and offering decision support. Sort of the common business data mining and analysis but in a medical and clinical context. This will be particularly valuable in the management of chronic diseases like diabetes and offer an alternative to often loathed governmental reporting software like PECS or the twice as exciting PECS II which now fill this role.

HIPPA Security
ClearHealth Congress also saw itself fit to create a mind numbing number of privacy and security guidelines in a law called HIPAA. On the whole the result has been in improvement in how your data is treated. However the cost has been great to a lot of clinics to implement the sometimes too rigid policies needed for it. The law itself really only gets teeth (like fines or jailtime, although enforcement is anticipated to be rightfully weak) this year so it remains to be seen what the longterm outcome will be. Every practice still has its own uniqie set of circumstances and policies when it comes to security and access, lawsuits also play a big role sometimes creating complex per patient/provider security related exceptions. We chose to implement security using the fantastic PHPGacl toolkit. This offers a complete implementation of Role Base Access Control which, while complex to define initial security policies, offers a have your cake and eat it too longterm benefit. Through a somewhat clunky interface (look for a rewrite using the rich interface technologies in 2006) you can control on a patient, provider and input field level who has access to what. There are also audit and visualization tools to help get feedback on the tangible effects of those policies, you can see the entire ACL display in a traffic like grid, green means go, red means stop.

Accounts Receivable
Medicine for some reason loves to have and use psuedo-accounting systems to track their accounts receivable. Maybe because unlike other industries what you bill for is never what you actually get and aging routinely runs in to the 90-180 territory which sends a shiver down my spine. Rather than a full fledged accounting package we have bundled a medical specific AR system in to ClearHealth. This allows for easy tracking of outstanding balances and indicates on a patients dashboard if they owe right at checkin. There are the usual aging reports and patient account drill down. Using the very powerful Celini grid displays you can also reorder, sort, resort, multi-sort and filter information on a huge number of axes to get at what you really want. Comprehensive preferences are included so when you set a filter or a sort a certain way it will still be there when you come back.

Under the hood
ClearHealth and the bundled FreeB 2.0 are written entirely in PHP implemented using the Celini “framework” that we developed to make building Open Source applications faster. ClearHealth is really just getting started, in only 8 months since active development began it has become the only Open Source application that does the big 5 features discussed here as one integrated suite. On top of that there is now quite a bit of interest and development to further extend its burgening use of rich client interface technology.

Thanks to the work by John Coggeshall on the IntSmarty internationalization plugin and the extensive use of Smarty templating through the system internationalization has been very straighforward. Almost all of the templates have been converted to use the language tokens and a spanish translation is about 50% complete. One catch is that for foreign character sets MySQL 4 will only let you run one language at a time, with 4.1 this limitation is though to be lifted. If you are interested in contributing to this effort help would be greatly appreciated and probably wouldn’t take more than a day of time.

Future Features
While the most important day to day operations are well covered right now there are some areas that will be developing over the next year. Electronic labs integration with the 2 most popular labs in the US is coming, more case management (i.e. social workers) is planned, and greatly enhanced prescription inventory, tracking, writing and filling is likely to happen. With this RC1 release we are eager to have the community a large, medical and technological, take a bigger interest in this crucial piece of infrastructure that is so often neglected and has never before been some promisingly implemented with Open Source. All forms of contribution are welcome and necessary from documentation, payer format variations, bug reporting and so forth. The easiest way to contribute is through the various links on the OP/EN site at .

About the author:

David Uhlman is Customer Happiness Guru and CEO of Uversa a leading Open Source Development firm located in Phoenix, AZ. David has a long background with Open Source Software and medical software in particular (FreePM, OpenEMR, FreeB). David is a frequent speaker and author on Open Source technology and has previously spoken at many user groups throughout the West, php|Works, COSTT, SCALE, TEPR and others as well as speaking later this year at OSCON, and php|Works and his writing appears on OSNews and about general Open Source topics and Medical Open Source in particular.

If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.


  1. 2005-06-02 7:15 pm
  2. 2005-06-02 7:21 pm
  3. 2005-06-02 7:52 pm
  4. 2005-06-02 8:19 pm
  5. 2005-06-02 8:25 pm
  6. 2005-06-02 8:43 pm
  7. 2005-06-02 8:51 pm
  8. 2005-06-02 9:37 pm
  9. 2005-06-02 10:06 pm
  10. 2005-06-02 10:08 pm
  11. 2005-06-02 10:39 pm
  12. 2005-06-02 10:43 pm
  13. 2005-06-02 10:43 pm
  14. 2005-06-02 10:47 pm
  15. 2005-06-02 11:04 pm
  16. 2005-06-02 11:04 pm
  17. 2005-06-02 11:20 pm
  18. 2005-06-03 12:06 am
  19. 2005-06-03 12:34 am
  20. 2005-06-03 12:45 am
  21. 2005-06-03 12:52 am
  22. 2005-06-03 12:55 am
  23. 2005-06-03 1:32 am
  24. 2005-06-03 2:07 am
  25. 2005-06-03 2:10 am
  26. 2005-06-03 2:25 am
  27. 2005-06-03 2:39 am
  28. 2005-06-03 3:26 am
  29. 2005-06-03 4:51 am
  30. 2005-06-03 5:35 am
  31. 2005-06-03 5:40 am
  32. 2005-06-03 8:02 am
  33. 2005-06-03 8:32 am
  34. 2005-06-03 8:12 pm
  35. 2005-06-03 8:54 pm
  36. 2005-06-03 10:58 pm
  37. 2005-06-04 12:26 pm
  38. 2005-06-05 6:56 pm