RSS Git Download  Clone
Raw Blame History
	[% META title="Report" %]
<!-- BEGIN report/default.tt -->
  [%
    # handles initial report, (optional) authorisation and diagnosis revision:
    
    # 'authorisation_request' tt_param blocks loading of diagnosis, revision and
    # morphology/comment fields, and previous diagnoses list, and
    # disables all text, radio & checkbox fields - only diagnosis_id required
    
    # 'pre-authorisation-check' query param sets 'revision' field to optional
  %]
  
    [% # PROCESS dumper.tt dump = 
      # c.session.param('UserProfile');
      # c.stash.errs;
      # history.reported;
      # data.request_report.diagnosis;
      # data.request_gross_description;
      # previous_cases;
      # result_summaries;
      # raw_lab_test_data;
      # lab_section_notes;
      # previous_diagnoses_data;
      # request_options;
      # unrecognised_clinical_details;
      # unrecognised_comment_words;
      # highlighted_comment;
      # diagnosis_change_options;
      # unrecognised;
      # specimen_map;
      # outreach.demographics;
      # special_formatting;
      # url_with_path
    %]
    
  [% # define some data structures:
    request_data = data; # preserve 'data' in case it's overwritten in PROCESS's
    is_outreach = specimen_map.item(data.id).sample_code.join(' ').match('CMP')
        AND c.cfg('settings').have_outreach
    report_data = data.request_report; # save multiple lookups if undefined
    this_user = c.session.param('UserProfile');
  %]  

  [% PROCESS site/popup.tt height=280, width=800, top=280 %]

  [% # PROCESS site/js/jquery.tt # already loaded in html_wrapper %]
  <script type="text/javascript" src="/js/jquery.textarea-expander.js"></script>
  <script type="text/javascript" src="/speller/spellChecker.js"></script>
  <script type="text/javascript" src="/js/changeText.js"></script>
  [% INCLUDE site/js/openSpellChecker.tt form_name = 'reportForm' %]
  
  <script type="text/javascript">
    function load_add_word_result (uri, elem) {
      $(elem).load(uri);
    }
  </script>
  
  [% 
    IF authorisation_request;
      this_form_action = 'pre_authorisation_check';
      this_onsubmit = pre_authorisation_check_onsubmit;
      this_dfv_js   = pre_authorisation_check_dfv_js;
    ELSE;
      this_form_action = 'update_report';
      this_onsubmit = report_onsubmit;
      this_dfv_js   = report_dfv_js;
    END;
  %]  

  [% IF dfv_errors %]
    <p class="error">[% c.cfg('msg').dfv_errors %]</p>
  [% END %]
  
  [% this_dfv_js # set above %]

  [% PROCESS record/patient_summary.tt %]
    
  [% INCLUDE site/previous_cases.tt # don't use PROCESS or 'data' gets clobbered %]
  
    [%
        patient_id = request_data.patient_case.patient_id;
        patient_notes = request_data.patient_case.patient.patient_notes
            || outreach.demographics.patient_notes # function shared between both
    %]
    <form method="post"
        action="[% app_url %]/patient/patient_notes/[% request_data.id %]/[% patient_id %]">
        <p class="title">
            Patient notes: <input name="patient_notes" size="50" class="expand20-200"
                value="[% patient_notes.detail %]" />
            <input class="button" type="submit" value="Update" />
        </p>
    </form>

  [% PROCESS report/test_summary.tt %]
  
  [% PROCESS report/result_summary.tt IF result_summaries.size %]

  [% IF lab_section_notes.size
    AND c.cfg('settings').report_display_notes.match('yes');
      # create id => section_name map:
      FOREACH section IN raw_lab_test_data.all_lab_sections;
      # PROCESS dumper.tt dump = section.as_tree;
        lab_sections.${section.id} = section.section_name;
      END; # PROCESS dumper.tt dump = lab_sections; %]
    <p class="title">Section notes:
      [% div_name = 'notes'; INCLUDE site/snippets/toggleview.tt %]
    </p>

    <div id="[% div_name %]" class="itemhidden">
      [% FOREACH section IN lab_section_notes; %]
        <p class="indent">
          <span class="title">[% lab_sections.item(section.key) %]:</span>
          [% section.value %]
        </p>    
      [% END %]
    </div>
  [% END %]
  
  [% IF outstanding_tests.size; # PROCESS dumper.tt dump = outstanding_tests
      have_outstanding_tests = 1 # flag for later %]
    <p class="classname">
      <span class="highlight"><strong>outstanding tests</strong></span>
    </p>
    
    <div class="indent">
    [% FOREACH section IN outstanding_tests.keys %]
      <p class="indent">
        <span class="title">[% section %]:</span>
        [% outstanding_tests.item(section).join(', ') %]
      </p>
    [% END %]
    </div>
  [% END %]

    [% BLOCK chart_url;
	    img_url = app_url _ '/chart/' _ chart_type _ '/' _ data.id;
		# need to pass session ID manually if called 'in memory' ie PDF gen:
		IF url_session_id_required; # replaced by setting cookies in Local::PDF::make_pdf()
            # img_url = img_url _ '?CGISESSID=' _ c.session.id;
		END %]
		<!-- BEGIN chart -->
		<blockquote>
		  <p><img src="[% img_url %]" /></p>
		</blockquote>
		<!-- END chart -->
	[% END %]

    [% # draw graphs/charts if required:
		IF special_formatting.has_glivec AND patient.nhs_number;
		  chart_type = 'imatinib'; 
		ELSIF special_formatting.has_hiv;
		  chart_type = 'hiv'; 
		ELSIF special_formatting.has_pnh;
		  chart_type = 'pnh'; 
		END;
		IF chart_type; INCLUDE chart_url; END;
	%]

  [% IF is_outreach; # PROCESS dumper.tt dump = outreach %]
    [% INCLUDE report/outreach.tt %]
    <p class="title">
        [% img_name = incomplete_dataset() ? 'question' : 'tick' %]
        <img src="/images/[% img_name %].gif" alt="" /> 
        Report [% div_name = 'report'; INCLUDE site/snippets/toggleview.tt %]
    </p>
    
    [% class = url_with_path.match('update_report') ? 'itemshow' : 'itemhidden' %]
    <div id="[% div_name %]" class="[% class %]">
        <p class="indent">
            <img src="[% app_url %]/chart/outreach/[% data.patient_case.patient_id %]" />
        </p>
        [% INCLUDE outreach/data_summary.tt %]
        <h5>Report table:</h5>
        [% INCLUDE report/report.tt %]
    </div>
  [% ELSE %]
    <p class="section_header">Report</p>  
    [% INCLUDE report/report.tt %]
  [% END %]
<!-- END report/default.tt -->