Introduction
Les applications fonctionnant hors connexion donnent aux professionnels de santé l'accès aux outils dont ils ont besoin pour fournir des soins de qualité, même lorsqu'ils ne sont pas connectés à Internet. Les applications hors connexion sont utiles pour les professionnels de santé qui travaillent dans des environnements communautaires où la connectivité n'est pas fiable ou dans un établissement de santé ne disposant pas d'un accès à Internet. Les applications hors connexion peuvent également contribuer à réduire les coûts liés aux données.
S'ils ne peuvent pas utiliser une application hors connexion, ils risquent de ne pas pouvoir accomplir des tâches importantes. Cela peut les empêcher d'utiliser l'application et perdre des données. Avec la bibliothèque FHIR Engine et ces consignes de conception, nous visons à améliorer l'expérience utilisateur des applications de santé compatibles hors connexion afin qu'elles soient fiables et faciles à utiliser.
Principes clés de l'activité hors connexion
Tenez compte de ces principes lorsque vous créez des applications de santé hors connexion:
- Les applications pour les professionnels de santé communautaires doivent être conçues pour une expérience orientée hors connexion.
- Assurez-vous que les utilisateurs peuvent effectuer leur workflow principal hors connexion.
- Informez les utilisateurs de la fréquence à laquelle ils doivent se connecter à Internet pour synchroniser leur appareil.
Synchronisation initiale
Votre application peut nécessiter une synchronisation initiale pour télécharger des tâches ou une liste de patients avant qu'un professionnel de santé ne puisse commencer à utiliser l'application. Si tel est le cas, faites de la synchronisation initiale une étape distincte lorsque les professionnels de santé commencent à utiliser l'application. Indiquez où et quand procéder ainsi qu'une estimation du temps nécessaire. Indiquez si l'application doit être ouverte ou si les professionnels de santé peuvent effectuer d'autres actions sur leur appareil pendant la synchronisation.
![Synchroniser mes tâches. Cette opération peut prendre jusqu'à une heure en fonction de votre connexion Internet. Trois étapes. 1. Connectez-vous à un réseau Wi-Fi ou de données mobiles. 2. Laissez l'appareil dans un endroit offrant une bonne réception Internet. 3. Vous pouvez effectuer d'autres actions sur l'appareil pendant la synchronisation. Bouton : "Synchroniser mes tâches".](https://developers.google.cn/static/open-health-stack/design/images/sync/initial-sync-do.png?hl=fr)
Précisez clairement le temps que vous devrez patienter.
![Vider l'écran de mes tâches sans instructions Barre de synchronisation et roue de chargement.](https://developers.google.cn/static/open-health-stack/design/images/sync/initial-sync-dont.png?hl=fr)
Ne lancez pas la synchronisation initiale sans donner d'informations sur ce qui vous attend.
Barre d'état
La barre d'état indique si l'appareil est hors connexion ou en synchronisation. La barre d'état s'affiche dans les cas suivants:
- L'appareil est hors connexion, car il n'y a pas de connexion Internet
- Les données sont en cours de synchronisation
- Échec de la synchronisation
- Synchronisation terminée
N'affichez la barre d'état que lorsque cela est pertinent : sur les pages ou autour des composants qui changeront une fois la synchronisation des données terminée. Par exemple, l'état est important lorsque vous consultez une liste de tâches, effectuez une recherche dans une liste de patients ou chargez une fiche patient, afin que le travailleur de santé puisse déterminer si les dernières informations ont été synchronisées ou non.
![Barre d'état grise avec l'état "Hors connexion" écrit](https://developers.google.cn/static/open-health-stack/design/images/sync/status-offline-do.png?hl=fr)
Affichez l'état hors connexion si nécessaire, par exemple lors du chargement de la liste des patients.
![Barre d'état rouge, avec une icône d'erreur et l'inscription "Hors connexion".](https://developers.google.cn/static/open-health-stack/design/images/sync/status-offline-dont.png?hl=fr)
Évitez que la barre d'état de connectivité ressemble à un état d'erreur.
![Barre d'état bleu clair avec icône de synchronisation et état de synchronisation écrits.](https://developers.google.cn/static/open-health-stack/design/images/sync/status-syncing.png?hl=fr)
Lorsque la connectivité est établie, indiquez dans la barre d'état que l'application est en cours de synchronisation.
![Barre d'état gris clair avec icône en forme de coche et synchronisation terminée.](https://developers.google.cn/static/open-health-stack/design/images/sync/status-sync-done.png?hl=fr)
Affichez la confirmation de la synchronisation en remplaçant l'icône par une coche, et en modifiant la couleur et le texte dans la barre d'état. Cela permet aux utilisateurs de savoir que les informations ont été renseignées.
![Barre d'état jaune clair avec icône et échec de synchronisation écrits.](https://developers.google.cn/static/open-health-stack/design/images/sync/status-sync-failed.png?hl=fr)
Si la synchronisation ne s'est pas terminée, affichez-la. Si l'échec de la synchronisation est dû au fait que l'application est hors connexion, définissez l'état sur hors connexion. Il est important que les utilisateurs sachent ce qui se passe.
Schémas de synchronisation
La synchronisation s'effectue en arrière-plan pour importer et télécharger des données depuis et vers le serveur. Le comportement de synchronisation ne doit pas distraire l'utilisateur.
Les intervalles de synchronisation doivent être définis en fonction de seuils pertinents pour le paramètre de santé dans lequel l'application est utilisée. Exemple: synchronisation toutes les 12 heures dans une communauté ou toutes les 15 minutes dans un établissement de santé. Le fait de définir des intervalles de synchronisation automatiques adaptés réduit le besoin d'effectuer une synchronisation manuelle.
![Message de snack bar: Vous êtes hors connexion. Les mises à jour seront importées lorsque l'appareil se reconnectera.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-reassure.png?hl=fr)
Informez les utilisateurs que même si l'application est hors connexion, ils peuvent effectuer leurs tâches et que les modifications seront importées lorsque la connectivité sera rétablie.
![Message de la barre d'état gris clair: nouvelle tentative dans 3 minutes et 22 secondes.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-distract.png?hl=fr)
Évitez d'entrer dans les détails du moment où la synchronisation va réessayer de se connecter à Internet.
![Synchronisation de la carte patient.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-prioritize.png?hl=fr)
Donnez la priorité aux données synchronisées pour que les professionnels de santé puissent terminer leur workflow. Exemple: dans un établissement où les patients sont transmis à un autre professionnel de santé, veillez à synchroniser en priorité la fiche patient qui vient d'être complétée.
![Liste des patients en cours de synchronisation avec 340 patients.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-irrelevant.png?hl=fr)
Évitez de synchroniser d'abord les informations non pertinentes, comme la liste complète des patients ou l'historique de vos visites, sans rapport avec les tâches du jour.
Indicateur de progression de la synchronisation
Un indicateur de progression de la synchronisation s'affiche lorsque le contenu est synchronisé à partir du serveur. L'indicateur de progression doit indiquer visuellement que la synchronisation fonctionne.
Ajoutez un indicateur de progression uniquement sur les écrans clés, comme la liste des patients ou la fiche patient. Estimez la durée de la synchronisation en indiquant le pourcentage de téléchargements téléchargés.
![Barre de progression qui indique 35% du téléchargement.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-progress-bar.png?hl=fr)
Barre de chargement qui indique clairement que la progression est en cours.
![Roue de chargement qui tourne.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-progress-wheel.png?hl=fr)
Évitez les roues de chargement. Nous n'avons pas pu déterminer si elle est au point d'arrêt ou si elle progresse.
Synchroniser les codes temporels
Les codes temporels de synchronisation indiquent aux professionnels de santé la date de la dernière mise à jour des informations. Les horodatages aident les professionnels de santé à:
- Déterminez s'ils consultent les informations les plus récentes.
- Vérifiez si l'application se synchronise et se met à jour comme prévu.
- Assurez la continuité des soins en reprenant là où le travailleur précédent s'était arrêté.
Utilisez les horodatages avec parcimonie et ne s'affichent que lorsque cela est essentiel (dans la liste des tâches ou la fiche patient, par exemple).
![La dernière mise à jour de la fiche patient a eu lieu aujourd'hui à 12h31.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-time-relevant.png?hl=fr)
Affichez la date de la dernière mise à jour des informations (et affichez-les en contexte) pour indiquer aux utilisateurs si la synchronisation date de trop longtemps.
![Le code temporel de synchronisation (23 mai 2022, 12h31) est affiché sur chaque ligne de contenu de la fiche patient. Par exemple, pour le numéro de mobile, le numéro d'identification et l'adresse.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-time-all.png?hl=fr)
N'affichez pas l'horodatage pour toutes les données, comme la date de mise à jour du numéro de téléphone. Évitez de lister les données qui ont été synchronisées trop longtemps. La précision de l'heure et de la date est trop élevée si elles se sont écoulées depuis plus de 24 heures.
Rappels de synchronisation
Les rappels de synchronisation s'affichent lorsque l'appareil est hors connexion depuis trop longtemps ou lorsque l'utilisateur doit effectuer une action pour le synchroniser.
Utilisez des rappels pour indiquer aux utilisateurs qu'ils ont besoin de synchroniser l'application et comment procéder.
![Boîte de dialogue. Modifications importantes depuis la dernière synchronisation. Connectez-vous à un réseau de données ou Wi-Fi pour terminer la synchronisation. Bouton: Plus tard, Bouton: Synchroniser maintenant](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-friendly.png?hl=fr)
Rappelez aux participants à un intervalle choisi de synchroniser leurs données, le cas échéant. Utilisez un ton amical lorsque vous expliquez la nécessité de synchroniser.
![Boîte de dialogue. Synchronisez immédiatement. Vous avez 12 heures de retard. Connectez-vous à un réseau de données ou Wi-Fi pour terminer la synchronisation. Bouton: Plus tard, Bouton: Synchroniser maintenant](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-rude.png?hl=fr)
Évitez les communications alarmistes ou la gêne envers les personnes qui n'ont pas effectué de synchronisation.
![Boîte de dialogue. 24 heures depuis la dernière synchronisation. Veuillez relancer la synchronisation. Connectez-vous à un réseau de données ou Wi-Fi pour terminer la synchronisation. Bouton: Plus tard, Bouton: Synchroniser maintenant](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-occasional.png?hl=fr)
Rappelez de temps en temps aux utilisateurs de synchroniser leur appareil lorsque celui-ci dépasse le seuil défini pour le type de paramètre de santé (établissement ou communauté).
![Boîte de dialogue. 1 heure depuis la dernière synchronisation. Veuillez relancer la synchronisation. Connectez-vous à un réseau de données ou Wi-Fi pour terminer la synchronisation. Bouton: Plus tard, Bouton: Synchroniser maintenant](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-frequent.png?hl=fr)
Un trop grand nombre de rappels peut être ennuyeux et frustrer les utilisateurs. N'envoyez un message d'erreur que lorsqu'une action est urgente.
Synchronisation manuelle
La synchronisation manuelle remplace les paramètres de synchronisation par défaut et autorise les utilisateurs à effectuer la synchronisation maintenant. Pour ce faire, accédez à la page de synchronisation manuelle ou directement sur la fiche patient. La page de synchronisation indique quand la dernière synchronisation s'est produite et quand la prochaine synchronisation est planifiée. Dans l'idéal, les intervalles de synchronisation automatiques réduisent au minimum la nécessité d'effectuer une synchronisation manuelle.
La synchronisation manuelle peut être utile pour les professionnels de santé qui sont dans la communauté toute la journée et qui souhaitent se synchroniser avec une meilleure connectivité lorsqu'ils sont de retour à la maison.
![Historique indiquant le code temporel de la dernière synchronisation et celui de la prochaine synchronisation.](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-history.png?hl=fr)
Sur la page des synchronisations manuelles, indiquez l'heure de la dernière synchronisation et celle de la prochaine synchronisation. Inclure un bouton "Synchroniser maintenant"
![Aucun historique des synchronisations affiché, uniquement un bouton "Synchroniser maintenant".](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-history-none.png?hl=fr)
En l'absence d'historique des synchronisations, il est difficile pour les professionnels de santé de résoudre les problèmes et de savoir à quoi s'attendre.
![Bouton "Synchroniser" affiché sur la fiche patient.](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-patient.png?hl=fr)
Lorsque des professionnels de santé se retransmettent entre eux des patients, offrez-leur la possibilité de synchroniser immédiatement le dossier patient en affichant un bouton "Synchroniser maintenant" sur la fiche patient. Vous pouvez également réaliser cette opération à l'aide d'une synchronisation basée sur les événements.
![Bouton "Synchroniser" affiché à côté du numéro de mobile sur la fiche patient.](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-everything.png?hl=fr)
Évitez de permettre aux utilisateurs de sélectionner des données spécifiques à synchroniser. Elle est trop complexe et trop précise.
Messages d'erreur et dépannage
Des messages d'erreur s'affichent en cas d'échec de l'exécution d'une fonction, par exemple lorsqu'il n'y a pas de patient dans la liste des patients.
Affichez le message d'erreur sur l'écran approprié. Aidez les utilisateurs à résoudre les problèmes en fournissant une description claire de ce qui ne fonctionne pas et de ce qui ne fonctionne pas. Donnez ensuite des instructions sur la façon de résoudre le problème. Si la première solution ne fonctionne pas, fournissez une deuxième série d’instructions sur ce qu’il faut essayer. Proposez toujours aux utilisateurs des moyens supplémentaires d'obtenir de l'aide, par message ou par téléphone.
![Boîte de dialogue. Aucune tâche disponible. Synchronisez la liste de tâches. Vérifiez si vous êtes connecté à un réseau de données ou Wi-Fi. Accédez à Paramètres > Réseau et Internet. Revenez à l’application et tapotez sur Synchroniser maintenant. Bouton: plus tard, Bouton: synchroniser maintenant.](/static/open-health-stack/design/images/sync/sync-error-actionable.png)
Utilisez un message d'erreur décrivant le problème et les étapes à suivre pour le résoudre. Inclure des instructions sur la façon de naviguer dans les paramètres système.
![Boîte de dialogue. Erreur. Un problème est survenu. Bouton: réessayez.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-error-unhelpful.png?hl=fr)
Évitez les messages d'erreur génériques qui n'expliquent pas le problème ou ne proposent pas de suggestions pour le résoudre.