RSS Git Download  Clone
Raw Blame History
[% META title = 'PCR/Sequencing Worksheet' %]
<!-- BEGIN [% template.name %] -->

  [% # PROCESS dumper.tt dump = extraction_status %]
  [% # PROCESS dumper.tt dump = specimen_map %]
  [% # PROCESS dumper.tt dump = t.as_tree FOREACH t IN lab_tests %]

  <h2>[% worklist_function.replace('_', ' ') %] Worksheet Select</h2>

  <form method="get" action="[% app_url %]/local_worklist" name="pcr_worksheet"
		id="pcr_worksheet">
    <input type="hidden" name="function_name"
      value="[% c.query.param('function_name') %]" />
    <input type="hidden" name="worklist_function" value="[% worklist_function %]" />

  <div class="indent">
    [% IF NOT test_names.size %]
	  <p class="bold">Select one or more tests:</p>
		<div id="multi">
		  <div class="indent">
			<select multiple size="[% IF lab_tests.size > 8; 8; END %]"
				name="lab_test_id">
			[% FOREACH test IN lab_tests;
			  NEXT IF test.test_name.match('extraction'); # causes errs & don't need
			%]
			  <option value="[% test.id %]">[% test.field_label | html %]</option>
			[% END %]
			</select>
		  </div>
		</div>
		<p>[% site.html.reset %] [% site.html.submit %]</p>
	[% ELSE %]
	  <input type="hidden" name="print_worksheet" value="1" />
	  [% FOREACH id IN lab_test_ids %]
		<input type="hidden" name="lab_test_id"	value="[% id %]" />
	  [% END %]

      <p class="bold">Selected test(s):</p>
		<ul>[% FOREACH t IN test_names %]<li>[% t %]</li>[% END %]</ul>

	  [% IF requests.size %]
	  <table>
        <tr>
            <td colspan="8" align="right" class="borderless">
                <input type="button" name="CheckAll" value="Select all"
                  onClick="checkAll(document.pcr_worksheet.request_specimen)">
                <input type="button" name="UnCheckAll" value="Clear all"
                  onClick="uncheckAll(document.pcr_worksheet.request_specimen)">
            </td>
        </tr>
		<tr>
			<td class="borderless"></td>
			<th>HMDS ref</th>
			<th>Name</th>
			<th>Date</th>
			<th>Sample</th>
			<th>Screened</th>
            [% IF extraction_status.size # only relevant for PCR, not sequencing %]
                <th>Status</th>
            [% END %]
			<th>Select</th>
		</tr>
		[%
		  i = 0; # row counter
		  seen = {}; # to enable unique entries

		  FOREACH entry IN requests; # PROCESS dumper.tt dump = entry.as_tree;
			data = entry.request; # for lab_number.tt
			patient = data.patient_case.patient;
			extraction = extraction_status.item(data.id); # PROCESS dumper.tt dump = extraction;

			# only want unique requests, so skip if already seen:
 	        NEXT IF seen.${data.id};
			seen.${data.id} = 1; # for unique entries

            # want to split specimens into new line for each:
            specimens = specimen_map.item(data.id).sample_code;
            FOREACH specimen IN specimens;
		%]
		<tr>
			<td align="right">[% i = i + 1; i %]</td>
			<td>[% INCLUDE site/lab_number.tt want_url = 1
			  query_modifiers = [ '_return=1' ] %]</td>
			<td>
				[% patient.last_name | upper %],
				[% format_firstname(patient) || patient.first_name | ucfirst %]
			</td>
			<td>[% data.created_at.strftime('%d.%m.%Y') %]</td>
			<td>
                [% specimen %]
                [% INCLUDE site/snippets/doi.tt
                    IF request_options_map.item(data.id).doi %]
            </td>
			<td>[% data.request_initial_screen.screen.description %]</td>
            [% IF extraction_status.size # only relevant for PCR, not sequencing %]
                <td>
                  [%
                    enabled = 0; # reset default disabled
                    FOREACH e IN extraction; # PROCESS dumper.tt dump = e;
                      # should only be 1 extraction per test, but 1-2-many rel in db:
                      IF e.status.match('complete'); enabled = 1; END;
                  %]
                    <div>[%	e.test_name.remove('_extraction').upper; ' [';
                        e.test_name.match('mlpa_quantification')
                            ? e.status.upper
                            : e.status.replace('complete','extracted').upper; ']' %]
                    </div>
                  [% END %]
                </td>
            [% ELSE; enabled = 1; END # extraction always complete by PCR stage %]
			<td align="center">
			    [% INCLUDE site/lab_number.tt want_url = 0 %]
				<input type="checkbox" name="request_specimen"
                  value="[% data.id %]~[% specimen # request_specimen has no 'id' %]"
				  [% UNLESS enabled %]disabled="disabled"[% END %] />
			</td>
		</tr>
		[% END; END %]
		<tr>
		  <td colspan="2" class="borderless">[% site.html.back_button %]</td>
		  <td colspan="6" class="borderless" align="right">
            [% IF worklist_function.match('^Cell_selections$')  %]
                <label class="bold">Print labels?
                    <input type="checkbox" name="print_labels" value="print_labels" />
                </label>
            [% END %]
		    [% site.html.submit %]
		  </td>
		</tr>
	  </table>
	[% ELSE %]
	  <p class="info">No requests for selected test(s).</p>
	  <p>[% site.html.back_button %]</p>
	[% END; END %]
  </div>
  </form>
 <!-- END [% template.name %] -->