moved HIV chart looks_like_number() check to own sub-routine check_numeric() for eventual sharing with other chart methods; moved HIV \@chart_data to class method chart_data() for access from new check_numeric() method
made CD4 regexen in HIV chart plot non-greedy in case result summary entered without line-feeds; checked all HIV vals pass Scalar::Util::looks_like_number() test or issues error msg; configured chart to display error messages; added setGapColor on HIV chart
added patient notes to chimerism_prep() function; fixed empty row issue on parse_xl_file(); put 30sec timeout on sysmex.pl read() function to fix broken communication issue after sysmex restart; new syncona-14mg.pl cron
bugfix to bcr-abl data import template where argument '' isn't numeric in subtraction if null entries; hello.tt tests for 'have_online_requests' setting
replaced lab-test sections of auto_screen.yml with db table lookups for consistency with manual screen - changed auto_screen.yml file from href to array to preserve order of rules
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()
new setting 'is_test_platform' to exempt test server from portal login requirement; new outreach worklists unreported and unauthorised; added user-configurable duration option on unreported worklist, shared with outreach unreported; adapted Resources token generation function to provide encrypted username for online request forms; bugfix to _xna_extraction() - lc on query param extraction_type gave error if param undef
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