Anaya Care Handbook

Offline Mode

Part of the Anaya Care Handbook — the source of truth for how the product must behave. When the product needs to change, change this document first, then make the system match it.

Implementation status — this module is specified but not yet built. Every rule below is 🚧 Spec only until the feature ships and this page is audited against the code. Legend: ✅ In code · ⚠️ Partial · 🚧 Spec only (not yet built).

What this covers

This page governs offline mode for care providers: the field-reliability behaviour that lets a care provider keep doing the core of their shift when the mobile app loses connectivity. It sets out exactly which functions must keep working offline, which functions must require a live connection, how offline work is stored and synced back without loss, and how the care manager is kept informed. Offline mode is a care-provider-only capability; no other role works offline.

Key terms

  • Offline mode — the state the care provider's mobile app enters when it detects loss of connectivity, in which core care provider functions continue to work locally.
  • Offline indicator — the visible marker the app shows while connectivity is lost, so the care provider knows their work is being held on the device.
  • Queue-and-submit — holding an action attempted offline on the device and submitting it automatically once connectivity returns.
  • Auto-sync — the automatic upload of all locally stored offline data when connectivity is restored, completing with no data loss.
  • Sync failure — a sync that does not complete on restore, triggering automatic retry and, if still incomplete, escalation to the care manager.

How it works

When the app detects that connectivity has been lost mid-shift, it switches into offline mode and shows an offline indicator. The care provider carries on: they can read the care plan and daily task list, clock in and out, document tasks, medications, vital signs and symptoms, write shift and handover notes, complete the care readiness quiz, and log incidents. Everything they record is saved to the device, encrypted, rather than sent to the server.

Some functions need a live connection and are not available offline: sending messages, posting to the Care Feed, accessing Care Lock, processing Anaya Wallet transactions, and receiving push notifications. Where an action that needs connectivity is attempted offline — for example a Care Feed post — it is queued and submitted automatically when connectivity returns; a Wallet transaction, by contrast, is blocked outright and requires connectivity.

On restore, the app auto-syncs all stored data with no loss. Clock in/out events sync (see Scheduling & Shifts), and incidents logged offline sync and then trigger their notifications, exactly as if they had been submitted live (see Incident Reports). The care manager is notified that the care provider had been in offline mode. If a sync does not complete, the app retries automatically and escalates to the care manager if it stays incomplete.

Rules

  1. OFF-1 — Offline mode is a care-provider-only capability. The system must not provide offline working to any other role. (🚧 Spec only)
  2. OFF-2 — When the app detects loss of connectivity, it must enter offline mode and display an offline indicator so the care provider knows their work is being held on the device. (🚧 Spec only)
  3. OFF-3 — The following must work offline: viewing the care plan and the daily task list; clocking in and out; documenting tasks, medications, vital signs and symptoms; writing shift and handover notes; completing the care readiness quiz; and logging incidents. (🚧 Spec only)
  4. OFF-4 — The following must require live connectivity and must not be available offline: sending messages, posting to the Care Feed, accessing Care Lock, processing Anaya Wallet transactions, and receiving push notifications. (🚧 Spec only)
  5. OFF-5 — All data recorded offline must be saved to the device encrypted. (🚧 Spec only)
  6. OFF-6 — When connectivity is restored, the app must auto-sync all locally stored offline data with no data loss. (🚧 Spec only)
  7. OFF-7 — Clock in and clock out performed offline must sync on restore (see Scheduling & Shifts). (🚧 Spec only)
  8. OFF-8 — An incident logged offline must be saved locally with its timestamp and, on restore, must sync and trigger its notifications as a live submission would (see Incident Reports). (🚧 Spec only)
  9. OFF-9 — An action that requires connectivity but is attempted offline — such as a Care Feed post — must be queued and submitted automatically when connectivity returns. (🚧 Spec only)
  10. OFF-10 — An Anaya Wallet transaction attempted offline must be blocked outright and require connectivity; it must not be queued. (🚧 Spec only)
  11. OFF-11 — On restore the app must retry sync automatically, and if sync remains incomplete it must escalate to the care manager. (🚧 Spec only)
  12. OFF-12 — The care manager must be notified when a care provider has been in offline mode. (🚧 Spec only)

Who can do what

Offline mode applies to care providers only; no other role works offline. All rules on this page govern care provider behaviour platform-wide.

Decisions needed

  • How long may work stay queued before it counts as a failed sync? The PRD requires auto-retry and escalation to the care manager when sync "remains incomplete" but does not define the threshold. Options: a fixed time limit (e.g. escalate after N minutes); a retry-count limit; escalate on the next failed attempt after a grace period.
  • What does the care manager's "care provider has been offline" notification contain? The PRD requires the notification but not its detail. Options: a simple "was offline" flag; the offline duration; the duration plus a summary of what synced.
  • Does the offline indicator also surface to the care manager in real time? The PRD specifies a care-provider-facing indicator only and a notification after the fact. Options: care provider indicator only; add a live "currently offline" signal on the care manager's view of the shift.

How is this page?

Last updated on

On this page