The client is an Arizona, US-based software solutions provider who has been delivering software solutions to the rehabilitation and respiratory care communities for more than 25 years. They provide electronic documentation solutions for inpatient rehabilitation, acute care rehab, outpatient rehabilitation and respiratory care facilities to hundreds of organizations. The client has established partnership with many suppliers of software, hardware and networking service like Microsoft, University Health System, Cisco Systems etc. The client provided a solution for Inpatient Rehabilitation Facilities (IRFs), Outpatient, Acute Care, and Respiratory. The client requested to move to the software as a service (SaaS) model, so that the application can provide a license to end-user for use as a service on demand, either through a time subscription or a “pay-as-you-go” model. The client could develop, host, operate, and easy to maintain, enhance the software for customer use. The SaaS-based model also helped to lower operation and maintenance costs, and improve service quality. The legacy system was 15 year old and written in Borland C with many changes updated without documentation. It included 17 complex core modules that integrate with many external systems and are required to comply with various medical and financial standards (e.g., HL7). They also expected to make the provisioning of account and manage different custom versions more manageable. Agile methodology and social applications to promote collaboration was adopted. The project was divided into phases to cater specific requirements:
  • Phase 1: Convert from Borland C to .NET.
  • Phase 2: Renovate the application for SOA and Multi-tenant.
    • Adopt a co-existing strategy by running two databases in parallel, and data is synchronized between the two databases (mapped to the modules already completed migration)
    • Adopt SaaS reference architecture, e.g., multi-tenant data architecture, WCF, WPF
    • Adopt Windows Azure Service Bus Relay to pass data between on-premise client and data warehouse securely through firewalls
  • Phase 3: Implement additional SaaS Features.
The new Cloud-based system supports more new business requirements, shortens time to provisioning and customizes application for each customer, while reducing a huge amount of hosting and maintenance costs. The SaaS model provided by FPT Software also helps to optimize development time and effort, avoiding building from scratch.
  • Development: .NET 3.5, WCF, WPF, SQL 2010, OpSource
  • Tools: Fxcop, Stylecop, Gendema, SharePoint, SRS, SIS, NUnit, Continuous Integration (Cruise Control), Kanban process, Google doc, Google Wave, Yammer, Fsoft Project Management Suite.