Appearance
Live Updates
The mobile app can receive new content without waiting for a release in the app stores. This is how new questionnaire features, engine improvements and fixes to the app's screens reach patients quickly and uniformly.
What is updated over the air
| Delivered without a store release | Requires a store release |
|---|---|
| The app's screens and logic | Changes to native capabilities (permissions, background tasks) |
| Questionnaire engines and their question components | The app icon, name and store listing |
| Translations and built-in texts | The minimum supported operating system version |
Questionnaire engines are also fetched on demand: when an enrollment references an engine the phone does not have, it is downloaded during sync, independently of app updates.
How an update reaches the phone
- Administrators publish a new bundle to an environment (for example staging first, then production). Each environment has one active bundle at a time; publishing is an explicit promotion, not an automatic push.
- On start-up the app checks whether the active bundle for its environment differs from the one it has.
- If it does, the app downloads the new bundle while showing a progress screen, then reloads into it.
- If the check or download fails (no network, interrupted download), the app continues with the content it already has and tries again next time.
The first launch after installing from the store works without any download: the store package carries a full copy of the content.
What the patient sees
- A short loading screen with a progress indicator while an update downloads.
- A brief restart of the app's screens once the download is complete.
- No sign-in, pairing or data is lost by an update; local data is kept.
Rollback
Because each environment points at one bundle, rolling back means promoting a previous bundle again. Phones pick it up on their next start-up in the same way as any other update. Every publish and rollback is recorded in an audit trail.
Related pages
- Questionnaire Engine — what an engine bundle contains.
- Troubleshooting — app stuck on the update screen.