added username validation to admin new user function; added specimen type to trial cases alert; revised genomics schema to reclaim unused sections & tests
provided direct link from results page to worklist for individual test status changes; prevented file deletion in genomics_xml.pl if ftp server returns error
bugfixes: auto_expand lab tests didn't test for value, just presence of table col; gitignored local css files; user message function doesn't need user_location if accessed from 'PM' link
replaced results summary requesting of additional tests from additional_tests.yml to database tables - same as diagnosis generated tests; new static view results summary additional tests; moved auto-expand panels from yml to lab_sections table; redrafted additional_tests.t to work with changes to diagnosis & results summary requesting new tests
validation of lab_sections data, has_labels depends on config setting'have_label_printer'; amended billing rules for FLAIR trial follow-up; changed oder of results and result summary in report display - as commented TODO sections temporarily
added specimen filter to request status worklists; combined date and delta values with colour-coded display in incomplete tests & request status worklists
moved part_number from optional to required for storage input validation; added multi_many_ok to search_requests_count() eg for specimen & request_summary searches - both 1-to-many fields
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()