Alberta Health RTOP

  • Web
  • Responsive
  • IBM Cloud

Alberta’s Enhanced Traveller Screen System for COVID-19 improves efficiency for government agents ensuring that proper self-isolation plans are followed by all incoming travellers.

Project Summary

In a little less than 30 days, FreshWorks helped the Government of Alberta build a modern web-based traveller screening system for COVID-19. All travellers are required to complete the accessible and user-friendly self-isolation questionnaire and automated processing helps agents determine which travellers have appropriate measures planned to properly self-isolate upon arrival. Traveller information is privately and securely kept in a database where different groups of government employees can access it on a need-to-know basis.

Service Alberta agents screen each plan that’s filed, and can now easily determine if that traveller will require additional self-isolation support – indicating that on the travellers’ case file if so. The database and portal of this new solution also help Service Alberta know at a glance which travellers have been followed up with after they arrive. Users can see cases in a queue, assign cases to different agents efficiently, update case statuses, and keep detailed, time-stamped notes for each traveller.

Alberta’s Returning Traveller Outreach Program for COVID-19 (RTOP) makes better use of the information provided by travellers and automates formerly tedious processes where possible. This has made case management much more efficient, helping ensure travellers are provided assistance when needed while giving Service Alberta more confidence that each incoming traveller is followed up with according to the regulations currently in place.

Working Together

Travellers, Service Alberta agents, and Alberta Health Services all interact with different parts of the solution.
Screening and tracking travellers going into self-isolation is now simpler, faster, and more efficient.

Working Together

Travellers, Service Alberta agents, and Alberta Health Services all interact with different parts of the solution.
Screening and tracking travellers going into self-isolation is now simpler, faster, and more efficient.

Having already developed a similar application with the Government of British Columbia our team felt privileged to now have the opportunity to assist Alberta. BC made the decision to open-source the code for their solution, so with this starting point, we also felt well prepared to help craft a solution that aligns with the needs of the Government of Alberta and their citizens.

The Returning Traveller Outreach Program for COVID-19 is a robust system, with 3 different components working together and yet it’s only a small part of Alberta’s effort to implement a human-centred response to the pandemic. However, with this solution in place, the province has already saved many labour hours for government agents while providing peace of mind to thousands of travellers and residents.

Background on Alberta

As the fourth largest province in Canada, Alberta has come a long way in a short time, with the highest year-over-year population growth rate in the country. With a growing population and an evolving pandemic, the Government of Alberta knew it needed to remain nimble in its COVID-19 Response Initiative. 

Protecting Albertans has always been the primary goal for the Government of Alberta — and representatives quickly gathered in spring 2020 to work on preventing the spread of the novel coronavirus.

Today, Alberta is taking aggressive measures to help slow the spread of COVID-19 and is committed to keeping Albertans fully informed. Alberta has committed more than $13 billion to support a comprehensive pandemic response plan that protects the health and safety of Albertans and gets the economy back on track. 

But even with these successes, Alberta Health has recognized the utility in improving upon its existing systems. That’s why Alberta decided to engage FreshWorks to help launch a plan that dismantles the complexity surrounding self-isolation and gives citizens clear and simple guidance for creating their isolation plan.

The Challenges

Providing Self-Isolation Support

As residents and travellers arrived in Alberta, understanding their self-isolation plan was proving to be difficult for many people. The government of Alberta wanted to provide assistance to help address this, especially in situations where vulnerable population members are affected – those grappling with underlying medical conditions and at risk of severe outcomes.

Manual Plan Evaluations

Mindful of how their choices could impact citizens’ lives, agents prioritized a meticulous reading of each plan as it was submitted. But this thorough approach meant they often engaged in redundant work or delayed making final decisions.

Technology Barriers

At the time, Service Alberta was using an Excel and Sharepoint system that presented a number of challenges to its agents. Each time a self-isolation plan was filed by an applicant, the entry first needed to be manually entered to an Excel file, before the case could be followed up with. But the excel file being used to track and update self-isolation plans could only be opened by a single agent at a time, and was not optimized to update in real time. There were also a large number of validation rules in place, creating friction for the agents evaluating the plans.

Single Agent
Access Only
Manual Entry
Friction From
Validation Rules

Tracking Follow Ups

To protect its citizens, the government also needed to be able to follow up promptly with all incoming travellers to ensure they are following self-isolation protocol. Agents needed to make a record for each call made, including the date and time. This was again done manually using the problematic Excel file; with many calls for each of the many cases, this was taking a significant amount of time.

Aligning Policy and Public Services

Presented with these challenges, Alberta needed to rapidly align policy intentions with the delivery of public services amid the COVID-19 pandemic.

The Alberta government wanted to address these challenges head-on and ensure Service Alberta agents would be able to follow up quickly and efficiently with citizens once the self-isolation website went live. So our team set out to design and build a solution to replace and improve upon the existing Excel / SharePoint system.

The Solution

Any solution needed to consider the user experience for both the travellers that would be required to use it, as well as the government agents responsible for protecting the public from exposure to COVID-19. This boiled down to two distinct UX goals:

  1. Simplify the process for all travellers to register a self-isolation plan
  2. Enable Alberta to easily manage and report on all cases for people entering the province

