はじめに

アンケートの回答は、モバイル ヘルスアプリを使用するほとんどの医療従事者にとって重要なタスクです。
データ入力は難しく、エラーが発生する可能性があります。構造化データ キャプチャ(SDC)ライブラリと設計ガイドラインの目的は、データ入力のユーザー エクスペリエンスとキャプチャされたデータの品質を向上させることです。
このセクションでは、次の 4 つのテーマについて説明します。
レイアウトとナビゲーション

ロング スクロールとページ分割レイアウト
Android FHIR SDK には、次の 2 つのレイアウト オプションがあります。
- ロング スクロール(デフォルト)
- ページ分けあり
ロング スクロール アンケートでは、すべての質問が 1 つのページに表示され、ユーザーはスクロールして各質問に移動します。
ページ分割されたアンケートでは、コンテンツが別々のページに表示されます。関連する質問や入力フィールドを 1 つのページにグループ化できます。ページ間を移動するための「戻る」ボタンと「次へ」ボタンが、ページの下部に固定されています。
どのレイアウトを選択すべきですか?
各レイアウト オプションには、それぞれメリットとデメリットがあります。以下に、使用するレイアウトを選択する際に考慮すべき各レイアウト タイプの属性をいくつか示します。
| ロング スクロール | ページ分けあり | |
|---|---|---|
| ナビゲーションの速度 | ナビゲーションの高速化 | ナビゲーションが遅い |
| ナビゲーションの精度 | ナビゲーションの精度が低い | より正確なナビゲーション |
| タスク切り替え後に質問に再度フォーカス | 中断後に再開するのが難しい | 中断後の再開が容易 |
| 訪問後にデジタル アンケートに回答する(紙からコピーする) | 紙からコピーする場合に便利 | 紙からコピーする場合は難しい |
| 小さい画面 | 小さい画面ではさらに悪化 | 小さい画面に最適 |
| ユーザー補助機能 | アクセシビリティの面では悪影響があります。操作しにくい。 | ユーザー補助機能の向上。スクリーン リーダーやテキスト読み上げなどの技術で処理できる個別の画面。 |
| 指示と説明のためのスペース | ガイダンスと指示の質が低い | ガイダンスや手順の説明に適している |
ロング スクロール
質問に番号を振ることで、1 ページ レイアウトでの移動が容易になります。
長いスクロールを使用する場合は、質問のタイトルのフォントサイズを小さくして、画面に表示されるコンテンツを増やします。例: 長いスクロールは 16 px です。ページ分けありは 28px です。
ページネーション
キーボードやプルダウンなどのコンポーネントはページ上のスペースを占有するため、1 ページに 1 つの質問を配置することをおすすめします。
スクロールせずに見える範囲にコンテンツが表示されている必要があります。
例: 3 つのテキスト フィールドがすべて代替連絡先情報に関連しているため、1 つのページにグループ化されています。
混乱を避けるため、無関係なコンテンツを 1 つのページにグループ化することは避けてください。
進行状況インジケーター
進行状況インジケーターは、アンケート内の進捗状況を反映します。
長いアンケートには、ユーザーがナビゲーションし、進捗状況を確認できるように、進行状況インジケーターを含めます。進行状況インジケーターには、アンケート内の現在地と、完了までの残り時間が表示されます。
質問の上部にアンカーを配置し、スクロールしても常に表示されるようにします。
代わりに、戻るボタンと次へボタンの上に配置することもできます。このレイアウトでは、ユーザーがどのページにいるかを表示することもできます。
ナビゲーション ボタン
ナビゲーション ボタン(戻る、次へ)は、アンケートの下部に固定されています。無限スクロールまたはページ分割されたアンケートの最後のページでは、[次へ] ボタンのラベルが [送信] になります。
ボタンは一貫した場所に配置し、[戻る] や [次へ] など、アクションがラベル付けされたアクティブなボタンを常に使用します。
フォームが未完了の場合でも、アクティブなボタンを常に表示します。[次へ] をタップすると、ポップアップ ダイアログが表示され、入力漏れのフィールドや検証エラーを完了するための手順が表示されます。
無効なボタンがあると、ユーザーは問題を解決する方法を把握しにくくなります。
アイコンのみのボタンは避けてください。ボタンには常にわかりやすいアクションのラベルを付けます。
質問と手順
- アンケートのタイトル。
- 進行状況インジケーター。
- グループ ヘッダー。
- 質問のタイトル。
- 手順。
- 入力フィールド。
- エントリの形式。
- 必須フィールド。
- ヘルプ] をタップすると、ヘルプが表示されます。
グループ ヘッダー
グループ ヘッダーは、質問のタイトルの上に表示されるテキスト ヘッダーです。
グループ ヘッダーを使用して、類似した質問をグループ化します。グループ ヘッダーは、役立つ情報が追加される場合にのみ使用します。
短いタイトルを使用して、類似した質問をグループ化します。例: 患者の病歴に関連するすべての質問がグループ化されます。
複雑なタイトルや、1 行を超える長いタイトルは避けてください。
質問のタイトル
質問のタイトルには、要求されている情報が簡潔に記載されています。質問のタイトルは、ユーザーの注意を質問に引き付けるために、ページ内で最も大きなフォントサイズで表示されます。
すべてのページまたは質問に質問のタイトルが必要です。質問のタイトルは短くするか、質問の形式で記述します。
短いタイトルにすると、ユーザーが読みやすくなります。
非常に長い質問や、2 つの質問をネストすることは避けてください。
ユーザーが入力すべき情報を把握しやすくするため、質問のタイトルは必ず含めてください。
手順
[課題の詳細] は、質問のタイトルの下に表示される省略可能なテキスト フィールドです。
手順フィールドを使用して、質問が必須かどうか、選択できる数(1 つまたは複数)、すべての情報を入力できない場合や質問に回答できない場合にユーザーがすべきことなど、関連する手順を説明します。
質問が必須かどうか、選択できる数などを説明欄で知らせます。
すべてのフィールドを完了できないなどのシナリオにユーザーが遭遇した場合の対処方法を、手順に沿って説明します。
質問のタイトルで使用されている用語のコンテキストや定義を追加するために、手順を使用します。
ラベルテキスト
ラベルテキストは、テキスト フィールドまたはプルダウンでどのような情報が求められているかをユーザーに知らせます。フィールドを選択すると、ラベルテキストがテキスト フィールドの中央から上部に移動します。
すべてのテキスト フィールドとドロップダウン ボックスにはラベルが必要です。ラベルテキストは、短く、明確で、完全に表示されるようにします。
ラベルのテキストは短く、明確で、完全に表示されるようにします。
ラベルのテキストが長すぎたり、切り捨てられたり、複数行にわたったりしないようにします。
ユーザーが入力すべき情報を把握できるよう、テキスト フィールドには常にラベルを付けます。
エントリの形式
EntryFormat は、テキスト フィールドの下に表示され、入力する必要があるデータの特定の形式をユーザーに通知します。エラー メッセージは EntryFormat フィールドに表示され、既存の EntryFormat の指示に置き換わります。
日付、電話番号、単位、整数には EntryFormat を使用します。
フィールドの下に日付形式を表示し、説明的なフレーズを含めます。
データ形式が表示されないと、データが誤って入力される可能性があります。
医療範囲を入力する際は、基準値の例を示します。これにより、ユーザーはエラーや範囲外の数値を検出できます。
必須項目
必須項目は、ユーザーがその項目を完了する必要があることを示します。その項目が完了するまで、ユーザーは次のステップに進むことができません。
フィールドが必須であることを示すには、質問タイトルの末尾にアスタリスク(*)を表示します。アスタリスク(*)が何を示しているのかが誰にでもわかるわけではないため、説明欄に「必須の質問」と記載してください。質問のタイトルがない場合は、ラベル テキストにアスタリスク(*)を表示します。
アスタリスク(*)でフィールドが必須であることを示し、「必須の質問」であることを示す説明文を含めます。アスタリスク(*)の意味を理解していないユーザーも多いため、説明文があると便利です。
アスタリスク(*)のみを表示し、その意味の説明を記載しないことは避けてください。
ユーザーが最もよく知っている用語を使用します。例: 「必須」の代わりに「必須」という用語が一部の国でより一般的で、使用されている場合があります。
ほとんどの質問が必須の場合は、省略可能な質問を示します。
質問のタイトルがない場合は、ラベルテキストにアスタリスクを表示します。
ヘルプ
質問のタイトルの横にヘルプ アイコンが表示されます。アイコンをタップすると、追加情報を含むヘルプ情報ボックスが表示されます。アイコンをもう一度タップすると、ヘルプ情報ボックスが閉じます。
これはオプションのコンポーネントです。常に表示する必要のない追加情報を表示するのに役立つ場合にのみ使用します。
ユーザーが一度だけ確認する必要がある情報や、追加情報を提供する場合は、ヘルプを使用します。
すべてのユーザーに表示されるべき手順をヘルプボックス内に隠さないようにします。
データ キャプチャ
どのコンポーネントをいつ使用するか
| データ入力の種類 | ブール値の選択 | 単一選択 | 多肢選択式 | 選択肢を開く | プルダウン | 日付選択ツール | テキスト フィールド | スライダー | 予測入力 |
|---|---|---|---|---|---|---|---|---|---|
| [Yes] または [No] を選択します。 | |||||||||
| オプションを 1 つ選んでください | 注意 |
||||||||
| 複数のオプションを選択する | 注意 |
||||||||
| テキスト | |||||||||
| 日付 | |||||||||
| Numbers | 注意 |
テキスト フィールド
テキスト フィールドは、ユーザーが情報を入力できることを示します。
名前、電話番号、住所など、アンケートにテキストを入力する必要がある場合は、テキスト フィールドを使用します。事前入力された選択肢(複数選択または単一選択)を使用できる場合は、テキスト(キーボード)入力が必要なデータ入力を制限します。
一意の単語や数字の入力が必要なデータ入力には、テキスト フィールドを使用します。
複数選択、プルダウン、単一選択のいずれかで済む場合は、自由記述の回答の使用を避けてください。
単一選択とブール値の選択
単一選択とブール値選択は、ユーザーがオプションから 1 つの選択肢を選択するよう求められたときにラジオボタンとして表示される選択コントロールです。
「はい」または「いいえ」の二者択一の場合は、ブール値の選択を使用します。それ以外の場合は、単一選択コンポーネントを使用します。リストに 10 個以上のオプションがある場合は、単一選択ではなくプルダウンを使用します。オプションが多い場合は、プルダウンの方が密度が高く、操作しやすくなります。
オプションが「はい」と「いいえ」の場合、ブール値の選択を使用します。
ユーザーがリストから 1 つのオプションを選択できる場合は、単一選択を使用します。
長すぎるリスト(10 個以上)で単一選択を使用しないでください。代わりにプルダウンを使用してください。
日付選択ツール
日付選択ツールを使用すると、ユーザーはカレンダーの日付選択ツールとキーボードの両方で日付を入力できます。カレンダー アイコンをタップすると、カレンダーの日付選択ツールが有効になります。
カレンダーの日付選択ツールは、最終月経や次の受診日など、今日に近い日付にのみ使用してください。それ以外の場合は、生年月日などの日付のキーボード入力が優先されます。
日付を入力する際は、キーボード入力(テキスト ボックスをタップ)とカレンダーの日付選択ツール(アイコンをタップ)の両方を有効にします。
生年月日の入力方法としてカレンダーの日付選択ツールのみを有効にすることは避けてください。月と年への移動が難しい。
プルダウン
プルダウン メニューを使用すると、ユーザーは複数のオプションから選択できます。ユーザーが入力を開始すると、入力された内容に基づいてオプションがフィルタされます。これにより、ユーザーは長いリストから適切なオプションをすばやく見つけることができます。
プルダウン メニューは、選択肢のリストが非常に長い場合(10 個以上の選択肢がある場合)に、単一選択の代わりとして最適です。プルダウン メニューは、占有するスペースが少ないためです。
都道府県や市区町村の選択など、非常に長いオプションのリストから 1 つのオプションを選択する場合は、プルダウンを使用します。
年齢など、すべてのオプションをスクロールするよりも入力する方が簡単な場合は、プルダウンを使用しないでください。
多肢選択式
複数選択は、ユーザーがオプションのリストから複数の選択を行える場合にチェックボックスとして表示される選択コントロールです。
ユーザーが事前に決められたオプションのリストからのみ選択できる場合は、複数選択を使用します。ユーザーが自由回答を追加できる場合は、代わりにオープン選択コンポーネントを使用します。[手順] フィールドに「該当するものをすべて選択してください」と入力して、ユーザーが複数のオプションを選択できることを知らせます。
デフォルトでは、タップ可能な領域をわかりやすくするために、チェックボックスの周りにコンテナが表示されます。
スマートフォンの画面サイズや文字サイズはさまざまであるため、1 行に複数のオプションを表示すると、テキストが途中で切れてしまう可能性があります。
選択肢を開く
自由回答形式は多肢選択式に似ていますが、ユーザーが [その他] を選択して自由形式のテキストを入力できる機能が追加されています。
オープン選択は、オプションのリストが事前に設定されているが、ユーザーがオプションを追加することもできる場合に使用します。ほとんどの選択肢がわかっているが、提供された選択肢のいずれも当てはまらないため、一部のユーザーが [その他] を選択すると予想される場合は、オープン選択を使用します。
正確なデータを収集することが重要で、事前定義されたオプションのいずれも適用されない場合に使用します。例: 職業。
回答の大部分で [その他] を選択する必要がある場合は、使用を避けてください。その場合は、代わりにテキスト フィールドまたは段落フィールドを使用してください。
スライダー
スライダーを使用すると、ユーザーは値の範囲から選択できます。Android FHIR SDK のスライダーは離散スライダーです。離散スライダーを使用すると、ユーザーは事前に設定された範囲から特定の値を選択できます。利用可能な値を示すために、目盛りを使用できます。数値データの入力にスライダーを使用しない。 代わりに、テキスト フィールドまたはプルダウン メニューを使用してください。
範囲が大きい場合は、特定の値にスライダーを使用しないでください。代わりに、キーボード入力が可能なテキスト フィールドを使用してください。
データの検証とエラー
データの検証
データ検証では、テキスト フィールドに入力できるデータの種類や値を制限します。データ検証により、収集されるデータの品質を向上させることができます。
EntryFormat フィールドを使用して、形式または値の制限を表示します。ユーザーがエラーを修正できるように、意味のあるデータ検証エラー メッセージをインラインですぐに表示します。
データ検証の制限を事前に表示して、ユーザーがデータを入力する方法を把握できるようにします。
電話番号に必要な桁数が表示されないと、ユーザーがエラーに遭遇する可能性が高く、完了までに時間がかかります。
フィールドの入力が完了したら、すぐに意味のあるデータ検証エラーを表示します。エラー メッセージは、既存のエントリ形式のテキストを置き換えます。
ユーザーが [送信] を押すまで待ってから、検証エラーを初めて表示しないでください。
エラー
エラー メッセージは、問題が発生したときにユーザーに警告し、問題を解決する方法を伝えます。
色、アイコン、テキストを使用してエラーを伝えます。
エラーが発生した理由(必須の質問)と、エラーを修正するためにできること(1 つ選択)を説明します。
「エラー」のみのエラー メッセージでは、ユーザーがエラーを修正する方法を知るうえで役に立ちません。
例: 「日付形式が間違っています。形式は dd/mm/yyyy".
「あなた」を含むエラー メッセージでユーザーを責めることは避けてください。例: 「日付の形式が間違っています。」
色、アイコン、テキストを使用して、エラーが発生したことをユーザーに知らせます。
赤緑色覚異常などの一般的な視覚障がいをサポートするため、エラーを伝えるために色のみに依存することは避けてください。
アイコンは 1 つで十分な場合が多いです。エラーを伝えるためにアイコンを過度に使用しないでください。
