added ability to close record without triggering amended report, to allow archived records to have new tests requested (eg DNA extraction) without triggering new report generation
aded ability to link lab tests; moved Moose attribute lab_test_map from M::Result to M::R::LabTestUpdate - also used by M::R::ResultUpdate, but relies on caller also loading M::R::LabTestUpdate; new test script to test linked lab-tests
standardised all Model classes using Moose to read 'extends' then 'with'; moved M::R::ReportUpdate::_do_additional_tests to M::R::LabTest::Update::auto_request_additional_tests() for sharing with M::R::ResultsUpdate::do_results_summary_update() so result summary input can auto-request new lab tests - required reconfiguration of additional_tests.yml; changed order of result summary drop-down and textbox entries when joined to form single string
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
added datetime specimen taken to registration and print_view pages; removed CPA icon from report display (interferes with messaging lionks); changed colours on additional comments display
removed request_gross_description from app; added request_secondary_diagnosis definition; replaced underscores with spaces in history display; morphology and comment optional displays in request summary view; more tests in report.t
refactored request_report table again - replaced 'vertical' request_specimen_detail and request_report_detail tables with conventional 1-2-1 mapping with request table
bugfix to calculate_composite_p53 method in case of empty p21; bugfix to M::R::ReportUpdate::do_additional_options() to prevent inappropriate deletion of teaching option
fixed inability to create new entry inpack_dispatch table when changing non-duration followup option to duration one; activated changes to pack overdue table - calculates deltas on return_due date rather than pack_sent; patched outreach/haematology.tt sysmex data calculations to correctly handle *000 values; reversed attempt to share get_auto_requested_lab_tests methods - too complex as crons can't use DB classes