FEATURE · FULL OFFLINE WORK — MEDICINES WITHOUT INTERNET

Full offline work — medicines without internet

Add, edit, and delete medicines and confirm doses without internet. Changes save instantly and sync automatically once signal returns.

Try offline work in mojApteczka

Download the iOS app and manage your cabinet even without signal

At a patient's home, in a hospital, in a basement on the side the signal does not reach. That is exactly when you need to dispense a medicine or add a new package — and exactly when the signal can disappear.

In the mojApteczka app, your medicine cabinet works fully offline. Since version 1.9.0, adding, editing, and deleting medicines saves instantly on the device and synchronises automatically once signal returns — with an "N changes waiting to sync" counter on the cabinet screen. Dispensing doses has worked offline since version 1.7.0. Changes survive airplane mode, closing the app, and a phone restart, and once the connection is back everything reaches the cloud without your involvement.

Adding, editing, and deleting medicines without internet

Full offline work is not just about confirming doses — it is about managing the whole cabinet with no network:

  • you add a medicine (by scanning the package or manually), and the entry appears on the list right away,
  • you edit the quantity, expiry date, or a note — the change is visible instantly,
  • you delete a medicine you no longer have — without waiting for the server.

Every such change goes into a durable queue on the device's disk. On the cabinet screen you see a pending-changes counter ("N changes waiting to sync"), so you always know what hasn't reached the cloud yet. When signal returns, the queue sends the changes in batches and the counter disappears — with no conflicts, even if you used the cabinet on another device in the meantime.

How to dispense a medicine without internet

The process is identical to dispensing online — lack of signal does not block any step:

  1. open the medicine card in your cabinet,
  2. tap the dispense icon,
  3. choose the dose (including fractional doses) and the recipient,
  4. confirm — the screen responds instantly, and stock levels update locally,
  5. when signal returns (or you open the app while online), the queue sends pending dispenses to the cloud by itself.

You do not have to tap anything, resume anything, or "remember it for later". An operation leaves the pending list only when the server confirms receipt.

What happens to pending dispenses

The key difference between mojApteczka 1.7.0 and a typical online-first app: the queue of pending operations is persistent. It is not a RAM variable that disappears on process kill — it is a disk-backed store inside the operating-system sandbox, encrypted at rest.

In practice:

  • Closed the app during a visit? The queue lives on disk, waiting for the next launch.
  • Phone battery ran flat in the car? Charge it, open mojApteczka — the queue resumes synchronising as soon as there is signal.
  • Changed location, lost the signal for 20 minutes? Quietly, in the background, without you doing anything, the queue sends operations in batches.
  • Using a shared family kit? Your offline dispenses become visible to other family members only after your device synchronises — but they appear without conflicts, even if someone else dispensed something in the meantime.

Why local-first, not "everything on the server"

The classic online-first model ships every operation to the server and waits for acknowledgement — it works great as long as the internet works. But when caring for a patient, the internet often does not work: old houses, basements, brick-walled hospitals, long drives between towns. Waiting for the server in that moment means one of two outcomes:

  • a spinning loader — the caregiver has no idea if the dose was recorded,
  • lost operations — after a timeout, the app gives up and the dose vanishes from history.

Neither is acceptable when medicines are involved. That is why mojApteczka saves the confirmation locally first — quickly, reliably, regardless of the network — while cloud synchronisation runs in the background and completes when it can.

Surviving app kill and a dead battery

The mojApteczka Facebook post for the 1.7.0 release said: "no lost dose — closed the app? dead battery? pending dose records send themselves later". That is not a marketing promise; it is a consequence of the architecture:

  • the queue is persisted to disk immediately on confirmation (write-ahead),
  • restarting the operating system / rebooting the device does not touch the queue data,
  • reopening the app reads and continues the queue,
  • if background connectivity is available, synchronisation resumes without your intervention.

