I couldn't blog last week. So I will be writing about how I progressed with the enhancements to the flowsheet module in the past two weeks. I completed my final demonstration on July 22nd and it was very success. I received very good feedback and more motivation from the OpenMRS community. I was really happy to hear that the developers of the community liked the progress of the project and the new look to the module.
After the demonstration I started working on the feedback given by my mentors, Burke and other developers. One of the major issue I had earlier was the height of the main Grid widget. Earlier I had a fixed size for the height of the grid, an integer multiple of the number of rows in the grid. But in some browsers, there were more white spaces left in the bottom and in some other browsers there was scroll bar added to the grid. After trying with many options, finally I found the best way to do it following the
AutoHeightGrid sample. Now the Grid's height is adjusted automatically.
Another feature suggested was to highlighted the selected obs value in the graph as well. I managed to do it my using a star for the selected value and dots for other values. The screenshot below shows the change:
I did the other small changes like header of the pop-ups, make windows to close when ESC is pressed, etc, as suggested. Thereafter I started working on the two tasks left in the development plan: Adding search functionality to search by a name of obs and handling abnormal flags.
I came across the new release of GXT and the features in Ext GWT 2.2 Beta. One of the major feature added is the functionality to filter grid columns using boolean, integer range, string values etc. I understood that this new feature will be handy in doing the first task I mentioned above and went through the sample widget using this feature. I managed to get the way to add the filtering feature and added it to the main grid of the flowsheet after upgrading the GXT jar to Ext GWT 2.2 Beta. The output was very nice! The filtering of column is very fast and easy to handle. Some screenshots below showing this new features:
I believe that this filtering feature will be very handy.
I added some code to show the abnormal values using a color code; this color code will be finalized with others' suggestions. I'll add data about the color code in the flowsheet once it's finalized, so that others can understand it easily. Since there are no much abnormal data, I couldn't check all the scenarios; I will be adding more data and checking them as well. Once such indication is shown in the screenshot below.
While reaching the end of summer in next two weeks, I am left with the documentation work now. I started on writing the module documentation and will be completing it by next week. Looking forward to complete all planned tasks before the 'pencils down' date of GSoC and then continue further enhancements with future versions.