Migration of Medical Enterprise Management Solution to Java and JavaScript

Customer

The end Customer is a US-based company that offers a full array of portable medical imaging services, such as X-ray, ultrasound, ECG and bone density screening.

Challenge

The Customer had a custom enterprise management system that consisted of several modules, each dedicated to a certain function, such as order management, billing, reports preparation, etc. The solution had about 10 integrations that allowed interoperability with multiple third-party services. These services were created with different programming languages and interacted with the solution via different protocols, such as SFTP, HL7.

The system’s front end had been written long ago with the use of obsolete Flash technology which made it hard for the Customer to maintain and upgrade the solution. Also, the Customer wasn’t satisfied with the system’s low performance.

Considering previous successful cooperation with the Customer and our extensive experience in healthcare software development, ScienceSoft’s development team was commissioned to perform the update of their legacy system.

Solution

ScienceSoft’s team started with the main challenge of the project, which was replacing the outdated Flash front end of all modules with the JavaScript SPA (single page application) interface. As a result, ScienceSoft’s team successfully migrated 200+ screens into a completely different programming language with the use of React.js framework.

Then, it was agreed to convert the legacy PHP code of the order management module into Java (Spring 4 + Hibernate 5). This was intended to speed up the solution’s operation, considering the system’s complex functionality and large number of users. The order management module was chosen due to its traceable interconnections with other system elements, which allowed for its safe upgrade.

In the course of work, the developers also optimized some of the algorithms and database queries.

The solution’s redesign affected important integrations of the system with third-party elements, namely with the Kyubit reporting services, the outside billing platform (with communication based on HL7 format) and vendors’ applications (with communication based on SFTP protocol). Our team managed to reproduce their smooth communication, having carefully considered multiple interdependencies. To ensure compliance with HL7 standard, the team had recourse to the expert help of ScienceSoft’s BAs.

Results

The Customer received the enterprise management system with significantly improved performance and simplified maintenance, as well as the possibility to set up future updates easier. This was achieved by the successful reverse engineering of the solution and supported by the optimization of algorithms and database queries.

Technologies and Tools

Java (Spring 4 + Hibernate 5), React.js, Flux, HL7