bugfix - failure to update request_result_summary timestamp col on result_summary update causing premature locking of records; action logged in request history when request status set to complete by incomplete_requests.pl or M::R::RequestUpdate::update_request_status; adapted incomplete_requests.pl to include status complete requests with diagnosis awaiting final diagnosis/review; ScriptHelpers::do_request_history renamed to log_diagnosis_alert to avoid conflict with M::R::HistoryAction method of same name; nav bar loads HMRN link if user has either view_outreach_data or edit_outreach_data permissions; L::Role::DiagnosisConfirm::diagnosis_confirmation_required hash of lab_sections renamed from %map to %required for clarity
modified method of determining whether C::Worklist::display() is for data entry and how return is handled; incomplete_requests have date stamp; awaiting_final_diagnosis list includes diagnosis = awaiting final review
adjusted M::Audit::_lab_test_data() to return timestamps instead of dates for lab_test_audit.pl script - does not affect lab test turnaround times resource
new lab-test audit script; moved common M::Audit::turnaround_times_lab_tests() functions into M::Audit::_lab_test_data() for share with new lab_test_turnaround_export() function; lab test turnaround times sets correct start time of tests auto-requested at registration (eg histology stains), previously assumed to be at screening; M::Roles::Query::_set_search_constraints() accepts DateTime objects for date_from & date_to params
moved Spreadsheet::WriteExcel::Simple function in Audit M & C classes to Local::Excelhander::generate_spreadsheet(); mail_reports.pl includes filename in stdout to identify potential report failures in cron.log
adapted C::Roles::PatientDemographics to work with RequestForm::Validate - moved some var constructions to wrapper methods overridden in RequestForm::Role::PDS; adapted trial_cases.pl script to generate one XL tab per trial - data includes patient so requires secure contact addresses
bugfix - recent change to new user validation required location param which isn't submitted in user manager page - now optional param; changed quarterly list of specified trial cases to monthly list of all except specified trials; option to specify 'centre' param to lims_server at command-line; changed misleading address for user application form in login template
improved new_user() method of validating input data and tt handling of errs - missing input caused misleading error messages, data validated in both preview & post actions; new status_complete.pl script