Author: dreaswar

Consultant Paediatric Orthopaedic & Spine Surgeon, Coimbatore, Tamil Nadu & Palakkad, Kerala India

My Neurology Charter app in HTML and Javascript – Design Preview

An Neurology Charter app in Javascript and HTML.
As of now this is Standalone but this will be integrated into the EMR.
This is still very-much-beta. Design & Functionality will change considerably before I go final.

Neurological Examination App
Neurological Examination App

Contact Management App with Zope3 (Bluebream)

Am having a repository developing Bluebream (Zope 3) simple contact management application at BitBucket.

Its here:

Its just starting. I suppose pluggable modules can be created to make it like an ERP

Care to join ?

My Hospital runs Linux (OR) How we closed the Windows & Opened the Doors

The Great Dream …

This post is my dream .. or has been for about 4 years.

A day that my hospital runs on full Open Source Software.

First a little about me. I am a practicing Paediatric Orthopaedic and Spine Surgeon. I am a Open Source enthusiast. I started using Linux 6 years ago and for past 4 year I am using it almost exclusively at work and home. The only time I use Windows is for the odd gaming. I do Python programming – web & desktop.

When we moved into our new hospital premises, set up 2 years ago, to start on a good note and to save start up cost I set up an Open Source Intranet (Plone) and Open Source PACS for my use at the Hospital. I also started developing my own EMR project that I speak abt in this blog.

I dreamed that the hospital will implement an all Open Source Solution. I advised them likewise.

They seemed to listen. Then FUD (Fear -Uncertainty-Doubt) took over them:

How can we follow the advise of this Non-Professional ?

What happens if we have a trouble in future and then he cant help us ?

Where do you find the Linux certified guys to help you ?

What happens if Linux is sold off to come company and it becomes a paid?

(Yes, they did actually say that ).

So they sell themselves to the “Professionals” . Our Management was no different.

It was advised that our Hospital will need the best server, a professional firewall, latest antivirus, and all windows machines. Individual desktops were advised, even for Reception area ! . This along with the latest MS Office and all the great accompaniments. … It was not cheap – It was not meant to be. The offer looked really good. The guileless management was tempted to say ‘yes’.

Then they thought they’d double check with me, just in case.

The Great Deliberation followed.

One looked at the order, I chopped off half of it. Why do you need a comp with Core2Duo, 320 GB drive, 4GB RAM and Win7Prof  for Reception, Cash ?. All that they ever use to is to login to our Hospital Software.

I suggested all Thin Clients, Open Office, Linux on Server. Firewall with Linux. No antivirus software. Intranet with Open Source and Open Source PACS system. Desktops only for Doctor chambers and Media editing.

After mustering courage and ample dosage of FUD from the Professionals, Management decided on Windows Server & Win Thin Clients. They were whining all the while saying that my idea is ill advised. I suppose he would considering that I trimmed the budget at least 5 -6 lakhs of Rupees.

So it was going to be a huge server we may never use with features and specs that many small IT companies may not have or want or need or use : Sonic wall firewall, MacAfee antivirus, MS Office on all Desktops the list went on and on… There were ThinClients at all stations and Desktop at Doctors rooms and other important admin areas only. IT was Windows everywhere.

The Professionals offered to set up the Server with domains all the security stuff. It was bundled with the purchase.

Things had barely gotten off the ground after a year of struggling to set it up. Then a 2 year jinx started.

The Great Depression followed.

The Thin Clients which needed to work with only our Hospital Software (written in Java) needs Firefox. Most stations needed this software for the daily work. Even though we had purchased the ThinClients after testing with Firefox and our Software, after implementation it was horridly slow. CPU was clocking   100 % the moment we use the software on Firefox.

The ‘Pros’ blamed it on Thin Clients. They told Mangement we told you so. You needed Desktops. Buy it and it will run things smoothly. Blame game between the ‘Pros’ and the software vendor started.

They could not sort it out for over two years. Work at the hospital suffered. We needed to replace the Thin Clients at the high workflow areas with old desktops to that we could serve.

