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
moved request audit in screening function to optional & disabled it; moved set_querylog_args & set_errorhandler_args near top of cgiapp_prerun() so they take effect for login & session update handling
new screen_category table; moved screens 'type' col to category_id; modified all screening terms & screening tests admin functions to accomodate new screen_category table; removed ajax validation from screen description & lab test field_label as these use 2 & 3-col unique keys so can't be validated by AJAX; email reports function uses users secure email address as sender; modifed portal_access function to supply SHA1 hash of current date - so failed login not sent back to portal page without explanation; modified mail_reports.pl to use item names instead of table id accessors
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
patched C::Report::preview_report() to handle Outreach requests; refactored some M::Outreach code into new M::Roles::Outreach role for sharing between reporting function and followup option editing