Case Overview
Provide a solution to migrate from a vendor mandated system and leverage customers’ existing web application to deliver services in the future.
ABOUT THE CLIENT
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.
BUSINESS CHALLENGE
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
PROBLEM STATEMENT
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 ?
SOLUTION OUTLINE
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.
SOLUTION OVERVIEW
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.
IMPACT
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.