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;
      # unresulted_tests;
      # 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:
        # c.debug('##############'); # to reveal any db calls from templates
    request_data = data.as_tree; # preserve 'data' in case it's overwritten in PROCESS's
        # PROCESS dumper.tt dump = request_data;
    is_outreach = specimen_map.item(data.id).sample_code.join(' ').match('CMP')
        AND c.cfg('settings').have_outreach;
    report_data = request_data.request_report; # save multiple lookups if undefined
        # PROCESS dumper.tt dump = report_data;
    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" name="patientNotes" id="patientNotes"
        action="[% app_url %]/patient/patient_notes/[% request_data.id %]/[% patient_id %]">
        <p class="title">
            Patient notes: <textarea name="patient_notes" rows="1" cols="50"
            class="expand20-200" id="patient_notes">[% patient_notes.detail %]</textarea>
            <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 %]
  
  [% IF unresulted_tests.size; # PROCESS dumper.tt dump = outstanding_tests
      have_outstanding_results = 1 # flag for later %]
    <p class="classname">
      <span class="highlight"><strong>outstanding results</strong></span>
    </p>
    
    <div class="indent">
        <ul class="warning">
        [% FOREACH pair IN unresulted_tests %]
            <li>[% pair.key %]: [% pair.value %]</li>
        [% END %]
        </ul>
    </div>
  [% END %]

    <!-- BEGIN chart -->
    [% PROCESS site/make_chart.tt format_info = special_formatting %]
    <!-- END chart -->

  [% 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; # PROCESS dumper.tt dump = outreach %]
        [% INCLUDE outreach/questionnaire_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 -->