In other words: the only scenario in which a pending operation is lost is uninstalling the app before synchronisation. If you see an operation with "queued" status in history, simply open the app while online for a moment — and the operation will reach the server.

Privacy — pending operations stay on the device

While an operation is in the queue, it does not leave your phone. That is a direct consequence of the local-first model — what you dispensed, to whom and when, is stored inside the operating-system sandbox, protected by biometric screen lock (Face ID / Touch ID). Only synchronisation moves the operation to the mojApteczka cloud in the EU (Frankfurt, AWS).

If you lose a phone without signal, even the last few minutes of dispensing records (still unsynchronised) remain encrypted inside the iOS sandbox. That is the same protection standard we apply to offline SmPC documentation and the pharmacy map.

Availability

Full offline work is currently available in the mojApteczka iOS app: dispensing doses offline since version 1.7.0, and adding, editing, and deleting medicines offline since version 1.9.0. The Android version is planned — the same local-queue model will be implemented there in future releases. The web version naturally requires a server connection; if you need offline behaviour, use the mobile app.

How it connects with other features

Offline dispensing is one of the three pillars of "mojApteczka works without internet":

Important limitation

The pending-dispense queue does not protect against uninstalling the app. If you have unsynchronised operations and need to change phones or reinstall mojApteczka, open the app with active connectivity before uninstalling — a brief moment online is enough for the queue to clear. After reinstalling, sign back in and your dispensing history (already in the cloud) will be available on the new device.

Note: the medicine dispensing feature is a tool for recording doses. It does not replace a doctor's or pharmacist's advice on dosage, frequency, or method of administration — offline just as much as online.


Full offline work in mojApteczka turns the moment "no signal" from a potential trap into something you do not have to think about. You add, edit, and delete medicines, you confirm doses — the screen responds instantly, the queue synchronises by itself, no change is lost, whether you are at home, in a hospital, or on the road.

Frequently asked questions

Can I dispense a medicine without internet in mojApteczka?
Yes. Since version 1.7.0, a dose confirmation saves instantly on the device even without connectivity. Pending dispenses are stored safely in a queue and automatically synchronised to the cloud when the connection returns.
Can I add, edit, and delete medicines without internet?
Yes. Since version 1.9.0 the whole cabinet works offline — adding, editing, and deleting medicines saves instantly on the device. On the cabinet screen you see an “N changes waiting to sync” counter, and once signal returns the changes reach the cloud automatically, with no conflicts.
What happens if I close the app with a pending dose?
Nothing gets lost. The queue of pending dispenses is persisted to disk on the device. Re-opening the app — even the next day — resumes the queue, and the dispenses will flow to the cloud as soon as you have signal.
What if my phone dies while a sync is pending?
No recorded dispense is lost. The queue data lives on disk (not in RAM), so a restart after charging has no effect on history completeness. Synchronisation resumes when signal returns.
Can I see which operations are still un-synchronised?
Yes. In the dispense history, pending operations carry a clear status marker ("queued" or similar). When the sync succeeds, the marker disappears.
How long can an operation wait in the queue?
There is no hard time limit. The queue can hold pending dispenses for days or weeks and will sync as soon as signal returns. In practice, though, it is worth syncing as early as possible so that PDF reports and shared kits reflect the current history.
Can I use a shared kit offline?
You can dispense medicines and save operations locally. Other members of a shared kit will see those dispenses only after your device syncs to the cloud. Once both sides sync, all operations are reconciled — even if two people dispensed the same medicine in parallel.
What happens if I uninstall the app before syncing?
Uninstalling the app removes local data, including the pending queue. If you have unsynced dispenses, open the app with an active connection before reinstalling — a brief moment online is enough for the queue to flush.
Which devices support offline mode?
Offline dispensing is currently available in the mojApteczka iOS app (from version 1.7.0). The Android version is planned. The web version is inherently server-connected, but in the mobile app you can confirm doses anywhere.

Try offline work in mojApteczka

Download the iOS app and manage your cabinet even without signal

See pricing plans →