How Much Does it Cost to Develop a Remote Patient Monitoring Software?

Amardeep Rawat November 21, 2024
remote patient monitoring software development cost

Innovative healthcare practices have given rise to game-changing innovations, with Remote Patient Monitoring (RPM) devices leading the way. RPM systems, intended to transform healthcare delivery, enable a smooth, cross-border link between patients and healthcare professionals.

This system aims to transform patient care using advanced technologies like data analytics, the Internet of Things (IoT), and telecommunication. By increasing accessibility, efficacy, and efficiency, it enables people to take charge of their health and manage it proactively in the convenience of their homes.

If you are a business looking to embark on this transformative RPM software development journey, it is critical to navigate the technological and financial factors that support its implementation. A remote patient monitoring system requires a strategic investment encompassing research, development, implementation, and maintenance costs. However, depending on a myriad of factors, an extensive and highly robust remote patient monitoring software development cost ranges between $50,000 and $400,000 or more.

In this blog, we will discuss how remote patient monitoring software works, factors affecting the remote patient monitoring system cost. In addition to this, we will look into the features, types, and popular examples of RPM software. Furthermore, we will discuss the steps to build a remote patient monitoring solution and its monetization strategies. Let’s dive into the details now.

Get complete cost estimation of building Remote Patient Monitoring Software

A Quick Insight Into the Remote Patient Monitoring System and Its Market Size

Remote Patient Monitoring (RPM) software allows patients to track their health using smartphones or wearable devices, which sends data to healthcare providers. Healthcare providers use this data to monitor patients’ health, detect trends, and provide timely feedback, ensuring effective remote care.

As reported by McKinsey, the adoption of virtual healthcare has dramatically risen by 3000%, with 150 million telehealth claims in less than two years. Furthermore, a significant growth in the RPM market can be witnessed now, fueled by factors like an aging population, rising chronic disease rates, and the demand for remote healthcare services.

Additionally, Covid-19 pandemic is also one of the key drivers of the increasing adoption of RPM, making it an essential tool for reducing disease transmission and enhancing patient outcomes. Being a dedicated, patient-centric model, a RPM software is also capable of reporting high patient satisfaction rates with their healthcare experiences.

improvement in patient satisfaction rate with a patient-centric model like RPM software

Also, another report by mHealth Intelligence suggests that the percentage of physicians using remote monitoring and management tools to improve care increased from 13 percent to 34 percent between 2016 and 2022.

According to a world-renowned healthcare organization, Providence Health & Services, employing remote patient monitoring helped them to tackle three vital challenges including burnouts and shortages with the workforce, throughput and hospitality capacity as well as care fragmentation.

With significant increases in physician utilization and proven benefits for healthcare organizations, investing in RPM offers a strategic solution to enhance patient care, mitigate workforce challenges, and optimize healthcare delivery.

Now, to help you grasp a better understanding of how a remote patient monitoring app works for both patients and healthcare service providers, let us look at the explanation below:

AspectPatient’s SideHealthcare Organization’s Side
Data CollectionUsing smart devices or sensors, patients track vital signs such as blood pressure, sweating, and body temperature.Healthcare organizations use smart devices and sensors to collect patient vitals and send data to a cloud-based remote patient monitoring server.
Data TransferFor analysis purposes, patients send their health data to the cloud RPM server via communication protocols like Wi-Fi and NFC.By employing existing connectivity, healthcare companies guarantee the smooth transfer of patient data to the cloud RPM server.
Cloud RPM ServerThe cloud RPM server stores, processes, and analyzes patient health data to provide insights into changes in health state.Healthcare organizations utilize the cloud RPM server to compile and examine patient data, detecting patterns and deviations.
Notifications and AlertsPatients can report their symptoms and receive alerts about potential device problems, which can prompt notifications for medical care.Alerts regarding irregularities in patient vitals or malfunctioning devices are sent to healthcare organizations, allowing for prompt action.
Medical Staff InterfacePatients can request video consultations with medical professionals through remote patient monitoring app for personalized care and guidance.Healthcare organizations provide medical staff with interfaces to access patient health data, enabling remote monitoring and care.
Administrative ManagementPatients interact with mobile apps to schedule appointments, manage health data visibility, and update personal information.Healthcare organizations utilize admin web panels to manage user roles, schedule appointments, and configure system settings.

