bugfix - failure to update request_result_summary timestamp col on result_summary update causing premature locking of records; action logged in request history when request status set to complete by incomplete_requests.pl or M::R::RequestUpdate::update_request_status; adapted incomplete_requests.pl to include status complete requests with diagnosis awaiting final diagnosis/review; ScriptHelpers::do_request_history renamed to log_diagnosis_alert to avoid conflict with M::R::HistoryAction method of same name; nav bar loads HMRN link if user has either view_outreach_data or edit_outreach_data permissions; L::Role::DiagnosisConfirm::diagnosis_confirmation_required hash of lab_sections renamed from %map to %required for clarity
fixed inflate_mysql_date_to_datetime() to protect against invalid dates from pre-HILIS4 data; changed prognostic_indicator test script to manipulate dob instead of diagnosis date to provide better control of age; highlight invalid age in HMRN event data table
adapted xNA extraction worksheets to split xFU into xF & xU samples and adjust for number of blocks for xF, xU & xBL samples; xNA extration worksheets append empty rows to max 12; patched view_cron_log() regex to include hyphenated script names; DB::RequestExternalRef status field required larger varchar value
added process size logging facility to fastcgi process; authorised/incomplete records worklist displays outstanding lab tests; added cd SCRIPT_DIR to fcgi script so git version info loaded when restarted from outside HILIS4 dir
bugfixes: LL::Search doesn't have access to is_lab_staff() method of LIMS::Base so had to create own version; {QUERY_STRING} not passed in 'post' method in request form upload, so substituted CGI, needed 'tkn' param addition to FileUploader default.tt
changed update patient method to prevent modification of patient with an NHS number if single_record_only mode selected (nhs number is unique col and can't be shared with another patient profile); new register_edit.t tests
applied same server-side validation to storage vialId as already done by ajax, factored out common regex to LLU; moved M::Ajax::check_storage_vialId() to M::Validation::has_storage_vialId(); applied check that patient entry exists to C::Patient::_check_nhs_number_usage() for PID change, but not implemented as creation of new patient works OK; alphabetically sorted lims_messages.pl dfv section
configured ability to expand panels to lab-tests, configurable by section through yml file + tests appended to results.t; new potential_trial_cases cron
logic to determine whether to set request status to complete considers result summary datetime relative to authorisation datetime; replaced io unlink() with system unlink in render_pdf - was giving occasional errors; replaced M::Base::does_authorisation method with Moose attr to save repeat db queries; fixed oversight in _archive_report_details() causing history log to record amended specimen_date at every authorisation; gallium_data.pl checks for comment field to prevent fatal error; more report_status.t tests to test for status change on delayed result summary entry