Introducción
Las apps que funcionan sin conexión les brindan a los trabajadores del área de la salud acceso a las herramientas que necesitan para brindar una atención de calidad, incluso cuando no están conectados a Internet. Las aplicaciones sin conexión son útiles para los trabajadores de la salud que trabajan en entornos comunitarios donde la conectividad no es confiable o en un centro de atención médica sin acceso a Internet. Las apps sin conexión también ayudan a reducir los costos de datos.
Si los trabajadores de la salud no pueden usar una app sin conexión, es posible que no puedan completar tareas importantes. Esto puede provocar que el personal de la salud no use la app y que se pierdan datos. Con la biblioteca de FHIR Engine y estos lineamientos de diseño, nuestro objetivo es mejorar la experiencia del usuario de las apps de salud que pueden funcionar sin conexión para que sean confiables y fáciles de usar.
Principios clave del entorno sin conexión
Ten en cuenta estos principios cuando compiles apps de salud sin conexión:
- Las apps para trabajadores de la salud comunitaria deben diseñarse para una experiencia que prioriza el uso sin conexión.
- Asegúrate de que los usuarios puedan completar su flujo de trabajo principal sin conexión.
- Informa a los usuarios con qué frecuencia deben conectarse a Internet para sincronizar sus dispositivos.
Sincronización inicial
Es posible que tu app requiera una sincronización inicial para descargar tareas o una lista de pacientes antes de que un profesional de la salud pueda comenzar a usarla. En ese caso, realiza la sincronización inicial en un paso distinto para que los trabajadores de la salud comiencen a usar la app. Proporciona orientación sobre dónde y cuándo hacerlo, y una estimación del tiempo que tardará. Explica si la app debe estar abierta o si los trabajadores de la salud pueden realizar otras acciones en el dispositivo mientras se sincroniza.
![Sincronizar mis tareas. Según tu conexión a Internet, este proceso puede tardar hasta una hora. Tres pasos 1. Conéctate a Wi-Fi o a datos móviles. 2. Deja el dispositivo en un lugar con buena recepción a Internet. 3. Puedes realizar otras acciones en el dispositivo mientras se sincroniza. Botón: Sincronizar mis tareas.](https://developers.google.cn/static/open-health-stack/design/images/sync/initial-sync-do.png?hl=es-419)
Proporciona expectativas claras sobre cuánto tiempo llevará.
![Mis tareas en blanco sin instrucciones Barra de sincronización y rueda giratoria de carga.](https://developers.google.cn/static/open-health-stack/design/images/sync/initial-sync-dont.png?hl=es-419)
No inicies la sincronización inicial sin proporcionar información sobre lo que puedes esperar.
Barra de estado
La barra de estado indica si el dispositivo está sin conexión o sincronizando. La barra de estado aparece en los siguientes casos:
- El dispositivo no tiene conexión a Internet
- Los datos se están sincronizando de forma activa
- Se produjo un error durante la sincronización
- Se completó la sincronización
Muestra la barra de estado solo cuando sea relevante, en páginas o alrededor de los componentes que cambiarán cuando los datos terminen de sincronizarse. Por ejemplo, el estado es importante cuando se consulta una lista de tareas, se busca una lista de pacientes o se carga una tarjeta de paciente para que el trabajador de la salud pueda reconocer si se sincronizó la información más reciente o no.
![Barra de estado gris con texto sin conexión.](https://developers.google.cn/static/open-health-stack/design/images/sync/status-offline-do.png?hl=es-419)
Muestra el estado sin conexión cuando sea relevante, por ejemplo, cuando se carga la lista de pacientes.
![Barra de estado roja con ícono de error y texto sin conexión.](https://developers.google.cn/static/open-health-stack/design/images/sync/status-offline-dont.png?hl=es-419)
Evita que la barra de estado de conectividad parezca un estado de error.
![Barra de estado celeste con el ícono de sincronización y la sincronización escrita.](https://developers.google.cn/static/open-health-stack/design/images/sync/status-syncing.png?hl=es-419)
Cuando se establezca la conectividad, muestre que la app se está sincronizando en la barra de estado.
![Barra de estado de color gris claro con un ícono de marca de verificación y la sincronización completa.](https://developers.google.cn/static/open-health-stack/design/images/sync/status-sync-done.png?hl=es-419)
Mostrar confirmación de completar la sincronización cambiando el ícono a una marca de verificación y cambiando el color y el texto en la barra de estado. Esto ayuda a los usuarios a saber que se completó la información.
![Barra de estado de color amarillo claro con ícono de error de sincronización y escritura de error de sincronización.](https://developers.google.cn/static/open-health-stack/design/images/sync/status-sync-failed.png?hl=es-419)
Si la sincronización no se completó, muestra que no pudo completarla. Si la causa de una falla de sincronización es que la app está sin conexión, cambia el estado a sin conexión. Es importante que las personas sepan lo que está sucediendo.
Patrones de sincronización
La sincronización funciona en segundo plano para subir y descargar datos hacia y desde el servidor. El comportamiento de la sincronización no debe distraer al usuario.
Los intervalos de sincronización deben establecerse en función de umbrales relevantes para el entorno de atención médica en el que se utiliza la aplicación. Ejemplo: Sincronización cada 12 horas en un entorno comunitario o cada 15 minutos en un centro médico. Tener los intervalos de sincronización automática correctos minimiza la necesidad de realizar una sincronización manual.
![Mensaje de la barra de notificaciones: No tienes conexión. Las actualizaciones se subirán cuando el dispositivo se vuelva a conectar.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-reassure.png?hl=es-419)
Asegúrales que, aunque la app esté sin conexión, podrán seguir completando sus tareas y que los cambios se subirán cuando se reanude la conectividad.
![Mensaje en la barra de estado gris claro: Se reintentará en 3 minutos y 22 segundos.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-distract.png?hl=es-419)
Evita detallar cuándo la sincronización volverá a intentar conectarse a Internet.
![Sincronización de tarjetas de paciente.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-prioritize.png?hl=es-419)
Prioriza qué datos se sincronizan para que el personal de la salud pueda completar su flujo de trabajo. Ejemplo: En un centro en el que los pacientes se transfieren a otro trabajador de la salud, asegúrese de priorizar la sincronización de la tarjeta del paciente que se acaba de completar.
![Lista de pacientes con 340 pacientes sincronizadas.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-irrelevant.png?hl=es-419)
Evita sincronizar primero la información irrelevante, como la lista completa de pacientes o el historial de visitas anteriores que no esté relacionado con las tareas de hoy.
Indicador de progreso de sincronización
Cuando el contenido se sincroniza desde el servidor, aparece un indicador de progreso de sincronización. El indicador de progreso debe mostrar visualmente que la sincronización está funcionando.
Solo agregue un indicador de progreso en las pantallas clave, como la lista de pacientes o la tarjeta de pacientes. Brinda una estimación del tiempo que llevará la sincronización mostrando el porcentaje que se descargó.
![Barra de progreso que muestra un 35% descargado.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-progress-bar.png?hl=es-419)
Barra de carga que muestra claramente que el progreso se está realizando.
![Rueda de carga que gira.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-progress-wheel.png?hl=es-419)
Evita una rueda de carga giratoria. No se sabe con certeza si está detenida o si se está progresando.
Sincronizar marcas de tiempo
Las marcas de tiempo de sincronización informan a los trabajadores de la salud cuándo se actualizó la información por última vez. Las marcas de tiempo ayudan a los trabajadores del área de la salud a realizar lo siguiente:
- Entérate si tienen acceso a la información más actualizada.
- Comprueba si la app se sincroniza y actualiza según lo esperado.
- Brindar la continuidad de la atención retomando el servicio donde lo dejó el personal de la salud anterior.
Usa marcas de tiempo con moderación y solo muéstralas cuando sea crítico, como en la lista de tareas o en la tarjeta del paciente.
![La tarjeta de paciente se actualizó por última vez hoy a las 12:31 p.m.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-time-relevant.png?hl=es-419)
Muestra cuándo se actualizó la información por última vez (y muéstrala en contexto) para que las personas sepan si transcurrió demasiado tiempo desde la sincronización.
![La marca de tiempo de sincronización del 23 de mayo de 2022 a las 12:31 p.m. se muestra en cada fila de contenido de la tarjeta del paciente. Por ejemplo, número de celular, número de ID y dirección.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-time-all.png?hl=es-419)
No mostrar marcas de tiempo para cada dato, como la fecha en que se actualizó el número de teléfono. Evita tener una larga lista de datos y cuándo se sincronizaron. Se muestra demasiada precisión de fecha y hora si transcurrieron más de 24 horas.
Recordatorios de sincronización
Los recordatorios de sincronización se muestran cuando el dispositivo estuvo sin conexión durante demasiado tiempo o cuando el usuario necesita realizar una acción para sincronizarlo.
Usa recordatorios para comunicar a los usuarios la necesidad de sincronizar la app y cómo hacerlo.
![Diálogo. Hay cambios significativos desde la última sincronización. Conéctate a una red de datos o Wi-Fi para completar la sincronización. Botón: Más tarde. Botón: Sincronizar ahora.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-friendly.png?hl=es-419)
Cuando corresponda, recuerda a las personas que realicen la sincronización en un intervalo determinado. Utiliza un tono amigable cuando comunique la necesidad de sincronizarlo.
![Diálogo. Sincronizar de inmediato. Tienes 12 horas de retraso. Conéctate a una red de datos o Wi-Fi para completar la sincronización. Botón: Más tarde. Botón: Sincronizar ahora.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-rude.png?hl=es-419)
Evita la comunicación alarmista o haz sentir mal a las personas porque no se han sincronizado.
![Diálogo. 24 horas desde la última sincronización. Vuelve a realizar la sincronización. Conéctate a una red de datos o Wi-Fi para completar la sincronización. Botón: Más tarde. Botón: Sincronizar ahora.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-occasional.png?hl=es-419)
Recuérdales a las personas ocasionalmente que sincronicen sus dispositivos cuando hayan superado el umbral establecido para el tipo de entorno de atención médica (instalación o comunidad).
![Diálogo. 1 hora desde la última sincronización. Vuelve a realizar la sincronización. Conéctate a una red de datos o Wi-Fi para completar la sincronización. Botón: Más tarde. Botón: Sincronizar ahora.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-frequent.png?hl=es-419)
Demasiados recordatorios pueden ser molestos y frustrar a los usuarios. Proporciona mensajes de error solo cuando la acción sea urgente.
Sincronización manual
La sincronización manual anula la configuración de sincronización predeterminada y permite que los usuarios realicen una sincronización ahora. Esto se puede realizar a través de la página de sincronización manual o directamente en la tarjeta del paciente. La página de sincronización muestra cuándo se produjo la última sincronización y cuándo está programada la próxima sincronización. Idealmente, los intervalos de sincronización automática minimizan la necesidad de realizar una sincronización manual.
La sincronización manual puede ser útil para los trabajadores de la salud que están fuera de la comunidad todo el día y desean sincronizarse cuando vuelven a casa durante la noche con una mejor conectividad.
![Historial que muestra la marca de tiempo de la última sincronización y la siguiente marca de tiempo de la sincronización.](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-history.png?hl=es-419)
En la página de sincronización manual, muestra cuándo se produjo la última sincronización y cuándo está programada la siguiente. Incluye un botón para "sincronizar ahora".
![No se muestra el historial de sincronización, solo un botón Sincronizar ahora.](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-history-none.png?hl=es-419)
Cuando no hay un historial de sincronización, es difícil para los trabajadores de la salud solucionar los problemas y saber qué esperar.
![Botón Sincronizar ahora que aparece en la tarjeta del paciente.](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-patient.png?hl=es-419)
Cuando los trabajadores de la salud repartan pacientes entre ellos, proporciónales una forma de sincronizar de inmediato el registro del paciente mostrando un botón Sincronizar ahora en la tarjeta del paciente. Como alternativa, esto también se puede lograr con una sincronización basada en eventos.
![Botón Sincronizar ahora que aparece junto al número de celular en la tarjeta del paciente.](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-everything.png?hl=es-419)
Evita permitir que los usuarios seleccionen datos específicos para sincronizar. Es demasiado complejo y demasiado detallado.
Mensajes de error y solución de problemas
Los mensajes de error aparecen cuando una función no se completa, como cuando no hay pacientes en la lista.
Muestra el mensaje de error en la pantalla correspondiente. Proporciona una descripción clara de lo que no funciona y por qué para ayudar a las personas a solucionar problemas. Luego, brinda instrucciones sobre cómo resolver el problema. Si la primera solución no funcionó, proporciona un segundo conjunto de instrucciones sobre qué probar. Siempre ofrece formas adicionales para que las personas obtengan ayuda mediante mensajes o una llamada telefónica.
![Diálogo. No hay tareas disponibles. Sincroniza la lista de tareas. Comprueba si tienes conexión a una red de datos o Wi-Fi. Ve a Configuración > Internet y redes. Regresa a la app y presiona Sincronizar ahora. Botón: más tarde, Botón: sincronizar ahora.](/static/open-health-stack/design/images/sync/sync-error-actionable.png)
Usa un mensaje de error que describa qué funciona mal y los pasos para solucionarlo. Incluye instrucciones para navegar por la configuración del sistema.
![Diálogo. Se produjo un error. Se produjo un error. Botón: Vuelve a intentarlo.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-error-unhelpful.png?hl=es-419)
Evita los mensajes de error genéricos que no explican qué está mal o proporcionan sugerencias para solucionarlo.