In this short case study, CareTime describes how they rebuilt their application architecture with DreamFactory's REST API platform. This project has enabled CareTime develop, test and deploy modern mobile applications more quickly and cost effectively, without forcing them to give up existing IT investments.
CareTime's Business Challenge
CareTime provides visit-management solutions for agencies that deliver home healthcare services. With this rapidly growing market predicted to reach $300B globally by 2018 (Source: Transparency Market Research), competition is fierce. Advancing CareTime's technology solution gives their agency customers a distinct competive advantage.
At a basic level, CareTime's software allows agencies to manage a large, distributed team of caregivers in the field -- ensuring that the right caregivers go to the right location at the right time. CareTime supplements the industry’s typical clock in/out functionality with more in-depth questions to make sure staff provide correct the treatments, medications and services for each individual patient. With field staff able to check in from a landline, a mobile phone or a smartphone app, CareTime also uses geolocation to provide auditable proof that caregivers were in attendance at the correct property.
In his role as CareTime's new CTO, one of Rajiv Perera’s first tasks was to ensure standards compliance with the new global Health Insurance Portability and Accountability Act (HIPAA). As a part of this initiative, the company wanted to integrate its frontend service management solution more tightly with the requirements of the service payer -- typically a health insurance provider. The aim was for agency staff to deliver the exact services specified by the patient’s care policy, and for the payer to receive a fine-grained audit trail to ensure that the services were delivered.
Rebuilding CareTime's Architecture with DreamFactory
Rather than altering the company’s existing platform to support this initiative, Perera decided to redevelop the solution on a completely new architecture.
“The way we develop software today is almost unrecognizable from what the industry was doing even three or four years ago,” says Perera. “Integrating together existing open components and services is now a proven model for enterprise software development. But with products like DreamFactory, the speed and cost at which you can now build these compound solutions is almost unbelievable.”
“Building a new, modular, single-page frontend with AngularJS can be as fast as updating an existing application that runs on an older architecture,” Perera explains. “Using REST APIs to separate the frontend from the underlying database logic makes development remarkably fast and simple.”
On previous AngularJS developments, Perera had written custom PHP code to connect his new application with a backend database. However, this time around he had seen an online demo of the DreamFactory Service Platform (DSP).
DreamFactory provides a ready-made open source platform for connecting modern frontend applications with new or existing backend databases. The platform auto-generates APIs for a wide variety of SQL and NoSQL databases and cloud data services. DreamFactory also delivers all the necessary security and administration functionality out of the box.
Perera and his team were intrigued by the demo, and downloading the open source Bitnami package was all it took to see for themselves whether DreamFactory lived up to its billing.
“It was instantly clear that DreamFactory would automate development of nearly all of the connectivity for our application. With the expertise embedded into the product, it probably did a better job of it than I could myself,” says Perera. “DreamFactory’s inbuilt security at the data layer was also a strong draw. It would be hard work to achieve this level of sophistication through custom code.”
With DreamFactory in place, Perera and his team were able to rebuild the existing CareTime platform and rapidly develop new functionality.
“You can just take a Javascript component with the functionality you need (e.g. a time series chart or an interactive map), you study the directives and then just add it into your Angular app,” Perera explains. “DreamFactory then enables you to hook this up with an API, and the job is done. Formerly, even just 4-5 years ago, building each component would have been a two week project. Now it takes us a couple of hours.”
Open Source Platforms with Flexible Deployment Provide Strategic Advantage
CareTime's new API-based architecture also provided new levels of long-term flexibility and future-proofing. Adding new software components to the existing solution is fast and easy, allowing CareTime to continuously improve its service to address evolving customer needs.
“The whole model is so extensible. DreamFactory is not just for connecting an application to a single backend, it becomes a palette of APIs for incorporating new applications and services into your application,” says Perera.
CareTime’s solution also incorporates specialist services from third-party providers, such as Interactive Voice Recognition (IVR) and SMS messaging. By integrating these services into the frontend application with open APIs, it is now straightforward for CareTime to switch providers. And by avoiding technical lock-in, the company can negotiate far better rates on a core part of its overall solution.
“DreamFactory nows gives us this whole layer of connectivity between the application and the backend. And I love the fact that we are not tied to any specific database on the backend. The repository itself doesn’t matter, it’s just the APIs that matter,” Parera explains.
DreamFactory even allows CareTime to grant API access to partners and service payers. This provides a secure and highly usable way to expose selected backend data within CareTime's system to third parties. DreamFactory's sophisticated built-in security ensures that API access can be tightly restricted and centrally controlled by CareTime.
“DreamFactory is an invaluable tool for any business delivering cloud services that compete on their ability to solve business needs. It has saved us huge amounts of time in moving to a new architecture, and then it has opened up a world of new possibilities for advancing our solution and innovating rapidly in the future,” Parera concludes, summing up his time in his new CTO role at CareTime . “As a CTO I don’t need a team of 10 people in IT anymore to maintain and develop a market-leading application. I need a very good developer and someone who has an idea of how to pull it all together.”