validate secondary diagnosis to prevent duplication of primary diagnosis * leads to loss of duplicate diagnosis data on rendering of Rose object by template or as_tree() * rename ConstraintMethods 'check_eq_with' to 'check_vial_id' for consistency with 'check_secondary_diagnosis' validation method
move lab-test accreditation info from yaml file to database; admin interface to lab-test accreditation; remove flash message about ukas_accredited_tests.yml after new lab-test, replace with redirect if appropriate
bugfix - flash messages set in C::L::Labels don't appear in tt * fixed by handing calling object (C::L::Worklist) to C::L::Labels for setting flash messages on * factored CAP::MessageStack rendering block into its own snippet tt for calling independently from site/status.tt * bugfix to 2 test scripts
plasma storage labels supply trial number in place of patient name; fixed error generated when supplying empty #labels option; provided '0' for number of labels to allow valid input for skipping label printing for individual requests
moved storage vial deletion validation to DFV method and added 'reason for deletion' form field; added centre id to mail_reports.pl cron log entry; ppm_and_results.pl uses IPC::System::Simple to capture more explicit tar error (was returning 'cannot stat file' msg without script name & location info); added inadequate unfixed specimen to weekly notifications
modified previous change to enable user with secure address to email - given lowest priority over contacts.lib entry and generic email address (as used by UCLH)