Opened 9 years ago

Closed 9 years ago

#769 closed task (fixed)

Retraction wizard - Additions to Step 2: Follow up

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

Description

Retraction wizard steps:

  1. [Ticket #526] Marking extracts for retraction, produce lists and protocols to simplify finding these in the lab or external storage.
  2. [Ticket #723] Follow-up of step 1, where a web form is presented for a selected retraction object, allowing dates to be entered when different sub-steps are finished. When all sub-steps are marked to have been finished, the items are marked to be ready for deletion/destruction.

This ticket is concerned with extending step 2, by adding a date when information has been sent to RCC Syd (Regionalt cancercentrum syd), that a patient is no longer included in the SCAN-B project, so referrals for follow-up blood samples need not be sent. No date is needed for a received response.

Change History (8)

comment:1 by olle, 9 years ago

Status: newassigned

Ticket accepted.

comment:2 by olle, 9 years ago

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.

comment:3 by Nicklas Nordborg, 9 years ago

Milestone: Reggie v3.xReggie v3.4

comment:4 by olle, 9 years ago

Design specification for the RCC Syd notification date addition to the retraction follow-up step:

  • The new RCC Syd notification date should have the same functionality as the forwarded date (only a date when information has been sent, but no response date). The design will therefore be based on that of the latter.
  1. JSP file retraction_followup_form.jsp in resources/personal/ updated in step 2 by adding a new input field for an RCC Syd notification date to the form. The input field has id equal to "rccSydSentDate".
  2. Javascript file retraction_followup_form.js in resources/personal/ updated:
    a. New global variable rccSydSentDateIsValid added, initialized to false.
    b. Function initPage() updated by setting new global variable rccSydSentDateIsValid to false, and adding new function rccSydDateOnChange() as event handler to field with id "rccSydSentDate".
    c. Function caseInfoLoaded(response) updated to set value of new RCC Syd sent date input field to value for JSON key "rccSydSentDate" in patient info JSON data.
    d. New function rccSydDateOnChange() added. It checks if the RCC Syd notification date is valid, in wich case it sets value of global variable rccSydSentDateIsValid to true, and sets input status for form id "rccSydDate" to valid.
    e. Function validateStep2(event) updated by calling new function rccSydDateOnChange() in addition to other date validation functions, in order to get up-to-date values for date validation variables, and includes the value of new global variable rccSydSentDateIsValid, when checking if all dates are valid.
    f. Function submit() updated by extending JSON info sent to RetractionFollowUpFormServlet for command "RegisterRetraction" with new JSON object with key "rccSydSentDate" and value equal to that of new input field with id "rccSydSentDate".
  3. Java class/file Annotationtype.java in src/net/sf/basedb/reggie/dao/ updated with one new retract date annotation RETRACT_TX_RCC_SYD.
  4. Java class/file InstallServlet.java in src/net/sf/basedb/reggie/servlet/ updated in protected method void doGet(HttpServletRequest req, HttpServletResponse resp) to create the new annotation type item, if not existing.
  5. Java servlet class/file RetractionFollowUpFormServlet.java in src/net/sf/basedb/reggie/servlet/ updated:
    a. Private method void loadPatientInfo(DbControl dc, Patient patient) updated to load patient annotation Annotationtype.RETRACT_TX_RCC_SYD to key "rccSydSentDate".
    b. Protected method void doPost(HttpServletRequest req, HttpServletResponse resp) updated for command "RegisterRetraction" to obtain date for RCC Syd notification from input data, as well as from stored patient annotation Annotationtype.RETRACT_TX_RCC_SYD in database, and to update the latter with the new value. The new RCC Syd notification date is included, when checking whether the patient data is ready for destruction.
Last edited 9 years ago by olle (previous) (diff)

comment:5 by olle, 9 years ago

(In [3265]) Refs #769. Follow-up step of retraction wizard updated by addition of an RCC Syd notification date:

  1. JSP file retraction_followup_form.jsp in resources/personal/ updated in step 2 by adding a new input field for an RCC Syd notification date to the form. The input field has id equal to "rccSydSentDate".
  2. Javascript file retraction_followup_form.js in resources/personal/ updated:
    a. New global variable rccSydSentDateIsValid added, initialized to false.
    b. Function initPage() updated by setting new global variable rccSydSentDateIsValid to false, and adding new function rccSydDateOnChange() as event handler to field with id "rccSydSentDate".
    c. Function caseInfoLoaded(response) updated to set value of new RCC Syd sent date input field to value for JSON key "rccSydSentDate" in patient info JSON data.
    d. New function rccSydDateOnChange() added. It checks if the RCC Syd notification date is valid, in wich case it sets value of global variable rccSydSentDateIsValid to true, and sets input status for form id "rccSydDate" to valid.
    e. Function validateStep2(event) updated by calling new function rccSydDateOnChange() in addition to other date validation functions, in order to get up-to-date values for date validation variables, and includes the value of new global variable rccSydSentDateIsValid, when checking if all dates are valid.
    f. Function submit() updated by extending JSON info sent to RetractionFollowUpFormServlet for command "RegisterRetraction" with new JSON object with key "rccSydSentDate" and value equal to that of new input field with id "rccSydSentDate".
  3. Java class/file Annotationtype.java in src/net/sf/basedb/reggie/dao/ updated with one new retract date annotation RETRACT_TX_RCC_SYD.
  4. Java class/file InstallServlet.java in src/net/sf/basedb/reggie/servlet/ updated in protected method void doGet(HttpServletRequest req, HttpServletResponse resp) to create the new annotation type item, if not existing.
  5. Java servlet class/file RetractionFollowUpFormServlet.java in src/net/sf/basedb/reggie/servlet/ updated:
    a. Private method void loadPatientInfo(DbControl dc, Patient patient) updated to load patient annotation Annotationtype.RETRACT_TX_RCC_SYD to key "rccSydSentDate".
    b. Protected method void doPost(HttpServletRequest req, HttpServletResponse resp) updated for command "RegisterRetraction" to obtain date for RCC Syd notification from input data, as well as from stored patient annotation Annotationtype.RETRACT_TX_RCC_SYD in database, and to update the latter with the new value. The new RCC Syd notification date is included, when checking whether the patient data is ready for destruction.

comment:6 by olle, 9 years ago

(In [3266]) Refs #769. Bug fix in Javascript file retraction_followup_form.js in resources/personal/:

  1. Function validateStep2(event) updated by correction of name of new global variable for RCC Syd date validity from "rccSydSentIsValid" to "rccSydSentDateIsValid".

comment:7 by olle, 9 years ago

Test:

  • Setup: A case name for a biosource of type Retract with "RetractStatus" having value ReadyForDestruction, i.e. all 7 previous dates had specific values, was used as input.
  • Tests:
    1. Test perfomed: The "Register" button was pressed, without entering a date in new field "RCC Syd notification".
    Result: No retract date annotations modified. "RetractStatus" annotation modified from ReadyForDestruction to null.
    2. Test perfomed: The "Register" button was pressed, after a date had been entered in new field "RCC Syd notification".
    Result: 1 retract date annotation modified (the new annotation Annotationtype.RETRACT_TX_RCC_SYD was set to the entered date). "RetractStatus" annotation modified from null to ReadyForDestruction.

In both tests, the outcome was the expected one. The tests therefore passed with successful result.

comment:8 by olle, 9 years ago

Resolution: fixed
Status: assignedclosed

Ticket closed since the desired functionality has been added.

Note: See TracTickets for help on using tickets.