Building a complex IoT solution for healthcare: a process perspective, Part1

27 Jul 2022 Kirill Karpenko, Kirill Zkharenkov

In recent years, healthcare technology development has gained momentum. Would you like to know one of its most promising directions? Then, let’s consider IoT healthcare solutions. Between 2019 and 2027, global IoT technology market is expected to grow at a compound annual growth rate of 24.9%. This technology can be used for building a great range of solutions, from remote monitoring systems to medication reminder tools.

Surely, the ABCloudz team doesn’t stand aside from this trend. We do our best to add more and more IoT projects to our portfolio. In our practice, we have faced and successfully coped with numerous challenges, such as:

  • Data security and data privacy (HIPAA and GDPR);
  • Integration of multiple devices & protocols in a single solution;
  • Aggregation of collected data without overload;
  • Cost-optimization for IoT solution development.

We decided to share our practice knowledge and write a series of blog posts about IoT software and firmware development processes. Read them and find much useful information that will help you successfully handle your IoT project.

Here’s the first part in this series. It is dedicated to our general approach to forming teams and workflow.

One of our customers decided to build an asthma COPD (Chronic obstructive pulmonary disease) management app that would interact with different types of devices designed to improve the quality of patient treatment and track medical measurements. They needed to build an IoT solution from scratch.

The customer wanted it to run smoothly with any device and comply with HIPAA data protection regulations. Also, the solution assumed integration with a complex IoT system.

The solution required the following components:

  • Mobile (iOS and Android) app for patients and practitioners. It helps with medication adherence tracking and recording asthma and COPD symptoms. The app would include the following functionality:
    – Automatic medication adherence tracking per individual schedule/dose;
    – Remote monitoring of patient pulmonary conditions;
    – Patient statistics tracking;
    – Patient symptoms and disease trigger tracking.
  • Web platform for physicians used for collecting user data and statistics:
    – Data and statistics on patients and their symptoms;
    – Data on symptoms that helps physicians form patient reports;
    – Built-in analytical tools that work with stats.
  • A web platform for administering the system.

They chose ABCloudz as their tech partner for this project because our specialists had demonstrated high level of tech expertise. We also had experience in working with complex healthcare solutions.

It had to be a large and multi-layered project, and we needed to complete it in rather short terms. Hence, the right team and workflow organization were vital. We developed a customer-centric approach to build a completely secure healthcare app integrated with pulmonary disease management devices.

Let’s see how things were done and overview this case from the perspective of process organization.

Organizing the team structure for the project

The first step required finding the right resources for the project and organizing them into a team. The general workflow was managed by a Project/Delivery manager. All other tasks were distributed among various professionals.

To ensure efficient full-cycle service, we engaged the following teams:

  • Business Analysis department;
  • Web/Backend development team;
  • Mobile development team;
  • Firmware development team;
  • Quality Assurance team;
    Release department.

Check out the scheme below to learn more about our team organization.

team structure

Such team structure helps us clearly distribute the tasks and handle the biggest software development challenges. With clear workflow organization, we avoid such problems as:

  • Poor app usability;
  • Lengthy data input process;
  • Failed UX design that makes the app inconvenient to the customer;
  • Absence of the “go to” option that enables a user to go through several pages quickly;
  • Failure to utilize the main benefits of cloud architecture, such as scalability;
  • Security flaws that leave some sensitive data unprotected.

Agile workflow

The next stage of project organization involved building the right approach. We divided the team into three separate workstreams with compositions appropriate to three different tasks.

The workstreams had to handle IoT/BLE integration, mobile app development, and web portals development simultaneously. Such clear separation of tasks improves process efficiency. Team members can focus on their specific tasks, while other parts of the project will be simultaneously handled by other workstream members. As a result, tasks are completed much faster.

You can see the structure of such sub-teams in the image below.

developers team

As for the workflow, it was divided into sprints according to the Scrum methodology. This approach ensures that releases and parts of the project are continuously reviewed. Improved code quality and project monitoring are the main benefits of this approach.

According to this approach, our Project/Delivery manager took responsibility for assigning tasks, distinguishing the highest priorities, and coordinating daily workflows. The process was repeated through multiple iterations that were relevant in the stages of initial design, product development, and product deployment.


When the organization stage is over

Once all roles and responsibilities were distributed, we started working on the project. We utilized our step-by-step practice to develop numerous project parts simultaneously.

Make sure to check the next blog post dedicated to this project for the continuation of the story. We will share insights of the project workflow.

Also, please don’t forget to check out our blog for groundbreaking tech insights. And make sure to contact us if you’re facing a technology challenge that requires solid approach and expertise.

Ready to start the conversation?