Guan-Wu Su | Email | GitHub | LinkedIn | Project
I’m Guan-Wu Su, a junior computer science student from Taiwan. Before I tell you what I did for my project, I would like to thank the OpenEMR community and mentors for the opportunity to work and learn with them.
I am especially thankful to my mentors Brady and Tyler who passed on their in-depth knowledge of the codebase, reviewed my pull requests, and provided feedback. Also, I would like to give special thanks to Stephen and Jerry, who helped me whenever I had questions. This has been a wonderful experience, which I will cherish.
Introduction
My project aimed to improve the user interface, upgrade the codebase, remove outdated syntax, and remove legacy libraries, such as jQuery-UI. This will future-proof the codebase making it more usable, accessible, and maintainable into the future.
The main project ideas are listed below:
- Improve the Bootstrap user interface, optimize responsive design, and standardize styling via a styling guide.
- Cleanup redundant code.
- Remove outdated syntax and styles.
- Remove legacy javascript components, such as JQuery-UI.
- Import ESLint to normalize the javascript coding style.
Summary
I began work on OpenEMR on the 23th of February with some issue fixes, Since then, at the time of this report, I have had 96 commits brought into the OpenEMR codebase which involved improvements in 452 files and I have 7 pull requests still undergoing code review. A listing of my PR’s can be found below. The majority of the work outlined in the above Introduction has been completed.
The jQuery UI removal has been completed except for one place in the Encounter > Eye Exam that relies on the old jQuery UI draggable framework.
The user interface refinement and redesign has been mostly completed except for the Reports, Miscellaneous, Popups, and About sections and several pages have missing Bootstrap tooltips.
The ESlint project is still a work in progress at the time of this writing. I estimate that I should finish it before the end of GSoC. Each javascript file will be converted to follow the ESlint rules. The javascript that is integrated in PHP files will require another ESlint package for validation.
Contributions
Merged PRs
On going PRs
Name | Issue No. | Topic |
---|---|---|
chore: add eslint and eslint-config-airbnb | ESLint | |
Refactor: refine the dashboard pages. | UI Modernization | |
Refactor: refine all of the patient visit forms. | UI Modernization | |
Refactor: refine the fee sheet, new encounter form, procedure order pages. | UI Modernization | |
refactor: refine the fee section pages. | UI Modernization | |
Refactor: remove unnecessary oe classes. | ||
refactor: Refine procedure section | UI Modernization | |