Повна робота офлайн — ліки без Інтернету
Додавайте, редагуйте й видаляйте ліки та підтверджуйте дози без Інтернету. Зміни зберігаються одразу й синхронізуються автоматично після повернення зв'язку.
Спробуйте роботу офлайн у mojApteczka
Завантажте додаток на iOS і керуйте аптечкою навіть без зв'язку
У пацієнта вдома, у лікарні, у підвалі з боку, не накритого передавачем. Саме тоді треба видати ліки чи дописати нову упаковку — і саме тоді зв'язок здатен зникнути.
У застосунку mojApteczka аптечка працює повністю офлайн. Від версії 1.9.0 додавання, редагування й видалення ліків зберігається миттєво на пристрої та синхронізується автоматично після відновлення зв'язку — з лічильником «N змін очікують на синхронізацію» на екрані аптечки. Видача доз працює офлайн уже від версії 1.7.0. Зміни переживають режим польоту, закриття застосунку й перезавантаження телефона, а після відновлення з'єднання все потрапляє у хмару без вашої участі.
Додавання, редагування й видалення ліків без Інтернету
Повноцінна робота офлайн — це не лише підтвердження доз, а й керування всією аптечкою без мережі:
- додаєте ліки (скануванням упаковки або вручну), і запис одразу з'являється у списку,
- редагуєте кількість, термін придатності чи нотатку — зміна видима миттєво,
- видаляєте ліки, яких уже не маєте — без очікування на сервер.
Кожна така зміна потрапляє у стійку чергу на диску пристрою. На екрані аптечки ви бачите лічильник змін, що очікують («N змін очікують на синхронізацію»), тож завжди знаєте, що ще не дійшло до хмари. Коли зв'язок повертається, черга надсилає зміни партіями, і лічильник зникає — без конфліктів, навіть якщо тим часом ви користувалися аптечкою на іншому пристрої.
Як видати ліки без Інтернету
Процес ідентичний до видачі онлайн — відсутність зв'язку не блокує жодного кроку:
- ви відкриваєте картку ліків в аптечці,
- натискаєте іконку видачі,
- вибираєте дозу (зокрема дробову) й одержувача,
- підтверджуєте — екран відгукується миттєво, залишок оновлюється локально,
- коли зв'язок повертається (або ви відкриваєте застосунок онлайн), черга сама надсилає очікувані видачі у хмару.
Вам не потрібно нічого натискати, відновлювати чи «пам'ятати на потім». Черга зникає зі списку очікуваних лише тоді, коли сервер підтвердить отримання операції.
Що відбувається з очікуваними видачами
Ключова різниця між mojApteczka 1.7.0 і типовим онлайн-first застосунком: черга очікуваних операцій є стійкою. Це не змінна в оперативній пам'яті, яка зникає при закритті процесу — це запис на диску пристрою, зашифрований у межах пісочниці операційної системи.
На практиці це означає, що:
- Закрили застосунок під час візиту до пацієнта? Черга лежить на диску, чекає на повторний запуск.
- Телефон розрядився в машині? Зарядіть, запустіть mojApteczka — черга відновить синхронізацію, щойно з'явиться зв'язок.
- Змінили локацію, передавач зник на 20 хвилин? У фоні, тихо, без вашої участі черга надсилає операції партіями.
- Працюєте зі спільною аптечкою? Ваші офлайн-видачі з'являться в інших членів родини лише після вашої синхронізації — але з'являться без конфліктів, навіть якщо інша особа тим часом теж щось видавала.
Чому local-first, а не «все на сервері»
Класична онлайн-first модель надсилає кожну операцію на сервер і чекає на підтвердження — працює чудово, доки Інтернет працює. Але в догляді за хворим Інтернет часто не працює: старий будинок, підвал, цегляна лікарня, подорож між містами. Очікування на сервер у такий момент — це два сценарії:
- обертальне коліщатко завантаження — опікун не знає, чи дозу зареєстровано,
- втрата операцій — після спливання тайм-ауту застосунок здається, і доза зникає з історії.
Жоден із них не прийнятний для ліків. Тому в mojApteczka підтвердження зберігається локально насамперед — швидко, надійно, незалежно від мережі — а синхронізація з хмарою є фоновим процесом, який завершується, коли може.
Стійкість до закриття застосунку й розряджання телефона
Повідомлення з Facebook mojApteczka з релізу 1.7.0 говорило: «жодної загубленої дози — закрили застосунок? Розрядився телефон? Очікувані видачі надішлються самі згодом». Це не маркетингова обіцянка, а наслідок архітектури:
- черга записується на диск одразу після підтвердження (write-ahead),
- перезапуск операційної системи / reboot пристрою не торкається даних черги,
- після повторного запуску застосунку черга зчитується й продовжується,
- якщо у вас є зв'язок у фоні, черга відновлює синхронізацію без вашого втручання.
Інакше кажучи: єдиний сценарій, у якому очікувана операція втрачається, — це видалення застосунку до синхронізації. Якщо ви бачите в історії операцію зі статусом «у черзі», достатньо відкрити застосунок онлайн на коротку мить — і операція потрапить на сервер.
Приватність — очікувані операції не залишають пристрій
Доки операція лежить у черзі, вона не залишає ваш телефон. Це наслідок моделі local-first — дані про те, що ви видали, кому й коли, записані в пісочниці операційної системи, захищені біометрією екрана блокування (Face ID / Touch ID). Лише синхронізація переносить операцію в хмару mojApteczka в ЄС (Франкфурт, AWS).
Якщо ви загубите телефон без зв'язку, навіть останні хвилини видачі (ще не синхронізовані) залишаться зашифрованими в пісочниці iOS. Це той самий стандарт захисту, який ми застосовуємо для документації SPC офлайн і мапи аптек.
Доступність
Повноцінна робота офлайн наразі доступна в застосунку mojApteczka для iOS: видача доз офлайн від версії 1.7.0, а додавання, редагування й видалення ліків офлайн від версії 1.9.0. Версія для Android у плані — та сама модель локальної черги буде реалізована там у наступних релізах. Веб-версія за своєю природою потребує з'єднання з сервером; якщо вам потрібна робота офлайн, скористайтеся мобільним застосунком.
Зв'язок з іншими функціями
Видача офлайн — один із трьох стовпів «mojApteczka працює без Інтернету»:
- Видача ліків — комплексний опис функції видачі, включно з дробовими дозами, одержувачем і історією,
- Документація SPC офлайн — характеристика продукту для 8 000+ ліків, доступна без Інтернету після першої синхронізації,
- Мапа аптек офлайн — локатор аптек, що працює після першого завантаження бандла,
- PDF-звіт для лікаря — враховує і синхронізовані, і очікувані операції, після синхронізації,
- Нагадування про дозування — працюють локально, незалежно від зв'язку.
Важливе обмеження
Черга очікуваних видач не захищає від видалення застосунку. Якщо у вас є несинхронізовані операції й вам треба змінити телефон або перевстановити mojApteczka, відкрийте застосунок з активним зв'язком перед видаленням — достатньо короткої миті онлайн, щоб черга вивантажилася. Після перевстановлення увійдіть знову, і історія видач (вже у хмарі) буде доступна на новому пристрої.
Увага: функція видачі ліків — це інструмент для реєстрації доз. Вона не замінює рекомендацій лікаря чи фармацевта щодо дозування, частоти чи способу застосування — також офлайн.
Повноцінна робота офлайн у mojApteczka перетворює момент «без зв'язку» з потенційної пастки на щось, про що не думаєш. Ви додаєте, редагуєте й видаляєте ліки, підтверджуєте дози — екран реагує миттєво, черга сама синхронізується, жодна зміна не губиться, незалежно від того, чи ви вдома, в лікарні, чи в дорозі.
Часті запитання
- Чи можу я видати ліки без Інтернету в mojApteczka?
- Так. Від версії 1.7.0 підтвердження дози зберігається миттєво на пристрої навіть без зв'язку. Очікувані видачі безпечно зберігаються у черзі та автоматично синхронізуються з хмарою, коли з'єднання повертається.
- Чи можу я додавати, редагувати й видаляти ліки без Інтернету?
- Так. Від версії 1.9.0 уся аптечка працює офлайн — додавання, редагування й видалення ліків зберігається одразу на пристрої. На екрані аптечки ви бачите лічильник «N змін очікують на синхронізацію», а після відновлення зв'язку зміни потрапляють у хмару автоматично, без конфліктів.
- Що станеться, якщо я закрию додаток з очікуваною дозою?
- Нічого не втратиться. Черга очікуваних видач зберігається стабільно на диску пристрою. Повторне відкриття додатку — навіть наступного дня — відновлює чергу, і видачі підуть у хмару, щойно з'явиться зв'язок.
- А що, якщо телефон розрядиться, поки черга чекає на синхронізацію?
- Жодна збережена видача не втратиться. Дані черги живуть на диску (а не в оперативній пам'яті), тож перезапуск після заряджання не впливає на повноту історії. Синхронізація відновлюється, коли з'являється зв'язок.
- Чи можу я побачити, які операції ще не синхронізовані?
- Так. В історії видач очікувані операції мають чіткий статусний маркер («у черзі» або подібний). Коли синхронізація успішна, маркер зникає.
- Як довго операція може чекати в черзі?
- Жорсткого обмеження часу немає. Черга може тримати очікувані видачі днями чи тижнями — синхронізується, щойно повертається зв'язок. На практиці варто синхронізуватися якомога раніше, щоб PDF-звіти та спільні аптечки відображали актуальну історію.
- Чи можу я користуватися спільною аптечкою офлайн?
- Ви можете видавати ліки та зберігати операції локально. Інші учасники спільної аптечки побачать ці видачі лише після синхронізації вашого пристрою з хмарою. Коли обидві сторони синхронізуються, усі операції узгоджуються — навіть якщо дві особи видавали ліки паралельно.
- Що станеться, якщо я видалю додаток до синхронізації?
- Видалення додатку прибирає локальні дані, включно з очікуваною чергою. Якщо у вас є несинхронізовані видачі, відкрийте додаток з активним з'єднанням перед перевстановленням — короткого моменту онлайн достатньо, щоб черга вивантажилася.
- На яких пристроях працює офлайн-режим?
- Офлайн-видача ліків наразі доступна у мобільному додатку mojApteczka для iOS (від версії 1.7.0). Версія для Android у планах. Веб-версія за своєю природою потребує підключення до серверу, але в мобільному додатку ви можете підтверджувати дози будь-де.
Спробуйте роботу офлайн у mojApteczka
Завантажте додаток на iOS і керуйте аптечкою навіть без зв'язку