Введение
Приложения, работающие в автономном режиме, предоставляют медицинским работникам доступ к инструментам, необходимым для оказания качественной помощи, даже если они не подключены к Интернету. Автономные приложения полезны для медицинских работников, которые работают в общественных местах с ненадежной связью или в медицинских учреждениях без доступа в Интернет. Автономные приложения также могут помочь снизить затраты на передачу данных.
Если медицинские работники не могут использовать приложение в автономном режиме, они, возможно, не смогут выполнять важные задачи. Это может привести к тому, что медицинские работники не будут использовать приложение и потеряют данные. С помощью библиотеки FHIR Engine и этих рекомендаций по проектированию мы стремимся улучшить взаимодействие с пользователем автономных приложений для здоровья, чтобы они были надежными и простыми в использовании.
Ключевые принципы оффлайна
Учитывайте эти принципы при создании офлайн-приложений для здоровья:
- Приложения для местных медицинских работников должны быть разработаны так, чтобы их можно было использовать в автономном режиме.
- Убедитесь, что пользователи могут выполнять свой основной рабочий процесс в автономном режиме.
- Сообщите пользователям, как часто им нужно выходить в Интернет для синхронизации устройства.
Начальная синхронизация
Прежде чем медицинский работник сможет начать использовать приложение, вашему приложению может потребоваться первоначальная синхронизация для загрузки задач или списка пациентов. Если да, сделайте первоначальную синхронизацию отдельным этапом для работников здравоохранения, которые начинают использовать приложение. Дайте указания о том, где и когда это сделать, а также примерное время, которое это займет. Объясните, должно ли приложение быть открытым или работники здравоохранения могут выполнять другие действия на своем устройстве во время его синхронизации.

Четко дайте понять, сколько времени это займет.

Не начинайте первоначальную синхронизацию, не предоставив никакой информации о том, чего ожидать.
Статус бар
В строке состояния указывается, находится ли устройство в автономном режиме или синхронизируется. Строка состояния появляется, когда:
- Устройство не в сети из-за отсутствия подключения к Интернету
- Данные активно синхронизируются
- Синхронизация не удалась
- Синхронизация завершена
Показывать строку состояния только тогда, когда это необходимо — на страницах или вокруг компонентов, которые изменятся после синхронизации данных. Например, статус важен при просмотре списка задач, поиске в списке пациентов или загрузке карты пациента, чтобы медицинский работник мог определить, синхронизирована ли последняя информация или нет.

Показывать автономный статус, когда это необходимо, например, при загрузке списка пациентов.

Не допускайте, чтобы строка состояния подключения выглядела как состояние ошибки.

Когда соединение будет установлено, в строке состояния отобразите, что приложение синхронизируется.

Покажите подтверждение завершения синхронизации, заменив значок галочкой и изменив цвет и текст в строке состояния. Это помогает пользователям узнать, что информация заполнена.

Если синхронизация не завершилась, покажите, что не удалось завершить синхронизацию. Если причина сбоя синхронизации заключается в том, что приложение находится в автономном режиме, измените статус на «Не в сети». Важно, чтобы люди знали, что происходит.
Шаблоны синхронизации
Синхронизация работает в фоновом режиме для загрузки и выгрузки данных на сервер и с него. Поведение синхронизации не должно отвлекать пользователя.
Интервалы синхронизации должны быть установлены на основе пороговых значений, соответствующих условиям медицинского учреждения, в котором используется приложение. Пример: синхронизация каждые 12 часов в общественных условиях или каждые 15 минут в медицинском учреждении. Правильные интервалы автоматической синхронизации сводят к минимуму необходимость ручной синхронизации.

Убедите пользователей, что даже несмотря на то, что приложение находится в автономном режиме, они все равно могут выполнять свои задачи и что изменения будут загружены при возобновлении подключения.

Не вдавайтесь в подробности о том, когда синхронизация попытается повторно подключиться к Интернету.

Определите приоритетность данных, которые будут синхронизироваться, чтобы медицинские работники могли завершить свой рабочий процесс. Пример: в учреждении, где пациентов передают другому медицинскому работнику, обязательно отдайте приоритет синхронизации только что заполненной карты пациента.

