Introduction

Remplir des questionnaires est une tâche essentielle pour la plupart des professionnels de santé qui utilisent des applications mobiles de santé.
La saisie de données peut être difficile et des erreurs peuvent se produire. Notre objectif avec la bibliothèque SDC (Structured Data Capture) et les consignes de conception est de vous permettre d'améliorer l'expérience utilisateur lors de la saisie de données et la qualité des données collectées.
Les quatre thèmes abordés dans cette section sont les suivants :
- Mise en page et navigation
- Questions et instructions
- Capture de données
- Validation des données et messages d'erreur
Mise en page et navigation

Disposition à défilement long et paginée
Le SDK Android FHIR propose deux options de mise en page :
- Défilement long (par défaut)
- Paginée
Un questionnaire à défilement long affiche toutes les questions sur une seule page. Les utilisateurs accèdent à chaque question en faisant défiler la page.
Un questionnaire paginé affiche le contenu sur plusieurs pages. Les questions ou les champs de saisie associés peuvent être regroupés sur une même page. Les boutons "Précédent" et "Suivant" sont ancrés en bas de la page pour vous permettre de naviguer entre les pages.
Découvrez comment paginer un questionnaire sur GitHub.
Quelle mise en page choisir ?
Chaque option de mise en page présente des avantages et des inconvénients. Vous trouverez ci-dessous quelques attributs de chaque type de mise en page à prendre en compte lorsque vous choisissez la mise en page à utiliser.
| Défilement long | Paginée | |
|---|---|---|
| Vitesse de navigation | Navigation plus rapide | Navigation plus lente |
| Précision de la navigation | Navigation moins précise | Navigation plus précise |
| Recentrer l'attention sur la question après avoir changé de tâche | Difficulté à se réorienter après une interruption | Réorientation plus facile après une interruption |
| Remplir le questionnaire numérique après la visite (en copiant les informations du questionnaire papier) | Plus facile lors de la copie à partir d'un document papier | Plus difficile lors de la copie à partir d'un document papier |
| Petits écrans | Moins adapté aux petits écrans | Mieux adapté aux petits écrans |
| Accessibilité | Moins accessible. La navigation est difficile. | Meilleure accessibilité. Écrans distincts pouvant être gérés par les lecteurs d'écran, la synthèse vocale et d'autres technologies. |
| Espace pour les instructions et les explications | Moins bien pour les conseils et les instructions | Idéal pour les conseils et les instructions |
Défilement long
Numérotez les questions pour faciliter la navigation dans une mise en page sur une seule page.
Réduisez la taille de la police des titres des questions lorsque vous utilisez le défilement long, afin que plus de contenu soit visible à l'écran. Exemple : Le défilement long est de 16 px. 28 px pour les pages paginées.
Pagination
Les claviers, les menus déroulants et les autres composants prennent de la place sur la page. Essayez donc de ne poser qu'une seule question par page.
Le contenu doit être visible au-dessus de la ligne de flottaison.
Exemple : Ces trois champs de texte sont tous liés aux informations sur la personne à contacter en cas d'urgence. Ils sont donc regroupés sur une même page.
Évitez de regrouper des contenus sans rapport sur une même page pour éviter toute confusion.
Indicateur de progression
L'indicateur de progression reflète la progression dans un questionnaire.
Incluez un indicateur de progression dans les longs questionnaires pour aider les utilisateurs à s'y retrouver et à suivre leur progression. Les indicateurs de progression indiquent l'emplacement dans un questionnaire et la quantité restante à remplir.
Positionnez-le en haut, au-dessus de la question, et ancrez-le pour qu'il soit toujours visible, même lors du défilement.
Can position at the bottom instead, above the back and next buttons. Avec cette mise en page, vous pouvez également afficher la page sur laquelle se trouve l'utilisateur.
Boutons de navigation
Les boutons de navigation (précédent, suivant) sont ancrés en bas du questionnaire. Dans un questionnaire à défilement infini ou sur la dernière page d'un questionnaire paginé, le bouton "Suivant" est intitulé "Envoyer".
Placez les boutons toujours au même endroit et utilisez toujours des boutons actifs dont le libellé indique l'action, comme "Retour" et "Suivant".
Affichez toujours les boutons actifs, même si les formulaires sont incomplets. Lorsque l'utilisateur appuie sur "Suivant", affichez une boîte de dialogue pop-up contenant des instructions pour remplir les champs manquants ou corriger les erreurs de validation.
Les boutons inactifs empêchent les utilisateurs de savoir comment résoudre le problème.
Évitez les boutons avec icône uniquement. Libellez toujours les boutons avec une action descriptive.
Questions et instructions
- Titre du questionnaire.
- Indicateur de progression.
- En-tête de groupe.
- Titre de la question.
- Instructions.
- Champ de saisie.
- Format de l'entrée.
- Champs obligatoires.
- Aide.
En-tête de groupe
L'en-tête de groupe est un en-tête de texte qui s'affiche au-dessus des titres des questions.
Utilisez l'en-tête de groupe pour regrouper les questions similaires. N'utilisez l'en-tête de groupe que s'il ajoute des informations utiles.
Utilisez un titre court pour regrouper des questions similaires. Exemple : toutes les questions liées aux antécédents du patient sont regroupées.
Évitez les titres complexes ou longs qui dépassent une ligne.
Intitulé de la question
Le titre de la question décrit brièvement les informations demandées. Les titres des questions sont affichés dans la plus grande taille de police de la page pour attirer l'attention de l'utilisateur sur la question.
Chaque page ou question doit avoir un titre. Les titres des questions doivent être courts ou formulés sous forme de question.
Les titres courts facilitent la lecture pour les utilisateurs.
Évitez les questions trop longues ou d'imbriquer deux questions.
Incluez toujours un titre de question pour que les utilisateurs sachent plus facilement quelles informations ils doivent saisir.
Instructions
Instructions est un champ de texte facultatif qui s'affiche sous le titre de la question.
Utilisez le champ Instructions pour expliquer les instructions pertinentes, par exemple si la question est obligatoire, combien de sélections peuvent être effectuées (une ou plusieurs) et ce que les utilisateurs doivent faire s'ils ne peuvent pas fournir toutes les informations ou répondre à la question.
Utilisez le champ d'instructions pour indiquer si une question est obligatoire et combien de sélections peuvent être effectuées.
Utilisez des instructions pour indiquer aux utilisateurs ce qu'ils doivent faire s'ils rencontrent un scénario comme l'impossibilité de remplir tous les champs.
Utilisez les instructions pour fournir du contexte ou des définitions supplémentaires pour les termes utilisés dans le titre de la question.
Ajouter une étiquette au texte
Le texte du libellé indique aux utilisateurs les informations demandées pour un champ de texte ou un menu déroulant. Lorsque le champ est sélectionné, le texte du libellé passe du milieu au haut du champ de texte.
Chaque champ de texte et chaque menu déroulant doivent comporter un libellé. Le texte du libellé doit être court, clair et entièrement visible.
Le texte des libellés doit être court, clair et entièrement visible.
Le texte du libellé ne doit pas être trop long, tronqué ni s'étaler sur plusieurs lignes.
Étiquetez toujours le champ de texte pour que les utilisateurs sachent quelles informations saisir.
Format des entrées
EntryFormat s'affiche sous le champ de texte pour informer les utilisateurs du format spécifique dans lequel les données doivent être saisies. Les messages d'erreur s'affichent dans le champ "EntryFormat" et remplacent les instructions "EntryFormat" existantes.
Utilisez EntryFormat pour les dates, les numéros de téléphone, les unités et les nombres entiers.
Afficher le format de date sous le champ et inclure une expression descriptive.
Si les formats de données ne sont pas affichés, les données peuvent être saisies de manière incorrecte.
Lorsque vous saisissez des plages médicales, fournissez des exemples de la plage normale. Cela peut aider les utilisateurs à détecter les erreurs ou les nombres hors plage.
Champs obligatoires
Les champs obligatoires indiquent qu'un utilisateur doit remplir le champ et qu'il ne peut pas passer à l'étape suivante tant qu'il ne l'a pas fait.
Pour indiquer qu'un champ est obligatoire, affichez un astérisque (*) à la fin du titre de la question. Incluez "question obligatoire" dans le champ d'instructions, car tout le monde ne sait pas ce que signifie un astérisque (*). Si le titre de la question est absent, affichez l'astérisque (*) dans le texte du libellé.
Indiquez que le champ est obligatoire avec un astérisque (*) et incluez des instructions écrites indiquant "Question obligatoire". De nombreuses personnes ne savent pas ce que signifie l'astérisque(*) et apprécieraient cette explication.
Évitez d'afficher uniquement l'astérisque (*) sans aucune description écrite de sa signification.
Utilisez les termes les plus familiers pour vos utilisateurs. Exemple : "Obligatoire" est un terme plus courant et utilisé dans certains pays à la place de "Requis".
Si la plupart des questions sont obligatoires, indiquez celles qui sont facultatives.
Si aucun titre de question n'est défini, affichez l'astérisque dans le texte du libellé.
Aide
Une icône Aide s'affiche à côté du titre de la question. Lorsque vous appuyez sur l'icône, une boîte d'aide s'affiche avec des informations supplémentaires. Appuyez de nouveau sur l'icône pour fermer la boîte d'informations d'aide.
Il s'agit d'un élément facultatif. À utiliser uniquement lorsque cela est utile pour afficher des informations supplémentaires qui n'ont pas besoin d'être toujours visibles.
Utilisez l'aide pour les informations que les utilisateurs n'ont peut-être besoin de voir qu'une seule fois ou qui fournissent des informations supplémentaires.
Évitez de masquer dans la zone d'aide les instructions qui devraient être visibles par tous.
Capture de données
Quand utiliser quel composant ?
| Type de saisie de données | Choix booléen | Choix unique | Choix multiples | Choix ouvert | Menu déroulant | Sélecteur de date | Champ de texte | Curseur | Saisie semi-automatique |
|---|---|---|---|---|---|---|---|---|---|
| Sélectionnez "Oui" ou "Non" | |||||||||
| Sélectionnez une option | attention |
||||||||
| Sélectionner plusieurs options | attention |
||||||||
| Texte | |||||||||
| Dates | |||||||||
| Numbers | attention |
Champs de texte
Les champs de texte indiquent que les utilisateurs peuvent saisir des informations.
Utilisez des champs de texte lorsqu'une personne doit saisir du texte dans le questionnaire, comme un nom, un numéro de téléphone ou une adresse. Limitez la saisie de données nécessitant la saisie de texte (au clavier) lorsqu'une sélection préremplie (choix multiple ou choix unique) peut être utilisée à la place.
En savoir plus sur les champs de texte sur material.io
Utilisez des champs de texte pour saisir des données qui nécessitent de saisir des mots ou des nombres uniques.
Évitez d'utiliser des réponses en texte libre lorsqu'il pourrait s'agir d'une sélection à choix multiples, d'un menu déroulant ou d'une sélection à choix unique.
Choix unique et choix booléen
Les options Choix unique et Choix booléen sont des commandes de sélection qui s'affichent sous forme de cases d'option lorsque les utilisateurs sont invités à sélectionner un choix parmi plusieurs options.
Utilisez boolean choice (choix booléen) lorsqu'il s'agit d'un choix binaire (oui ou non). Sinon, utilisez le composant single choice. Si la liste comporte plus d'une dizaine d'options, utilisez une liste déroulante au lieu d'une sélection unique. Un menu déroulant est plus dense et plus facile à parcourir lorsqu'il comporte de nombreuses options.
Use Boolean choice when the options are 'yes' and 'no'.
Utilisez le choix unique lorsque les utilisateurs peuvent sélectionner une option dans la liste.
Évitez la sélection unique pour les listes très longues (10 éléments ou plus). Utilisez plutôt un menu déroulant.
Sélecteur de date
Le sélecteur de date permet aux utilisateurs de saisir des dates à l'aide du sélecteur de date du calendrier et du clavier. Le sélecteur de date du calendrier est activé lorsque l'utilisateur appuie sur l'icône du calendrier.
N'utilisez le sélecteur de date du calendrier que pour les dates proches de la date du jour, comme la date des dernières règles ou de la prochaine visite. Sinon, privilégiez la saisie au clavier pour les dates, comme la date de naissance.
Pour saisir des dates, activez à la fois la saisie au clavier (en appuyant sur la zone de texte) et le sélecteur de date du calendrier (en appuyant sur l'icône).
Évitez d'utiliser le sélecteur de date de l'agenda comme seule méthode de saisie des dates de naissance. Il est difficile d'accéder au mois et à l'année souhaités.
Menu déroulant
Les menus déroulants permettent aux utilisateurs de faire un choix parmi plusieurs options. À mesure que l'utilisateur saisit du texte, les options sont filtrées en fonction de ce qui est saisi. Cela peut aider les utilisateurs à trouver rapidement la bonne option dans une longue liste.
Les menus déroulants sont une excellente alternative aux questions à choix unique lorsque la liste d'options est très longue (plus de 10 options), car ils prennent moins de place.
Utilisez un menu déroulant pour sélectionner une option dans une très longue liste d'options, par exemple pour sélectionner un État ou une ville.
Évitez d'utiliser un menu déroulant lorsqu'il serait plus facile de saisir le contenu plutôt que de faire défiler toutes les options, comme l'âge.
Choix multiples
Choix multiples est un contrôle de sélection qui s'affiche sous forme de cases à cocher lorsque les utilisateurs peuvent effectuer plusieurs sélections dans une liste d'options.
Utilisez le choix multiple lorsque les utilisateurs ne peuvent sélectionner qu'une option dans une liste prédéterminée. Si les utilisateurs peuvent également ajouter leur propre réponse libre, utilisez plutôt le composant open choice. Dans le champ Instructions, saisissez "Sélectionnez toutes les réponses qui s'appliquent" pour indiquer aux utilisateurs qu'ils peuvent sélectionner plusieurs options.
L'apparence par défaut est un conteneur autour des cases à cocher pour rendre la zone cliquable évidente.
Évitez d'afficher plusieurs options par ligne. En effet, en raison de la variation de la taille de l'écran et du texte des téléphones, le texte peut être coupé.
Choix ouvert
Choix ouvert : ce type de question est semblable à la question à choix multiples, mais il permet à l'utilisateur de sélectionner Autre et de saisir du texte libre.
Utilisez choix ouvert lorsqu'il existe une liste d'options prédéfinie, mais que les utilisateurs peuvent également ajouter d'autres options. Utilisez Choix ouvert lorsque la majorité des options sont connues, mais que vous prévoyez que certains utilisateurs sélectionneront Autre, car aucune des options fournies ne s'applique.
Utiliser lorsque la collecte de données précises est importante et qu'aucune des options prédéfinies ne s'applique. Exemple : profession.
Évitez d'utiliser cette option si la majorité des réponses nécessitent de sélectionner Autre. Dans ce cas, utilisez plutôt un champ de texte ou un champ de paragraphe.
Curseur
Les curseurs permettent aux utilisateurs de faire des sélections à partir d'une plage de valeurs. Le curseur du SDK Android FHIR est un curseur discret. Un curseur discret permet aux utilisateurs de sélectionner une valeur spécifique dans une plage prédéterminée. Des coches peuvent être utilisées pour indiquer les valeurs disponibles. Évitez d'utiliser le curseur pour saisir des données numériques. Utilisez plutôt un champ de texte ou un menu déroulant.
En savoir plus sur les curseurs sur material.io
Évitez d'utiliser le curseur pour des valeurs spécifiques lorsque la plage est étendue. Utilisez plutôt des champs de texte avec saisie au clavier.
Validation des données et erreurs
Validation des données
Les validations de données limitent le type de données ou les valeurs qui peuvent être saisies dans un champ de texte. La validation des données peut améliorer la qualité des données collectées.
Utilisez le champ EntryFormat pour afficher les restrictions de format ou de valeur. Affichez des messages d'erreur de validation de données pertinents en ligne et immédiatement pour que les utilisateurs puissent corriger l'erreur.
Affichez les restrictions de validation des données à l'avance pour que les utilisateurs sachent comment les saisir.
Si le nombre de chiffres requis pour le numéro de téléphone n'est pas indiqué, les utilisateurs sont susceptibles de rencontrer une erreur et de mettre plus de temps à effectuer la tâche.
Afficher des erreurs de validation de données pertinentes immédiatement après avoir rempli le champ. Les messages d'erreur remplacent le texte du format d'entrée existant.
N'attendez pas que l'utilisateur appuie sur "Envoyer" pour afficher les erreurs de validation pour la première fois.
Erreurs
Les messages d'erreur alertent les utilisateurs en cas de problème et leur indiquent comment le résoudre.
Utilisez la couleur, l'iconographie et le texte pour communiquer les erreurs.
En savoir plus sur les messages d'erreur sur material.io
Explain why there’s an error (required question) and what can be done to fix it (select one.)
Un message d'erreur qui indique simplement "erreur" n'aide pas les utilisateurs à savoir comment résoudre le problème.
Exemple : "Format de date incorrect. Le format doit être jj/mm/aaaa."
Évitez de blâmer l'utilisateur avec des messages d'erreur qui incluent "vous". Exemple : "Vous avez saisi un format de date incorrect."
Utilisez la couleur, l'iconographie et le texte pour informer les utilisateurs qu'une erreur s'est produite.
Pour prendre en charge les déficiences visuelles courantes telles que le daltonisme rouge-vert, évitez de vous fier uniquement à la couleur pour communiquer une erreur.
Une seule icône suffit souvent. N'abusez pas des icônes pour communiquer l'erreur.