After stakeholder interviews, research, and prototyping, our team determined that several different applications would need to be built in order to achieve this. The result is a distinctive yet unified user interface for all user types that creates a seamless experience when working with any application that is part of the overall solution.

1. Traveller Form

The first component is a web based application that allows travellers arriving from diverse origins to submit a form as they return to Alberta. As travellers complete this form they provide information about their self-isolation plan including where they are staying, who they are staying with, and their ability to fulfill basic needs while in isolation (food, transportation, etc). 

Once they submit this form, they are given a confirmation number which screening agents will use to look up that traveller once they arrive.

The form was built to be viewed and completed easily on any browser and any device. Once this form is submitted their plan is on file and will be awaiting review at the Screener Portal when they arrive in Alberta.

2. Screener Portal

Once a passenger arrives in Alberta, agents review the self-isolation plan that was filed via the second component of the system –  the Screener Portal. To begin their assessment, screening agents will look up a traveller by name or confirmation number.

Automated Assessment of Plans

When a traveller arrives, their isolation plan will have been automatically marked with a status based on the travellers input. A red “isolation plan status” tells the agent a traveller has given information which suggests they likely need support or more information from Service Alberta. For example they may be staying with an at-risk individual or not have the means to properly self-isolate.

A green status suggests the traveller has a suitable isolation plan and no immediate flags. With agents screening every person entering Alberta, the screening process can be time consuming. This status helps them know when to dig deeper and more easily identify which of the dozens or hundreds of travellers likely need more attention.

Determining if Support is Needed

Regardless of the suggested status, screening agents will always make the final determination and mark each plan as “Support Required” or “No Support Required”. They will make notes to support that determination, as well as what the traveller’s needs are. This can be reviewed by the eventual case agent who will be following up with that traveller.

Service Alberta agents can then triage cases more effectively and get the right resources to incoming travellers quickly, ensuring everyones can self-isolate properly and reduce the risk of exposure.

With the exception of exempt workers, all travellers who arrive in Alberta and then screened will have a case created for them. This case is then added into the database of the Service Alberta portal.

3. Service Alberta Portal

The Service Alberta portal is the biggest component of the system. Within this web application is where Service Alberta agents perform the actual case management activities.

Filtering and Sorting

A case is created in the database for all travellers who arrive in Alberta and complete the screening process. Within the portal agents will see a list of all cases, which they can then filter to see only cases that:

    • have not yet been assigned to an agent
    • are assigned to themselves
    • are completed – traveller has completed their self-isolation period

In each filtered view, key information like the travellers name, status, and arrival date is still visible and can be used to further sort the list of cases. This filtering and sorting within the database helps each agent efficiently triage cases in order to follow up with the most pressing ones.

Case Assignment

Agents can filter to see unassigned cases which they can pick up for processing by assigning a record to themselves. Cases can be easily reassigned to other agents along the way, allowing the entire team to work together to efficiently manage the workload for Service Alberta.

Updating Status and Notes

For the cases an agent is assigned, they are responsible for following up with those travellers. Each time an agent makes a call they use the simple drop down menu to update the status of the case. Status options were carried over from the old system to ease the change management process.

If and when a traveller is contacted, they will also enter notes with pertinent information as to whether the individual has been able to properly self-isolate. Agents no longer have to record the time and date of when calls were made, as the system now does this automatically based on status updates and recorded notes.


Alberta Health Services has a separate login access to the portal as well. This allows them to generate reports based on the aggregated information that is being provided by the Service Alberta agents.

Our Approach

Although this project would be very similar to BC’s Enhanced Traveller Screening System for COVID-19 that we built previously, Alberta had many needs that were unique to their mandates, regulations, citizens’ needs, and current government operations. Therefore, Alberta Health needed our help in understanding whether to fork the existing B.C. repo or to create their own custom applications from scratch. 

In the end, we decided to create a net-new solution. Building creative confidence across Alberta’s public sector was a key goal for both teams, and this would help the province maintain its citizen-centred approach in an increasingly complex pandemic.

Continuous Improvement

Despite the size of this undertaking, our team applied a Kaizen or continual improvement approach. This started with reviewing the current workflow for everyone involved. We wanted to eliminate the challenges in the current Excel / SharePoint system, and improve upon any existing parts of the process for traveller screening that could still be used.

During discovery, we were also evaluating the Enhanced Traveller Screening System for COVID-19 that FreshWorks had built for Service BC so we could apply what we had learned. Process flow diagrams like the one below helped identify all potential interaction points to work on for the different groups involved.

Building a Team

The Kaizen approach facilitates continuous development in the course of change.In practice, this influenced not only the solution we were creating, but how we were creating it. Our team continuously experimented with small changes in our way of working with a new partner team – adopting the change if it worked in a given context, and abandoning it if it didn’t.

The results of this approach became manifest in many ways by allowing us to:

  • identify existing or expected challenges
  • mitigate security and privacy risks
  • confirm benefits that needed to be realized
  • keep desirable functions and features of both models

Implemented Findings

