added _parse_data_val() function to C::Roles::Chart to return ::NoValue for null vals, so setGapColor() works as intended; moved make_chart logic from report/default.tt and record/body.tt to separate site/make_chart.tt; some tweaks to cron scripts
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
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
brought some outreach css declarations into print.css for outreach reports in print run; reduced width of outreach chart - too wide for printing; text wrapped self->dump_html in test print pdf function - long lines affect formatting in wkhtmltopdf
added format_firstname callback in templates to enable user-configurable special formatting to first_name - uses format_first_name sub in render_view + format_firstname.yml; changed user_location.region_code to varchar(5) to allow longer parent organisation codes
patched C::PrintRun::_do_print() and C::Roles::RecordHandler::format_print_record_request_data() and ::format_report() to handle outreach templates in print_run request; some minor tt syntax fixes
modified C::Report to handle Outreach cases; prevented redirect to root url from C::Report for Outreach cases if record locked; more Outreach lab_test & demographics functions