4 | | 2. JSP file `retraction_followup_form.jsp` in `resources/personal/` is coupled to Javascript file `retraction_followup_form.js`, also in `resources/personal/`.[[BR]]a. The JSP file has an input field for entering a case name or personal number. After initial validation of the case name/personal number, function `rf.caseNameOnChange()` calls servlet `RetractionFollowUpFormServlet` with command "`GetCaseInfo`" to obtain a JSONObject with information on all cases for the patient in question, that is processed by function `rf.onCaseInfoLoaded(response)`, to determine if the patient biosource type is correct ("`Retracted`" or "`RetroNo`" are allowed for the follow-up step).[[BR]]c. Function `rf.initializeStep2()` then calls servlet `RetractionFollowUpFormServlet` with command "`GetCaseInfo`" a second time, where the response is processed by function `rf.caseInfoLoaded(response)`, which fills retract data retrieved from the database into input fields in the form. The second step of the form contains input fields for seven retraction request and response dates for the patient in question.[[BR]]d. The date fields are coupled to validation checks by functions `rf.labDateOnChange()`, `rf.bloodDateOnChange()`, `rf.frozenDateOnChange()`, and `rf.forwardedDateOnChange()`.[[BR]]e. Button "Register" is coupled to function `rf.submit()`, that sends the retract request and response date values in the form together with the input case name/personal number to servlet `RetractionFollowUpFormServlet` with command "`RegisterRetraction`". |
5 | | 3. New java servlet class/file `RetractionFollowUpFormServlet.java` in `src/net/sf/basedb/reggie/servlet/` accepts `GET` requests for command "`GetCaseInfo`", and `POST` request for command "`RegisterRetraction`". It accesses the database to retrieve the requested information, or update the contents, and sends the results back in JSON format. The functionality for command "`GetCaseInfo`" is basically identical to that of servlet `RetractionFormServlet`, while command "`RegisterRetraction`" stores date values from the form in new annotations for patient items of biosource type "`Retracted`" or "`RetroNo`". If all seven dates are set, new enumerable string annotation "`RetractStatus`" is set to value "`ReadyForDestruction`" (default value is `null`). |
| 4 | 2. JSP file `retraction_followup_form.jsp` in `resources/personal/` is coupled to Javascript file `retraction_followup_form.js`, also in `resources/personal/`.[[BR]]a. The JSP file has an input field for entering a case name or personal number. After initial validation of the case name/personal number, function `rf.caseNameOnChange()` calls servlet `RetractionFollowUpFormServlet` with command "`GetCaseInfo`" to obtain a JSONObject with information on all cases for the patient in question, that is processed by function `rf.onCaseInfoLoaded(response)`, to determine if the patient biosource type is correct ("`Retract`" or "`RetroNo`" are allowed for the follow-up step).[[BR]]c. Function `rf.initializeStep2()` then calls servlet `RetractionFollowUpFormServlet` with command "`GetCaseInfo`" a second time, where the response is processed by function `rf.caseInfoLoaded(response)`, which fills retract data retrieved from the database into input fields in the form. The second step of the form contains input fields for seven retraction request and response dates for the patient in question.[[BR]]d. The date fields are coupled to validation checks by functions `rf.labDateOnChange()`, `rf.bloodDateOnChange()`, `rf.frozenDateOnChange()`, and `rf.forwardedDateOnChange()`.[[BR]]e. Button "Register" is coupled to function `rf.submit()`, that sends the retract request and response date values in the form together with the input case name/personal number to servlet `RetractionFollowUpFormServlet` with command "`RegisterRetraction`". |
| 5 | 3. New java servlet class/file `RetractionFollowUpFormServlet.java` in `src/net/sf/basedb/reggie/servlet/` accepts `GET` requests for command "`GetCaseInfo`", and `POST` request for command "`RegisterRetraction`". It accesses the database to retrieve the requested information, or update the contents, and sends the results back in JSON format. The functionality for command "`GetCaseInfo`" is basically identical to that of servlet `RetractionFormServlet`, while command "`RegisterRetraction`" stores date values from the form in new annotations for patient items of biosource type "`Retract`" or "`RetroNo`". If all seven dates are set, new enumerable string annotation "`RetractStatus`" is set to value "`ReadyForDestruction`" (default value is `null`). |