How do i change theme styles or create a new one

I tried all the themes both in version 5/6. The text colors and backgrounds really do match and needs of users (doctors, nurses). When we did a demo/trial test with them i could not help watching them poking their faces close to the screen. See screencap below on what i mean. So question is how do I change the styling for a theme or create a new one?

Hello @murugappan -
What you want to do is to customize the CSS files that determine the display themes. This is a very popular activity in this OpenSource EMR, and many others have asked the same question in this forum.

I ran a search here for ‘create theme’ and among the many returns these seemed to be the most relevant to your question. Other related searches may produce different, equally useful results.

Good luck with your project!
Best- Harley

1 Like

Hi @htuck ,

Thank you for the pointers. I ran thru some of the links and, if i am not wrong, i see that they are all guides on how to do things as a developer. I am familiar with them. I use tools like Pinegrow, PHPRad, Quasar etc for these.

My problem is not creating themes. The problem i am facing here is that i could not find any guide to location of various components in OpenEMR. Most OpenEMR wiki documentation are either outdated or referring to things that are no longer there.

In my case, i am found the css for the various themes but these are all minified version generated using sass. And i found the sass version too. Then next i need to find relevant php scripts and i did that too and then my jaw dropped when i saw one large file and on and on … I also noted that Twig was used. Now that may add another level of complexity in understanding the scripts. I am still trying to find the end point where i can start doing some changes. Imagine the time i took to get where i am now? There may many out there going through the same phase and perhaps more time. In sum total, I have lost good amount of man-hours which otherwise could have generated more usage? All theses seem to stem from the inability to locate the proper howtos without going a series of dialog in the forum.

Next, my fear then crept up. What will happen to all the changes when a new version is issued by the OpenEMR team? Lose the changes? The guys in LibreEHR did a good job by providing UI for customising many of OpenEMR areas but their current version is outdated and they a doing a new one based on Laravel.

In my opinion, a good system is one that provides all the tools and documentation to generate functionality without the need to hack the core. Anyway, this is open source and i need to keep a lesser expectation.

On the other hand, i would like to contribute and update these documentation and/or provide improved code but i dont know where to start especially when i get directed to outdated contents in the forum and wiki. Simply put, I could not find a structural and architectural (including database field level schema) documentation of the software which are nearly current.

In response to my post, i was expecting an assistance on:

(1) Where are style sheets located?
(2) Where are php scripts for each page located?
(3) Where are current assets located, i mean js, images and css?
(4) How to generate and reload these styles from sass scripts?

The above will be most helpful. Thank you.

Hello @murugappan -
Yes indeed, OpenEMR documentation is messy and difficult for non- developers to navigate. Unfortunately the OpenEMR project is not operated with the primary intention of showing people how to customize it; one must get into the code itself, see how it works and make the EMR do what you want.

It sounds like you may be more interested in the technical documentation to the code which is kept in repositories such as the OpenEMR github linked to in the wiki here:

The developers tend to post on the developer page of this forum,
and you might want to ask your in- depth questions there.

Also, some of the devs will look at user- orient pages such as this one, and answer questions such as the ones you added in your previous post. Very specific, clearly stated questions like those are the best way to get the answers you’re looking for!

I am not a developer, I’m in Customer Service and user (not technical) documentation of the EMR. It’s fairly simple to write mediawiki docs and post them to the OpenEMR wiki. If you are interested in contributing to the docs I’m happy to give you pointers on how I do it.

Good luck- Harley

1 Like

hi @murugappan, they’re in interface/themes and npm is used to bring in the packages from package.json and also to re-build the themes after the scss files have been modified, checkout the contributing guide in step 6 for some good advice

ps @robert.down just recently deployed twig in the patient dashboard

Hi Murugappan

I am not a software expert but can mange to get the basics done.

I have just upgraded to V6
I changed the General Theme (Global - Appearance).
However the log-on main screen changed its colour but once I logged in, all the interfaces and fonts were the same. Nothing has changed.

What may be the reason for this?

Thank you for your advice

Check to ensure you haven’t changed your setting for themes in top right user name dropdown Settings.
That overrides main theme setting.

Use Bootstrap Magic to build and override any of the included themes.

Hi @htuck , would love to contribute to the documentation. I am 70years old (honestly!) I have been in the IT industry since 1976 starting with IBM mainframe and assembler360. I am freelancer for many areas of IT practices. Currently, i the business solution consultant./architect for a medical insurance claim audit and processing company.

Still coding my age and enjoying it too. Conversant in JS, Vuejs, Quasar, PHP, Codeigniter, MySQL, Oracle, MSSQL etc. Did a lot in Espocrm open source software. We have a full blown CRM running many different functional areas. The latest being COVID-19 patient monitoring for corporate clients. Working on integrating Quasar into Codeigniter 4.

