RSS Git Download  Clone
Raw Blame History
<!-- BEGIN [% component.name %] -->
    [% # PROCESS dumper.tt dump = all_results %]
    [% # PROCESS dumper.tt dump = raw_lab_test_data.haematology_data %]

  [%
    results = {};
    FOREACH section IN all_results.keys.sort;
      FOREACH entry IN all_results.$section.test;
        # PROCESS dumper.tt dump = entry.value.result;
        NEXT UNLESS entry.value.result;
        # PROCESS dumper.tt dump = entry.value.result;
        results.$section.result.${entry.key} = entry.value.result;
      END;
    END; # PROCESS dumper.tt dump = results;
	FOREACH summary IN result_summaries;
		section = summary.key;
		text = symbolise(summary.value.results_summary) | html_line_break; # escapeHTML already done
		results.$section.summary = text;
	END; # PROCESS dumper.tt dump = results;

    # format haematology data:
	haem_data = raw_lab_test_data.haematology_data;
	IF haem_data; # INCLUDE dumper.tt dump = haem_data;
        BLOCK haem_format; # INCLUDE dumper.tt dump = var
            DEFAULT factor = 10; # unless supplied
            value = haem_data.$var; # INCLUDE dumper.tt dump = value;
            IF value.match('\*'); # ie *000
                result = value;
            ELSIF float; # needs formatting:
                result = FILTER format('%.' _ float _ 'f'); value / factor; END;
            ELSE;
                result = value / factor;
            END;
            flag  = var _ '_f'; # eg wbc_f
            class = ( value.match('\*') || haem_data.$flag ) ? 'red' : 'normal';
            %]<span class="[% class %]">[% result %]</span>[%
		END;
        fbc = {}; # initialize for blood results, hb, wbc, etc if verified, or status if not:
		IF haem_data.status.match('verified');
            fbc.wbc = INCLUDE haem_format(var = 'wbc', float = 1);
            fbc.rbc = INCLUDE haem_format(var = 'rbc', float = 2, factor = 100);
            fbc.hb  = INCLUDE haem_format(var = 'hb',  factor = 1); # ie int
            fbc.plt = INCLUDE haem_format(var = 'plt', factor = 1); # ie int
            fbc.hct = INCLUDE haem_format(var = 'hct', float = 1);
            fbc.mcv = INCLUDE haem_format(var = 'mcv', float = 1);
		ELSE;
			USE url(app_url _ '/result/=/' _  data.id);
            fbc.status = "<a href=\"$url\">pending validation</a>";
		END;
        results.Haematology.result = fbc;
	END;
  %]

  [% IF results.size %]
    <p class="title">Lab test results:
      [% div_name = 'tests'; INCLUDE site/snippets/toggleview.tt %]
    </p>

    <div id="[% div_name %]" class="itemshown">
      <div class="indent">
      [% FOREACH section IN results.keys.sort %]
		<div style="margin-bottom: 1em">
            <span class="title">[% section | html %]</span>
            [% IF results.$section.result.size; %]
                <div class="test-summary">
                  [% FOREACH test IN results.$section.result.keys.sort;
                    # PROCESS dumper.tt dump = results.$section.result.$test %]
                    <i>[% test %]:</i>
                    [% results.$section.result.$test %]
                    [% UNLESS loop.last %]<span class="indent"></span>[% END %]
                  [% END %]
                </div>
            [% END %]
            [% IF results.$section.summary %]
                <div class="test-summary">
                    <u>Summary</u>: [% results.$section.summary %]
                </div>
            [% END %]
		</div>
      [% END %]
      </div>
    </div>
  [% ELSE %]
      <p><span class="title">Lab test results</span>: none</p>
  [% END %]
<!-- END [% component.name %] -->