Provide a solution to migrate from a vendor mandated system and leverage customers’ existing web application to deliver services in the future.
Our client is India's leading super-specialist back & neck clinic for diagnosis & treatment of spine problems. They operate 20+ clinics across India and diagnose and treat over 50+ back and spine conditions.
Our healthcare client offers a service that assesses and prescribes exercises based on patients’ needs. The service uses a machine that measures muscle strength and sends data to a centralized web app for analysis and reporting. The current application used by the machines for reporting does not integrate with the customer web app, therefore driving the need to maintain multiple applications to deliver service to customers increasing operational and training costs. In addition, the vendor web application comes with prohibitive licensing costs, which is not justifiable especially due to investments in custom web app being used by the client to provide service
Is it possible to integrate the existing equipment with the customer’s web application and replace usage of the vendor web application while ensuring that the current usage of these applications are not disrupted ?
The following requirements have to be kept foremost in mind while proposing a solution: Existing users should not be affected. i.e. All systems and interfaces should continue to function as usual. It should be possible to switch over to the new process seamlessly silently deprecateing the vendor web interface. To arrive at a solution, we would need to do the following: Capture the network traffic generated by the equipment. Forward the traffic to the vendor backend after it has been captured and logged. Analyze the network interactions and reverse-engineer the API interface to be built. Build a new service API that implements the defined API interface and responds to queries by the equipment using the same interactions as the vendor web service. Once testing is complete, replace the existing system with the new service by stopping the forwarding of traffic to the vendor web service.
To achieve all the objectives listed out, we proposed using a proxy server to capture network traffic from the existing equipment. A proxy server that logs all interactions would provide us with the data we needed. We chose OpenResty, which is a web platform that builds on top of Nginx, the popular web server and reverse proxy which is in wide use across the internet. Once configured, OpenResty would log all internet traffic generated by the equipment, which gave us the network log files to analyze. Based on the network interactions, we built out a web API that supported the endpoints and methods that would act as the legacy web API but would store and fetch details stored with the customers web application. To support existing customers during the switchover process, the API continued sending data to the vendor backend, so that the workflows in use in the clinics would not be affected.
The solution we proposed allowed us to provide the customer a roadmap to start using their own web application instead of the vendor web application to process the data generated by the equipment. This resulted in the following benefits: Ability to use the equipment with customers web application directly, thereby reducing operational burden and cost of training. Simplify user experience for customer employees using the 2 separate systems currently. Cost savings of between USD 150 - 300 K, factoring in the cost of the existing equipment if this solution was not possible. Avoid licensing costs for the vendor web application. Ability to induct any type of equipment in the future, which can now work seamlessly with the customer web application by virtue of adapters. This essentially avoids vendor lock-in with any vendor.