NOSH ChartingSystem

A new open source health charting system for doctors.

1 Comment

A Close Look Under the Hood of NOSH 1.8.0.

So I’ll start with two new features of NOSH 1.8.0 that benefits both the users (providers, patients) and the developer (me) that was recently released.


I wanted to have providers attain the ability to create their form templates on-the-fly using a web-based interface similar to what WordPress uses for its blog creation platform, specifically regarding forms.

Thanks to the dForm plugin for jQuery, I was able to make this work as a proof-of-concept with the introduction of electronic patient forms.  With JSON, form elements and their data was easily transmitted to the server and back.  Applying this principle to the review of systems (ROS) and physical examination (PE) section of the encounters view, I was able to create an on-the-fly template designing tool.  By designating the template to a particular element of the ROS/PE headings, one could create an unlimited number of templates for any condition.

This is a screenshot where the provider can edit the templates (Configure link -> PE templates).

NOSH ChartingSystem - Chromium_018

This is what the physical examination looks like with the template buttons on the right.  Clicking on the button will transfer a value text into the preview text box on the left.

NOSH ChartingSystem - Chromium_017


Rolling Releases

One new feature of NOSH is its ability to take advantage of GitHub’s revision control system.   Any changes to the NOSH code are tracked and  differences are documented between one version with another.  NOSH, because it is PHP and Javascript based, allows easy tracking and there is no binary code.  In the past, NOSH was updated either manually through an install script or through a Debian package script.  It was clumsy as sometimes there were issues from any Linux system (or Ubuntu version) that I didn’t anticipate, which caused premature script errors in the installation process.  This was quite frustrating for me and NOSH users.  With 1.8.0,  once NOSH is installed, it will no longer require updating via install scripts or Debian package scripts.  It runs in the background as a Laravel route, through a scheduled (Cron) script to be done nightly.  The Laravel route points to a controller that polls GitHub through it’s excellent API, tracks any changes and then applies those changes to the NOSH installation.  Any version changes that require database table modifications are  then applied afterwards if needed through NOSH’s internal version tracking.  And with Laravel’s Migration tool, table schema tracking is painless.  And with Composer’s dependency management system, updates of dependent packages is also automatic.

Wow…this is such a far cry from what I was doing with plain old PHP and Codeigniter from a couple of years ago.  Thank goodness for innovation and open source tools that keep getting better all the time!