Enterprise Web Application Development in Angular for Healthcare Company

Enterprise Web Application Development in Angular for Healthcare Company

Rewriting a complete enterprise-level web application in Angular for Servelec, a healthcare company in the UK.

Client:Oceano
Year:2020
Technologies:Angular

The biggest project Coding Sans has worked on so far has been rewriting an enterprise-level Silverlight web application in Angular for a healthcare company.

Getting it done took 18 months, a lot of talented engineers, tightening up project management, and endlessly perfecting communication with the client. Our team learned a lot in the process, and we’ve delivered the product successfully.

In this post, we share some key learnings and also provide more insight to the project. Let’s take a closer look!

About the product and how it fits in Servelec’s product offering

Servelec is a UK-based company with several divisions: healthcare software, education, and social care. They mainly create software solutions to manage care avenues in healthcare organizations.

One of their most important products - Oceano - is a patient administration system for hospitals. It covers admissions, referrals, and appointment bookings. It has an emergency department module that also records patient care.

What challenges was Servelec facing?

Servelec has multiple large, monolithic systems, which interact with each other. They’re constantly developing these systems for the new challenges of modern healthcare.

The front-end of their healthcare software, Oceano, was developed in Silverlight. Silverlight is near the end of its life cycle, and won’t be supported after 2021. They were looking for a modern, scalable web technology with great support that is a good fit for enterprise web applications.

Through an internal assessment process considering several options, they chose to rebuild it in Angular. They came to the conclusion that they lacked the capacity and the in-house know-how to research and implement such an upgrade.

After deciding to hire an external partner, they went through a number of online resources and referrals that reviewed organizations. They chose Coding Sans because of our proven proficiency and track record with Angular. Coding Sans also adapted to Servelec’s work schedule and kept adjusting our approach to the project accordingly.

What was the scope of the involvement of Coding Sans?

Coding Sans provided web-based development through a broad spectrum of functionalities. Servelec’s software is intended for managing and tracking the patient journey through a hospital. It administers referrals, admissions, patient demographics, names & addresses, and clinicians & other hospital staff.

The project was focused on creating an Angular version of the Silverlight code, handling a large amount of legacy code. Coding Sans consolidated versions into standard components that could be used in different products across the organization. Our team developed common consoles for similar features to optimize the use of Servelec’s software in the future.

As the original project progressed, we also got tasked with building a full-form designer from the ground up for another Servelec product.

Technologies used on the project

Technologies:

  • Angular
  • Nrwl Nx
  • NgRx (monorepo style)

Version control tool:

  • Git

Project management tool:

  • Jira

Communication tools:

  • Slack
  • Microsoft Teams

What was the team composition?

The team changed several times over the 18 months of the cooperation.

The staffing on the side of Coding Sans changed from 5-15 developers, depending on the phase of development. Whenever the team grew to 8 or more people, they split up into two separate teams.

On the side of Servelec, we had 1-2 key tech contact people. It was imperative for successful delivery to constantly have at least one dedicated developer available on Servelec's side with a deep understanding of the systems at hand.

The baseline for the team composition looked like this: one highly experienced front-end architect and Angular guru. He stayed on the project as lead developer from the beginning to the end to provide consistency. The rest of the team always had at least 1 senior software engineer, 2-3 medior engineers, and 1-2 junior engineers.

Challenges during the projects and how we overcame them

Communication was the biggest challenge in the project, but the process evolved constantly throughout the cooperation. We had numerous weekly product calls to keep the project and its stakeholders in sync.

There were technological challenges as well. The back-end was outdated in some parts and needed some fixes along the way. This was part of the reason why we needed a dedicated developer on Servelec’s side as a go-to person with these issues.

Our team had little experience with C#, which made working with their back-end code harder. To resolve this, our developers put effort into learning to efficiently read C# code. This was another area where a dedicated Servelec developer helped tremendously by answering questions concerning the old app.

Deadlines got tight at certain points, which we were combating by continuously refining our workflow, and at times ramping up the team’s staffing. The team size changed a number of times depending on the requirements of the development phases.

Key lessons learned

The biggest takeaway by far is that our team needed an appointed go-to developer at Servelec to help out with issues about the legacy system’s back-end or with unclear parts of its code. This was a key element of the communication process between Servelec and the Coding Sans team, which was essential to hitting deadlines.

We learned to stick with stricter handling of agile methods, which we’ve been applying at other projects ever since. With a product at this scale, a more formalized workflow is better. Tightening up the agile project management helped make the project run smoother.

We have learned to create better specifications and task descriptions, and we’ve learned to better estimate upcoming milestones. Many unforeseen issues come up during development; part of these originated from matching the old code with the new front-end. These can cause delays, even with great communication, which can only be addressed by giving careful estimates.

All this combined with our constant efforts to perfect communication put our team into a better position to deliver the product successfully.

_A step closer to your product

Work With Us

arrow

Request a free consultation with our project managers, and we help you figure out the next steps for your project.

_The pillars of our work

How We Do It

Code Quality

Our code is tested, linted, and follows the industry best practices. It’s also self-describing so you will know exactly what is happening under the hood.

Free sprint

You won’t get to know us until you work with us. To minimize your risk in the process, we provide the first sprint of coding for free, so you can check out how we actually work to decide whether it meets your requirements.

Full transparency

We provide full code transparency with version tracking software (GitLab or GitHub) and use a direct communication platform (Slack) to communicate achievements, setbacks, and changing requirements on the fly.