As per a report by Grand View Research, the global remote patient monitoring software market is expected to reach a valuation of $6.1 billion by 2024, growing at a CAGR of 18.6% from 2024 to 2030. Various factors are propelling the expansion of the worldwide market for remote patient monitoring software. These include the aging population, the increasing frequency of developing chronic illnesses, and the growing need for distant healthcare services.

Global Remote Patient Monitoring Software Market: 2020- 2030

Additionally, technological developments like wearables and telehealth platforms are fueling the use of remote patient monitoring systems. As healthcare professionals look to reduce in-person interactions and guarantee continuity of care, investing in RPM now ensures readiness for the growing demand for remote healthcare solutions.

Factors Affecting the Cost to Build an RPM System

Here are some of the top factors that influence the cost to build an automated patient monitoring system. Each of these factors can impact the development effort, resources required, and overall cost of the RPM system.

Factors Influencing the Cost to Build an RPM System

RPM Software Customization

Software customization has a big impact on remote patient monitoring software pricing. Customizing specialized healthcare needs, such as integration with special medical devices or adherence to certain clinical procedures, may increase development time, resources, and costs. Furthermore, building a software for remote patient monitoring involves design intricacies in user interface to meet the preferences of patients and healthcare professionals.

Additionally, factors such as real-time data processing needs, integration with existing healthcare systems, and ensuring data security can impact the overall costs. Estimating the remote patient monitoring software development cost should also account for ongoing software updates and maintenance to meet evolving healthcare standards and regulations. Furthermore, incorporating user feedback and continuously improving the software for enhanced functionality and user experience should also be considered during cost estimation.

Complexity in RPM Software Features

The complexities in features and functionalities greatly impact remote patient monitoring software pricing. Advanced features like real-time data collection of vital signs, symptoms, and other health parameters require sophisticated sensor integration and data processing algorithms, which raises the cost and complexity of development. Similarly, adding strong data analysis features for trend detection and predictive analytics raises the complexity and expense of the system.

Furthermore, adding patient engagement tools for data visualization and contact with healthcare professionals, such as online portals or mobile apps, improves the user experience but costs more and needs more development work.

Compliance and Security

In RPM systems, security, and compliance are critical factors that greatly affect costs. Implementing strict data protection measures like encryption and safe data storage is necessary to adhere to healthcare laws like the HIPAA, which can raise development costs.

Complicacy and expense are further increased by ensuring additional pertinent standards and laws in various jurisdictions are followed. Strong security measures like secure authentication and access controls are necessary to safeguard patient data from unauthorized access or breaches, which raises the overall cost. Additionally, security upgrades should be considered for ongoing costs for an RPM system to accommodate changing requirements and routine compliance audits.

Integration With Healthcare Systems

Integrating Electronic Health Records (EHR) with healthcare systems greatly impacts an RPM system’s cost. The compatibility of the RPM system with the current healthcare IT infrastructure determines how complicated the integration will be. Disparities in data formats, communication protocols, and security standards might provide integration issues that require specialized development and extra resources.

In addition, extensive testing and validation are necessary to guarantee smooth data transfer and interoperability between the RPM and EHR systems, raising the overall remote patient monitoring software development cost. Moreover, continuous upkeep and modifications to ensure conformity with developing healthcare systems add to the integration’s expense.

Complexity of Software Structure

Based on its features and capabilities, RPM software can be classified as basic, medium, or advanced, depending on its complexity.

A basic RPM software usually includes essential functions, including data collection (vital signs, symptoms), minimal data analysis, and patient alerts. Compared to more complicated remote patient monitoring apps, it is less expensive to develop and maintain.

RPM software with a medium level of complexity expands on the fundamental functionalities by offering enhanced patient engagement options, configurable alerts, and more advanced data analysis capabilities. Developing such software takes more time and money, raising the overall cost.

An advanced RPM software offers a comprehensive suite of features, including advanced data analytics, predictive modeling, extensive patient engagement tools (e.g., telemedicine integration), and seamless integration with other healthcare systems (e.g., EHR). Developing advanced RPM software is complex and resource-intensive, resulting in higher remote patient monitoring software development costs.

Location of the Development Team

The development team’s location can overall impact the cost of building an RPM system. Development teams located in global regions with higher labor costs, such as North America or Western Europe, typically demand higher hourly rates, leading to higher overall development costs.

