We're always excited on the day of an Ofys update, because they often bring many great new features for our users to discover. At Info-Data, it represents the culmination of many
hours of work. Before reaching this point, several stages must be completed. It's a long-term project that involves several people from different departments, each with their own
essential role to play.
There are various reasons why regular updates are necessary. First, they allow us to deploy new features, as well as improvements and corrections to existing ones. Other updates
are carried out to reinforce software security and the protection of the sensitive data that we host. Regular updates of the technologies used are also necessary to keep the
software up to date. Some of these modifications are not visible to users as they take place in the background, but they can nevertheless have a major impact on the software. To
better understand the whole process, we invite you to discover the work behind it!
When planning an update, we decide which new features and improvements to work on. Each modification originates from a need or request. Among others, the need may have been expressed by a user, it may be the result of changes in the field (e.g., telemedicine during the pandemic), or a new obligation by the MSSS. The needs and requests received must be analyzed and filtered according to priority. Then, a team brainstorm helps us find the best way to meet the needs. If the request came from a user, we confirm with them that the solution we have found is satisfactory.
All modifications and new features are noted and verified by our product experts. The aim here is to ensure that everything works as it should, and that the end result meets our expectations. Any feature that might be affected by the modifications is also tested, to make sure there is no unwanted impact. All problems are noted, analyzed and corrected. The corrections are once again deployed in the test environment, and tested anew. These steps are repeated until everything is optimal. This part of the work can be time-consuming if a problem is difficult to identify, but it's what ensures optimal deployment in the official update.
There are several things to consider when carrying out these tests. First, we need to ensure that the features work as intended, and that they are user-friendly and intuitive. Then there are issues concerning the protection of personal information and the respect of medico-legal obligations. For example, the traceability of modifications, data integrity and so on. These are important elements of an EMR and must be kept in mind throughout the software's evolution.
Finally, at this stage, we test all the software's functionalities. Any change in the code in one place can have unforeseen impacts... anywhere else! That's why we need to be meticulous during these tests and keep an eye out for any abnormal behavior.
All major updates take place at night, between 11pm and 6am, when services can be suspended. Our team of expert programmers is responsible for this crucial step. A procedure is written in advance to ensure that nothing is overlooked. Once the update is completed, the software is globally retested to confirm that everything is functional. Then it's time to get all services back up and running!
The day after the update, both the support team and the programming team are on the alert. Everyone is ready to react in the event of a problem, so that the situation can be resolved as quickly as possible. We want to be there for our users, so that any abnormal situation is addressed as quickly as possible.
Indeed, despite all the precautions and preparation behind updates, there is always a residual margin of error. For example, some services are impossible to test before deployment. These include integrations with external services, including everything to do with the Hub (appointment booking and confirmation), laboratories, RAMQ, etc. This is also the case for certain services that we get to test in a test environment, but which can be different from the production environment, such as CRDS, DSQ or RxVigilance.
Other components difficult to control can have an impact on operations. These include, for example, the number of users connected at the same time and the size of the database. Then there are all the elements that are external to the software, but which can nonetheless influence its operation: the different browsers used, the antivirus and other applications on the computer, and the updates to these tools that can cause incompatibilities. Finally, to err is human: although we make every effort to test Ofys in its entirety before deployment, an oversight could happen.
When problems arise, we assess each situation to prioritize corrections according to the impact on users. We then try to find a workaround to suggest until the problem is corrected. Finally, we assess the complexity of the correction needed. It is sometimes possible to deploy a fix in the background, but in some cases another update is required.
The programming team is very efficient when corrections are required. The whole Info-Data team knows how important it is to resolve problems as quickly as possible. That's why both our support team and our programmers diligently follow up on every situation that arises. Our system status page enables us to communicate with all our users to keep them informed. In the interests of transparency, we communicate all problems on this page. We also inform users of possible workarounds and notify them when the problem has been rectified.
Updates are used to innovate and improve the software. They represent an enormous amount of work but allow us to respond even more effectively to our users’ needs and improve their daily work. They are an opportunity to optimize Ofys and make it evolve technologically. Our desire to keep moving forward and to innovate enables us to offer a quality product; a company that doesn't innovate, dies!
We are constantly listening to your needs, which drives us to do even better.