Love to do documentation of features with working examples and models if given all the supporting information. Especially on howtos. I notice there is a lot of work to be done OpenEMR wifi.

Yes, appreciate your pointers on documentation. I love to take a mess and turn it into a monument. That goes for corporate IT restructure, Business Process Engineering and IT Standards.

Hi @kmendis ,

Good to hear from you. Guess you are in the same boat as I am. Its ok. This comes with open source. Changing the theme will only change background and text color scheme while everything else will remain the same.

If you expecting to change the styles and look-n-feel then it looks like code changes. Unfortunately, there are no theme or template builders.

@sjpadgett , I think what Kumara means is that he expected the UI to change as well. The LibreHealth EHR were doing good as they provided a feature under admin to do that. Would love to see something like that in OpenEMR.

Hi @mdsupport ,

Thank you for utility. Will try it out. I create themes using Pinegrow. Great piece for just USD 9/month. Handles all icons, frameworks like materialize, Tailwind etc easily does BS4 and 5. Includes JS and CSS (great on this one). Tutorials and help are fantastic. Forum users, like OpenEMR and Espocrm, are quick to respond.

Hi @murugappan - good on us for sticking with it-- I’m 68 and have been playing with computers since the Timex- Sinclair 1000, and coding since Commodore 64. I was the oldest graduate in my BS CompSci - Health Informatics class in 2014 and even though my recent coding only extends to VBA, basic html and perl scripting, that gives me just enough background to have a slight clue on what goes on under the hood of OpenEMR’s php. I’m mostly retired and don’t want to put in the extra time in front of a computer to get good at it but it helps me get the logic of the process when I document a workflow.

Here are couple links to other forum posts re: OpenEMR documentation:

Would be happy to answer any questions I can help with; you might want to post them in the ‘V6 Docs Wish List’ thread to keep topics compartmentalized.

Best- Harley

Hi @htuck, actually i started off with Cobol (fantastic that it is still alive) in the banking sector. My early days there was no computer courses, we were trained by each computer company like IBM, NCR, Univac etc. I used “jumper” configure PIBs (plug-in boards). And yeah commodore 64, I used apple IIe clone with CPM card and assembler/basic codes. Hehehe… good old days, mate.

One question for you. I always itch to change and correct errors or outdates immediately as I see them. In Espocrm, we created a parallel wiki which contained documentation updates and howtos. Big question is, can i do that by creating a new section in OpenEMR forum and how do i do that?

I have lots of ideas for a good wiki for OpenEMR.

1 Like

Jerry, Thanks. yes this was the issue.

Hi Murugappan, Yes I am a bit younger than you are! 65 but still practicing and working as a physician in a university set-up and promoting the OpenEMR in Sri Lanka. We have kind of completely modified OpenEMR to suit the average 3-5 minute primary care consultation in our country.
The majority primary care consultations do not have any kind of medical records - paper or computer!
I started coding with Pascal, Visual Basic and bit of PHP/MySql nothing more. Completely out of touch with programming. Most of our programmers work for foreign companies and we cannot afford to pay such high rates…
However we have now converted the V5 of the modified OpenEMR to V6 and all modifications are working!!! this was done by the software people who worked on V 5.
So we are ready to promote V6 !

1 Like

Hi @kmendis

We dont believe in the changing the code of the original developers. Instead we suggest and seek their the help to add the codes. Most of the time we create peripheral applications using Vuejs and PHP and reporting tools like Reportico to achieve the same. User are never really bothered on beauty of the UI. Their concern is more usability rather and good guides and training. In many cases, our mobile apps team compensate for the shortfalls.

In the old days, we used a fantastic software called CA Clipper and developed application which used sequential flow. Microsoft killed it. The doctors prefer these. They want the system to tell them what they need to do next and let them focus on their practice.

Oh yeah, VB and Pascal, great programming kits not to mention Fortran as well. Oh well, they are all disappeared after the appearance of Bill Gates. Hehehe…

I want to contribute to OpenEMR in rebuilding the documentation but appear not getting much help how i can change or add to the wiki. Sigh!

1 Like

hi @murugappan ,
If you want a wiki account (so can change/add to wiki)), just email me at with what username you want on the wiki and then I’ll create an account for you (and email you the credentials).

I am interested in creating a parallel website with documentation and tutorials. My problem is that intermittently I am under the weather. However, I do use openemr and don’t plan to switch EHR moving forward. I will keep working on it.


That is a good thing to do. While wiki’s are good but they all perform differently. Now i am struggling with how to use wikimedia. It may be simple but i am doing much and so many tools i am overwhelmed. If you need help late me know and what, will be glad to try.

Did you think of wiki.js?