| 4 | |
| 5 | Design update: |
| 6 | |
| 7 | 1. Java data access object class/file `Annotationtype.java` in `src/net/sf/basedb/meludi/dao/` updated with new integer annotation type `VIABLE_TUMOUR_CELLS_PERCENT` for samples. |
| 8 | 2. Java servlet class/file `InstallServlet.java` in `src/net/sf/basedb/meludi/servlet/` updated in protected method `doGet(HttpServletRequest req, HttpServletResponse resp)` updated to include annotations of new integer annotation type `Annotationtype.VIABLE_TUMOUR_CELLS_PERCENT` for specimen items. |
| 9 | 3. Specimen tube registration updated:[[BR]]a. JSP file `specimentube.jsp` in `resources/sampleproc/` updated with new input field for integer value of percentage viable tumour cells.[[BR]]b. Javascript file `specimentube.js` in `resources/sampleproc/` updated in function `initPage()` to add event handler to input field `viableTumourCellsPercent` and coupling it to new function `viableTumourCellsPercentOnChange()`, that checks that the value is a reasonable percent value, in which case new global variable `viableTumourCellsPercentIsValid` is set to `true`. Function `validateStep2()` is updated to require that new global variable `viableTumourCellsPercentIsValid` is `true`, for step 2 to be considered valid. Function `submit()` updated to obtain the value in the viable tumour cells percentage input field and include it in the data sent to `SpecimenTubeServlet`.[[BR]]c. Java servlet class/file `SpecimenTubeServlet.java` in `src/net/sf/basedb/meludi/servlet/` updated in private method `void setAnnotations(DbControl dc, Annotatable item, JSONObject jsonCase, int nofSections, String operatorComment)` to get optional integer value of percentage viable tumour cells from `JSONObject jsonCase` via string key "`viableTumourCellsPercent`", and set the value for annotation of type `Annotationtype.VIABLE_TUMOUR_CELLS_PERCENT` for the item in question. |
| 10 | 4. Personal information registration updated:[[BR]]a. JSP file `persinfo.jsp` in `resources/personal/` updated with new input field for integer value of percentage viable tumour cells.[[BR]]b. Javascript file `persinfo.js` in `resources/personal/` updated in function `initPage()` to add event handler to input field `viableTumourCellsPercent` and coupling it to new function `viableTumourCellsPercentOnChange()`, that checks that the value is a reasonable percent value, in which case new global variable `viableTumourCellsPercentIsValid` is set to `true`. Function initializeStep3() is updated to obtain value for percentage viable tumour cells from specimen data, if an existing case should be updated. Function `validateStep3()` is updated to require that new global variable `viableTumourCellsPercentIsValid` is `true`, for step 3 to be considered valid, for a case with specimen(s). Function `submit()` updated to obtain the value in the viable tumour cells percentage input field and include it in the data sent to `PersonalRegistrationServlet`.[[BR]]c. Java servlet class/file `PersonalRegistrationServlet.java` in `src/net/sf/basedb/meludi/servlet/` updated in protected method `void doGet(HttpServletRequest req, HttpServletResponse resp)` to load value of percentage viable tumour cells from annotation "`viableTumourCellsPercent`" for existing specimens. Private method `void setAnnotations(DbControl dc, Annotatable item, JSONObject jsonCase, int nofSections, String operatorComment)` updated to get optional integer value of percentage viable tumour cells from `JSONObject jsonCase` via string key "`viableTumourCellsPercent`", and set the value for annotation of type `Annotationtype.VIABLE_TUMOUR_CELLS_PERCENT` for the item in question. |
| 11 | 5. Case summary updated:[[BR]]a. JSP file `case_summary.jsp` in `resources/reports/` updated with new report field in the specimen section for integer value of percentage viable tumour cells.[[BR]]b. Javascript file `case_summary.js` in `resources/reports/` updated in function `caseInfoLoaded(response)` by adding columns for values of viable tumour cells percentage for specimens.[[BR]]c. Java servlet class/file `CaseSummaryServlet.java` in `src/net/sf/basedb/meludi/servlet/` updated in private method `void loadSpecimenInfo(DbControl dc, SnapshotManager manager, SpecimenTube specimen)` to load annotations of integer annotation type `Annotationtype.VIABLE_TUMOUR_CELLS_PERCENT`. |