Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#851 closed task (fixed)

Retraction wizard - Step 2: Follow up should allow dates to be set as N/A

Reported by: olle Owned by: olle
Priority: major Milestone: Reggie v4.2
Component: net.sf.basedb.reggie Keywords:
Cc:

Description

The second step of the retraction wizard allows dates to be set regarding destruction of lab samples, blood samples, frozen samples, samples in other projects, and retraction of data sent to RCC Syd. In the original design, when all the dates were set, a boolean annotation was set to true, indicating that the data for patient and case was ready for destruction. However, in some cases not all dates are relevant, e.g., if no blood samples have been received, no corresponding dates can be set for their destruction. It should therefore be possible to mark a set of dates as N/A.

Change History (6)

comment:1 Changed 5 years ago by olle

Owner: changed from Nicklas Nordborg to olle
Status: newassigned

Ticket accepted.

comment:2 Changed 5 years ago by olle

Traceability note:

  • The retraction wizard was introduced in Ticket #526 (Retraction wizard), which covered step 1.
  • It was updated in Ticket #723 (Retraction wizard - Step 2: Follow up), which covered step 2.
  • Retraction wizard step 2 was updated in Ticket #769 (Retraction wizard - Additions to Step 2: Follow up).
  • Step 3 of the retraction wizard was introduced in Ticket #770 (Retraction wizard - Step 3: Destruction).
  • The retraction wizard servlet was cleaned up in Ticket #781 (Clean up code in retraction wizard)
  • The retraction wizard was updated to support BloodDNA in Ticket #787 (Add support for BloodDNA items), where also support for Blood items without any Case item was added.

comment:3 Changed 5 years ago by olle

Functional specification update:

  • The follow-up step of the retraction wizard should be updated in step 2, where a number of input fields for dates are shown:
    a. Each set of date input fields for laboratory samples, blood samples, frozen samples, samples in other projects, and retraction of data sent to RCC Syd, should be preceded by a check box, to be checked when the corresponding date set is N/A. Initially the check boxes should be unchecked.
    b. If a "N/A" check box is checked, the corresponding date field[s] should be emptied and disabled, and at registration, the corresponding dates should be ignored, when determining if data for patient and case is ready for destruction.
    c. The status of the check boxes should be stored at registration, and when the wizard is re-opened, the form should be identical to when it was last registered.
    d. An extra status line should be added at the bottom of the form, indicating if data for patient and case will be ready for destruction, if registration is performed with the current form content.

Design comment:

  • The status icons on each row with date input fields will indicate that a date is valid, if it is a correct date or blank, since these are allowed values for registration (this is part of the standard Reggie interface for non-required date input fields). However, all date fields not marked as "N/A" must have non-blank values for the patient/case data to be marked as ready for destruction. This is the reason for the new status line at the bottom of the form.

Design update:

  1. JSP file retraction_followup_form.jsp in resources/personal/ updated with new "N/A" check boxes on each line with date sets. Also, a tag for a new status line at the end of the form is defined.
  2. Javascript file retraction_followup_form.js in resources/personal/ updated:
    a. Function initPage() updated by defining event handler functions for the five new N/A check boxes for date sets.
    b. Function caseInfoLoaded(response) updated to set initial status of the five new N/A check boxes to the stored states for the patient. The check box event handler functions are called to update the over-all status.
    c. New event handler functions labDateNaOnChange(), bloodDateNaOnChange(), frozenDateNaOnChange(), forwardedDateNaOnChange(), and rccSydDateNaOnChange(), added to handle N/A check box events for laboratory samples, blood samples, frozen samples, samples in other projects, and retraction of data sent to RCC Syd, respectively. If a N/A check box is checked, the corresponding date input fields are reset and disabled, and the date values marked as valid. At the end, new function currentRetractionStatus() is called to update the status line at the end of the form.
    d. Date input field event handler functions labDateOnChange(), bloodDateOnChange(), frozenDateOnChange(), forwardedDateOnChange(), and rccSydDateOnChange(), updated at the end to call new function currentRetractionStatus() to update the status line at the end of the form.
    e. New function currentRetractionStatus() added. It updates the status line at the end of the form.
    f. Function validateStep2(event) updated to call new N/A check box event handler functions before checking if all date values are valid.
    g. Function submit() updated by including the N/A check box statuses in the JSONObject sent to RetractionServlet.
  3. Java data access object class/file Annotationtype.java in src/net/sf/basedb/reggie/dao/ updated with five new boolean annotation types for N/A check box status for the date sets. The annotations are for biosource items, like the other annotations for the retraction follow-up step.
  4. Java servlet class/file InstallServlet.java in src/net/sf/basedb/reggie/servlet/ updated in protected method void doGet(HttpServletRequest req, HttpServletResponse resp) to include the new annotation types for status of the N/A check boxes, and add them to Subtype.RETRACT and Subtype.RETRO_NO annotation type categories.
  5. Java servlet class/file RetractionServlet.java in src/net/sf/basedb/reggie/servlet/ updated:
    a. Private method void loadPatientInfo(DbControl dc, Patient patient) updated to load values of new annotations for status of N/A check boxes for retraction follow-up date sets.
    b. Protected method void doPost(HttpServletRequest req, HttpServletResponse resp) updated for command "RegisterFollowUp" to get new values of N/A check boxes for retraction follow-up date sets from the submitted JSONObject, and old values for the same variables from stored annotations. The annotations are then updated with the new values, and dates in date sets marked as N/A are ignored, when determining if patient/case data is ready for destruction. Changes of stored status values for N/A check boxes are also taken into account, when reporting the number of modified annotations.
