はじめに
医療従事者はオフラインで利用できるアプリにより、インターネットに接続していないときでも、質の高いケアの提供に必要なツールにアクセスできます。オフライン アプリは、接続が不安定なコミュニティ環境や、インターネットに接続できない医療施設で働く医療従事者に役立ちます。オフライン アプリはデータ費用の削減にも役立ちます。
医療従事者がオフラインでアプリを使用できない場合、重要なタスクを完了できない可能性があります。そのため、医療従事者がアプリを使用せず、データを失う可能性があります。FHIR エンジン ライブラリとこれらの設計ガイドラインにより、オフライン対応の健康アプリのユーザー エクスペリエンスを向上させ、信頼性と使いやすさの向上を目指しています。
オフラインに関する重要な原則
オフラインの健康アプリを作成する際は、以下の原則を考慮してください。
- コミュニティの医療従事者向けアプリは、オフラインファーストのエクスペリエンスに合わせて設計する必要があります。
- ユーザーがメインのワークフローをオフラインで完了できるようにします。
- デバイスを同期するためにオンラインする必要がある頻度をユーザーに伝えます。
初回同期
医療従事者がアプリを使い始める前に、タスクや患者リストをダウンロードするための初期同期が、アプリで必要になる場合があります。その場合は、医療従事者がアプリを使い始める際に、最初の同期を個別の手順として行ってください。いつ、どこで行うかに関するガイダンスと、推定所要時間を提示してください。アプリを開く必要があるかどうか、または同期中に医療従事者がデバイスで他のことができるかどうかを説明してください。
![タスクを同期して。インターネット接続に応じて、この処理には 1 時間ほどかかることがあります。3 つのステップ。1. Wi-Fi またはデータ通信に接続します。2. インターネットの接続が良好な場所にデバイスを置きます。3. 同期中もデバイスで他の操作を行えます。ボタン: タスクを同期して。](https://developers.google.cn/static/open-health-stack/design/images/sync/initial-sync-do.png?hl=ja)
今後の見通しを、明確に伝えます。
![指示のないタスク画面が空白になります。同期バーと回転するローディング ホイール。](https://developers.google.cn/static/open-health-stack/design/images/sync/initial-sync-dont.png?hl=ja)
想定される内容について情報を提供せずに初期同期を開始しないでください。
ステータスバー
ステータスバーは、デバイスがオフラインか同期中かどうかを示します。ステータスバーは次の場合に表示されます。
- インターネットに接続されていないため、デバイスがオフラインになっています
- データは同期中です
- 同期に失敗しました
- 同期が完了しました
ステータスバーは、データの同期完了時に変化するページやコンポーネントの周囲など、適切な場合にのみ表示します。たとえば、ステータスは、タスクリストの確認、患者リストの検索、患者カードの読み込みなど、最新情報が同期されたかどうかを医療従事者が認識できるように重要です。
![グレーのステータスバーとオフラインが書き込まれています。](https://developers.google.cn/static/open-health-stack/design/images/sync/status-offline-do.png?hl=ja)
患者リストを読み込むときなど、必要に応じてオフライン ステータスを表示します。
![赤色のステータスバー。エラーアイコンとオフラインと書かれている。](https://developers.google.cn/static/open-health-stack/design/images/sync/status-offline-dont.png?hl=ja)
接続ステータスバーがエラー状態のように見えることは避けてください。
![水色のステータスバーに同期アイコンと同期の文字が表示されている。](https://developers.google.cn/static/open-health-stack/design/images/sync/status-syncing.png?hl=ja)
接続が確立されると、ステータスバーにアプリが同期中であることが表示されます。
![チェックマーク アイコンが付いた薄いグレーのステータスバーに同期完了と書かれている。](https://developers.google.cn/static/open-health-stack/design/images/sync/status-sync-done.png?hl=ja)
アイコンをチェックマークに変更し、ステータスバーの色とテキストを変更することで、同期の完了の確認を表示します。これにより、ユーザーは情報の入力が完了したことを知ることができます。
![薄い黄色のステータスバーに、同期失敗を示すアイコンと同期失敗が書き込まれている。](https://developers.google.cn/static/open-health-stack/design/images/sync/status-sync-failed.png?hl=ja)
同期が完了していない場合は、同期を完了できなかったことを説明します。アプリがオフラインであることが同期が失敗する場合は、ステータスをオフラインに変更します。ユーザーが何が起こっているのかを知るうえで重要です。
同期パターン
同期はバックグラウンドで動作し、サーバーとの間でデータのアップロードとダウンロードを行います。同期動作がユーザーの邪魔にならないようにする必要があります。
同期間隔は、アプリが使用されている医療設定に関連するしきい値に基づいて設定する必要があります。例:地域社会では 12 時間おき、医療機関では 15 分おきに同期する。適切な自動同期間隔を設定することで、手動同期の必要性を最小限に抑えることができます。
![スナックバー メッセージ: 現在オフラインです。アップデートは、デバイスが再接続したときにアップロードされます。](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-reassure.png?hl=ja)
アプリがオフラインになっていてもタスクを完了できることと、接続が再開すると変更内容がアップロードされることをお客様に安心させます。
![明るいグレーのステータスバー メッセージ: 3 分 22 秒後に再試行します。](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-distract.png?hl=ja)
同期のときにインターネットへの接続が再試行されるタイミングについて詳しく説明することは避けます。
![患者カードの同期。](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-prioritize.png?hl=ja)
どのデータを同期するかに優先順位をつけ、医療従事者がワークフローを完了できるようにします。例: 患者を別の医療従事者に引き渡す施設では、完了したばかりの患者カードの同期を優先させます。
![340 人の患者が同期している患者リスト。](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-irrelevant.png?hl=ja)
患者リスト全体、今日のタスクに関係のない古い来院履歴など、無関係な情報を最初に同期することは避けてください。
同期の進行状況インジケーター
コンテンツがサーバーから同期されているときは、同期の進行状況インジケーターが表示されます。進行状況インジケーターで、同期が機能していることが視覚的に表示されます。
進行状況インジケーターは、患者リストや患者カードなどの主要な画面にのみ追加します。ダウンロード数の割合を表示して、同期の所要時間を予測します。
![35% ダウンロード済みであることを示す進行状況バー。](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-progress-bar.png?hl=ja)
進行状況が進行中であることを明確に示す読み込みバー。
![回転するローディング ホイール。](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-progress-wheel.png?hl=ja)
回転する車輪は使用しないでください。停止しているのか、進行中なのかは不明確です。
タイムスタンプを同期する
医療従事者は、タイムスタンプを同期することで、情報が最後に更新された日時を確認できます。タイムスタンプは医療従事者に次のようなメリットをもたらします。
- お客様が最新の情報を見ているのかどうかを知る。
- アプリが想定どおりに同期と更新を行っているかどうかを確認します。
- 以前の医療従事者が仕事を中断したところから再開することで、治療の継続性を高めます。
タイムスタンプは控えめに使用し、タスクリストや患者カードなど、重要な場合にのみ表示します。
![患者カードは、本日午後 12 時 31 分に最後に更新されました。](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-time-relevant.png?hl=ja)
情報が最後に更新された日時を表示し、状況の中でそれを示すことで、ユーザーは同期してから時間が長すぎていないかを把握できます。
![同期タイムスタンプ 2022 年 5 月 23 日 12:31 は、患者カードのコンテンツの各行に表示されます。(携帯電話番号、ID 番号、住所など)。](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-time-all.png?hl=ja)
すべてのデータのタイムスタンプ(電話番号が更新された時点など)は表示しないでください。どのデータがいつ同期されたかを示す長いリストは避けます。24 時間を超えている場合は、日付と時刻の精度が高すぎます。
リマインダーを同期する
デバイスが長時間オフラインになっている場合や、デバイスの同期にユーザーが対処する必要がある場合は、同期リマインダーが表示されます。
リマインダーを使用して、アプリの同期の必要性とその方法をユーザーに伝えます。
![ダイアログ。前回の同期以降に大幅な変更が発生しています。同期を完了するには、データ接続または Wi-Fi に接続してください。ボタン: 後で、ボタン: 今すぐ同期](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-friendly.png?hl=ja)
適切なタイミングで、指定された間隔でユーザーを同期するように通知します。同期の必要性を親しみやすい口調で伝えます。
![ダイアログ。すぐに同期します。12 時間超過しています。同期を完了するには、データ接続または Wi-Fi に接続してください。ボタン: 後で、ボタン: 今すぐ同期](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-rude.png?hl=ja)
不安を与えるコミュニケーションや、同期されていないことに気を取られることは避けてください。
![ダイアログ。最後の同期から 24 時間もう一度同期してください。同期を完了するには、データ接続または Wi-Fi に接続してください。ボタン: 後で、ボタン: 今すぐ同期](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-occasional.png?hl=ja)
ヘルスケア環境の種類(施設かコミュニティ)に対して設定されたしきい値を超えたときに、デバイスを同期するようときどきユーザーに伝えます。
![ダイアログ。前回の同期から 1 時間。もう一度同期してください。同期を完了するには、データ接続または Wi-Fi に接続してください。ボタン: 後で、ボタン: 今すぐ同期](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-frequent.png?hl=ja)
リマインダーの数が多すぎると、ユーザーの不満の原因になります。エラー メッセージは緊急のアクションの場合にのみ表示します。
手動同期
手動同期はデフォルトの同期設定より優先され、ユーザーは今すぐ同期できます。これは、手動同期ページで、または患者カードで直接行うことができます。同期ページには、最終同期日時と次の同期スケジュール日時が表示されます。理想的には、自動同期間隔により、手動同期の必要性を最小限に抑えます。
終日コミュニティにいて、夜間に帰宅したときに接続性を改善して同期を行いたいと考えている医療従事者にとって、手動同期は便利です。
![最終同期のタイムスタンプと次の同期のタイムスタンプを示す履歴。](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-history.png?hl=ja)
手動同期のページで、最終同期の日時と、次の同期のスケジュール設定時刻を表示します。「今すぐ同期」のボタンを追加する。
![同期履歴は表示されず、[今すぐ同期] ボタンのみが表示されます。](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-history-none.png?hl=ja)
同期履歴がない場合、医療従事者がトラブルシューティングを行い、どのような結果になるかを把握するのは困難です。
![患者カードに表示された [今すぐ同期] ボタン。](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-patient.png?hl=ja)
医療従事者が患者同士を引き渡すときに、患者カードに [今すぐ同期] ボタンを表示して、患者の記録をすぐに同期できるようにします。または、イベントベースの同期を使用して同期することもできます。
![患者カードの携帯電話番号の横に [今すぐ同期] ボタンが表示されている。](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-everything.png?hl=ja)
ユーザーが同期する特定のデータを選択できないようにする。複雑すぎて細かくすぎます。
エラー メッセージとトラブルシューティング
エラー メッセージは、患者リストに患者がいないなど、関数が完了できない場合に表示されます。
該当する画面にエラー メッセージを表示します。何がうまくいっていないのか、その理由をわかりやすく説明して、トラブルシューティングをサポートします。その後、問題の解決方法を示します。最初の解決策で解決しなかった場合は、次の手順に関する 2 つ目の手順を提供します。ユーザーがメッセージや電話を通じて支援を求める追加の方法を必ず提供してください。
![ダイアログ。タスクがありません。タスクリストを同期する。データ通信または Wi-Fi に接続しているかどうかを確認します。[設定] > [ネットワークとインターネット] に移動します。アプリに戻り、[今すぐ同期] をタップします。ボタン: 後で、ボタン: 今すぐ同期。](/static/open-health-stack/design/images/sync/sync-error-actionable.png)
エラー メッセージを使用して、問題とその解決手順を説明します。システム設定内を移動する方法を含めます。
![ダイアログ。エラーが発生しました。問題が発生しました。ボタン: もう一度お試しください。](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-error-unhelpful.png?hl=ja)
問題の説明や修正方法の提案にならない、一般的なエラー メッセージは避けてください。