added storage module logging; new storage.t; adapted vialId validation to recognise 10-digit ids in addition to leading 2 alphabetical chars; bugfix to storage edit function - requied to capture vialId as well as request_id for validation failure return to edit(); added new fields to DNA extraction worksheet
changed import_xtr_96_data() to standardise if/else block - tests form input vars only (import, export of void plate); defaults to return dummy data if port 8000 in use rather than relying on uncommenting instruction
fixed inflate_mysql_date_to_datetime() to protect against invalid dates from pre-HILIS4 data; changed prognostic_indicator test script to manipulate dob instead of diagnosis date to provide better control of age; highlight invalid age in HMRN event data table
added url_base to cgiapp_prerun(), refactored multiple calls to ->query to ; added part_number to storage module; restored 10-digit storage vialId + validation; bugfix to update_storage_vial(), failed validation due to duplicate vialId and old update method didn't do changes_only; added online request form link to guest user hello page; moved token generation from Resources menu() to Role::Resources::create_form_tokens() for sharing between menu() & hello()
added patient summary header to all request-related pages (phonelog, errorlog, email, data edits, unlock record, etc); option to switch off gross description field
added function to request new lab-tests through storage module without causing request status to revcert from complete; renamed some request status worklist menu items