[% PROCESS site/popup.tt height=280, width=900, top=280 %] [% # PROCESS dumper.tt dump = previous_diagnoses %] [% # PROCESS dumper.tt dump = history.keys %] [% # PROCESS dumper.tt dump = all_results %] [% # PROCESS dumper.tt dump = has_optional %] [% # need to prevent non-lab-staff users viewing unauthorised report: is_lab_staff = c.is_lab_staff; IF has_optional.report AND status_options.authorised.is_active.match('yes') AND NOT history.authorised AND request_data.year > 2005 # eg Molecular Misc requests pre-2006 never auth'd AND NOT is_lab_staff %]

[report pending authorisation]

[% ELSE; class = 'normal'; # for hidden div: IF has_optional.report AND NOT history.authorised AND status_options.authorised.is_active.match('yes') AND is_lab_staff; # hide it if lab-staff and not auth'd: class = 'itemhidden'; %]

view unauthorised report: [% div_name = 'report'; INCLUDE site/snippets/toggleview.tt %]

[% END %]
[% IF result_summaries %] [% FOREACH entry IN result_summaries; section_name = entry.key %] [% END %] [% END %] [% # PROCESS dumper.tt dump = history.keys.grep('(amend|modifi)ed [Cc]omment') %]
Clinical details: [% IF has_optional.report %] [% request_data.request_report.clinical_details %] [% ELSE %] [pending] [% END %]
Specimen details: [% IF has_optional.report %] Quality: [% request_data.request_report.specimen_quality -%] [%- ELSE -%] [pending] [%- END; IF request_data.request_gross_description.detail -%]. Gross Description: [% request_data.request_gross_description.detail %] [% END %]
[% section_name.replace(' ', ' ') # prevent line-break %]: [% symbolise(entry.value.results_summary) # escapeHTML already done %] [% test_results = []; FOREACH test IN all_results.item(section_name).test; NEXT UNLESS test.value.result; # PROCESS dumper.tt dump = test; test_results.push(test); END; IF test_results.size; %] [% div_name = section_name _ '_tests'; INCLUDE site/snippets/toggleview.tt %]

[% FOREACH test IN test_results %] [% test.key %][% test.value.result %][% ',' UNLESS loop.last %] [% END %]

[% END %]
[% IF history.keys.grep('(amend|modifi)ed [Cc]omment').size AND is_lab_staff %] Morphology/Comment: [% ELSE %]Morphology/Comment:[% END %] [% IF has_optional.report %] [% symbolise(request_data.request_report.comment) | html_line_break %] [% ELSE %] [pending] [% END %]
Diagnosis: [% IF has_optional.report %] [% IF c.user_can('report') AND previous_diagnoses.size %] [% request_data.request_report.diagnosis.name | html %] [ [% previous_diagnoses.size %] ] [% ELSE %] [% request_data.request_report.diagnosis.name | html %] [% END %] [% UNLESS request_data.request_report.status.match('default') %] [ [% request_data.request_report.status | upper %] ] [% END %] [% ELSE %] [pending] [% END %] [% IF request_data.request_report.diagnosis.icdo3 AND c.cfg('settings').hmrn_link %] [% END %] [% FOREACH entry IN history; # PROCESS dumper.tt dump = entry.value.time; IF entry.value.action.match('diagnosis status alert'); # if multiple 'cc': diagnosis_alert = entry; # only need 1st one LAST; END; END; IF diagnosis_alert; %] [[% diagnosis_alert.value.time.strftime('%d.%b.%Y @ %H:%M') %]] [% ELSIF # new/relasped case: NOT request_data.request_report.status.match('default') AND c.cfg('settings').have_diagnosis_status_alert # or ? use cron script instead AND ( # authorised (if in use): history.authorised OR ( status_options.authorised.is_active.match('no') AND history.reported ) ) AND c.user_can('report') # has an mdt contact address configured: AND has_mdt_contact(request_data.patient_case.referral_source_id) %] « e-mail alert [% END %]
[% END # lab-staff section %] [% # PROCESS dumper.tt dump = history %] [% IF history.reported; user = history.reported.user %]

Reported by [% user.first_name | ucfirst %] [% user.last_name | ucfirst %] on [% history.reported.time.strftime('%a %d.%b.%Y @ %H:%M') %]

[% END %] [% IF history.authorised; user = history.authorised.user %]

Authorised by [% user.first_name | ucfirst %] [% user.last_name | ucfirst %] on [% history.authorised.time.strftime('%a %d.%b.%Y @ %H:%M') %]

[% END %]