moved request audit in screening function to optional & disabled it; moved set_querylog_args & set_errorhandler_args near top of cgiapp_prerun() so they take effect for login & session update handling
new screen_category table; moved screens 'type' col to category_id; modified all screening terms & screening tests admin functions to accomodate new screen_category table; removed ajax validation from screen description & lab test field_label as these use 2 & 3-col unique keys so can't be validated by AJAX; email reports function uses users secure email address as sender; modifed portal_access function to supply SHA1 hash of current date - so failed login not sent back to portal page without explanation; modified mail_reports.pl to use item names instead of table id accessors
modified HMRN previous diagnoses list to only skip previous ICDO3 diagnoses if /3 or MGUS (not other /1 or /6); HMRN previous diagnosis list can retrieve records based on record id or patient.id; changed query_modifiers to an array instead of str in site/lab_number.tt; print report only highlights diagnosis if modified AFTER authorisation date
patched C::Report::preview_report() to handle Outreach requests; refactored some M::Outreach code into new M::Roles::Outreach role for sharing between reporting function and followup option editing
patched search constraints error - date_before/after -> all_before/after + validation definition; changed some instances of User::get_user_details to User::get_user_by_username in controllers; added 'query_args' to get_page() js function in date_constraints.tt to allow eg sort_by params to be passed to date constraint constructors
patched date validation to allow date fields day, month & year to carry prefix (dob_* or request_*); patched .t and .tt to submit correct param (eg dob_day instead of day)