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
imaging issues - changed some dbix methods from query() to select(); moved imaging from a subset of hmrn_data.params to hmrn_data; completed conversion to follow-up scanning data
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
excluded exempt nhs number categories from M::Audit::nhs_number_supplied(); changed M::R::DBIxSimple::constraint (Str) to ::constraints(Array) to handle multiple constraints; included a skip list in mail_reports.pl; placed constraints list in forms in toggleviw container
moved M::Chart::get_sql_with_constraint() and _get_search_constraints() to M::Roles::DBIxSimple for code shart between M::Chart and M::Audit; replaced C::Chart::_get_chart_title() function with __PACKAGE__constraint_title, set in M::Roles::DBIxSimple::_set_chart_constraints()