Работа офлайн — лекарства без интернета
Добавляйте, редактируйте и удаляйте лекарства и фиксируйте дозы без интернета. Изменения сохраняются сразу и синхронизируются автоматически после возвращения связи.
Попробуйте работу офлайн в mojApteczka
Скачайте приложение на iOS и управляйте аптечкой даже без связи
Дома у пациента, в больнице, в подвале со стороны, укрытой от ретранслятора. Именно тогда нужно выдать лекарство или добавить новую упаковку — и именно тогда связь обычно пропадает.
В приложении mojApteczka аптечка работает полностью офлайн. С версии 1.9.0 добавление, редактирование и удаление лекарств сохраняется мгновенно на устройстве и синхронизируется автоматически после восстановления связи — со счётчиком «N изменений ждут синхронизации» на экране аптечки. Выдача доз работает офлайн ещё с версии 1.7.0. Изменения переживут режим полёта, закрытие приложения и перезагрузку телефона, а после восстановления связи всё попадает в облако без вашего участия.
Добавление, редактирование и удаление лекарств без интернета
Полноценная работа офлайн — это не только подтверждение доз, это управление всей аптечкой без сети:
- добавляете лекарство (сканом упаковки или вручную), и запись сразу появляется в списке,
- редактируете количество, срок годности или заметку — изменение видно мгновенно,
- удаляете лекарство, которого у вас уже нет, — без ожидания сервера.
Каждое такое изменение попадает в персистентную очередь на диске устройства. На экране аптечки вы видите счётчик ожидающих изменений («N изменений ждут синхронизации»), так что всегда знаете, что ещё не дошло до облака. Когда связь возвращается, очередь отправляет изменения партиями и счётчик исчезает — без конфликтов, даже если вы тем временем пользовались аптечкой на другом устройстве.
Как выдать лекарство без интернета
Процесс идентичен выдаче онлайн — отсутствие связи не блокирует ни одного шага:
- открываете карточку лекарства в аптечке,
- нажимаете иконку выдачи,
- выбираете дозу (в том числе дробную) и получателя,
- подтверждаете — экран отвечает мгновенно, остаток обновляется локально,
- когда связь возвращается (или вы открываете приложение онлайн), очередь сама отправляет ожидающие выдачи в облако.
Вам не нужно ничего нажимать, возобновлять или «помнить на потом». Очередь покидает список ожидающих только после подтверждения приёма операции сервером.
Что происходит с ожидающими выдачами
Ключевое отличие mojApteczka 1.7.0 от типичного online-first приложения: очередь ожидающих операций персистентна. Это не переменная в оперативной памяти, которая исчезает при закрытии процесса — это хранилище на диске внутри песочницы операционной системы, зашифрованное.
На практике это означает, что:
- Закрыли приложение во время визита к пациенту? Очередь живёт на диске и ждёт следующего запуска.
- Телефон разрядился в автомобиле? Зарядите, откройте mojApteczka — очередь возобновляет синхронизацию, как только появится связь.
- Сменили локацию, ретранслятор пропал на 20 минут? Тихо, в фоне, без вашего участия очередь отправляет операции партиями.
- Работаете с общей аптечкой? Ваши офлайн-выдачи станут видны другим членам семьи только после вашей синхронизации — но появятся без конфликтов, даже если кто-то другой выдавал лекарства тем временем.
Почему local-first, а не «всё на сервере»
Классическая online-first модель отправляет каждую операцию на сервер и ждёт подтверждения — отлично работает, пока интернет работает. Но при уходе за больным интернет часто не работает: старый дом, подвал, кирпичная больница, поездка между городами. Ожидание сервера в такой момент означает один из двух сценариев:
- крутящееся колесо загрузки — опекун не знает, зарегистрирована ли доза,
- потеря операций — после таймаута приложение сдаётся, и доза исчезает из истории.
Ни один из них неприемлем для лекарств. Поэтому в mojApteczka подтверждение сначала сохраняется локально — быстро, надёжно, независимо от сети — а синхронизация с облаком является фоновым процессом, который завершается, когда может.
Устойчивость к закрытию приложения и разрядке телефона
Анонс mojApteczka на Facebook к выпуску 1.7.0 гласил: «ни одной потерянной дозы — закрыли приложение? разрядился телефон? ожидающие выдачи сами отправятся позже». Это не маркетинговое обещание, а следствие архитектуры:
- очередь сохраняется на диске немедленно после подтверждения (write-ahead),
- перезапуск операционной системы / перезагрузка устройства не затрагивает данные очереди,
- после повторного запуска приложения очередь считывается и продолжается,
- если у вас есть фоновое подключение, очередь возобновляет синхронизацию без вашего вмешательства.
Другими словами: единственный сценарий, в котором ожидающая операция теряется, — это удаление приложения до синхронизации. Если вы видите в истории операцию со статусом «в очереди», достаточно открыть приложение онлайн на короткое время — и операция попадёт на сервер.
Приватность — ожидающие операции не покидают устройство
Пока операция в очереди, она не покидает ваш телефон. Это следствие 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 и управляйте аптечкой даже без связи