Patient Engagement Platform
Client Overview The customer was a startup, who was one of the early pioneers of patient engagement and remote monitoring solutions Business Requirements Some of the key requirements from the customer included:
- Multi-Channel with support for Desktop, Web and Mobile: Being a healthcare application with a very diverse user base, the application needed to support multiple devices and screen resolutions.
- Cloud Based SAAS Business Solution: The customer adopted a SAAS based business model where providers were provided a Cloud based offering that was available on a subscription fee. The application also needed to support a flexible subscription model with various application dependencies.
- Deployment on Amazon Web Services: Given the international customer base of the product the customer chose to deploy the application on AWS and also wanted to take advantages of other services in the AWS eco-system.
- Support for Multiple Payment Gateways: The application needed to support multiple payment gateways based on the requirements of the customers across different countries.
- Video Conferencing: Implementation of video conferencing solution was a key customer requirement and the solution needed to be supported across different device types.
- Support for Medical Sensor Devices: The mobile applications needed to support sensor based devices like pulse oximeters, heart meters, blood glucose meters and other available devices
- Extensive Third Party API Integrations: The application would over time need to integrate with various third party health API’s
- DICOM Support and Large File Support: Being the medical domain, support for exchange of Computed Tomography (CT), Magnetic Resonance Imaging (MRI), Radiography, Ultrasonography was a key requirement.
The Solution in Brief DeviceDriven has successfully developed, deployed and maintained the product over a 5+ year period with the team expanding over time in accordance to the product build out.
- Technology Stack: The Groovy/Grails platform was chosen given it close-fit with the rapid iterative requirements of the product team. The application built on a range of proven J2EE components including AMQP based messaging, Hibernate/MySQL for data persistence and Caching Frameworks. The web front-ends was implemented using a Jquery/Bootstrap. Later versions of the application adopted the Material Design Specification to ensure consistency and responsiveness across the various interfaces. The application which contains a large number of modules makes extensive use of the AWS ecosystem. Besides being deployed on a multi-machine load-balanced cluster, the application makes extensive use of various AWS services including SQS, S3, DynamoDB which have helped achieve significant cost savings while meeting the various business objectives. The adoption of S3 was important to achieving support for large file sizes and DICOM files. Elastic Search was used for tracking various time-based metrics, user interactions and reporting.
- Mobile Support: The customer required two different applications - one for patients and the other for providers. Based on the various startup constraints and rigorous prototyping of the various capabilities required by the two applications it was decided to adopt the hybrid Cordova/Phone Gap platform for the first versions of the two applications. The applications were successfully developed and deployed. Over time the apps were redeveloped using the native iOS/Android platforms based on the changing usability and business priorities of the customer.
- Cloud Based SAAS Model: A flexible subscription model was developed for the application which allowed the customer to quickly iterate through various business models. The application was also integrated with a number of domestic and international payment gateways to support the various business requirements.
- Video-Conferencing: Working in close coordination with the customer, the team evaluated various video-conferencing options and finally chose to base the implementation on the then nascent WebRTC specification with a fall-back to relayed connections. The WebRTC based Video-Conferencing feature worked well across various device types.
- Support for Third Party API’s: The application has been integrated with a range of third party API’s including Apple HealthKit and Google Fit, besides relying on range of third party services for features like push notifications, SMS, Email and Analytics support.
The project was successfully delivered and maintained by a small team of Developers, Architects and QA members, who have worked in close conjunction with the customer over multiple versions of the product. Tags: HTML5, Jquery, Bootstrap, CSS, Require.Js, Groovy, Grails, Gorm, Hibernate, MySQL, ElasticSearch, AMQP, Android, iOS, WebRTC, SAAS, AWS, EC2, S3, SQS, DynamoDB, Google Fit, Apple Health Kit