Избегайте предварительной синхронизации ненужной информации, такой как весь список пациентов или старая история посещений, не связанная с сегодняшними задачами.
Индикатор прогресса синхронизации
Индикатор хода синхронизации появляется, когда контент синхронизируется с сервером. Индикатор прогресса должен визуально показывать, что синхронизация работает.
Добавляйте индикатор прогресса только на ключевые экраны, такие как список пациентов или карточки пациентов. Оцените, сколько времени займет синхронизация, указав, какой процент был загружен.

Индикатор загрузки, который ясно показывает, что прогресс происходит.

Избегайте вращающегося погрузочного колеса. Неясно, застопорилось ли оно или прогрессирует.
Синхронизировать временные метки
Временные метки синхронизации информируют медицинских работников о том, когда информация обновлялась в последний раз. Временные метки помогают медицинским работникам:
- Узнайте, просматривают ли они самую свежую информацию.
- Узнайте, синхронизируется и обновляется ли приложение должным образом.
- Обеспечьте непрерывность оказания медицинской помощи, начав с того места, на котором остановился предыдущий медицинский работник.
Используйте метки времени экономно и отображайте их только в критически важных случаях, например в списке задач или карточке пациента.

Покажите дату последнего обновления информации (и покажите ее в контексте), чтобы помочь людям узнать, не прошло ли слишком много времени с момента их синхронизации.

Не отображайте временные метки для каждого фрагмента данных, например времени обновления номера телефона. Избегайте длинного списка того, какие данные и когда были синхронизированы. Показана слишком большая точность времени и даты, если прошло более 24 часов.
Синхронизировать напоминания
Напоминания о синхронизации отображаются, когда устройство слишком долго находилось в автономном режиме или пользователю необходимо выполнить действие для синхронизации устройства.
Используйте напоминания, чтобы сообщить пользователям о необходимости синхронизации приложения и о том, как это сделать.

Напоминайте людям через выбранный интервал времени о необходимости синхронизации, когда это необходимо. Используйте дружелюбный тон, когда сообщаете о необходимости синхронизации.

Избегайте паникерских сообщений и не заставляйте людей чувствовать себя плохо из-за того, что они не синхронизировались.

Время от времени напоминайте людям о необходимости синхронизировать свое устройство, когда оно выходит за пределы порогового значения, установленного для типа медицинского учреждения (учреждение или сообщество).

Слишком большое количество напоминаний может раздражать и расстраивать пользователей. Предоставляйте сообщения об ошибках только в том случае, если действие является срочным.
Ручная синхронизация
Синхронизация вручную отменяет настройки синхронизации по умолчанию и позволяет пользователям выполнять синхронизацию прямо сейчас. Это можно сделать через страницу синхронизации вручную или непосредственно в карте пациента. На странице синхронизации показано, когда произошла последняя синхронизация и когда запланирована следующая синхронизация. В идеале интервалы автоматической синхронизации сводят к минимуму необходимость ручной синхронизации.
Ручная синхронизация может быть полезна для медицинских работников, которые весь день находятся вне дома и хотят синхронизировать данные, когда они вернутся домой ночью, с лучшим подключением.

На странице синхронизации вручную укажите, когда произошла последняя синхронизация и когда запланирована следующая синхронизация. Включите кнопку «Синхронизировать сейчас».

Когда нет истории синхронизации, медицинским работникам трудно устранять неполадки и знать, чего ожидать.

Когда медицинские работники передают пациентов друг другу, предоставьте им возможность немедленно синхронизировать записи пациентов, отобразив кнопку «Синхронизировать сейчас» на карте пациента. В качестве альтернативы этого также можно достичь с помощью синхронизации на основе событий.

Не позволяйте пользователям выбирать определенные данные для синхронизации. Это слишком сложно и слишком детально.
Сообщения об ошибках и устранение неполадок
Сообщения об ошибках появляются, когда функция не может быть завершена, например, если в списке пациентов нет пациентов.
Покажите сообщение об ошибке на соответствующем экране. Помогите людям устранить неполадки, предоставив четкое описание того, что не работает и почему. Затем дайте инструкции, как решить проблему. Если первое решение не сработало, предоставьте второй набор инструкций о том, что следует попробовать. Всегда предоставляйте людям дополнительные способы получения помощи: посредством обмена сообщениями или телефонного звонка.

Используйте сообщение об ошибке, описывающее причину неисправности и инструкции по ее устранению. Включите инструкции по навигации по настройкам системы.

Избегайте общих сообщений об ошибках, которые не объясняют, что не так, или не предлагают, как это исправить.