One of the many benefits of hiring a dedicated development team from Asia, such as India, is that you would have access to a vast talent pool of people who have built complicated software systems before. India, in particular, boasts a strong IT sector with a long history of providing services to clients worldwide, including the healthcare business.

RegionHourly Rates of Development
UAE$60-$65
US$95-$100
Western Europe$80-$90
Australia$70-$90
Eastern Europe$50-$55
Asia$25-$40

Size of the Software Development Team

The size of the RPM software development team can significantly influence the development process and overall cost. Although a smaller team might be more adaptable, the project might take longer to finish. However, a larger team may result in higher expenses as it requires more resources, even though it can speed up the development process.

To achieve an effective development process, it is always advisable to hire a dedicated and extensive development team, as they can deal with time constraints without compromising on quality. Furthermore, a team’s composition, including the distribution of expertise, is essential to the success of RPM software development.

Software Development TeamHourly Rates (Approx)
Project Manager$25 to $30
Tech Lead (Backend / Frontend)$28 to $30
Sr. Mobile App Developer$25 to $30
Sr. Web & Backend Developer$24 to $30
DevOps$25 to $30
Business Analyst$20 to $25
UX/UI$20 to $25
QA$20 to $25

Top Must-Have Features of RPM Software

Top must-have features of RPM software include real-time monitoring, data collection and analysis, alerts and notifications, patient engagement tools, connectivity with medical equipment, and secure data transmission. These features are necessary for efficient remote patient monitoring, which enables medical professionals to give patients proactive and personalized care.

Top Must-Have Features of RPM Software

Patient Monitoring

This software enables medical professionals to remotely monitor their patient’s vital signs, symptoms, and other health data, enabling the early identification of health problems.

Data Collection

RPM software gathers and saves patient data, such as vital signs, medication adherence, and lifestyle details, to give a complete picture of the patient’s health state.

Patient Engagement Tools

Interactive tools for monitoring health metrics, instructional materials, prescription or appointment reminders, and other features that include patients in their care are frequently included in RPM software.

Data Analysis

The software also includes data analytics tools to analyze trends in patient data over time, helping healthcare providers make well-informed decisions about patient care.

Healthcare monitoring app Soniphi

Integration With Healthcare Systems

RPM software can integrate with Electronic Health Record (EHR) systems and other healthcare IT systems to guarantee smooth data transmission and continuity of care.

Security and Compliance

RPM software has strong security features to safeguard patient data and guarantee adherence to healthcare laws like HIPAA.

Telemedicine Integration

With telemedicine systems, RPM software enables medical professionals to consult and visit patients virtually.

Customization and Scalability

RPM software should be scalable and customizable to meet the altering needs of healthcare professionals and the expanding patient population.

Analytics and Reporting

The software has reporting features that help track patient outcomes, monitor software effectiveness, and comply with regulatory reporting requirements.

Real-Time Monitoring

As a real-time health monitoring system, the RPM system provides medical professionals instant access to vital information and enables timely action during crises or notable changes in a patient’s condition.

Alerts and Notifications

The software can provide alerts and notifications for medical professionals based on predetermined thresholds or modifications in the patient’s health data, allowing prompt intervention.

Types of Remote Patient Monitoring Software and Their Estimated Costs

Each type of remote patient monitoring software serves a specific purpose in remote healthcare management, providing patients and healthcare providers with valuable tools for monitoring and improving health outcomes. Let’s check out some of those:

Telehealth Solutions

Telehealth software allows patients to communicate with healthcare providers remotely without the requirement for in-person visits. These solutions are utilized in many medical specialties, including therapy, rehabilitation, ophthalmology, and dermatology.

Telehealth Solutions Functionalities

They frequently include capabilities like file sharing, teleconferencing, and instant messaging. A basic telehealth platform can cost between $30,000 and $100,000, while a more advanced solution with custom features can cost upwards of $500,000 or more.

Electronic Data Capture Systems

Electronic Data Capture (EDC) solutions gather and document patient-reported health analysis. These solutions enable more individualized and efficient treatment by assisting medical professionals in diagnosing illnesses and monitoring subjective emotions like pain levels.

Developing a simple EDC system can range from $50,000 to $200,000. However, more advanced EDC systems with sophisticated features and customization can cost around $500,000 or more.

