Add concept of Session to performing Test List

Issue #30 resolved
Randle Taylor repo owner created an issue

To reduce the possibility of a therapist performing/saving QA for an incorrectly selected unit we can introduce the concept of a "QA Session" that would work something like the following:

  • User clicks on "Perform" link for a given Test List
  • A new TestListInstance (i.e session) is created in the database and is marked as "In Progress"
  • User is taken to page to perform qa. At any point during the process of completing the Test List, the user may choose to "Save" their intermediate results. The TestListInstance and its children TestInstances would all be updated in the database to store their current value but the TestInstance would still remain "In Progress".
  • User completes and submits the Test List at which point the TestListInstance is marked as "Complete"

Pros: * Allows us to check if a session is currently open for a given TestList/Unit combo. (e.g. if a therapist wants to do morning qa on, say U6, but there is already an open session for U6 then the user could be warned, asked (forced?) if they want to complete the current open session, or...?) * Saving could be automated so that results are sent to the server every few seconds. This would allow users to recover sessions which were in progress when e.g. a browser crashes, network is having issues, user navigates away from page accidentally etc. * User can complete a test list over multiple days if required.

Cons: * added complexity to design (more code == more bugs!) * might end up creating a bunch of "orphaned" sessions for example when a user navigates to a page (and hence creating a new session), then realizes they are on the wrong page and goes elsewhere.

Comments (8)

  1. Log in to comment