ArcNeo Theme

prasadforge wrote on Wednesday, October 02, 2013:

Hi all, I’m currently mid-way in the process of theming OpenEMR with current design trends.

This involved editing several files, the vast majority of work consisted of adding CSS classes directly to elements in .php files, writing stylesheets and cleaning up Tables (although rarely)

I thought it would be best to establish a few ground rules, and stick to them. They are:

  1. Try to maintain the original white-space and element sizing.
  2. De-clutter the UI where possible (reduce visual weight)
  3. Support a range of screen resolutions (although true responsive design is faraway)
  4. Not to modify the functionality or the logic
  5. Not to delete/modify the original page includes
  6. Keep any Code-File changes to the bare minimum
  7. Preserve original line numbering to the maximum extent
  8. Avoid loading resources from external domains (CSS,JS,Images,etc)
  9. Though the current version is slightly reliant on Bootstrap, I aim to reproduce the necessary styles in the main CSS file, thereby eliminating the need for bootstrap.css
  10. Avoid JS overlays (explained further below)

I have included a few screenshots and my thoughts in the next posts, please have a look

prasadforge wrote on Wednesday, October 02, 2013:

Try opening the images in a new tab, they appear clipped in this page

![alternate text] (http://arclev.com/screenshots/arc-neo-patients.png)
Patient List

![alternate text] (http://arclev.com/screenshots/arc-neo-cal.png)
Calendar

![alternate text] (http://arclev.com/screenshots/arc-neo-dem.png)
Prescription pad like theme

![alternate text] (http://arclev.com/screenshots/arc-neo-new.png)
JS tooltips for input-boxes

![alternate text] (http://arclev.com/screenshots/arc-neo-exp-cal.png)

  1. Responsive menu – changes to a gear icon with popup, when window size is below 1300px
  2. Font-awesome icons (pure CSS)
  3. Top and Bottom Frame display toggle
  4. Reduced visual weight for some elements
  5. Elements arranged to be compact, to reduce scrolling

prasadforge wrote on Wednesday, October 02, 2013:

Coming from a Drupal background, I felt OpenEMR theming to be pleasantly straightforward. Its much easier to get into the gut of the code. Here are a few thoughts i gathered while working on it:

  1. Avoid JS Overlays - they are too reliant on client side JS and sometimes may not pop. If the bottom frame is visible, most Overlays need to be scrolled. They eliminate several multitasking possibilities. Browser windows have PC OS support (Alt + Tab). Horrible mobile support.

  2. Too many tds with inline styling, Too many tables, But there is hope

  3. The old themes are by all means broken here, there’s no going back.

  4. Im thinking of implementing IE7-JS for IE compatibility, what are you thoughts?

mdsupport wrote on Wednesday, October 02, 2013:

Few suggestions:

  1. ‘Cascade’ is hardly used in current themes. Current themes are copies that need to be maintained separately. If you can abstract a basic theme with features and then add only colors, font and text sizes in the user selectable css, it will make maintenance easier.
  2. For a rapidly evolving requirements landscape, the developers here are (rightfully) focused on functionality. So it is best to borrow themes from other package/products that offer ongoing maintenance / development of the theme components. From that perspective jquery ui seems to be a good starting point. Great thing about it is themeroller which lets users select many of the css properties so users can have the application look to their liking/needs. From the application perspective this means if tags used in the current application are mapped to jquery names, current code will be instantly updated without touching the php files.
  3. IE7 is just a small part but the themes should enable the css3 features that eliminates complex code like million tables and screens with tons of blank spaces that users spend time scrolling down…

Finally, from the eternal wish list -

Replace Hide Menu as well as Top and Bottom Frame display toggles with floating arrows like all modern applications. So a left arrow attached to top right of left frame will hide menu and show right arrow. Same with down arrow attached to top of bottom frame will close bottom frame (same as unchecking ‘bottom’) and show a upward arrow…

deschel wrote on Thursday, October 03, 2013:

Sounds like a good strategy/plan!

I like the fact that you are trying to work within the current framework, trying not to eliminate features.

Robert Downs, who has made several posts on these forums in regards to his project, is also working on the interface, also basing much of it on Twitter Bootstrap.

Rather than duplicating labor, you should try to collaborate.

Also, talk to him about #9. I suggested this to him, and he did not appear very receptive to it.

David Eschelbacher MD

prasadforge wrote on Thursday, October 03, 2013:

I am hesitant to use more frameworks, chiefly because of performance issues and their reliance on JS. A typical PC used in medical facilities is 3 years old, not top of the line (atleast in india) and are often saddled with several background programs. You just cant expect them have the muscle to handle heavy JS, also when they degrade it comes at the cost of functionality.

@MD-Support I find that the inbuilt themes lack proper element ‘Hooks’ to execute a design like this, hence i had to get my hands dirty with php, But as i said I majorly added only CSS identifiers to the code.

@david i still am around midway through it, waiting to get started with some deployment testing