At Appinventiv, we built a multidimensional healthcare platform called Health-e-People. This platform allows users to store and monitor their healthcare records and connect with caregivers whenever needed.

Health assessment app Health-e-People

The app became a number 1 health assessment app that benefited patients, caregivers, and medical researchers alike.

Chronic Disease Management Apps

Patients can control their ailments, including diabetes or hypertension, at home with apps for managing chronic diseases. These apps frequently have features like symptom tracking, prescription reminders, and communication with healthcare specialists to facilitate continuing care.

The chronic disease management app development cost can range from $30,000 to $150,000, depending on the complexity and features required. However, customization and integration with other systems can increase the cost.

Also Read: Diabetes Management App Development Cost

Internet of Medical Things (IoMT) Applications

Applications based on the Internet of Medical Things (IoMT) use medical devices embedded in or installed on patients’ cell phones. These remote patient monitoring apps use Internet of Things (IoT) technology to track patients’ key health indicators while at home, giving healthcare providers access to real-time data for remote monitoring and management.

The cost of developing an IoMT application can differ based on the complexities of the application and the number of devices it needs to integrate with. A basic IoMT application can cost anywhere from $50,000 to $200,000, while an advanced IoMT application can cost $500,000 or more.

Wearable Devices

Fitness trackers and wearable devices can be used for remote patient monitoring that helps in monitoring several health indicators, such as activity level, heart rate, and sleep patterns, which can provide important details about a patient’s condition.

The cost of developing a wearable app for remote patient monitoring can vary widely depending on its complexity and features. Basic wearable devices app development can cost anywhere from $50,000 to $200,000, while more advanced wearable solutions with medical-grade sensors and features can cost $300,000 or more.

Medication Adherence Tools

These tools assist patients in following their doctor’s recommended dosage schedules. To help patients manage their medications properly, these applications have features like tracking capabilities, refill notifications, and reminders.

The development cost for a medication adherence tool can range from $20,000 to $100,000, depending on the features and complexity of the tool. However, integrating with other systems and implementing other customized features can increase the cost.

Healthcare Businesses Using RPM For Streamlined Patient Management

Various healthcare businesses have explored and customized their remote patient monitoring software to streamline patient care and excel in top-notch healthcare delivery. Here are some of the popular examples:

Healthcare Businesses Using RPM For Streamlined Patient Management

Mayo Clinic

Mayo Clinic utilizes RPM through its Connected Care program, offering patients remote monitoring and management for various conditions. By making it simple for patients to contribute data, Mayo Clinic can improve patient outcomes and healthcare efficiency by offering individualized care plans and intervening when necessary.

Babylon Health

Babylon Health, a digital healthcare company, provides Remote Patient Monitoring (RPM) services via its mobile app and wearable devices. This platform allows patients to monitor essential health metrics like blood pressure, heart rate, and activity levels. Their RPM platform allows patients to manage their health effectively and fosters smooth communication with healthcare professionals, ultimately enhancing proactive care delivery.

Providence Health & Services

Providence Health & Services has used RPM to handle several issues, such as worker burnout, throughput capacity, and care fragmentation. Providence hopes to improve patient care by using RPM to remotely monitor patients’ health and provide prompt interventions, ultimately improving outcomes and lowering hospital readmissions.

Steps to Develop Remote Patient Monitoring Software

Following the crucial steps of building remote patient monitoring software ensures the successful development and implementation of the software, enabling healthcare providers to deliver remote care efficiently and effectively. Let’s check those out.

Define the Requirements

First, determine the precise healthcare goals and needs the RPM software intends to fulfill. Specify the features and functionalities that must be included, including mechanisms for patient interaction, alerts and notifications, data collection techniques, and the kinds of data that need to be monitored. Consider user roles, regulatory constraints, and the necessity of system integration.

Design the Software Architecture

Create a thorough architecture describing the RPM software’s organizational framework. Define the modules, interfaces, and components while considering data privacy, security, and scalability. Establish the database structure, communication protocols, and technological stack that will be employed.

Develop the Software

Utilize an iterative, agile development process and build the RPM software based on the software architecture. This involves breaking down the development process into smaller, manageable tasks, implementing features, integrating with medical devices, and ensuring the software meets performance and security standards. Iterative development allows for continuous improvement and adaptation to changing requirements, ensuring a high-quality end product.

