[% # META title = '' # using my.meta_title to allow processing dynamic vars: status_query = c.query.param('status_query').replace('_', ' ') | ucfirst; my.meta_title = "Worklist » Request Status » ${status_query}" -%] [% # PROCESS dumper.tt dump = request_options_map %] [% # PROCESS dumper.tt dump = incomplete_lab_tests %] [% status_query = c.query.param('status_query'); duration = c.query.param('duration') || c.cfg('settings').unreported_duration; filter = c.query.param('filter'); # INCLUDE dumper.tt dump = filter; %] [% class = ( ! filter OR filter.match('all') ) ? 'normal' : 'grey' %]

Request status - [% status_query.replace('_', ' ') %] cases [[% requests.size %]]

[% IF status_query.match('unreported') # only customising unreported so far %]

Cut-off (days): [% site.html.go_btn %]

[% END %] [% IF requests.size AND c.cfg('settings').use_specimen_filter; INCLUDE worklist/snippets/specimen_filter.tt; END %] [% IF requests.size AND c.cfg('settings').use_location_filter; INCLUDE worklist/snippets/location_filter.tt; END %] [% UNLESS status_query == 'unscreened' %] [% IF incomplete_lab_tests %] [% END %] [% END %] [% IF c.query.param('status_query').match('unauthorised') %] [% END %] [% FOREACH data IN requests; # PROCESS dumper.tt dump = data.as_tree; patient = data.patient_case.patient; IF filter; specimens = specimen_map.item(data.id).sample_code; # array # INCLUDE dumper.tt dump = specimens; tissue = '[DGLRTX](A|[BS][LP]|F|U)'; # ? BMAT liquid = 'PB|[CE]F|CHI|([(BM)LX]A)$'; # PB,CE,EF,CHI,BMA,LA,XA IF filter.match('^cmp'); NEXT UNLESS specimens.grep('CMP').size; ELSIF filter.match('not_cmp'); NEXT IF specimens.grep('CMP').size; ELSIF filter.match('liquid$'); NEXT UNLESS specimens.grep(liquid).size OR specimens.grep('BMAT').size; ELSIF filter.match('liquid_only'); NEXT UNLESS specimens.grep(liquid).size; NEXT IF specimens.grep(tissue).size; NEXT IF specimens.grep('BMAT|CMP').size; ELSIF filter.match('tissue$'); NEXT UNLESS specimens.grep(tissue).size OR specimens.grep('BMAT').size; ELSIF filter.match('tissue_only'); NEXT UNLESS specimens.grep(tissue).size; NEXT IF specimens.grep(liquid).size; ELSIF filter.match('with_incomplete_tests'); NEXT UNLESS incomplete_lab_tests.${data.id}.size; ELSIF filter.match('no_incomplete_tests'); NEXT IF incomplete_lab_tests.${data.id}.size; ELSIF filter.match('no_clinical_trials'); # or Outreach: NEXT IF data.request_trial OR specimens.grep('CMP').size; ELSIF filter.match('clinical_trial_only'); NEXT UNLESS data.request_trial; END; END; IF c.query.param('location_filter'); selected_location = c.query.param('location_filter'); referral_source = data.patient_case.referral_source.display_name; NEXT UNLESS selected_location.match('^all$') OR referral_source.match("^${selected_location}$"); END; %] [% class = request_options_map.item(data.id).urgent ? 'red' : 'normal' %] [% UNLESS status_query == 'unscreened' %] [% IF incomplete_lab_tests; tests = incomplete_lab_tests.${data.id} %] [% END %] [% END %] [% IF c.query.param('status_query').match('unauthorised'); FOREACH r IN data.request_status; NEXT UNLESS r.action.match('reported'); reporter = r.username.upper; reported = r.time.strftime('%d.%b.%Y'); END; %] [% END %] [% END %]
Lab No Name Sample SourcePresentationIncomplete testsRegisteredReported Reporter
[% i = ( i || 0 ) + 1; i %] [% PROCESS site/lab_number.tt want_url = 1; # expects request object 'data' %] [% patient.last_name | upper %], [% format_firstname(patient) || patient.first_name | ucfirst %] [% patient.middle_name | ucfirst %] [% specimen_map.item(data.id).sample_code.join(', ') %] [% INCLUDE site/snippets/doi.tt IF request_options_map.item(data.id).doi %] [% SET location = data.patient_case.referral_source.display_name %] [% PROCESS site/display_name.tt %] [% IF data.request_initial_screen; data.request_initial_screen.screen.description; ELSE; site.html.grey_null; END; %] [% IF tests; FOREACH t IN tests %]
[% t.test %]
[% END %] [% ELSE %] [none] [% END %]
[% delta = duration_map.${data.id}; class = delta > 5 ? 'add' : # .red without bold text delta > 2 ? 'orange' : 'green'; %]
[% data.created_at.strftime('%d.%b.%Y') %] [[% delta %]]
[% reported %] [% reporter %]

[% site.html.back_button %]