added new function to require confirmation when reporting with outstanding test results; moved C::Report::_get_requested_tests() to C::Roles::ResultHandler; converted some template data objects to as_tree hashrefs to prevent db lookups when empty; fixed some tests to comply with new confirm_outstanding_results flag
patched C::Result::do_export_test_results() to only split $vars{category_id} if var supplied; added specimen type and result summary to export test results function; added specimen to unscreened.pl script
refactored user_workload to allocate 1 unit per request, not 1 unit per specimen; added totals and percentages cdata to user_workload; moved user_workload query back to RDBO from dbix
excluded exempt nhs number categories from M::Audit::nhs_number_supplied(); changed M::R::DBIxSimple::constraint (Str) to ::constraints(Array) to handle multiple constraints; included a skip list in mail_reports.pl; placed constraints list in forms in toggleviw container
fixed Dispatch error_document - was passed in args_to_new by mistake; added 500.html error document for Apache; added new 500 error test to Resources/Test
amended new_referral_source.pl to examine request_history for changes to referral location to catch new locations 1st used when date of amendment != registration; patched activity_data script to use a branch-to-parent-practice map
reverted to original Text::CSV::Simple, but added new on_failure trigger with more explicit wanring - in Local::ExcelHandler; lantronix_socket has alter_admin function when data string appears corrupt - not working yet
C::Result::preview_datafile() callback function to load flow data PDF; moved @skip_orgs list from activity_data.pl & national_code_unknown.pl into cron settings.cfg