Project Details
Technology stack
- Back end: PHP (Laravel), RabbitMQ
- Front end: custom framework
- Cloud infrastructure: AWS (EC2, RDS, SES, Elastic Load Balancing)
- Mobile: Android (Java)
Team composition
5 PHP developers, 3 Android developers, 2 manual QA engineers
Project duration
32,000 hours/330 weeks (ongoing)
Methodology & engagement model
Agile (Scrum), Time and Materials (T&M)
Customer’s Product
A US-based startup created a healthcare IoT solution for cold therapy sessions — a custom cryotherapy chamber packed with temperature, oxygen, and heart rate sensors and thermal imaging infrared cameras. Our customer primarily collaborates with fitness and wellness facilities, leasing the equipment or engaging with their clients based on the revenue-sharing model.
The cryotherapy unit automatically detects human presence and fills itself with nitrogen, whose temperature never drops below -230 ℉ to prevent hypothermia and thermal burns. The cryotherapy sessions, which last between one and three minutes, help reduce muscle and joint pain, treat skin conditions and low-risk tumors, and recuperate from injuries and exhaustion.
The whole-body cryotherapy chamber runs on custom firmware developed by a third party.
On the hardware side, there are programmable logic controllers (PLCs) responsible for tracking the cryo unit performance indicators, such as the closing and opening of chamber doors and valves that regulate nitrogen circulation and the state of unit heaters.
These PLCs work in sync with custom Android tablets, which allow cryo chamber operators to oversee the treatment process and manage customer accounts. End users, meanwhile, leverage the tablets for obligatory identification preceding cryotherapy sessions and making secure payments.
There are infrared thermal cameras installed on cryo units. Following a cryotherapy session, a patient can download the procedure recording as a static image, GIF, or video. The system does not generate visuals if the IoT healthcare solution detects human presence via proximity sensors instead of a thermal camera.
The healthcare IoT solution comprises an array of hardware and software components facilitating efficient and safe cryotherapy sessions.
As part of the project, we created a highly scalable, efficient, and resilient infrastructure supporting cryotherapy unit operations and management.
What We Did
Upon initial request, the client wanted to create an Android tablet app where patients could purchase subscriptions to cryotherapy sessions. The scope was well-defined, so we opted for the Waterfall approach and assigned one Android developer to the project.
The seemingly trivial app ultimately blossomed into an end-to-end cryotherapy chamber management software suite with CRM and POS capabilities, which underpins our customer’s entire business infrastructure.
The medical IoT solution’s core functionality spans:
- Cryotherapy unit performance monitoring and troubleshooting
- User registration and login via standard credentials and fingerprint recognition
- Advanced user roles and permissions management
- Cryotherapy chamber operator certification
- Built-in store for selling cryotherapy subscriptions, merchandise, and complimentary services. Cryotherapy unit owners can also create personalized offers and discounts from inside the store.
- White-label website and step-by-step onboarding system for companies starting a cryotherapy business
Technology-wise, the cryotherapy spa software suite relies on the following components:
- A multi-purpose Android application for custom tablets (Android 4, Android 7) and single-board Odroid computers mounted to the cryotherapy chambers at eye level. Its functionality includes:
- Operating cryotherapy chambers, gathering performance data, and streaming promotional content to a display connected to the Android devices. The cryotherapy spa software suite allows B2B customers to replace the default ads with custom visuals, thus streamlining their marketing activities.
- Registering for cryotherapy sessions, logging into existing accounts, and paying for one-time procedures or subscription packages (on the end-user side).
- Adding or writing sessions off a customer’s account, making refunds, accepting payments in cash, and sharing debugging information with our client and the Expanice team (on the cryotherapy unit operator side).
- Cloud infrastructure, which enables cryotherapy software to communicate with the server, facilitates Android application installation and updates, and securely stores sensitive data — i.e., customer tokens, waivers, payment data, operator certificates, and session logs.
- Web-based admin console, which ensures complete control over the cryo units operated by our customer’s clients. The console’s core features include location setup, cryotherapy chamber performance monitoring, user and staff management, and POS functionality. The cryotherapy spa software also boasts advanced reporting capabilities, providing real-time visibility into business operations and notifying unit owners and operations about persisting performance issues via email or SMS.
This IoT healthcare case study would not be complete without a rundown of IoT software development and project management challenges we’ve encountered and masterfully solved. Let’s dive right in!
Challenges We Navigated
Operating Cryotherapy Chambers Using a Single Tablet App
The tablet app we’ve created connects to the PLC units mounted to cryotherapy units. Using the app, our client can turn on a cryo unit, cool it down before a cryotherapy session, and start the procedure.
The cryotherapy software solution also controls:
- Temperature inside cryo chambers
- Air volume in a room (with oxygen concentration)
- Patient’s heartbeat, blood oxygen levels, and skin temperature
- Cryotherapy chamber door’s state (open, closed)
- Miscellaneous system performance indicators, such as abnormal temperature drops, the pressure in nitrogen tanks, the temperature of nitrogen circulating in cryo chamber pipes (must be higher than -270 ℉), and the presence and exact position of a patient in a cryotherapy unit
We record every session’s logs and keep them on the server for 12+ months. This, among other things, helps our customer solve disputes with clients, as we can check what is happening to every cryo unit at any interval.
In one such instance, we could prove that a company violated safety rules by allowing an uncertified cryotherapy chamber operator to perform a session. The operator in question covered a patient’s skin in water-based gel, which led to severe thermal burns.
Ensuring Patient Safety
Beneficial as it is, cryotherapy might pose considerable risks to a person’s health if not performed by licensed specialists.
To improve the safety and well-being of users undergoing the treatment, we enhanced the IoT healthcare solution with:
- Robust patient health information policy. As part of the safety measures, a patient must fill out a detailed health questionnaire, disclose any contraindications to cryotherapy, and provide informed consent before the procedure. We’ve also implemented different registration and login patterns for underaged users.
- Cryotherapy unit operator certification program. To minimize patient health risks, the Expanice team introduced a certification program to keep cryo unit operators’ knowledge up to date. Every twelve months, an operator has to undergo regular assessment using an online form. Upon its completion, the cryotherapy software solution generates a certificate containing the person’s name and signature. Each operator has unique credentials and, depending on their seniority level, gains access to more advanced application features, such as special offers for select customers.
The cryotherapy chamber management suite also stores user preferences in the database. For instance, a patient may specify the optimum temperature and cryotherapy session length, and the system will automatically keep these settings for upcoming sessions.
Exercising Complete Control over Cryotherapy Units via a Single Admin Panel
The web-based console of the cryotherapy chamber software management suite allows business owners to orchestrate their units from a single place while granting exclusive admin rights to our client.
Besides the Android apps that facilitate cryotherapy sessions on the user side, the cryotherapy spa software suite features a web-based admin console enabling our client and the companies that purchase cryo units to run their business and gain real-time visibility into the system performance.
Here’s a rundown of its key features:
- Dashboard. The dashboard tab provides detailed statistics on all of our customer’s clients and partners, including the number of cryotherapy sessions performed in the system, the size of the customer base, active subscriptions, and total revenue. This information is only available to our direct client and the Expanice team.
- Chains Management. In this tab, health club chains can add information about their multiple locations, specify the number of cryotherapy units installed at each location, and see their statuses. Businesses can further provide detailed information about specific locations, including address, phone number, zip code, and payment service (e.g., Stripe or MojoPay) right from the Locations Management tab.
- Devices Management. As the IoT startup opted out of releasing the Android application on Google Play, we had to create a custom app distribution platform supporting application publishing and updates. In the Devices Management tab, our client can check information on all Android tablets connected to the cryotherapy software suite, including their app versions.
- Units Management. This tab contains exhaustive information about cryotherapy units and Android tablets installed at a location, including the number and duration of sessions performed by operators. It is also possible to check system errors that occurred at this location and various performance indicators, such as ambient oxygen levels, nitrogen temperature, and the presence/absence of a person in a cryotherapy chamber during procedures.
- Staff Management. From the Staff Management console, an admin can control employees from all locations registered with a business. Operators, in their turn, manage cryo units at the location where they work. An operator status — i.e., certified or uncertified — is also visible here.
- Client management. System admins and cryotherapy unit operators can access comprehensive information on all customers undertaking treatment. In particular, they can verify users’ physical and medical condition, such as height, weight, doctor prescriptions, and preferred temperature and session duration. The tab also features data about a customer’s subscriptions and payment methods.
- Point of sale (POS). The POS section of the cryotherapy software suite is where B2B clients set up their service and product offerings, configure subscriptions, and specify their prices. This tab also allows our end customer to view all transactions taking place within the system and filter them by different parameters, including chain, location, frequency, and subscription status. It is possible to disable the POS functionality when facilities provide free cryotherapy sessions. This, for example, may happen in fitness and recreation clubs serving the needs of a single sports team.
- Settings. We upload, test, and manage the Android application versions from the web console. The section also contacts customers’ contact and payment information and allows us to specify system settings — e.g., the maximum weight and height of a patient — for all cryo units.
- Warnings. Here, our client can see all the cryotherapy unit performance issues occurring at a particular location or across the entire network. Specifically, the IoT healthcare solution generates alerts regarding PLC connect/disconnect status, oxygen concentration in cryo units and the surrounding environment, and pressure in nitrogen tanks, among others. These warnings range in severity and period of occurrence, being marked in yellow or red. A notification marked in green denotes that an issue has been successfully mitigated.
Keeping the IoT Healthcare Solution Scope Under Control
What had started as a small Waterfall project became a years-long collaboration plagued by frequent scope changes.
Even though we switched to Agile/Time and Materials (T&M) early on, we estimate our client has paid for at least 300 man-hours of development activities that never yielded production-ready features.
For example, one reason for porting the Android 4 application to Android 7 was the constant feature set extension: the older operating system version could no longer support the desired functionality.
To prevent scope creep and prioritize cryotherapy spa software features, we now validate the necessity of implementing new functionality through customer interviews, feedback analysis, and proof of concept.
What’s Next
For the past couple of months, we’ve been working on a new feature — i.e., localized cold therapy sessions conducted with the help of XR ISO devices, which is lightweight handheld cryotherapy equipment.
This equipment uses a different liquid gas with a higher boiling temperature. Since localized cryotherapy has fewer contraindications, the safety requirements for such sessions have been loosened, too.
Otherwise, our client and business owners can register and manage the cryo equipment from the same admin console as whole-body cryotherapy chambers. The only difference is the one-time password (OTP) user authentication mechanism via a phone number.
The cryotherapy software suite auto-generates default email accounts for ISO customers, allowing them to access their profile, change the email address, and fill out the missing information to qualify for whole-body cryotherapy sessions. The same steps can be performed via the Android application upon visiting a whole-body cryotherapy location.
Contact us if you’ve enjoyed the IoT healthcare case study and want to learn more about the cryotherapy software project! The Expanice team can guide you through the IoT product development process, help with its launch, and provide expert maintenance services once the solution goes live.