Refactoring and Continuous Evolution of Mental Health Software
About Our Client
The Client is a US-based independent nonprofit organization focusing on mental health disorders. With an in-house team of psychologists, psychiatrists, social workers, and speech therapists, the organization released over 2,000 clinical research papers and developed a robust set of mental health educational materials.
Besides scientific and educational materials, the Client creates evidence-based therapeutic programs for mental health, learning, and behavioral disorders. These services are provided offline in the NGO’s offices, via online video calls, and through dedicated software for mental health assessment and exercises.
The Client was experiencing issues with its mental health software suite, such as poor performance, software defects, and security concerns. Trusting our decades-long experience in healthcare IT, the Client engaged ScienceSoft for an audit of its mental health software ecosystem. Following the audit, the Client contracted ScienceSoft to refactor and rearchitect the app and deliver new functionality, following the software audit insights and the evolution plan.
20+ Healthcare IT Experts to Conduct Software Evolution
To speed up the project start and team onboarding, ScienceSoft rapidly assembled a team that included the same specialists who conducted the mental health solution audit. The full project team comprised 20+ senior healthcare IT specialists, including business analysts, front-end and back-end developers, open-source engineers, functional testing engineers, and test automation engineers. A project manager and a team lead oversaw the project to ensure proper risk and change management and timely delivery.
Keeping in mind the project scope and complexity, ScienceSoft opted for iterative development using the Scrum framework and AAMI TIR45 guide. This time-tested approach helped ScienceSoft get timely feedback from the Client’s stakeholders, quickly adjust the project priorities to the changing needs, and avoid budget overruns.
Mental Health Software Refactoring and Rearchitecting to Ensure Reliability
The Client’s mental health software suite comprised:
- A cross-platform mobile app (for iOS and Android).
- A web app for clinicians.
- An admin panel.
- A physician tool to create custom assessments, exercises, and research surveys.
- A library with mental health exercises and assessments.
Following the findings of the audit and the software evolution plan, ScienceSoft’s team:
- Developed completely new code for several faulty application modules (a clinician web app and an admin panel).
- Refactored the existing code to enhance its readability, formatting, quality, and configurability.
- Eliminated code duplication.
- Fixed software defects.
- Improved the performance of the existing software functionality.
- Updated software libraries and deleted duplicated libraries.
- Implemented and configured the tools for automated code validation to be used during the development and continuous software evolution.
- Improved the software architecture and the split into functional modules and components.
- Updated the software infrastructure using AWS services.
In parallel with the refactoring, ScienceSoft created the documentation for the existing and new software functionality to facilitate future solution maintenance.
Mental Health Software UI/UX Updates and New Feature Delivery
Leveraging the insights from the software UX audit, ScienceSoft’s team upgraded the UX flows and redesigned the user interfaces for the clinician web app and the admin panel.
Based on the mental health software evolution plan, we introduced the following new functionality:
- Support for partial assessment completion, allowing the patients to submit their answers for assessment even if some of the questions were skipped.
- A drawing tool with improved accuracy and usability.
- New assessment question types.
- Patient activity menu with all assigned assessments.
- Patient report generation based on a set of filters (e.g., mental health condition, assessment type, patient activity).
- Integration with a data analytics tool to streamline the review of assessment results.
State-Of-The-Art Mental Health Software Available to Clinicians Worldwide
The Client received a mental health software solution with significantly improved performance, eliminated software issues, comprehensive software documentation, and new functionality. After the release of improvements, the software was appreciated by the Client’s staff and clinicians of several partnering NGOs and mental health institutions worldwide.
Satisfied with the work done by ScienceSoft, the Client decided to engage us for long-term mental health software support and maintenance.
Technologies and Tools
React.js, React Native, TypeScript, Python, Firebase, Redis, PostgreSQL, AWS.