BPM automation for UK care homes

BPM automation for UK care homes

End-to-end business process management automation via a cloud-based application for facilitated task management, performance visibility, and reporting at care homes across the UK.

Context

Our customer is a UK-based agency specializing in clinical and residential care, operating several care homes and providing mental health rehabilitative services.

The customer had an idea of building a healthcare business process management (BPM) system for care organizations, consisting of several subsystems. The BPM system would allow managing and analyzing medication intake as well as collecting statistics on treatment dynamics per patient. The accumulated information would then be used for selecting and recommending a suitable treatment for a particular patient, thus facilitating care providers’ data-driven decision-making.

The agency turned to Itransition for healthcare software development services. They were looking to develop an MVP of the BPM system first, which would enable resource planning, employee management, and end-to-end visibility into care home tasks and performance. With time, more sub-systems would be connected to this functional core.

Initially planned to be introduced within the agency’s own care homes, the solution was to be developed with a view to distributing it as a marketable product for other care organizations in the future.

Solution

Within 14 months, Itransition’s business process management consultants developed a healthcare-specific web application allowing the staff at care homes to effectively manage their tasks and performance, including monitoring, tracking, analyzing, and reporting. Itransition’s team also developed an API so that other parts of this in-progress ecosystem could interact with the solution, for example by triggering task creation or required actions.

The main use cases of the application include:

  • Managing patient-related and general tasks. While forming the care plan for a particular patient, a doctor creates and assigns tasks, defining the type and frequency of activities appropriate for this patient.
  • Reporting an issue or an accident. Once reported, it triggers the creation of an event of a certain type in the system, which then automatically generates respective tasks on the basis of predefined templates. For example, if a patient escapes a care home, employees must call the police, gather information from eyewitnesses, draw up a report, contact relatives, as well as check the patient’s health upon return. Each task starts in a configurable time after the issue occurs and has a due date in accordance with the law.

In such a way, all the actions that are determined by law and are obligatory for implementation are already predefined in the solution. Due to this, while opening such a care facility, one does not need to be well acquainted with or examine laws, as the solution will prompt necessary actions in this or that case automatically.

Task management automation

Tasks are the core element of the system that enables resource planning. Tasks differ by importance, duration, as well as a recurrence of interventions and required allocations (department, employee, rank, and specialization). The solution comes with a broad set of predefined tasks.

There are two types of tasks in the BPM system:

  • Clinical tasks are directly related to patients and span a range of activities and involved employees. Clinical tasks can include nutrition, personal care, physical observation, therapeutic treatment, medical appointments, entertainment, education, physical exercises, and so on. The built-in functionality allows nurses to track all patient-related activities and submit details, for instance the type of meal taken, portion size, etc. This information is then displayed in a food diary with the corresponding date and time. Clinical tasks are processed by employees of clinical departments and are completed in succession.
  • Non-clinical tasks include activities associated with managing a care organization and are performed by employees of non-clinical departments, such as IT, financial, legal, HR, and so on. Apart from triggered tasks, there are general planned tasks, e.g. updating insurance once a year.
https://d23bc5yyqegc47.cloudfront.net/prod_backend_media/s3fs-public/2021-01/1_Task%20details.svg

Task assignment and allocation

The system supports an unlimited number of automatic tasks with the possibility for automated assignee selection. Auto-tasks are preconfigured in the admin panel and are activated when triggered inside the system or by an external system via the API. Tasks can be allocated to many employees, with one primary employee in charge. Employees and admins of a corresponding permission level can manage both business tasks and personal tasks created manually for private use.

All clinical tasks are automatically assigned to a nurse on duty, who then distributes tasks among other employees. Non-clinical tasks are automatically assigned to the employees matching the criteria specified in the system, e.g. the minimum permission level depending on the task's urgency and difficulty, and the specialization in case the task requires special skills. When assigning an employee to a more critical task, the system takes into account their current load and performance level.

The solution allows for managing one-time tasks, which do not assume any recurrent actions and have an end date, and recurring tasks for the same repeatable activity with a given frequency. The system also highlights the tasks on the list if there is special information to be taken into account, e.g., when tasks can’t be completed by a single person.

Task completion evidence

Each task requires evidence and clearly states what type of evidence should be provided by a responsible employee to complete it. There can be several types of evidence, e.g. a text note, Yes/No mark, numbers, or a file attachment. When creating tasks, evidence can be marked as requiring a mandatory review. After evidence submission, each task is forwarded to the supervisor, who can either reject evidence and recreate the task or confirm it and close the task.

Evidence can also act as a trigger for further needed actions. For example, in case of providing the No answer as evidence in the task of checking if a refrigerator functions, the system triggers the new task for calling a repair service.

Task deadlines

Task deadlines can be set as a certain time, a period of time or, if not specified, the middle of a shift. In case of deviation from the standard progress of tasks, the system issues notifications to responsible employees.

