Our Client is the United States-based company that invests in creating software tools to boost the effectiveness of healthcare professionals: physicians, surgeons, nurses, technicians, etc., and connects those professionals in multiple ways.
The problem to be solved was that healthcare professionals are overburdened with a big amount of unstructured medical data that prevents them from getting insights and taking right decisions for patients treatment.
The solution of the problem was the Client’s idea to create a Software-as-a-Service Data Collection & Reporting platform, with a clean user-interface designed for the busy healthcare professionals. The platform objective was to enable the accurate and efficient collection, organization and multi-faceted utilization of relevant clinical data.
Facing the lack of in-house software developers, the Client decided to outsource the platform development. Due to the fact that software development rates up to twice cheaper in Eastern Europe than in the USA (for the same quality), the Client asked Belitsoft to develop the MVP version of such a software.
- The Client decided to develop a custom EHR platform from scratch not using existing open-source products because customization of an off-the-shelf software becomes more and more expensive and difficult to maintain in the long run.
- This healthcare app was designed to be multi-featured with many interdependencies. New features were planned to be added constantly. Hence, it was required to identify potentially conflicting software requirements and resolve them before starting development. To implement business needs into technical requirements correctly, the deep domain-specific knowledge in the healthcare industry was necessary. To handle this, an experienced Business Analyst who has proven expertise working on healthcare projects from Belitsoft was added to the project team.
- Agile software development process was chosen because the Client wanted to build a large and complex software product staying highly involved in the project development and customization. Another requirement was to keep the development team up accordingly with constantly evolving business requirements.
- Effective communication is always 50-60% of successful custom application development, that is why a proper communication plan was established:
1) The communication was remote and the Client visited Belitsoft office just once before starting the cooperation itself to get acquainted with Belitsoft management and development team.
2) The MVP software development process was divided into sprints - periods of time during which programming work has to be completed and made ready for Client’s review. Starting from the fifth sprint, we were preparing e-mail reports for the Client every 1-2 weeks to enable him making any changes or refinements promptly.
3) The Business Analyst acted as a primary contact person for the Client having regular Skype meetings systematizing all the requirements correctly and showing demos (sprints releases). The Business Analyst was responsible for the conformity of the final product to the documented requirements.
4) Communication by email was used also when our Client needed time to make important strategic decisions.
- PHP was chosen for development of the enterprise level healthcare solution as one of the most suitable programming languages to deliver a quality SaaS product on time and budget. The important fact is also that Belitsoft has a proven and rich experience in developing complex PHP applications, including SaaS development and optimization of PHP-based software. The seventh version of PHP was chosen due to its high performance and security, also being the most modern and stable version at the time of start of product development remaining same at the time of completion of work.
- While developing this healthcare software, project development team was using the modern microservices architecture approach keeping in mind that it might be required to develop frontend apps for Web, iOS, Android, Desktop. The approach allows to do it easily and cost-effectively without rewriting the backend from scratch. Laravel was used for RESTful API development because Laravel is the best PHP framework today. Laravel also supports PSR-11 standard for RESTful API routing development. The Belitsoft team also created microservice in Node.js to quickly generate clinical benchmark reports (using a special library for HTML to PDF conversion).
- The architecture of the system contains the following parts:
1) Backend: Database Layer (MySQL 5.7) and API layer (API for the web admin panel and API for the frontend apps);
2) Frontend: native iOS application. Tablets and iPads, in particular, are very convenient tools that are widely used in the leading hospitals and healthcare systems. Thereby the decision was made to start with the development of an iOS-based application for iPads. With an eye to adapt the complex functionality of the app to iPad interfaces, an Experienced UI/UX Designer was added to the project team.
The development team used Angular's CLI to set up a new project with a standard file and folder structure. They defined its features and its user interface. With these details well defined, the developers created the main parts of the app that users see and interact with, and organized the app's navigation and data management. Finally, we tested and deployed the platform, committing to regular updates for smooth operation.
- “SaaS product development” term assumes the development of specific features, an access control system to those features and a subscription billing system that charges users for the access to the features. At the first development stage in order to reduce the cost of the MVP version development of the SaaS, we developed only the most important features that our Client’s customers were ready to pay for, along with the access control system to those features. Eventually, it allowed our Client to add his customers to the system manually after a short time after the start of development. At the second stage of the development, it's possible to automate the billing process and integrate the SaaS with different online payment systems like PayPal and others.
- Doctors are main users of the cloud-based software. However, not always and not everywhere they may have a stable WiFi Internet connection. Hence, when a doctor puts patient’s data into such a cloud-based app and the Internet connection is interrupted, the data can be lost. To prevent a possible occurrence of such a situation and avoid any loss of important data, a special module for the safe data synchronization between a device with the installed app and the cloud storage was successfully developed by the Belitsoft project development team.
- The high quality of a custom healthcare software can be guaranteed only when a proper testing process is established. An experienced project manager Dmitry Garbar applied the best practices to boost the productivity of the software development and testing team on the project.
- The HIPAA compliant server architecture was proposed by Belitsoft to the Client to make sure that the medical application meets the HIPAA's technical requirements.
- Data collection forms.
- Dashboards for collected data management.
Report-features include support for various types of custom reports:
- Correlated trends among different data points in the treatment path based on Big Data algorithms.
- Benchmarks showing the difference between treatment results of a particular patient and other similar clinical cases.
- “Patient Passports” to be delivered to a patient.