In IT, the term for a software application’s ability to be “tailored”, without making core code changes, is Extensibility. Extensibility is what allows us to have:
- “Toolbars” in Internet Explorer and FireFox, like the Yahoo and Google toolbars
- Mac Dashboard Widgets, and Sidebar Gadgets in Vista
- Customized Homepages, like iGoogle
The Allscripts Enterprise EHR does not have an extensibility model for its UI. This doesn’t mean that there aren’t requests to tailor the AE EHR.
What it does mean, though, is we have to be careful when changes are made. It means we do have to customize the application’s software code while not breaking the software and ensuring things won’t fall apart during the next upgrade.
The first thing that we need to do is ensure that it’s worth making the change. John Halamka has a good article regarding Removing Complexity from IT, in which he comes down pretty hard on customizing commercial software products. I cannot tell you the hard and fast rules on determining whether to make a customization, but I can tell you that it will:
- Add complexity to your application
- Require additional coordination and testing during upgrades
- And, customizations will not always be able to be carried forward to the latest version
What we have done at Galen to help ensure that a customization causes as few headaches as possible and provide the value that our clients hope for is:
- Documentation – clearly document all of the files, database objects, etc that are affected, providing both plain English descriptions for non-technical folks (e.g. a project manager) and the technical detail required by our programmers and technicians.
- Testing – test the changes thoroughly ourselves, and work with our clients to build robust test plans for the initial install, and to use during each upgrade.
- Tracking – encourage our clients to track each customization that we make, and we also add those customizations to the Allscripts CRM, the same place where Allscripts technicians track their customizations.
So far, we have been successful working with our clients to keep their systems running well with the customizations that we’ve made together.
We hope that our work to mitigate the risks of customizations will allow us to continue to be successful in this area!