Summary
ClinSpark supports the ability to end a users' active session once a certain period of inactivity in the application has been reached. This session timeout period is defined per user account.
Depending on where the user is in the application when this timeout period reached, they will be warned that their session is ending, or, forcibly logged out upon the next action they take.
Global Setting
The default timeout value is established as a required global setting. The value defined establishes a sensible default that persists into all newly created ClinSpark user accounts.
Validation logic on the setting will ensure that a value between 1 and 600 is accepted.
User Account Setting
The global timeout value is applied onto newly created user accounts. Users will see this value when adding new users, and have the option to change it, if necessary.
The defined session timeout minutes will also be present in the User Details area, once the user account is successfully created.
The session timeout minutes value can be changed per user account as needed. This is due to the needs that certain accounts may have on longer or shorter sessions. Certain application areas and feature workflows would perhaps expect for a longer session period, which can be different from the global default. Customers are able to make this determination per user account.
Users cannot change their own session timeout value. This value can only be modified by authorized users into the Administration > Users component.
Timeout Warning Feature
There are several areas of the application that will provide a warning prompt to users that indicates their current session is about to expire. Once the countdown timer ends, users are forcibly logged out of the application.
The feature allows users to cancel this warning, or log out before the timeout is initiated.
When users select ‘Keep Working’ their session timeout period is reset, and they are able to continue with actions until the next warning period.
This warning feature is available in the following areas:
Study > Lab Data
Study > Report
Study > Activity
Data Collection > Subject
Data Collection > Forms
Volunteers > Recruit
Samples > Processing
Limitations
As a web application, users are able to open and perform actions across multiple browser tabs or windows. This is not a common expectation for data collection workflows and is generally not recommended due to the issues this can bring with user session management and cross-study workflows. More of that is explained here: https://foundryhealth.atlassian.net/wiki/spaces/DOCS/pages/3700260899/Technical+Overview#Session-Management
The user timeout feature is also currently limited by this use case. If users have multiple windows or tabs open, each of those are independently considered for active session timeout periods. This means that it is possible an active session may be expiring (or already expired) in a window/tab currently not in active view or use. If a session were to timeout in one of those tabs/windows, the next action taken by a user may force them out of application in whatever window/tab they continue to use elsewhere.