Many of the great features and benefits of this solution came about because of the continuous improvement mindset.

Validation Rules

We reduced (or better yet, eliminated) the need to recreate validation rules in cases where they were already working as expected by agents in the plan assessment process.

Better Case Notes

Access to writing case notes was made much easier than before. All notes are highly visible on a case file, and every entry an agent makes is automatically time stamped.

Contact Status

Although new status options were proposed, the current ones that agents applied to each case were already familiar. To minimize interruptions in the workflow these were carried over from the excel sheet to to the new application.

Proposed drop down traveller status options

Traveller Status Options in the Screener Portal

Relational Database

The database was changed from non-relational to relational. When the BC Solution launched we did not know at the time an integration with federal data could be coming, so we took that lesson and applied it here.

Exempt Worker Check

We added a check for exempt workers at screening in order to keep their case record out of the Service Alberta portal. These travellers still file a self isolation plan, but officials at the border checkpoints are now able to verify exempt workers since agents do not need to follow up with those cases.

Case Creation Timing

Based on learning from BC, the case management flow was altered so that cases are not created in the Service Alberta portal until after a traveller physically arrives and is screened. Cancelled flights, travel plan changes, and other circumstances had initially resulted in many of the filed Self-Isolation Plans generating cases for Service BC for travellers who never actually arrived.

The Features

French Support

Travellers who prefer to fill out the form in French can choose their preference on the same platform.

Alberta Government Logo French


International Traveller Considerations

Every person needs to have a contact number recorded — but if form validation rules are made too strict, international phone numbers would be considered invalid and result in too many travellers being rejected and requiring follow up from an agent, wasting valuable time. With this in mind, validation was purposely kept loose on certain form fields to accommodate the diversity of travellers coming into Alberta.

Visual Design

The application features Government of Alberta’s new design guidelines. The colour palette is bold and dynamic and takes inspiration from the richness and diversity of the Albertan landscape. Tones of sky blue and stone grey were predominantly used in the visual design with elements appropriately spaced out to provide a smooth and crisp user experience.


Government of Alberta Visual Identify Guide Colours

Minimizing User Errors

From research and experience, we knew that there would be many cases of user errors, such as typos. So our team implemented drop-downs for a variety of fields, including: countries, airport names, travellers’ border crossings / ports of entry, and more.

Zero Downtime Deployment

We knew from working on BC’s solution that we were likely going to learn many things in production, so it was essential for us to be able to respond to changes swiftly without scheduling deployment windows. To address this need, our team set up zero downtime deployments using the blue-green deployment approach from the get-go, prior to launch.

Privacy and Security

As a contractor to the Government of Alberta, we are considered an affiliate of healthcare data under Alberta’s Health Information Act. This additional responsibility lent itself well to following the principles of security by design and the principle of least privilege. Similar to B.C., travellers can only post information to the system, and do not have read access. Access to screeners and Service Alberta agents is tightly controlled. IPs are whitelisted and federated authentication in place to ensure only the right individuals have access. As an added layer of protection, Service Alberta agents are only shown information that is needed for them to perform their duties.

Technologies Used

The system-level architecture features a federated authentication management system for various user communities using IBM’s App ID, and is hosted on the IBM Cloud Platform. Deployments and container management is facilitated by Kubernetes. The application features a React front-end and a TypeScript backend with IBM’s DB2 database. 

A key difference between Alberta’s ETSS and our solution for British Columbia is the Service Alberta portal. This portal lends itself to a more relational structure, as opposed to the non-relational database approach that was applied to B.C.

What's Next?

Federal Data Intake

Because the Alberta Returning Traveller Outreach Program has the added advantage of having the Service Alberta case management system as part of the same application, one immediate opportunity is to integrate federal data into the system. 

The Alberta system captures all travellers that arrive in Calgary and Edmonton International Airports as well as all of the Albertan land border crossings. However, there are many travellers who reach Alberta via other provinces. 

Presently, data for those travellers is captured by the Public Health Agency of Canada (PHAC) and is sent over to the Government of Alberta. The data is then manually captured and processed. This can present challenges in cases where travellers have filled out both the federal and provincial forms, as it leads to duplicate calls. So integrating with federal data for incoming travellers would reduce the administrative burden significantly and the system was built with a relational database to accommodate for this.

De-Duplication and Grooming

Furthermore, data from PHAC is not always grouped by household, which is essential for Service Alberta agents – they do not want to make multiple calls to the same household. B.C. has gone a long way to solving this problem, as we implemented a de-duplication and household grouping algorithm. We found this algorithm to significantly reduce the number of duplicate calls that Service BC agents ended up making. The same learnings can be applied to the Alberta system to move away from manual processing and spreadsheets entirely.

What the Client is Saying:


FreshWorks Studio’s collaboration is impressive.

"In four months, the pilot program helped track 52,000 international travelers, reducing their quarantine times while maintaining the COVID-19 spread to the minimum. The team offers excellent technical abilities and turnaround times. They’re also responsive and great at coming up with creative ideas."

Co-Chief of Operations & Logistics

Alberta Health

Want to Create Something Remarkable?