<!-- BEGIN [% component.name %] -->
    [% PROCESS site/request_links.tt %]

    [% # PROCESS dumper.tt dump = has_optional %]
    [% # PROCESS dumper.tt dump = history %]
    [% # PROCESS dumper.tt dump = status_options %]
    [% # PROCESS dumper.tt dump = request_options %]
    [% # PROCESS dumper.tt dump = request_consent %]
    [% # PROCESS dumper.tt dump = is_locked %]
    [% # PROCESS dumper.tt dump = data.as_tree %]

    <table>
      [% IF request_consent.storage.match('no') AND c.is_lab_staff %]
        <caption id="no-store">**** patient has refused consent for retention of
          body fluids/organs ****
          </caption>
      [% END %]
      <thead>
      <tr class="tbl_header_darken">
        <th>
          [% url_args = 'last_name=' _ patient.last_name _ ';first_name=' _
              patient.first_name _ ';middle_name=' _ patient.middle_name
          %]
          <a href="[% app_url %]/search/do_search?[% url_args | url %]">Name</a>
        </th>
        <th>
          [% url_args = 'dob_day=' _ patient.dob.strftime('%d') _ ';dob_month=' _
              patient.dob.strftime('%m') _ ';dob_year=' _ patient.dob.strftime('%Y')
          %]
          <a href="[% app_url %]/search/do_search?[% url_args | url %]">DoB</a>
        </th>
        <th>
          [% IF data.patient_case.unit_number %]
            [% url_args = 'unit_number=' _ data.patient_case.unit_number %]
            <a href="[% app_url %]/search/do_search?[% url_args | url %]">Unit Number</a>
          [% ELSE %]
            Unit Number
          [% END %]
        </th>
        <th>
          [% IF patient.nhs_number %]
            [% url_args = 'nhs_number=' _ patient.nhs_number %]
            <a href="[% app_url %]/search/do_search?[% url_args | url %]">NHS Number</a>
          [% ELSE %]
            NHS Number
          [% END %]
        </th>
        <th>
          Lab No. <a href="[% app_url %]/request/barcodes/[% data.id %]">
            <i class="fa fa-barcode fa-lg" aria-hidden="true"></i></a>
        </th>
        <th>Date</th>
        <th>Source</th>
        <th>Referrer</th>
        <th>Sample</th>
        [% IF c.user_can('edit_pid') %]
          <th>Edit</th>
        [% END %]
      </tr>
      </thead>

      <tbody>
      <tr>
        [% class = request_options.urgent.is_selected ? 'urgent' : 'normal' %]
        <td class="[% class %]">
          [% patient.last_name   | upper %],
          [% format_firstname(patient) || patient.first_name | ucfirst %]
          [% patient.middle_name | ucfirst %]
          [[% patient.gender %]]
        </td>
        <td>
          [% IF patient.dob;
                age_now = calculate_age(patient.dob, c.time_now);
                age_at_req = calculate_age(patient.dob, data.created_at) %]
            <span class="acronym" title="age at registration = [% age_at_req
                %]; age now = [% age_now %]">
              [% patient.dob.strftime('%d.%b.%Y') %]
            </span>
          [% ELSE; site.html.grey_null; END %]
        </td>
        <td>
          [% data.patient_case.unit_number || site.html.grey_null %]
        </td>
        <td>
          [% PROCESS site/nhs_number.tt nhs_number = patient.nhs_number %]
        </td>
        <td>
          [% PROCESS site/lab_number.tt want_url = 1 # expects request object 'data' %]
        </td>
        <td>
          [% registered = data.created_at.strftime('%d.%b.%Y');
              IF has_optional.request_specimen_detail
                AND data.request_specimen_detail.specimen_date;
                  date_taken = data.request_specimen_detail.specimen_date;
                  days_old = data.created_at.delta_days(date_taken).delta_days;
          %]
            <span class="acronym"
                title="taken [% date_taken.strftime('%a %d.%b.%Y @ %H:%M')
                    %] [[% days_old || 0 %] days old]">
              [% registered %]
            </span>
          [% ELSE; registered; END %]
        </td>

        [% class = has_optional.clinical_trial ? 'trial' : 'normal' %]
        <td class="[% class %]">
          [% SET location = data.patient_case.referral_source.display_name %]
          [% PROCESS site/display_name.tt %]
        </td>
          [%
            SET department = data.referrer_department.hospital_department;
            SET referrer   = data.referrer_department.referrer;
          %]

          [% class = request_options.private.is_selected ? 'private' : 'normal' %]
        <td class="[% class %]">
          <span [% IF department %]class="acronym" title="[% department.display_name %]"
              [% END %]>[% referrer.name %]
          </span>
          [% IF request_options.copy_to.is_selected %]
            <sup>[<span class="red">+cc</span>]</sup>
          [% END %]
        </td>

        <td>
          [%
            specimen_code = specimen_map.item(data.id).sample_code.join(', ');
            specimen_long = specimen_map.item(data.id).description.join('; ');
          %]
          [% IF has_optional.external_ref;
              external_ref = data.request_external_ref.external_reference %]
            <span class="acronym" title="[% specimen_long %]; ref=[%
              external_ref %]">[% specimen_code %]</span>
          [% ELSE %]
            <span class="acronym" title="[% specimen_long %]">
              [% specimen_code %]
            </span>
          [% END %]
          [% INCLUDE site/snippets/doi.tt IF request_options.doi.is_selected %]
        </td>

        [% IF c.user_can('edit_pid') %]
        <td align="center">
          [% IF is_locked %]
            <img class="href" src="/images/locked_small.png" title="record locked" alt="" />
          [% ELSE %]
            <a class="href" href="[% app_url %]/patient/edit_patient/[% patient.id %]/[% data.id %]">
              <img class="href" src="/images/patient.png" title="edit patient" alt="" />
            </a>
            <a class="href" href="[% app_url %]/request/edit/[% data.id %]">
              <img class="href" src="/images/record.jpg" title="edit request" alt="" />
            </a>
            [% IF c.user_can('delete_record') %]
              <a class="href" href="[% app_url %]/request/delete_request/[% data.id %]">
                <img class="href" src="/images/delete.png" title="delete request" alt="" />
              </a>
            [% END %]
          [% END %]
        </td>
        [% END %]
        [% IF c.cfg('settings').composite_barcode;
            info =
              c.cfg('settings').lab_number_prefix
              _ data.request_number _ '/' _ ( data.year - 2000 ) _ ','
              _ patient.nhs_number _ ','
              _ data.patient_case.unit_number _ ','
              _ data.request_external_ref.external_reference;
        %]
          <td class="borderless">[% small_2d_barcode(info, 'data_matrix') %]</td>
        [% END %]
      </tr>
      </tbody>
    </table>

    [% IF has_optional.clinical_trial %]
      [% trial_number = get_trial_number(patient.id, data.request_trial.trial_id) %]
      <p class="indent">
        <span class="trial">Clinical trial</span>:
        [% data.request_trial.trial.trial_name %]
        [% IF trial_number %]
          [ [% trial_number %] ]
        [% END %]
      </p>
    [% ELSIF has_optional.previous_clinical_trials.size  # has requests in trials: %]
      <p class="indent">
        <span class="info">Patient also has clinical trial request(s):</span>
        [% FOREACH trial IN has_optional.previous_clinical_trials %]
          <a href="[% app_url %]/search/do_search?patient_id=[% patient.id
            %];trial_id=[% trial.key %];_return=1">[% trial.value.trial_name %]</a>
            [[% trial.value.trial_number %]]
          [% ' | ' UNLESS loop.last %]
        [% END %]
      </p>
    [% END %]

    [% IF request_options.doi.has_others AND c.is_lab_staff %]
      <p class="indent blink error">[% c.messages('patient').biohazard %]</p>
    [% END %]

    [% IF request_errors.size; skip = {} %]
      <ul class="indent warning" id="errorList">
        [% FOREACH err IN request_errors;
          NEXT IF skip.item(err.error_code.code) # already displayed %]
          <li>
            [% err.time.strftime('%d.%b.%Y') %] ::
            [% err.error_code.description %]
            [[% err.error_code.code | upper %]]
          </li>
            [% skip.${err.error_code.code} = 1
              IF err.error_code.code.match('c') # only display 1st time %]
        [% END %]
      </ul>
    [% END %]

    [% IF request_options.sender_ioa.is_selected %]
        <div class="indent red">
            <i class="fa fa-fax" aria-hidden="true"></i>
            sender insists on analysis
        </div>
    [% END %]

    <p>
      [% IF has_optional.initial_screen %]
        Screened
        [%- IF c.user_can('view_unrestricted'); # hide from non-authorised users
          screened_as = data.request_initial_screen.screen.description | html;
        -%] as [% IF c.user_can('screen') AND NOT is_locked; # formatting for .t:
          -%]<span class="acronym" title="edit"><a href="[% app_url %]/screen/edit/[%
            data.id; IF has_optional.report; '?skip_new_tests=1'; END %]">[%
            screened_as %]</a></span>
          [% ELSE %]
			<strong>[% screened_as %]</strong>
          [% END %]
		[% END %]
        [% user = history.screened.user %]
          by <strong>[% user.first_name | ucfirst %] [% user.last_name  | ucfirst %]</strong>
          on <strong>[% history.screened.time.strftime('%d.%b.%Y') %]</strong>
      [% ELSE %]
        <b>Record not screened</b>
      [% END %]
    </p>
<!-- END [% component.name %] -->