Last edited 5 years ago by olle (previous) (diff)

comment:4 Changed 5 years ago by olle

(In [3756]) Refs #851. The follow-up step of the retraction wizard updated in step 2, where a number of input fields for dates are shown:
a. Each set of date input fields for laboratory samples, blood samples, frozen samples, samples in other projects, and retraction of data sent to RCC Syd, is preceded by a check box, to be checked when the corresponding date set is N/A. Initially the check boxes are unchecked.
b. If a "N/A" check box is checked, the corresponding date fields are emptied and disabled, and at registration, the corresponding dates are ignored, when determining if data for patient and case is ready for destruction.
c. The status of the check boxes are stored at registration, and when the wizard is re-opened, the form will be identical to when it was last registered.
d. An extra status line is added at the bottom of the form, indicating if data for patient and case will be ready for destruction, if registration is performed with the current form content.

  1. JSP file retraction_followup_form.jsp in resources/personal/ updated with new "N/A" check boxes on each line with date sets. Also, a tag for a new status line at the end of the form is defined.
  2. Javascript file retraction_followup_form.js in resources/personal/ updated:
    a. Function initPage() updated by defining event handler functions for the five new N/A check boxes for date sets.
    b. Function caseInfoLoaded(response) updated to set initial status of the five new N/A check boxes to the stored states for the patient. The check box event handler functions are called to update the over-all status.
    c. New event handler functions labDateNaOnChange(), bloodDateNaOnChange(), frozenDateNaOnChange(), forwardedDateNaOnChange(), and rccSydDateNaOnChange(), added to handle N/A check box events for laboratory samples, blood samples, frozen samples, samples in other projects, and retraction of data sent to RCC Syd, respectively. If a N/A check box is checked, the corresponding date input fields are reset and disabled, and the date values marked as valid. At the end, new function currentRetractionStatus() is called to update the status line at the end of the form.
    d. Date input field event handler functions labDateOnChange(), bloodDateOnChange(), frozenDateOnChange(), forwardedDateOnChange(), and rccSydDateOnChange(), updated at the end to call new function currentRetractionStatus() to update the status line at the end of the form.
    e. New function currentRetractionStatus() added. It updates the status line at the end of the form.
    f. Function validateStep2(event) updated to call new N/A check box event handler functions before checking if all date values are valid.
    g. Function submit() updated by including the N/A check box statuses in the JSONObject sent to RetractionServlet.
  3. Java data access object class/file Annotationtype.java in src/net/sf/basedb/reggie/dao/ updated with five new boolean annotation types for N/A check box status for the date sets. The annotations are for biosource items, like the other annotations for the retraction follow-up step.
  4. Java servlet class/file InstallServlet.java in src/net/sf/basedb/reggie/servlet/ updated in protected method void doGet(HttpServletRequest req, HttpServletResponse resp) to include the new annotation types for status of the N/A check boxes, and add them to Subtype.RETRACT and Subtype.RETRO_NO annotation type categories.
  5. Java servlet class/file RetractionServlet.java in src/net/sf/basedb/reggie/servlet/ updated:
    a. Private method void loadPatientInfo(DbControl dc, Patient patient) updated to load values of new annotations for status of N/A check boxes for retraction follow-up date sets.
    b. Protected method void doPost(HttpServletRequest req, HttpServletResponse resp) updated for command "RegisterFollowUp" to get new values of N/A check boxes for retraction follow-up date sets from the submitted JSONObject, and old values for the same variables from stored annotations. The annotations are then updated with the new values, and dates in date sets marked as N/A are ignored, when determining if patient/case data is ready for destruction. Changes of stored status values for N/A check boxes are also taken into account, when reporting the number of modified annotations.

comment:5 Changed 5 years ago by olle

Resolution: fixed
Status: assignedclosed

Ticket closed since the requested functionality has been added.

comment:6 Changed 5 years ago by Nicklas Nordborg

Milestone: Reggie v4.xReggie v4.2
Note: See TracTickets for help on using tickets.