Custom database development for a healthcare charity

Custom database development for a healthcare charity

Itransition developed a custom defibrillator database that provides medical professionals with up-to-date information on defibrillators’ availability and location.

Case study

Custom database development for a healthcare charity

Context

Our customer is a European healthcare charity and research organization. From the start, they have been raising funds to cure patients with cardiovascular diseases, conduct research, as well as nurture the population’s awareness of the heart and circulatory conditions in order to prevent them. The organization also provides advisory support to help people understand their conditions and choose optimal treatment programs via multiple channels, including a dedicated website, booklets, and a 24/7 helpline.

The organization believes that using a defibrillator is a lifesaving measure when used by those who witness an out-of-hospital-cardiac-arrest (OHCA) or notices an affected person. Still, there are two critical barriers limiting the use of publicly available defibrillators: people know neither how a defibrillator works nor where defibrillators are located. As a result, the devices are underutilized while they could save many lives.

Having studied the situation in their country, our customer revealed a disturbing fact: emergency and medical service representatives were also unaware of defibrillators’ locations.

While every ambulance service was responsible for mapping the location of defibrillators within their own jurisdictions, there were several barriers to actually doing so:

  • There was no standardized way of collecting, storing or maintaining data about defibrillators' availability and use.
  • Different medical services used different software, from typical Microsoft Excel spreadsheets to custom software, to track defibrillators.
  • Depending on their internal practices, each service collected its own data. As a result, the volume of records and the stored data differed significantly from one emergency service to another.

With all these challenges in mind, our customer decided to go for custom database development and create a unified information hub on defibrillators. This would be used by medical service professionals to provide the exact location of the nearest defibrillator to people who happen to be near a person during an OHCA. Such a solution would facilitate urgent defibrillation and contribute to the increase in OHCA survival rates.

Itransition offered their experience in healthcare software development to carry out the project.

Solution

The delivered solution is a custom defibrillator database that provides up-to-date information about publicly available defibrillators. The solution was designed as a mobile-friendly web application.

The system serves three groups of users, with each group having their own tailored interface and access permissions:

  • Defibrillator guardians and owners
  • Ambulance service administrators
  • The customer’s administrators

The solution offers the following capabilities:

  • Defibrillator guardians and owners can register their contact details, defibrillators’ locations and technical characteristics.
  • Ambulance service administrators can create reports on the defibrillators’ usage frequency.
  • Data administrators can export and import data on defibrillators to and from ambulance services’ systems, update files, and refresh location details used to map registered defibrillators.
  • Defibrillator guardians and ambulance specialists can use automated workflows to monitor defibrillators’ operational statuses.

Defibrillator data management

Once a user registers a defibrillator, they can provide details on a defibrillator’s location (e.g., the building floor and open hours) and availability, as well as access type (public or restricted, etc.). Users can also log maintenance checks and their outcomes for defibrillator guardians to set a defibrillator status as “in service” or “out of service”. Guardians can also retire a device, stopping its use and maintenance.

The web application contains the dashboard for administrators to see the current state of both operational and out-of-service defibrillators, as well as devices used within the last week during OHCAs. The dashboard also provides information on defibrillators that have been out of service for more than a week, two weeks, and a month.

Administrators can view reports on all defibrillators and download them as PDF files. They can also access reports in the accounts of all the guardians within their medical service area.

The system maintains the communication log and presents all location details in a structured way. It also supports different types of notifications, including email alerts, reminders, and warnings.

Data exchange, maintenance, and interoperability

To facilitate data exchange and maintenance, Itransition’s team implemented the following features:

  • Automated export and import of ambulance service data, which ensures regular updates on the use of defibrillators during OHCAs.
  • Location data import and respective email notifications.
  • Automated database monitoring and notifications to ambulance service administrators in case of errors.
  • Manual data correction in imported and exported files.

To ensure data interoperability, Itransition set up regular data synchronization directly between the central defibrillator database and the local ambulance services’ Computer-aided dispatch (CAD) systems. The synced data is accessible to ambulance service dispatchers via the interactive map that localizes every OHCA and the nearest available defibrillator in real time.

Technologies

The delivered solution consists of three main parts:

  • A website built on the ASP.NET MVC framework
  • A web app that hosts background and scheduled services in Azure App Service through Azure WebJobs
  • A public API based on ASP.NET WebAPI

Microsoft Azure was used to host all the solution components. All the web services are hosted in the Azure App Service. The data is stored in the Azure SQL-based database. We utilized Azure Table and Azure Blob as a replicated and encrypted storage of binary data, such as images. Our team used REST API to integrate the solution with the CAD system.

We leveraged Azure Application Insights, Azure Alerts, and Azure Monitor to automate the processing of all the operational metrics in the solution. Azure Data Factory hosts long-running background tasks.

System architecture

Azure Active Directory B2C enables user registration, account management, and authentication, including password reset, optional two-factor authentication, and multi-factor authentication for advanced security. This cloud service comes packed with machine learning algorithms to analyze login patterns and minimize the risk of hacking.

We used the Azure Service Bus queues to set up notifications. Messages are put on the Service Bus queue and then delivered to Azure Functions that push notifications through the appropriate gateway. Azure Functions pick up email notification messages, compose emails, and send them via the Mailjet SMTP gateway. Azure Functions are also responsible for the asynchronous processing of uploaded batch data.

We used Azure DevOps Services to configure CI/CD processes.

As part of this custom database development, Itransition integrated the solution with the following third-party services:

  • getAddress.io, for finding postal addresses by postcodes
  • Power BI, for preparing and analyzing data, and building reports
  • Bing Maps, for finding addresses by geocodes
  • Azure Maps, for displaying maps on the website
  • Mailjet, for sending emails

Process

At the start of the custom database development, we held an initial workshop with the customer to:

  • Build up the backlog of user stories
  • Elaborate high-priority requirements
  • Identify areas of technical risks, which were to be tackled early in the project to reduce the subsequent technical debt
  • Finalize the solution architecture to ensure it could support all the outlined features
  • Plan the two-week development sprints implied by our chosen Scrum methodology

Our development team collaborated with the customer ongoingly, reviewing requirements and prioritizing backlog items. At the end of each iteration, we carried out sprint retrospectives where we identified areas for improvement.

Results

By the end of this custom database development project, Itransition’s team delivered a comprehensive solution that is critical for healthcare professionals to save lives during OHCAs. With this solution, the customer established the new national standards of defibrillator management and maintenance.

The solution combines data on nearly 100,000 defibrillators accessible throughout the country, therefore providing medical service professionals with comprehensive up-to-date information on the defibrillators available within their local area.