bugfixes - cannot use DateTime->now default in DB::Request for new request as DB classes loaded once so new request fails on turn of year unless server restarted; activity data requests without referral source list trial name if exists
moved auto-generated specimen-associated lab-tests function from M::Request::new_request to own method in M::R::LabTestUpdate for sharing between new request and specimen code update methods
MAJOR CHANGES: search form uses jQuery watermark instead of dd-mm-yyyy display - changed date-field validation to accommodate; moved do_new_lab_test() method out of M::Role::ScreenUpdate to new M::Role::LabTestUpdate to share function with auto-requesting tests at diagnosis/authorissation; changed 'teaching' field to radio button in report page and changed handling of report_option fields in M::Roles::ReportUpdate::do_additional_options() - all request_options were being cleared during report stage; added updated_at timestamp field in M::Roles::ReportUpdate::do_request_report() to any unchanged request_report object to trigger mail_report.pl on authorised cases - were being missed as updated_at col was not being modified
fixed remaining incorrect procedure calls on $db->error in Model causing 'silent' RDBO errors to trigger application error; L::Local::Mail::dispatch() & send_attachment() methods list any missing params instead of just reporting there are some missing
modified M::Audit::turnaround_times() and more chart functions to accept arrayref of screening terms; modified C::R::SessionStore::session_store() request_options data format (was incorrect format); bugfixes to M::Roles::RequestUpdate::do_trial_number_update(), MRRU::do_request_options_update(), MRRU::do_request_consent_update() and M::Patient::merge_patients()
screening functions (new & edit; not yet auto-screen at new request) display outcome summary of which lab-tests requested & which (if any) skipped; fixed many *.t issues caused by adding patient notes form to report page - made 'report' a multi-form page
added skipped_lab_tests & added_lab_tests arrays to M::Roles::ScreenUpdate::do_new_lab_tests to return outcome info to Controllers; replaced 3 object attributes with 2 LIMS::DB queries in M::Roles::ScreenUpdate::_have_required_sample_type_for_lab_test(); ErrorHandler uses L::Model::Email instead of L::Local::Mail - supplies required _app_cfg - email-admin function now works
print report function calculates composite immunohistochemistry p21/p53 result; replaced M::Request::get_previous_diagnosis_count() with get_previous_diagnoses() to supply data instead of just count, replacing redundant previous_diagnosis_data from C::Report::load(); printed reports now display 'amended report' details and highlights changed diagnosis; QueryLog creates separate logfiles for dev server user, to avoid lack of write permissions if files opened by Apache user & also to avoid polluting production logs with dev data
added sort-by referrer option to print run; replaced get_email_addresses() & get_contacts() in ScriptHelpers with class attributes secure_contacts & user_emails; tweaked print.css for print run outreach reports