replaced loading of Local::DBIxSimple in individual model classes with single loading in Model::Base; renamed DBIxSimple::get_meta to dbix_get_meta to avoid clash with Model::Base::get_meta (now renamed get_meta_data); fixed report.t - new method report_diff replaced comment
added ability to retrieve inactive legacy diagnosis to autosuggest diagnoses; changed DB::Diagnosis::Manager method name from 'diagnosiss'; patched national_code_unknown.pl cron to report 'no unknown codes' instead of blank message
added check for defined validator method in Ajax jquery_check_value(); switched RDBO_DEBUG off for db_write_timer() & db_read_write_timer(); indexed email_contacts.contact_address col
MAJOR CHANGE: moved sql_lib() from M::Base to new M::Role::Query; moved all M::R::QueryFormatter methods into M::R::Query; removed sql_lib() from ScriptHelpers - using new M::Roles::Query method; removed lims_dbix() from M::Base - now loaded via M::Role::DBIxSimple on demand; moved get_sql_with_constraint() from M::R::DBIxSimple to M::R::Query; method gets dbh from lims_db not lims_dbix in M::LabSection::update_lab_sections() & M::Specimen::update_specimens(); added elements() to Local::QueryLibrary
moved file upload handing from L::Local::Utils::unzip_file() to C::Roles::DataFile::process_file_upload(); C::DataImport::bcr_abl() can process zip or xls file; completed data parsing by C::DataImport::bcr_abl()