fixed error in import_xtr_96_data.tt handling of data.failed var - returned 0 but true value for size(); var was also a HoH not hash; ensured genomics_xml.pl app_version always returned 4-digit value; improved wording of screen update history entry; more explicit message from ftp put() error
for UCLH: arranged sort order of previous records by registration date then lab number - done by Perl sort function as RDBO forces t1.id 1st if using DATE(requests.created_at) in sort options
simplified generation of participant id - moved patient_case_id lookup into main requests query, skipped patient_case_id field when creating %required_fields; updated genomics.t so tests pass
genomics participant id only created/updated if record screened and unit number still at default UNKNOWN, previously had to lookup unit number every time
patched genomics_xml.pl to update unit number with participant id at any time, not just within of screening, in case of script error on 1st run after screening, in which case opportunity for unit number update lost
bugfixes a) auto-vivification in genomics_xml.pl, b) auto-vivification didn't cause validation failure in xml_validate.pl as params validated after xml created - changed to same order as in genomics_xml.pl; applied same fix as genomics_xml.pl to return value from validate_params() in xml_validate.pl
bugfix: genomics_xml validate_params always returned arrayref (so evaluated to true) even when empty; changed new_user.tt group_label to group_name for case-insensitivity of 'guest' user; field name change for genomics
moved xtr_96 dummy data to Roles::Storage; adapted xtr-96 functions to handle 24, 48 or 96 well racks - controller supplies dimensions toi .tt to draw table; changed configurdation for ftp_file() method to use cwd if supplied and ability to override binary mode; syncona-14mg script logs datetime; new genomics xsd after field changes; disabled some labels in genomics cancer blood SLF