[Also Read: Software as a Medical Device: Revolutionizing Healthcare Today]

Integrate With Medical Devices

Integrate the RPM software with medical devices like EHR and create interfaces and protocols for smooth communication. Ensure the software can accurately and quickly collect and interpret data from these devices. Extensively test the integration to ensure it is reliable and compatible.

Implement Security Measures

Implement strong security measures to safeguard patient information and guarantee adherence to healthcare laws. Implement access controls to prevent unwanted access, use encryption to protect data in transit and at rest, and conduct frequent security audits to find and address vulnerabilities. It is vital to keep in mind that implementing security measures also affects the overall remote patient monitoring software development costs.

Test the Software

Thoroughly testing the remote patient monitoring solution is crucial to guaranteeing the software’s security, performance, and operation. Conduct user acceptability testing to ensure the software meets user needs, integration testing to confirm how components interact, and unit testing to validate individual components.

Deploy the Software

Once it has undergone extensive testing and approval, install the software in the healthcare setting. The deployment process involves setting up the software on servers or cloud platforms, configuring it to work with existing systems and training users on its functionality. Regular monitoring and maintenance are also crucial post-deployment.

Monitor and Maintain

Monitor the RPM software for security and performance problems. Update and maintain the system frequently to fix issues, add new features, and guarantee adherence to evolving legal requirements. Monitor user feedback and implement changes to improve the software’s usability and efficacy.

invest in remote patient monitoring software development as 30 million U.S. patients embrace remote care

Monetization Strategies of Remote Patient Monitoring Software

Monetizing Remote Patient Monitoring (RPM) software requires a strategic approach to generate revenue while providing value to healthcare providers and patients. The following are a few successful RPM software monetization strategies:

Monetization Strategies of Remote Patient Monitoring Software

Subscription-Based Model

Make the RPM software available as a paid service, where healthcare providers can use it for a set monthly or annual charge. This strategy enables recurrent billing and offers a steady stream of income.

Per-Patient Monitoring Fee

Charge healthcare providers a fee for each patient enrolled in the RPM software. This fee can be based on the level of monitoring required or the number of devices used per patient.

License Fees

License the RPM software to healthcare providers for a one-time fee or a recurring licensing fee. This model allows healthcare providers to use the software on their own infrastructure.

Value-Based Pricing

Base prices on the benefits that the RPM software has brought to the patient, such as better health outcomes, fewer readmissions to the hospital, or higher levels of patient involvement.

Collaborations & Partnerships

Partner with insurance companies, medical device makers, or pharmaceutical companies to deliver co-branded or packaged services. Patients and healthcare providers can benefit from value-added services and new revenue streams.

Get Your RPM Software Built By Appinventiv’s Experts

Remote Patient Monitoring (RPM) software plays a crucial role in modern healthcare by enabling continuous monitoring of patient health outside traditional healthcare settings. It enables early health issue detection, prompt intervention, and proactive management of chronic illnesses, improving patient outcomes and lowering healthcare costs. RPM software gives patients more control over their health and makes individualized care possible, which increases patient satisfaction and engagement.

All things considered, RPM software is critical to the provision of contemporary healthcare, and funding its advancement can have a major positive impact on both patients and healthcare practitioners.

Now, as you consider developing your RPM software, partnering with Appinventiv’s expert software development team can ensure a strategic and effective approach. With its proficiency in RPM software development, Appinventiv, as an esteemed custom healthcare software development company, can assist you in building a robust remote patient monitoring solution that enhances patient outcomes and yields measurable benefits for your healthcare organization.

Throughout our decade-long experience, we worked with leading healthcare projects like YouCOMM, SHIFA, Livia Health, Soniphi, Health-e-People, and others, helping them digitally transform with top-notch healthcare solutions.

Connect with our experts today if you want to know the remote patient monitoring software development cost and build one that fulfills your unique healthcare requirements.

FAQs

Q. How does remote patient monitoring work?

A. Here’s how RPM software works for patients and healthcare providers:

  • Patients monitor health parameters via wearables or medical equipment.
  • These devices gather data and send it to healthcare providers.
  • Healthcare providers remotely analyze the data and observe the patterns.
  • Any irregularities trigger alerts, allowing for faster intervention.
  • Consultations and follow-ups can be conducted online between patients and doctors.
  • Continuous monitoring enables proactive care and early health issue diagnosis.

