allowed emailing of anonymised reports to non-secure contact address - moved check_email_is_valid() from validation class to C::Request::_check_secure_recipient(); request log view/print links hidden from external user - caused confusion
bugfixes - M::Roles::Outreach::calculate_pack_return_date() was updating original pack_due date when adding 1 month; outreach questionnaire still required kgs or stones for weight - now both optional; imatinib chart plotted single data point - now checks for valid previous results, not just previous records
MAJOR CHANGES: search form uses jQuery watermark instead of dd-mm-yyyy display - changed date-field validation to accommodate; moved do_new_lab_test() method out of M::Role::ScreenUpdate to new M::Role::LabTestUpdate to share function with auto-requesting tests at diagnosis/authorissation; changed 'teaching' field to radio button in report page and changed handling of report_option fields in M::Roles::ReportUpdate::do_additional_options() - all request_options were being cleared during report stage; added updated_at timestamp field in M::Roles::ReportUpdate::do_request_report() to any unchanged request_report object to trigger mail_report.pl on authorised cases - were being missed as updated_at col was not being modified
added H&E/Giemsa test to H&E worklist; major Outreach changes - changed self_care_1 & self_care_2 fields to self_care & usual_activity; made all lab-param fields optional for validation; made heath_index field on outreach.questionnaire_eq5d optional; M::Outreach::update_patient_questionnaire() only attempts to write new data if data for table exists - to allow outreach questionnaire submission with empty EQ5D fields; outreach demographics.dispatch_to val defaults to home
took all outreach questionnaire fields out of validation; added outreach demographics post-code validation; removed ability of guest users to see previous diagnoses if revised; added omitted post-code to outreach reports; outreach demographics GP defaults to unlisted if unknown practice
moved RequestInitialScreen object creation to top of transaction in L::Model::Screen::do_initial_screen() to prevent auto-report crashing when trying to load object further down in sub _diagnosis_confirmation_required {; added 'digit' filter to NHS number validation to remove internal spaces
referral_source autosuggest loads only active records for registrtaion and request edit functions; new column is_active on referral_sources table; refactored list_all_screen_tests table to show screen categories
new tables sample_types, lab_section_sample_type & specimen_sample_type; added sample-type data to lab sections and specimens configuration functions; replaced arg to ErrorHandler::set_errorhandler_args with L::Local::Config->instance, as used in QueryLog