Introduction
Many customers and members of the Mirth® community have been reaching out for help in upgrading to a more current Mirth® release after the announcement of a critical security vulnerability. In this guide, we will discuss the best practices for upgrading Mirth® Connect and provide a step-by-step process to ensure a smooth transition. Whether you want to keep your message retention history or start fresh with a new instance, we have you covered. Let’s dive in!
The Benefits of a New Instance
One of the best practices when upgrading Mirth® Connect is to create a new instance rather than doing an in-place upgrade. By setting up a new instance, you can avoid downtime and have a more controlled upgrade process. It also allows you to test the new version with all the same configurations and extensions before making the final switch. Here are the key benefits of creating a new instance:
- No downtime: By setting up a new instance alongside the existing one, you can redirect traffic to the new instance and test its functionality without interrupting the current system.
“That way, you can, in theory, have just a load balancer sit in front of all of this and redirect traffic to the new one to see how traffic is actually working.”
-
Easy migration: By copying the necessary configuration files, custom JARs, and app data directory from the old instance to the new one, you can seamlessly migrate your settings and channels.
- Controlled cutover: Once you have set up the new instance and ensured its functionality, you can shut down the old instance and switch to the new one. This minimizes the downtime and allows for a smooth transition.
The Upgrade Process
Now that we understand the benefits of creating a new instance, let’s dive into the step-by-step upgrade process:
- Set up a new Mirth® Connect installation directory with the latest version.
- Copy all the necessary configuration files, including mcservice.cmoptions, mirth.properties, app data directory, and any custom JARs from the old instance to the new one.
- Stand up the new instance using custom administrator ports to initialize the database.
- Export the server configuration from the old instance and import it into the new one.
- Launch all the channels in the new instance and ensure their functionality.
- Once everything is working as expected, shut down the old instance and switch to the new one.
“Shut down the old instance, this is where the downtime starts. Start the new instance, adjusting any default ports as necessary so you can connect to it again.”
Considerations for Database and Security
During the upgrade process, it is essential to consider the database and security aspects of your Mirth® Connect instance. Here are a few things to keep in mind:
- Database upgrade: While upgrading Mirth® Connect, it is a good opportunity to consider upgrading your database as well. Ensure that you are using the latest version of Postgres or any other database you are using.
- Security risks: Take this opportunity to review the overall security of your Mirth® Connect instance. Ensure that administrative ports are not exposed to the public internet and that proper authentication and authorization measures are in place.
“What other zero day vulnerabilities exist in Mirth® Connect that we don’t know about? That’s the real question that everyone should be asking themselves. Put the administrative ports behind the firewall, behind authenticated and authorized access.”
Conclusion
Upgrading Mirth® Connect is a critical process that requires careful planning and execution. By following the best practices outlined in this guide, you can ensure a smooth transition to a more current version of Mirth® Connect. Remember to create a new instance, migrate your settings, and test the new version before making the final switch. Additionally, consider upgrading your database and reviewing the overall security of your Mirth® Connect instance. If you have any further questions, or are looking to significantly reduce your workload related to Mirth® Connect infrastructure management, our team of healthcare interoperability experts is here to help. Schedule a free consultation today!
Youtube Video
Want to see the full uncut discussion that lead to this guide? Check out the video below.
Timestamps:
1. 00:45 Upgrade in place vs. fresh install
2. 09:05 Java considerations
3. 09:45 Compatibility considerations
4. 10:38 Security considerations
5. 14:05 Why the latest security vulnerability didn’t impact Zen or our clients