The frequency and recipient settings depend on the task priority, with each priority level having its own notification table. For example, if overdue, a critical task would get escalated to the most senior management level. Notification tables, including escalation levels, can be modified by admins only, although each employee can create additional notifications for particular tasks using a task modification form and specifying the date and person to notify.

Task archive

The solution stores the task history as an archive with the possibility to filter data. Any data deletion moves the record to the archive and keeps it for audit and reporting purposes.

User administration

To set up and start using the system, a medical organization just needs to import CSV lists of its employees, user roles, departments and patients as the system already predefines most of the necessary tasks. Admins then can create and manage employee and patient records as well as user roles.

Access to the information about employees and patients depends on a user’s role and permission level. Users can look up either brief details about a patient or an employee or full details in the edit mode, if the permission level allows.

Patient cards

The solution features a patient card that contains the basic information on a given patient, shows current tasks and the task history, as well as enables exporting patient records.

Patient details

Employees

As users, employees vary by job, specialization, and rank manually assigned to them, and are attributed to a specific department. Each employee has one role only, which defines their access level.

When allocating employees for task fulfillment, the BPM solution automatically considers the following criteria:

  • The employee’s current workload made up of the already assigned tasks and their approximate completion time pulled from the corresponding field.
  • Rank requirements. In case an employee does not meet the minimum rank requirements for the task’s specified priority level, the system won’t allow task assignment.
  • Employee specialization matched with the task automatically. In case there is more than one matching employee for the task, the system chooses one of them. In case there are no employees with the required skills to perform the task, the system still allocates this task to a default employee while sending alerts to the management.
  • Employee score reflecting the employee’s performance assessment.

Performance scoring

The built-in performance scoring feature is based on the following two parameters:

  • Deadlines met, with the system checking automatically how consistently an employee completes tasks within the allocated timeframes.
  • The quality of task fulfillment assessed by a supervisor, who checks the evidence attached to completed tasks and evaluates the task on a 10-point scale.
Performance scoring

The final score is calculated as a weighted average of these two parameters. Based on this data, the system creates charts with the moving average of an employee’s performance, thus forecasting the trend lines for each employee and notifying their management about performance issues, if any. Employee performance scoring also helps in assigning the most demanding tasks to the employees with the highest scores.

Business process management modules

The delivered solution consists of several modules which allow access based on users’ permissions.

The user dashboard displays the list of an organization’s patients and employees, as well as task statuses and statistics at different hierarchical levels. It allows:

  • Managing task assignments per employee, displaying patients’ details, completion history, notification tables and history, activity logs, and responsible users.
  • Submitting task modification requests and viewing all submitted requests.
  • Adding and requesting changes for patients and employees, with the editable approval flow.
The tasks list

The shift management dashboard is for arranging work by shifts. It allows:

  • Creating and managing shifts, including transferring tasks between shifts, assigning tasks to employees, and adding, changing, or canceling tasks.
  • Viewing employees present on a particular shift and patients with their up-to-date statuses.
  • Looking up uncompleted tasks from recent shifts as well as the employees on upcoming and current shifts during handovers.
Tasks on a current shift

The admin dashboard is for creating, editing, and archiving employee profiles, patient data, and user roles. It enables setting up the system configuration and performing the initial task import.

The employee list

Technologies

The solution was developed in C# as the key programming language. The rest of the applied technologies included:

  • React, MobX, react-intl, TypeScript, Webpack, Bootstrap CSS, and Moment.js for the frontend
  • ASP.NET Core, Kestrel and Web API for the backend
  • Microsoft Azure for hosting the infrastructure
  • Azure SQL Database as a database service
  • Azure App Service as an application hosting service
  • Azure Container Registry for deploying new application versions and managing old ones
  • Azure Storage for storing user-generated files
  • Azure Key Vault for data protection and security
  • Azure Application Insights for application performance management
  • Entity Framework (EF) Core for working with the database
  • Autofac and MediatR for making the code more modular and maintainable
  • FastReport.OpenSource for report generation
  • MailKit as an email sending library
  • Json.NET for requests and responses serialization between the frontend and the backend
  • Serilog for tracing application performance and errors
  • Cronos for parsing Cron expressions and calculating next occurrences
  • CsvHelper for reading and writing CSV files
  • xUnit, Fluent Assertions, AutoFixture, and Moq for unit testing

Results

Itransition’s team developed a healthcare business process management solution as a fully functioning product for care home facilities around the UK. This system allows for streamlined management of tasks related to clinical care and business administration while ensuring operational efficiency and transparency.

This cloud-based application delivers ample opportunities to organize employees’ shifts and workload, gives a full view of task fulfillment, and provides insight into employee performance. With thousands of predefined tasks and the majority of business processes automated, the implemented solution allows accelerating workflows and increasing productivity. Ultimately, the system proved to drive up to 2x cost reduction at the agency’s care homes.