[% META title = 'Worklist » Pre-screen' -%] [% # PROCESS dumper.tt dump = flow_screen_data %] [% # PROCESS dumper.tt dump = specimen_map %] [% # PROCESS dumper.tt dump = request_section_notes_map %] [% # PROCESS dumper.tt dump = unregistered_cases %] [% # PROCESS dumper.tt dump = unregistered_request_lab_tests %]

Pre-screen worklist

[% # define some data structures: headers = [ 'LabNo' 'Sample' 'Surname' 'DoB' 'PCS' 'BLS' 'SCS' 'TLS' 'RIT' 'OUT' 'Date/Details']; lab_tests_map = { plasma_cell => 'PCS', b_lymphoid => 'BLS', stem_cell => 'SCS', t_lymphoid => 'TLS', rituximab => 'RIT', outreach => 'OUT', }; col_names = [ 'PCS' 'BLS' 'SCS' 'TLS' 'RIT' 'OUT' ]; %] [% lot_numbers = BLOCK # define lot numbers block for re-use %] LOT No: [% FOREACH i IN [1 .. 6] %][% END %] [% END %] [% IF flow_screen_data.size || unregistered_cases.size %] [% lot_numbers %] [% FOREACH item IN headers %][% END %] [% FOREACH entry IN flow_screen_data.keys.sort; # PROCESS dumper.tt dump = entry; import( flow_screen_data.item(entry) ); # PROCESS dumper.tt dump = request_id; # PROCESS dumper.tt dump = lab_tests; %] [% FOREACH col_name IN col_names; # BLS, TLC, PCS, etc %] [% END %] [% END %] [% FOREACH entry IN unregistered_cases; # can have multiple specimens, or none: IF entry.pre_registration_specimen; # has had initial processing: FOREACH reg_specimen IN entry.pre_registration_specimen; PROCESS worklist/local/preregistration/specimen_row.tt; END; ELSE; # not yet had specimen(s) allocated: PROCESS worklist/local/preregistration/no_specimen_row.tt; END; END; %] [% lot_numbers %]
[% item %]
[% entry %] [% specimen_map.item(request_id).sample_code.join(', ') %] [% patient.last_name | upper %] [% # empty DoB field %] [% FOREACH test IN lab_tests; # array of lab_test data from flow_screen_data abbreviated_test_name = lab_tests_map.item(test.name); # BLS, TLS, etc NEXT UNLESS abbreviated_test_name == col_name; %] [% IF test.status.match('new') %]x [% ELSE %] [% END %] [% END %] [% request_section_notes_map.item(request_id) %]
[% ELSE %]

No outstanding pre-screen requests

[% END %]