Q. What is the cost of building RPM software?

A. Remote patient monitoring software development cost can vary widely based on factors such as the system’s complexity, the level of customization required, and the features included. A basic RPM software development project can cost anywhere from $50,000 to $100,000, while more complex solutions may range from $100,000 to $400,000 or higher. Ongoing maintenance and updates to ensure compliance and functionality can add to the overall cost. Connect with our healthcare app developers to get the complete cost estimation.

Q. What are the benefits of remote patient monitoring software?

A. Patients, healthcare practitioners, and healthcare systems can benefit from remote patient monitoring software in several ways, including:

Better Access to Care: RPM allows patients to get care from the comfort of their own homes, eliminating the need for in-person visits and enhancing access to medical services, particularly for people living in rural or isolated places.

Improved Treatment of Chronic Conditions: RPM enables continuous monitoring of vital signs and symptoms, which aids medical professionals in identifying problems early and taking immediate action to improve the treatment of chronic illnesses like diabetes, hypertension, and heart disease.

Enhanced Patient Engagement: RPM software frequently offers reminders and educational materials as patient engagement features. These tools motivate patients to manage their health and adopt healthier lifestyles actively.

Improved Patient Outcomes: RPM can lead to improved patient outcomes, including reduced hospital readmissions, better medication adherence, and improved quality of life.

Cost Savings: RPM software is a cost-effective option for both healthcare organizations and patients as it lowers the number of hospital admissions and ER visits.

Effective Use of Healthcare Resources: RPM enables medical professionals to give priority care to patients who require it most immediately, which reduces appointment wait times and makes better use of healthcare resources possible.

Q. How long does it take to build a RPM solution?

A. Depending on the features and complexity needed, a remote patient monitoring system usually takes 6 to 12 months to build. The process involves several stages, including planning, designing, developing, testing, and deploying. Since developers need to ensure that patients and healthcare providers have a smooth experience, user journey considerations take more time. The timeline is also impacted by ensuring regulatory compliance with the healthcare industry and the integration process with current systems.

THE AUTHOR
Amardeep Rawat
Co-Founder and Director
Prev PostNext Post
Let's Build Digital Excellence Together
Elevate Patient Outcomes with a Custom RPM Software
Read more blogs
medication management app development

Medication Management App Development - Benefits, Types, Features, Costs

Amidst COVID-19, various healthcare giants have invested in mobile applications and software to streamline their in-house operations or make care and treatment more accessible. Aside from quick services and care, the demand for mobile health solutions is prevalent because of daily health maintenance. With this, Medication Management Apps come into play. With Medication management app…

Amardeep Rawat
Appinventiv for healthcare software development services

Appinventiv: A Much-Needed Tech Makeover for Healthcare

The aftermath of the COVID-19 pandemic has done one good thing for the healthcare industry—it has created a convergence of trends that enhanced the level of care and treatment and eased how patients interact with us. Thanks to those zillion healthcare apps, more than 90,000 new digital health applications (apps) were added to app stores…

Amardeep Rawat
computer vision in healthcare

Unveiling the Future of Healthcare - The Power of Computer Vision in Healthcare

A doctor scans a patient's eye, and within seconds, advanced algorithms analyze millions of similar cases to highlight potential areas of concern. In the OR, a surgeon sees not only the patient but also real-time data overlays, providing guidance and insights as they operate. This future is not very far off—Computer Vision in healthcare is…

Amardeep Rawat
Mobile App Consulting Company on Clutch Most trusted Mobile App Consulting Company on Clutch
appinventiv India
INDIA

B-25, Sector 58,
Noida- 201301,
Delhi - NCR, India

appinventiv USA
USA

79, Madison Ave
Manhattan, NY 10001,
USA

appinventiv Australia
Australia

Appinventiv Australia,
East Brisbane
QLD 4169, Australia

appinventiv London UK
UK

3rd Floor, 86-90
Paul Street EC2A 4NE
London, UK

appinventiv UAE
UAE

Tiger Al Yarmook Building,
13th floor B-block
Al Nahda St - Sharjah

appinventiv Canada
CANADA

Suite 3810, Bankers Hall West,
888 - 3rd Street Sw
Calgary Alberta