Menu

UI Improvements

Developers
2013-08-07
2016-06-11
<< < 1 2 3 4 5 .. 7 > >> (Page 3 of 7)
  • Robert Down

    Robert Down - 2013-08-19

    See https://bitbucket.org/rdown/openemr/commits/39fa91bc7843777a33859366b8daca67e7944124 for a good point to integrate changes for the edit_globals.php page. There's still more I'd like to do to this page, but it's more backend stuff that won't affect the way the page looks and I haven't figured out exactly how I want to tackle it.

    So for now, I'm considering the edit_globals page as "modernized."

    The above commit has already been rebased and squashed into 1 commit and here is a review of what has changed

    The select2, html5shiv, bootstrap and updated jquery js libraries were added, along with the bootstrap.css, font-awesome.css and modernization.css, and all the changes to the edit_globals page itself.

     
  • Brady Miller

    Brady Miller - 2013-08-20

    Hi Robert,
    Good to see the code moving forward. Placed some comments/suggestions on your bitbucket commit.
    -brady
    OpenEMR

     
  • Rod Roark

    Rod Roark - 2013-08-26

    Just to throw in another wrinkle ...

    I've been looking at developing a patient portal as one or more Joomla 3 components. As a portal would ideally be part of a larger web site and Joomla appears to be the world's most popular open source content management system with very active developer and user communities, this seems like a very nice match.

    Joomla comes with a modern MVC framework, is fully object oriented, secure, highly modular, and seems to be keeping up with best practices in UI and other areas of development.

    Rod
    http://www.sunsetsystems.com/

     
  • Robert Down

    Robert Down - 2013-08-26

    I have to admit, I haven't used Joomla since it's 1.x codebase, so I'm not up to date with it.

    A patient portal component sounds neat.

    As I rework some of the admin areas, I'm leaning the code towards an MVC style implementation, but it would have to be another baby-step project.

    I'd call the modernization project bleeding-edge, but if you want to see essentially a nightly build check you https://bitbucket.org/rdown/openemr/src/6f3a0fc499be0e964a04aa785c2544535c69a514/?at=updated-ui-facilities (This branch is obviously just for the facilities page)

    specifically, you can see what I'm trying to do with:
    https://bitbucket.org/rdown/openemr/src/6f3a0fc499be0e964a04aa785c2544535c69a514/interface/usergroup/facilities.php?at=updated-ui-facilities
    and
    https://bitbucket.org/rdown/openemr/src/6f3a0fc499be0e964a04aa785c2544535c69a514/interface/usergroup/usergroup_model.php?at=updated-ui-facilities (Ignore the top docblock, Eclipse created that, I'll insert the appropriate information before I actually offer up the commit)

    As you can see, I've moved all the html code to views/facilities.phtml which allows better abstraction of the logic from the view (while keeping the ability to sprinkle in some PHP when we need translation support). I'm also using angularjs to retrieve a lot of the content (https://bitbucket.org/rdown/openemr/src/6f3a0fc499be0e964a04aa785c2544535c69a514/library/js/usergroup.js?at=updated-ui-facilities).

    If you viewed /interface/usergroup/facilities.php in your browser it'd return the view, but if you sent ajax headers with it and sent a GET request you'd get a list of facilities in JSON form. If you sent a POST header it'd update/save a facility. You get all of this just from viewing that one facilities.php page (In this case it's acting as a controller).

     
  • Robert Down

    Robert Down - 2013-09-07

    Ok, my modernization project has really mushroomed into something a lot bigger.

    I want to propose we begin the transition to a the Zend Framework 2, a full featured MVC, event-driven OO framework and Doctrine, a full featured ORM.

    I know this debate has come up before, with lots of opinions flying everywhere, so let me list my reasons for thinking this is the way to go.

    1. The MVC design theory is one of the top design theories right now. So much so, that there's even a .NET MVC.

    2. Right now we have business logic mixed in with views, which makes it difficult for new developers to contribute to the project. The separation of models, controllers, and views would allow for more developers.

    3. MVC structure provides a cleaner code-base to maintain.

    4. Because Zend Framework 2 is a modularized system, the transition can happen over time. We don't need to move everything at once. It can be something that happens slowly and thoroughly.

    5. Unit testing is easier. Zend provides it's own unit testing, based on PHPUnit.

    It basically boils down to this: MVC is widely used today, easier to maintain, and can provide better unit testing.

    As an example of how much better this could be, I'm rewriting the facilities section using Zend and Doctrine. I'll provide a link to the commit for everyone to take a look at.

    Honestly, this seems like a no-brainer, especially considering it can be transition to in small parts, not all at once.

     
    • Cesarus Minumus

      Cesarus Minumus - 2013-09-17

      I agree that we should use something to have a clear delimitation between front end, back end, business functionality. MVC is also used in iOS programming. I would like to see a database layer so it would make it easier to switch the back end. I would like to be able to use Postgres instead of MySQL as MySQL's licensing future under the current master is problematic. I am all for looking at different MVC frameworks. I think we should also look at Yii framework http://www.yiiframework.com/.

      We should pick the one that suits us best. I am ready to participate in this.

       
  • MD Support

    MD Support - 2013-09-07

    Sections like Globals or facilities are used probably a few times in life of an installation. Your demo approach will have lot more credibility if it addresses high frequency use items. Some suggestions -

    1. calendar/appointments
    2. demographics
    3. issues management
    4. better yet, replacement/enhancement of Layout Based Forms.
     
  • Rod Roark

    Rod Roark - 2013-09-07

    Also, Robert, have you actually looked up the past discussions and read them? You should be aware of the points raised, especially re Zend.

    Rod
    http://www.sunsetsystems.com/

     
  • Robert Down

    Robert Down - 2013-09-07

    You're right, a facilities demo is weak. I'll demo ZF2/Doctrine using one of your suggestions.

    Rob, I have read through the previous Zend/MVC discussions. I think ZF2 is flexible enough to do anything we need.

     
  • Cesarus Minumus

    Cesarus Minumus - 2013-09-17

    I am also looking into changing the user interface for OpenEMR. My
    motivation is the following: I am supporting a doctor who already has a
    commercial EMR. However this doctor wants to branch out into other areas
    and needs an EMR/CMS that would suit the present and future needs.

    After some research I settled on OpenEMR since it is the one that is
    most supported of all of them, despite the fact that it is written in
    some technologies that I haven't used too much before: PHP and JS. After installation and playing a little bit with it, I think that with the current GUI it would be a hard sell to this particular doctor who is used to a more integrated interface.

    I tried experimenting with different JS frameworks, but into the end I settled on Bootstrap and JQuery. I tried to create the scheduler screen using Bootstrap, JQuery and a slew of other JavaScript components that i found on the web. Into the end I came up with a mockup that looks like the following. I tried to make the interface as easy to use as possible. In my opinion a GUI should be self explanatory.

    I think that the left side menu being there all the time it just takes important space without doing much. Therefore I put it under a slide in menu that will be brought on the screen on request. The same goes for the left side calendar. Most of the time it does not do much. In case that a full month calendar is needed it can be brought on the screen by a button. After the day is selected it goes away. I also hid the messages into another slide screen that comes in from the right. Once the messages are read they can be hidden back. If a new message comes the counter in the navigation menu it flash or it will be colored in a different color.

    I am tying to implement a button for finding the first available appointment for a particular facility with a particular provider.

    The providers are selected by a drop down in which the check box is ticked. The facility comes from a drop box also, but in this case it is exclusive.

    I need to implement a search button also.

    These are some of my ideas, I welcome any suggestions. I am trying to have this posted someplace on the web so people can play with it and give me some feedback.

    Thank you.

     

    Last edit: Cesarus Minumus 2013-09-17
    • Jhuang

      Jhuang - 2014-07-14

      Hello Cesarus,

      I am also using bootstrap to customize the ui of openemr and so far im changing the summary page.....how's your process? it would be great if u could give me some suggestions.~~~ :)

       
  • Jack Cahn MD

    Jack Cahn MD - 2013-09-17

    Ahoy Little Ceasar,
    Cool as the other side of the pillow! I am not seeing the single day view for multiple providers.
    After you have chewed on the calendar for a while, I can't wait to see what you can do with the patient summary screen. IMHO that's the big enchilada.
    Jack

     
    • Cesarus Minumus

      Cesarus Minumus - 2013-09-17

      Jack,
      You are not seeing because I could not find a free control that displays multiple resources. The only one that I could find is agenda control from http://dhtmlx.com/ and it costs a cool $500 for a single install. Just imagine the schedule can handle multiple providers :). As I said it is a mock up.

      I take your patient summary screen as a challenge. Give me some time and I will come up with it.

       
    • Cesarus Minumus

      Cesarus Minumus - 2013-09-17

      Jack,

      I could not find a free JS control that displays multiple resources. The only one I could find was this one: http://dhtmlx.com/docs/products/dhtmlxScheduler/index.shtml, but the one for multiple resources costs a cool $500. Just imagine that multiple providers are shown there. :)

      As for patient summary screen, I take that as a challenge. Give me a few weeks and I will come up with something.

       
  • MD Support

    MD Support - 2013-09-17

    Cesarus, like earlier comment, day view is used more often and has complex logic to handle time slots, multiple appointments with same provider at the same time (double/triple booking), appointments spanning across time slots etc.

    Also,
    1. look at the 'Find Available' button for current way to find open slots. If you are building a new page, try using JSON to get information from existing code.
    2. The 'Hide Menu' link toggles menu display. That takes much space - so if you have better code, please contribute.

     
    • Cesarus Minumus

      Cesarus Minumus - 2013-09-17

      MD Support,

      This is a mock up. I used this opportunity to learn CSS and JS. Of course I will make it better looking, as you can see the colors do not match very well. I just put together a page in a way I thought it wold be best. The hide/show menu is an inspiration from the latest apps from mobile world. You can see the way I wanted to be on this page: https://www.google.com/nexus/. Look at 3 lines button in the upper left. That is my aim.

      'Find Available' is exactly what you think it is. Hopefully I can have that mocked up soon for a quick review.

      I am also looking at a place where I could demo it live.

       
  • Cesarus Minumus

    Cesarus Minumus - 2013-09-17

    @Jack Cahn, MD

    This is my third attempt to post a reply to you. Today SourceForge behaves strangely.

    The reason you are not seeing the multiple resources there is because I could not find a free JS control to display multiple resources, the only one I could find costs $500 (http://dhtmlx.com/docs/products/dhtmlxScheduler/index.shtml), and I do not have that much money laying around. Just imagine that the functionality is there.

    As for Patient Summary Screen, I take that as a challenge. Just give me a few weeks and I can come up with something.

     
    • Brady Miller

      Brady Miller - 2013-09-18

      Hi Cesarus,
      Sorry for the messages not getting posted. Sometimes sourceforge makes myself or Rod moderate messages. Have no clue why it does that.
      -brady

       
  • Robert Down

    Robert Down - 2013-10-07

    Just wanted to post an update, as it's been a while.

    I'm putting together the Patient module using Zend Framework and Doctrine 2 as a proposal for where I'd like to see the project move towards. Work has taken away some of my free time to work on this, but I'm still trucking along, when I can.

    The code I am working on will be unit tested and have at least 75% code coverage (Hopefully much closer to 100%).

     
  • Robert Down

    Robert Down - 2014-03-20

    I'd like to take a moment and apologize for the absence of any commits over the last 6 months; I've been dealing with a health issue that has made contributing to anything essentially impossible.

    That being said, I am trying to continue my work. I've noticed a lot of change has happened in the last 6 months, and I think I'll just stick to UI improvements for now, avoiding any of the back-end things.

    My main goals:
    1 - Finish the "Modern" theme
    2 - Improve the way the left nav functions (Using cleaner fonts, vector-based images, etc.

    Slow and steady wins the race - I'll be taking small bites, I simply cannot afford to overwork myself.

     
    • MD Support

      MD Support - 2014-03-21

      You should also take a look at ZH's zend stuff. Perhaps you can hack that code to create new zend based UI.

      Take care.

       
  • fsgl

    fsgl - 2014-03-20

    Sorry to hear that you've been through a rough patch but pleased that you're on the mend.

    Bite sized pieces can be a good tonic.

     
  • Brady Miller

    Brady Miller - 2014-03-21

    Health is priority one :)

     
  • Tony McCormick

    Tony McCormick - 2014-03-24

    Hack ... that's what we have now for a UI... Better we should design a new system that supports a modern UI framework, than "hack" something...

    :-)

    --Tony

     

    Last edit: Tony McCormick 2014-03-24
<< < 1 2 3 4 5 .. 7 > >> (Page 3 of 7)

Log in to post a comment.