Changes between Initial Version and Version 1 of Ticket #725, comment 8


Ignore:
Timestamp:
Jan 8, 2015, 10:00:05 AM (8 years ago)
Author:
olle
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #725, comment 8

    initial v1  
    22
    33 * Specimen tube registration should include an input field for the estimated part of viable tumour cells, in percentage of the total number of cells. It should accept an integer value, but allowed to be `null`.
     4
     5Design 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`.