Overview & Challenge
The Client is a US medical supplier with a network of full-service medical equipment companies dedicated to providing patients with customized products and services that help them to achieve better health outcomes, regardless of their location. Their comprehensive range of clinically-driven offerings is designed to support patients in adapting to life at home, encompassing everything from sleep and respiratory therapy to mobility products, wound care, non-invasive ventilation, and nutrition. The Client gives patients easy access to tools and resources they need to manage their health and well-being in a way that best suits their unique needs.
Due to the poor and async communication between third-party services and the Client’s systems, the Client was experiencing issues with unconfirmed orders, resulting in stale orders and unresolved packages. Previously, the order management process was implemented in a .NET console app where stacked messages were pulled periodically from the Client’s storage system and reprocessed through the same Rule Engine System and Medical Supplier before proceeding to the shipping stage. Some of the reasons for inconsistencies that occurred during order processing were undefined properties, out-of-stock items, expired items, non-existent payors, and invalid credit cards.
We tackled order processing challenges with an efficient workflow using Event-Driven Architecture and asynchronous communication. The process was divided into two APIs, one for pulling unconfirmed orders and the other for processing them through a third-party Rule Engine Service. The workflow involved multiple instances of the wholesale company’s legacy system, and we added scheduling to manage them. After processing, orders were validated and sent back to the legacy system. Our approach allowed the workflow to process over 2,083 messages per minute on average and enabled us to track transactions and generate customizable reports for stakeholders weekly.
Download the full case study to read the full solution to this specific case.
The implemented solution brought significant benefits to the company, such as:
- Increased order processing throughput and reduced memory footprint, enabling the company to expand its business operations.
- An algorithm that scaled order processing over time, evenly distributing orders and workload to prevent overloading during peak traffic hours, resulting in consistent data flow and improved order processing efficiency.
- Easy maintenance due to the process APIs being separate, reusable entities utilizing a fine-grained approach, reducing complexity and simplifying the maintenance process.
- High scalability, enabling the wholesale company to accommodate future business growth.
Overall, the solution has led to improved operational efficiency, communication, and customer satisfaction, resulting in an enhanced experience for both the company and its end customers. This has positioned the company for continued success in the marketplace.