Healthcare Software For A Healthcare Professional
Healthcare Software For A Healthcare Professional
In 2019, the founders of a healthcare organization had a vision of facilitating effective healthcare to the locals in their country. The company was established to focus solely on aligning healthcare organisations that would ultimately lead to better outcomes for patients. Their aim is to simplify organisational communication, eliminate issues that lead to less focus on the end-user and help healthcare experts work efficiently and achieve optimal outcomes.
On March 26th 2019, the company reached out to us to explain their requirements. They wanted a web app built to supplement the vision of their company and help it carry out its mission. The designs were already set by them and they required us to translate those designs into a fully working web app.
After confirmations and introductions, a fixed scope-fixed price model was agreed upon, which essentially meant that the timeline, costs, scope and cost were decided before the initiation of the project. This project would be completed within 13 weeks, which would be divided into 7 distinct milestones out of which 6 would last for 2 weeks each and the final milestone would reach its end within a week's time. As everything was discussed in detail and agreed upon, it was time to analyse the technical aspects of things.
Since the project was a web app, it was important to pick out the absolute experts in web app development from our arsenal and based on the complexity of the application, we needed minds that could crack the case and make it look as simple as can be. Since designs were provided by the client themselves, the design sat this one out. We looked to employ one backend and one frontend developer with a single QA engineer, all spearheaded by Faiz Farooqui, the tech architect.
A web app to manage organizations, teams within organizations and help them streamline their work and fix anomalies.
The app feature Role Based Access Control (RBAC) for different levels of users.
A view to define organizational hierarchy and sorting functions within the hierarchies.
A feature for report printing was also necessary.
It was time for the team on call to get to work. Since the web app was being built to handle complex views and would attain a complex structure within, it was imperative to pick a tech stack that could complement the requirements of the project. The designs provided were to be amalgamated and translated into a working app within the frontend. To achieve that, ReactJS with Ant Design was used to build the UI with VanillaJS as the API SDK. To work in tandem with the frontend, ExpressJS was used as the backend API. The next step was to decide upon a database that could handle the enormous amounts of data that was to be fed to the app. Without a shadow of a doubt, AWS Aurora was the bright star that would guide this project home.
For testing purposes, an automation CLI tool called GA-WDIO, which was built by us in-house, was used to test the web app over chrome and Firefox.
With the tech stack decided, the development of the web app was commenced.
The features of the web app were supposed to fit in perfectly into the mission of the company like a piece of a jigsaw puzzle. The very first milestone involved two sprints. Within this milestone, authentication and RBAC features were implemented along with email templates. The first feature to be implemented was the admin function. All processes for admins were established and developed first and then for users of other levels, with the access of all these users being given to admin through the process. This complete feature block consumed the second milestone to complete as well.
The third and fourth milestone involved development of Mission Management, Objective Management, Initiative Management & Contribution Management features, all part of the extensive features of the organization. Permissions for each API were created against the role of each user, which would attach and detach to grant permission to the user.
Milestones five and six focused on report generation features and template designs, while rounding off basic features such as profile and notification management. Report generation was handled by generating reports in HTML on server side and then generating them in PDF format on the client side. Some other features such as using B-Tree algorithms to create the organizational hierarchy and enable sorting within them were applied.
A common function amongst all these milestones was writing test cases extensively. The final milestone was dedicated to rigorous testing of the now complete web app using our in-house GA-WDIO CLI tool. Not just that but testing was an integral part of the complete development process and client's feedback was processed and fixed before proceeding to the next planned action.
With the complexity of the app, problems were bound to show up and surface during and post development. With the amount of versions of the web app released, it was pivotal to automate CI/CD which was difficult. To facilitate this task, BitBucket Pipeline was hooked up with Docker so that as soon as the code was pushed, Pipeline started Docker which created a build, tested it, zipped it and uploaded it to AWS S3 with a proper version number.
For deployment of this app, it was mandatory for the project to have two environments, namely Production and Staging, which made it tedious. To simplify this, we hooked up our 'Master' branch with the Production Environment and the 'Release' branch with the Staging environment.
The choice of using automation testing brought forward a requirement of a tool that would develop and run things over various kinds of platforms, OS and browsers. The straightforward solution to this was offered by our own testing tool called GA-WDIO that creates and runs test cases over any OS, local browsers, mobile browsers and BrowserStack's browsers.
- BitBucket was the choice of tool for version control.
- SendGrid was the Email provider.
- Deployment was handled through PM2, Docker, AWS CodeDeploy, AWS S3 & BitBucket Pipeline.
In the words of the client, "The Platform exceeded the expectations of the internal team, providing the foundation for the business." The app imbued the essence of the company and we were happy to hear these words from our client. The project was completed on time and the client is extremely satisfied with the outcome. With this app, they can begin chasing their vision and fulfill their mission of helping organizations provide better healthcare services and focus on the patients. They now have live customers on board the app and the company is on its way to transform healthcare in the world and push it towards a better future. We wish it all the success in the world and we feel lucky to be a part of this venture.