All the while I kept telling them you move to Linux it will be all right, but they needed a ‘Pro’ to tell them that. Of course, they would not. They tried to sell us more. After `considerable study` at their HQ and evaluation of the software, they said it will be all right if the server did all the processing and asked us to shell out more for the Terminal  License for Windows.

I put my foot down and said no. I said I could make it run smoothly under Linux if they wanted, so they had better come up with a better option.

Things dragged on with no news from them even after 1 year. The Management was frustrated. Then Windows cracked and light came through. The Management decided to Open the Doors.

The Great Revival followed.

Enter Mr. Kumaran (

Cent-OS it was then for the main server with customised `really thin` clients. One week of testing with VirtualBox and couple of flashed thin clients and the Managements saw the light of what I was saying all the while. All processing at the server. Hospital Software is fast. Staff are happy. Work gets done. Management is happy. Work get done with no money spent.

Now we have fully converted. Printing is an issue because of the WinPrinters we had purchased. Luckily most of the are aging and needs to be replaced.

The Great Leap Forward …..

Open Source Intranet Platform

  • Intranet has been customised and installed.
  • Used everyday at our Hospital now.
  • It runs Plone with add-ons and custom scripts.
  • Currently we are `fitting the gaps`
  • Scheduled implementation is due next month.
  • Staff seem to like the concept and are getting the hang of it.

Open Source PACS

  • Set up and running at full tilt
  • Currently in testing.
  • Scheduled implementation in a months time.

Our setup now contains

  • A main Cent-OS Server serving the Thin Clients
  • A Desktop with Ubuntu 12.04 PACS Server (Staging)
  • A Desktop Ubuntu 12.04 Intranet Server (Staging)
  • A Desktop Ubuntu 9.04 Server for the Hospital Management Software Maintained by Software Vendor. We need to migrate this as it is aging.

So, what are we leaping to ?

  • Open Source EMR
  • Open Source ERP
  • and more…..

Django EMR , Dojo (OrthoDocx) – jQuery (OrthoEMR) comparative Interfaces

The entire application interface is basically a tabbed top and bottom container for Patient management.

Patient list grid is basically a list with Datagrid with a jsonRest store. The Django view will return the json. The row click will  fill the bottom tabbed panel with appropriate contact, phone numbers, email, guardian, admission and visit info for that patient.The double click will allow editions / deletion of the patient if the user has the permissions.

Application currently uses Django 1.4, PyYaml, PIL, ReportLab, PISA(html5lib) and Dojo 1.7.2

The icons currently being used are from KDE but that may change.


The second sreenshot is the comparative interface in jQuery. There is no bottom pane here. Left sidebar shows the context info on patient selection from the list. The Right sidebar is hidden if the screen resolution is below 1024 and shows itself on zooming out / clicking the icon at the top left.

This interface uses jQuery, jQuery UI and plugins for the table with heavy CSS and jQuery customisation.  The icons used are mostly from the tango project with a few from the silk collection for web. I have made some of my own. Some icons are just place holders and i need to work on them to make my own ones.


Django EMR : Status Update and How i Moved to Dojo from jQuery

Hi, As usual updates are infrequent.I have moved from jQuery to Dojo as the front end development in jQuery was not satisfying for me. Dojo is more polished. I like the Dojo approach of bundling all the plugins and integrating it tightly rather than the add as you like approach of jQuery. Dijit is superb.

Of course Dojo documentation can do better. However, it has become so much better than a few releases ago.I have found that if you persist with it after some initial frustration, it is rather nice once the development picks up speed.

I chose to do the forms with minimal modification of Django code. I did not resort to Dojango which i feel binds the Django code too much to Dojo. What i have done is to set up series of JSON views which tries to remain as front end agnostic as possible.

Django and jQuery were both chosen when i was a newbie with both, so repetitive code was too much and refactoring had to be done. The current Django code is considerably leaner and cleaner not to mention the javascript.

I didnt have the heart to do way witht the jQuery project. So i decided to maintain both. Currently the focus is on Dojo. I am using both at my clinic and it seems to work fine. Development is progressing at a good pace.

Expect some screenshots soon …

My Django EMR project – Orthopaedic Electronic Medical Record

Hello wandering web surfers,

It has been a long time.. the spider was asleep.Just to announce that long time go when this blog started i had mentioned about designing my own EMR.That is taking shape. I have been quietly at work for about past year and 3 months at it.

Choice of Desktop v/s Web:
Well i went for the web..
Python was the language i know .. at least a little bit.
A little bit of googling suggested Django was the most popular, so i jumped straight in. Initially i did think of trying out wxPython as the base like Gnumed but .. for no specific reason decided on Django. There was however some inspiration as i found at least one project which has used it..

Well, i taught myself Django basics with the tutorials available, but little did i know that the kind of functionality i had in mind requires good knowledge of HTML, CSS, JavaScript, AJAX etc… not to mention Python.

There were times when i didn’t have time to teach myself all these and thought of switching back to wxPython, but i stuck on and i am now reasonably satisfied.

I had made a Google code project page .. DjangoEMR. This could not be filled up as i had not anticipated the kind of delay.

I thought, rather stupidly that Agile Web development will be faster and i will be up and running in no time. I must say these 20 min blog tutorials are so misleading !

What it is::
Django EMR is a Orthopaedic Small Clinic / Physician EMR.
This can be extended to a multi-doctor practice, though i have not put in any effort on that as the project stands now.
The aim has been to optimize it for personal record keeping.
There also has been no specific attempt to incorporate things like HIPAA / HL-7 standards.. simply because i don’t have time to do that stuff. The aim has always been to create a personal record keeping.
One thing, this is designed as a Orthopaedic software, but with little effort this can be easily extended to other Specialities.

Features:: (most of it done, some of them almost)

  • User Registration ( basically built into Django)
  • Patient Contact Database
  • Admissions ( No Bed management / Medical Orders ).. remember this is not a Hospital Information System
  • Physical Examination and Daily Progress notes
  • Investigations and Labs result entry
  • Discharge Summary Generator
  • Detailed Diagnosis and Classification of each patient complaint
  • OPD Visit Management ( No Scheduling / Appointments)

Other planned features::

  • Physician Dashboard ( No of patients, admissions, events, reminders etc..)
  • Calendar
  • OPD visits scheduling and Appointments
  • OT Booking and Planner

Well, there are some more things i want to finish before i populate my project in Google code.
Stuck with the kind of busy days as i am nowadays really cannot give a time line.
watch this space.

Will i need Help ? ::
Most certainly i would.
Please do let me know here.

Let us start at the beginning…..

In the beginning, I did not exist….

there was this great void on the web….

… then on one lazy Friday after noon.. after an enriching cup of hot Milo, the Spider decided enough was enough and in a great maniacal flurry of creative hurry, decided to leave marks of its existence on the web of life.

This Blog is a product of  that afternoon. Now i exist on Orkut, Facebook, LinkedIn, WordPress and Twitter..

Enough about Me…. Now on to something completely different………….

Me…( Ya.. i like Monty Python)

I am an Orthopaedic Surgeon,, that is to say i try to mend Broken bones.. and fix worn out Joints for a living.

I grew up in a small town called Palakkad; a dry and windy town of Kerala State in South of India.

After training and doing Fellowships in various subspecialities that has now come up to split up the once broad speciality of Orthopaedics.. i have come to subspecialize in Paediatric Orthopaedics, Deformity Correction and Spine Surgery.

When i get bored, i tweak my Linux and i code my Python, PHP.. I have a great project of building my own EMR.. ( that is an electronic medial record)

Jokes aside fellows,

Great to be here..  Just feeling my way around here..

Hope to fill the blog in coming days with Orthopaedic notes, Patient education write ups. Also plan to start a Python code snippet collection.. someday..

Thanks for peeping in..

Comeback sometime . Hope to have the contents ready.