Introduzione
Le app che funzionano offline offrono agli operatori sanitari l'accesso agli strumenti di cui hanno bisogno per fornire un'assistenza di qualità, anche quando non sono connessi a internet. Le app offline sono utili per gli operatori sanitari che lavorano in ambienti di comunità in cui la connettività è inaffidabile o che si trovano in una struttura sanitaria senza accesso a internet. Le app offline possono anche contribuire a ridurre i costi dei dati.
Se gli operatori sanitari non possono utilizzare un'app offline, potrebbero non essere in grado di completare le attività importanti. Ciò può comportare il mancato utilizzo dell'app da parte degli operatori sanitari e la perdita di dati. Con la libreria FHIR Engine e queste linee guida di progettazione, il nostro obiettivo è migliorare l'esperienza utente delle app per la salute offline in modo che siano affidabili e facili da usare.
Principi chiave offline
Considera questi principi quando crei app per la salute offline:
- Le app per gli operatori sanitari della comunità devono essere progettate per offrire un'esperienza offline.
- Assicurati che gli utenti possano completare il flusso di lavoro principale offline.
- Comunica agli utenti con quale frequenza devono andare online per sincronizzare il proprio dispositivo.
Sincronizzazione iniziale
La tua app potrebbe richiedere una sincronizzazione iniziale per scaricare attività o un elenco di pazienti prima che un operatore sanitario possa iniziare a utilizzare l'app. In questo caso, effettua la sincronizzazione iniziale un passaggio distinto all'interno degli operatori sanitari per iniziare a utilizzare l'app. Fornisci indicazioni su dove e quando farlo, oltre a una stima del tempo necessario. Spiega se l'app deve essere aperta o se gli operatori sanitari possono svolgere altre operazioni sul loro dispositivo durante la sincronizzazione.
![Sincronizza le mie attività. Questa operazione può richiedere fino a un'ora, a seconda della connessione a internet. Tre passaggi. 1. Collegati a una rete Wi-Fi o dati. 2. Lascia il dispositivo in un luogo con una buona ricezione Internet. 3. Puoi svolgere altre attività sul dispositivo durante la sincronizzazione. Pulsante: sincronizza le mie attività.](https://developers.google.cn/static/open-health-stack/design/images/sync/initial-sync-do.png?hl=it)
Fornisci aspettative chiare sul tempo necessario.
![Vuoto la schermata Le mie attività senza istruzioni. Barra di sincronizzazione e rotellina di caricamento.](https://developers.google.cn/static/open-health-stack/design/images/sync/initial-sync-dont.png?hl=it)
Non avviare la sincronizzazione iniziale senza fornire informazioni sul previsto.
Barra di stato
La barra di stato indica se il dispositivo è offline o se è in corso la sincronizzazione. La barra di stato viene visualizzata quando:
- Il dispositivo è offline per assenza di connessione a internet
- Sincronizzazione attiva dei dati
- Sincronizzazione non riuscita
- Sincronizzazione completata
Mostra la barra di stato solo se pertinente: sulle pagine o intorno ai componenti che cambieranno al termine della sincronizzazione dei dati. Ad esempio, lo stato è importante quando si esamina un elenco di attività, si cerca un elenco di pazienti o si carica una scheda paziente, in modo che l'operatore sanitario possa riconoscere se le informazioni più recenti sono state sincronizzate o meno.
![Barra di stato grigia con scrittura offline.](https://developers.google.cn/static/open-health-stack/design/images/sync/status-offline-do.png?hl=it)
Mostra lo stato offline se pertinente, ad esempio durante il caricamento dell'elenco dei pazienti.
![Barra di stato rossa con l'icona di errore e la scritta offline.](https://developers.google.cn/static/open-health-stack/design/images/sync/status-offline-dont.png?hl=it)
Evita che la barra di stato della connettività appaia come uno stato di errore.
![Barra di stato azzurra con l'icona di sincronizzazione e la sincronizzazione scritti.](https://developers.google.cn/static/open-health-stack/design/images/sync/status-syncing.png?hl=it)
Una volta stabilita la connettività, viene mostrato che l'app è in fase di sincronizzazione nella barra di stato.
![Barra di stato di colore grigio chiaro con l'icona del segno di spunta e la sincronizzazione completata scritta.](https://developers.google.cn/static/open-health-stack/design/images/sync/status-sync-done.png?hl=it)
Per mostrare la conferma del completamento della sincronizzazione, sostituisci l'icona con un segno di spunta e modifica il colore e il testo nella barra di stato. Questo aiuta gli utenti a sapere che le informazioni sono state completate.
![Barra di stato di colore giallo chiaro con l'icona Sincronizzazione non riuscita e la sincronizzazione non riuscita.](https://developers.google.cn/static/open-health-stack/design/images/sync/status-sync-failed.png?hl=it)
Se la sincronizzazione non è stata completata, indica che non è stata completata. Se la causa dell'errore di sincronizzazione è che l'app è offline, imposta lo stato su offline. È importante che le persone sappiano cosa sta succedendo.
Sincronizza pattern
La sincronizzazione funziona in background per caricare e scaricare i dati da e verso il server. Il comportamento della sincronizzazione non deve distrarre l'utente.
Gli intervalli di sincronizzazione devono essere impostati in base alle soglie pertinenti all'impostazione sanitaria in cui viene usata l'app. Esempio: esegui una sincronizzazione ogni 12 ore in un contesto comunitario o ogni 15 minuti in una struttura sanitaria. Avere gli intervalli di sincronizzazione automatica corretti riduce al minimo la necessità di eseguire la sincronizzazione manuale.
![Messaggio dello snack bar: Sei offline. Gli aggiornamenti verranno caricati quando il dispositivo si riconnetterà.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-reassure.png?hl=it)
Rassicura gli utenti del fatto che anche se l'app è offline, può comunque completare le proprie attività e che le modifiche verranno caricate quando la connettività riprenderà.
![Messaggio nella barra di stato di colore grigio chiaro: Nuovo tentativo tra 3 minuti e 22 secondi.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-distract.png?hl=it)
Evita di specificare in dettaglio quando la sincronizzazione tenterà di nuovo di connettersi a internet.
![Sincronizzazione della carta del paziente.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-prioritize.png?hl=it)
Stabilisci la priorità dei dati sincronizzati in modo che gli operatori sanitari possano completare il flusso di lavoro. Esempio: in una struttura in cui i pazienti vengono consegnati a un altro operatore sanitario, assicurati di dare la priorità alla sincronizzazione della scheda del paziente appena completata.
![Elenco dei pazienti con sincronizzazione di 340 pazienti.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-irrelevant.png?hl=it)
Evita di sincronizzare prima le informazioni irrilevanti, ad esempio l'intero elenco dei pazienti o la vecchia cronologia delle visite non correlata alle attività di oggi.
Indicatore di avanzamento della sincronizzazione
Quando i contenuti vengono sincronizzati dal server, viene visualizzato un indicatore di avanzamento della sincronizzazione. L'indicatore di avanzamento dovrebbe indicare visivamente che la sincronizzazione funziona.
Aggiungi un indicatore di avanzamento solo nelle schermate principali, come l'elenco dei pazienti o la scheda del paziente. Fornisci una stima del tempo di sincronizzazione necessario mostrando la percentuale di download.
![Barra di avanzamento che mostra il 35% dei download.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-progress-bar.png?hl=it)
Barra di caricamento che mostra chiaramente l'avanzamento dell'operazione.
![Ruota di caricamento che ruota.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-progress-wheel.png?hl=it)
Evita di usare una ruota che gira. Non è chiaro se si sia bloccato o se stia facendo progressi.
Sincronizza timestamp
I timestamp di sincronizzazione informano gli operatori sanitari della data dell'ultimo aggiornamento delle informazioni. I timestamp aiutano gli operatori sanitari a:
- Scopri se stanno esaminando le informazioni più aggiornate.
- Scopri se l'app si sincronizza e si aggiorna come previsto.
- Fornire continuità dell'assistenza riprendo da dove l'operatore sanitario precedente ha interrotto.
Utilizza gli indicatori di data e ora con parsimonia e visualizzali solo quando sono fondamentali, ad esempio nell'elenco delle attività o nella scheda del paziente.
![Scheda del paziente aggiornata l'ultima volta oggi alle 12:31.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-time-relevant.png?hl=it)
Mostra la data dell'ultimo aggiornamento delle informazioni (e mostrale nel contesto), per far sapere agli utenti se è passato troppo tempo dall'ultima sincronizzazione.
![Il timestamp di sincronizzazione del 23 maggio 2022 alle ore 12:31 è riportato su ogni riga di contenuti sulla scheda del paziente. Ad esempio, numero di cellulare, numero ID e indirizzo.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-time-all.png?hl=it)
Non mostrare i timestamp per ogni dato, ad esempio la data dell'aggiornamento del numero di telefono. Evita un lungo elenco dei dati sincronizzati e quando. Visualizzazione di troppa precisione di data e ora se sono trascorse più di 24 ore.
Sincronizza promemoria
I promemoria per la sincronizzazione vengono visualizzati quando il dispositivo è stato offline da troppo tempo o se l'utente deve eseguire un'azione per sincronizzarlo.
Utilizza i promemoria per comunicare agli utenti la necessità di sincronizzare l'app e come farlo.
![Finestra di dialogo. Modifiche significative dall'ultima sincronizzazione. Collegati a una rete dati o Wi-Fi per completare la sincronizzazione. Pulsante: Più tardi, Pulsante: Sincronizza ora.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-friendly.png?hl=it)
Ricorda alle persone a intervalli prestabiliti di eseguire la sincronizzazione, quando opportuno. Usa un tono amichevole quando comunichi la necessità di sincronizzazione.
![Finestra di dialogo. Sincronizza immediatamente. Il saldo è scaduto da 12 ore. Collegati a una rete dati o Wi-Fi per completare la sincronizzazione. Pulsante: Più tardi, Pulsante: Sincronizza ora.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-rude.png?hl=it)
Evita le comunicazioni allarmiste o fai in modo che le persone si sentano in colpa per il fatto di non aver sincronizzato le persone.
![Finestra di dialogo. 24 ore dall'ultima sincronizzazione. Esegui di nuovo la sincronizzazione. Collegati a una rete dati o Wi-Fi per completare la sincronizzazione. Pulsante: Più tardi, Pulsante: Sincronizza ora.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-occasional.png?hl=it)
Ricorda alle persone di tanto in tanto di sincronizzare il dispositivo quando la soglia impostata per il tipo di struttura sanitaria (struttura o comunità).
![Finestra di dialogo. 1 ora dall'ultima sincronizzazione. Esegui di nuovo la sincronizzazione. Collegati a una rete dati o Wi-Fi per completare la sincronizzazione. Pulsante: Più tardi, Pulsante: Sincronizza ora.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-frequent.png?hl=it)
Troppi promemoria possono essere fastidiosi e frustrare gli utenti. Fornisci messaggi di errore solo quando l'azione è urgente.
Sincronizzazione manuale
La sincronizzazione manuale sostituisce le impostazioni di sincronizzazione predefinite e consente agli utenti di eseguire la sincronizzazione ora. Questa operazione può essere eseguita dalla pagina di sincronizzazione manuale o direttamente sulla scheda del paziente. La pagina di sincronizzazione mostra quando è avvenuta l'ultima sincronizzazione e quando è pianificata la successiva. Idealmente, gli intervalli di sincronizzazione automatici riducono al minimo la necessità di una sincronizzazione manuale.
La sincronizzazione manuale può essere utile per gli operatori sanitari che sono presenti nella comunità tutto il giorno e che desiderano sincronizzarsi quando sono tornati a casa la sera, con una migliore connettività.
![Cronologia che mostra il timestamp dell'ultima sincronizzazione e quello della prossima sincronizzazione.](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-history.png?hl=it)
Nella pagina della sincronizzazione manuale, mostra quando è avvenuta l'ultima sincronizzazione e quando è stata pianificata la sincronizzazione successiva. Includi un pulsante per "sincronizza ora".
![Nessuna cronologia di sincronizzazione visualizzata, è presente solo un pulsante Sincro ora.](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-history-none.png?hl=it)
In assenza di una cronologia di sincronizzazione, è difficile per gli operatori sanitari risolvere i problemi e sapere cosa aspettarsi.
![Pulsante Sincronizza ora visualizzato sulla scheda del paziente.](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-patient.png?hl=it)
Quando gli operatori sanitari prendono i pazienti tra loro, offri loro un modo per sincronizzare immediatamente la cartella clinica, mostrando il pulsante Sincro ora sulla scheda paziente. In alternativa, puoi eseguire questa operazione anche con una sincronizzazione basata sugli eventi.
![Pulsante Sincronizza ora visualizzato accanto al numero di cellulare sulla scheda del paziente.](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-everything.png?hl=it)
Evita di consentire agli utenti di selezionare dati specifici da sincronizzare. È troppo complesso e troppo granulare.
Messaggi di errore e risoluzione dei problemi
I messaggi di errore vengono visualizzati quando una funzione non viene completata, ad esempio se nell'elenco dei pazienti non sono presenti pazienti.
Mostra il messaggio di errore nella schermata pertinente. Aiuta gli utenti a risolvere i problemi fornendo una chiara descrizione di ciò che non funziona e del perché. Dopodiché fornisci istruzioni su come risolvere il problema. Se la prima soluzione non ha funzionato, fornisci una seconda serie di istruzioni su cosa provare. Fornisci sempre alle persone altri modi per ricevere assistenza, tramite messaggi o una telefonata.
![Finestra di dialogo. Nessuna attività disponibile. Sincronizza l'elenco delle attività. Controlla la connessione a una rete dati o Wi-Fi. Vai a Impostazioni > Rete e internet. Torna all'app e tocca Sincronizza ora. Pulsante: più tardi, Pulsante: sincronizza ora.](/static/open-health-stack/design/images/sync/sync-error-actionable.png)
Utilizza un messaggio di errore che descriva l'errore e i passaggi per risolverlo. Includi indicazioni stradali su come navigare nelle impostazioni di sistema.
![Finestra di dialogo. Errore. Si è verificato un problema. Pulsante: riprova.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-error-unhelpful.png?hl=it)
Evita messaggi di errore generici che non spiegano l'errore o forniscono suggerimenti su come correggerlo.