Ignore:
Timestamp:
Dec 3, 2012, 4:40:40 PM (10 years ago)
Author:
olle
Message:

Fixes #438. First version of overview report added.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/net.sf.basedb.reggie/trunk/resources/samplereportgenerator.jsp

    r1764 r1765  
    3434  var unknownSite = 0;
    3535  var unknownCreation;
     36  var numPatientsNoSamples = 0;
    3637 
    3738  var month=new Array(12);
     
    6364    var frm = document.forms['reggie'];
    6465    frm.reporttype.disabled = true;
     66    // Hide report period input fields
     67    document.getElementById("reportPeriodSubSection02").style.display = 'none';
    6568    // Hide sample type pop-up menu
    6669    document.getElementById("sampleTypeSubSection01").style.display = 'none';
     
    6972    if (frm.reporttype[frm.reporttype.selectedIndex].value == 'samplecount')
    7073    {
    71       // Set item name for report period text
    72       document.getElementById("items01").innerHTML="tubes";
     74      // Show report period input fields
     75      document.getElementById("reportPeriodSubSection01Header").innerHTML="Report period";
     76      document.getElementById("reportPeriodSubSection02").style.display = 'block';
     77      document.getElementById("reportPeriodSubSection04HelpText").innerHTML="Define which period the report should cover. Empty fields will include all tubes.";
    7378      // Set item name for report time step text
    7479      document.getElementById("items02").innerHTML="samples";
     
    8792    else if (frm.reporttype[frm.reporttype.selectedIndex].value == 'consentcount')
    8893    {
    89       // Set item name for report period text
    90       document.getElementById("items01").innerHTML="consents";
     94      // Show report period input fields
     95      document.getElementById("reportPeriodSubSection01Header").innerHTML="Report period";
     96      document.getElementById("reportPeriodSubSection02").style.display = 'block';
     97      document.getElementById("reportPeriodSubSection04HelpText").innerHTML="Define which period the report should cover. Empty fields will include all consents.";
    9198      // Hide view type pop-up menu
    9299      document.getElementById("viewTypeSubSection01").style.display = 'none';
     
    96103    else if (frm.reporttype[frm.reporttype.selectedIndex].value == 'patientcount')
    97104    {
    98       // Set item name for report period text
    99       document.getElementById("items01").innerHTML="patients";
     105      // Show report period input fields
     106      document.getElementById("reportPeriodSubSection01Header").innerHTML="Report period";
     107      document.getElementById("reportPeriodSubSection02").style.display = 'block';
     108      document.getElementById("reportPeriodSubSection04HelpText").innerHTML="Define which period the report should cover. Empty fields will include all patients.";
    100109      // Set item name for report time step text
    101110      document.getElementById("items02").innerHTML="patients";
     
    108117      document.getElementById("viewTypeSubSection04").style.display = 'block';
    109118    }
     119    else if (frm.reporttype[frm.reporttype.selectedIndex].value == 'overviewreport')
     120    {
     121      // Set parameters (report period) help text
     122      document.getElementById("reportPeriodSubSection01Header").innerHTML="No report parameters";
     123      document.getElementById("reportPeriodSubSection04HelpText").innerHTML="Overview report will be generated irrespective of date for items.";
     124      // Hide view type pop-up menu
     125      document.getElementById("viewTypeSubSection01").style.display = 'none';
     126      document.getElementById("viewTypeSubSection02").style.display = 'none';
     127      document.getElementById("viewTypeSubSection04").style.display = 'none';
     128    }
    110129    Main.show('itemCountSection');
    111130       
     
    223242        reportTable = createConsentCountReport(report);
    224243      }
    225       if ('patientcount' == reportType)
     244      else if ('patientcount' == reportType)
    226245      {     
    227246        reportTable = createItemCountReport(report, reportType);
     247      }
     248      else if ('overviewreport' == reportType)
     249      {     
     250        reportTable = createOverviewReport(report);
    228251      }
    229252    }
     
    248271      cellElement.appendChild(unknownDateTable);
    249272    }
     273    else if ('overviewreport' == reportType)
     274    {
     275      var spacer = document.createElement('text');
     276      spacer.innerHTML = "<BR>";
     277      cellElement.appendChild(spacer);
     278      var patientDetailedTable = createOverviewPatientDetailedTable(report);
     279      cellElement.appendChild(patientDetailedTable);
     280    }
    250281    // Summary list
    251282    var summaryList = document.createElement('ul');
     
    288319    }
    289320    else if ('patientcount' == reportType)
    290     {     
     321    {
    291322      summaryList.appendChild(getListElement(unknownSite + ' patients registered to unknown sites.'));
    292323      summaryList.appendChild(getListElement(unknownCreation + ' patients without creation date. These are included in the \'Total\' column.'));
     324    }
     325    else if ('overviewreport' == reportType)
     326    {
     327      summaryList.appendChild(getListElement(unknownSite + ' patients registered to unknown sites.'));
     328      summaryList.appendChild(getListElement(numPatientsNoSamples + ' patients with no samples.'));
     329      summaryList.appendChild(getListElement('Note: Consents of type "Yes" include consents without patient id (PAT#) or date.'));
    293330    }
    294331    cellElement.appendChild(summaryList);
     
    677714    addDataRowsToConsentTableUnknownDate(report, reportTable);
    678715     
    679     // Add a row with the combined numbers for all sites for each period
     716    // Add a row with the combined numbers for all sites
    680717    var sitesCombinedRow = document.createElement('tr');
    681718    sitesCombinedRow.appendChild(getTableCellElement('Sites combined', 'colsummary'));
    682719    sitesCombinedRow.appendChild(getTableCellElement('', 'colsummary', 2));
    683     // Get combined numbers for all sites for each period
     720    // Get combined numbers for all sites
    684721    var sumKey = 'sumKey';
    685722    var statistics = report.statistics;
     
    704741    data = getJSONData(sitesCombined, totalKey, 0);
    705742    sitesCombinedRow.appendChild(getTableCellElement(data, 'colsummary'));
     743    reportTable.appendChild(sitesCombinedRow); 
     744
     745    return reportTable;
     746  }
     747 
     748  function createOverviewReport(report)
     749  {
     750    var reportTable = getReportTable();
     751    var sdString = report.beginDate;
     752    var edString = report.endDate;
     753    var ldString = report.latestDate;
     754    var startDate = new Date();
     755    startDate.setYear(sdString.substr(0,4));
     756    startDate.setMonth(sdString.substr(4,2)-1);
     757    startDate.setDate(sdString.substr(6));
     758    var endDate = new Date();
     759    endDate.setYear(edString.substr(0,4));
     760    endDate.setMonth(edString.substr(4,2)-1);
     761    endDate.setDate(edString.substr(6));
     762    var latestDate;
     763    if (ldString != null)
     764    {
     765      latestDate = new Date();
     766      latestDate.setYear(ldString.substr(0,4));
     767      latestDate.setMonth(ldString.substr(4,2)-1);
     768      latestDate.setDate(ldString.substr(6));
     769    }   
     770 
     771    var headerRow = document.createElement('tr');   
     772    var subHeaderRow = document.createElement('tr');
     773    var subHeader2Row = document.createElement('tr');
     774    var columnHeaderRow = document.createElement('tr');
     775   
     776    var numCols = 6;
     777    var numDecimals = 0;
     778    var headerText = 'Number of items of different kinds';
     779    var startDateStr = addHyphensToDateString(sdString);
     780    var endDateStr = addHyphensToDateString(edString);
     781    var latestDateStr = addHyphensToDateString(ldString);
     782    headerText += ' (betweeen ' + startDateStr + ' and ' + endDateStr + ')';
     783    if (latestDate != null)
     784    {
     785        headerText += '\nLast registration ' + latestDateStr;
     786    }
     787    headerRow.appendChild(getTableCellElement(headerText, 'reportheader', (numCols+3)));
     788   
     789    // Subheader
     790    subHeaderRow.appendChild(getTableCellElement('', 'reportsubheader', 3));
     791   
     792    subHeaderRow.appendChild(getTableCellElement('Patients', 'reportsubheader'));
     793    subHeaderRow.appendChild(getTableCellElement('Blood', 'reportsubheader'));
     794    subHeaderRow.appendChild(getTableCellElement('Specimens', 'reportsubheader'));
     795    subHeaderRow.appendChild(getTableCellElement('No specimens', 'reportsubheader'));
     796    subHeaderRow.appendChild(getTableCellElement('Consents', 'reportsubheader'));
     797    subHeaderRow.appendChild(getTableCellElement('Consents', 'reportsubheader'));
     798
     799    // Columnsheader   
     800    var siteHeader = getTableCellElement('Site', 'reportsubheader');     
     801    var startDateHeader = getTableCellElement('Start date','reportsubheader');
     802    var latestDateHeader = getTableCellElement('Latest date','reportsubheader');
     803    columnHeaderRow.appendChild(siteHeader);
     804    columnHeaderRow.appendChild(startDateHeader);
     805    columnHeaderRow.appendChild(latestDateHeader); 
     806   
     807    columnHeaderRow.appendChild(getTableCellElement('', 'reportsubheader'));
     808    columnHeaderRow.appendChild(getTableCellElement('samples', 'reportsubheader'));
     809    columnHeaderRow.appendChild(getTableCellElement('', 'reportsubheader'));
     810    columnHeaderRow.appendChild(getTableCellElement('', 'reportsubheader'));
     811    columnHeaderRow.appendChild(getTableCellElement('(Yes)', 'reportsubheader'));
     812    columnHeaderRow.appendChild(getTableCellElement('missing', 'reportsubheader'));
     813
     814    // Build table     
     815    reportTable.appendChild(headerRow);
     816    reportTable.appendChild(subHeaderRow);
     817    reportTable.appendChild(subHeader2Row);
     818    reportTable.appendChild(columnHeaderRow);
     819         
     820    // Data rows     
     821    addDataRowsToOverviewTable(report, reportTable);
     822     
     823    // Add a row with the combined numbers for all sites for each period
     824    var sitesCombinedRow = document.createElement('tr');
     825    sitesCombinedRow.appendChild(getTableCellElement('Sites combined', 'colsummary'));
     826    sitesCombinedRow.appendChild(getTableCellElement('', 'colsummary', 2));
     827    // Get combined numbers for all sites for each period
     828    var noDateKey = 'noDate';
     829    var sumKey = 'sumKey';
     830    var statistics = report.statistics;
     831    // Get values for use in summary section
     832    numPatientsNoSamples = statistics.patientNoSamples;
     833    var sitesCombined = statistics.sitesCombinedKey;
     834    if (sitesCombined != null)
     835    {
     836      data = getJSONData(sitesCombined, 'patient');
     837      sitesCombinedRow.appendChild(getTableCellElement(data, 'colsummary'));
     838      data = getJSONData(sitesCombined, 'bloodSample');
     839      sitesCombinedRow.appendChild(getTableCellElement(data, 'colsummary'));
     840      data = getJSONData(sitesCombined, 'specimen');
     841      sitesCombinedRow.appendChild(getTableCellElement(data, 'colsummary'));
     842      data = getJSONData(sitesCombined, 'noSpecimen');
     843      sitesCombinedRow.appendChild(getTableCellElement(data, 'colsummary'));
     844      data = getJSONData(sitesCombined, 'consentYes');
     845      sitesCombinedRow.appendChild(getTableCellElement(data, 'colsummary'));
     846      data = getJSONData(sitesCombined, 'consentMissing');
     847      sitesCombinedRow.appendChild(getTableCellElement(data, 'colsummary'));
     848    }
     849    reportTable.appendChild(sitesCombinedRow); 
     850
     851    return reportTable;
     852  }
     853 
     854  function createOverviewPatientDetailedTable(report)
     855  {
     856    var reportTable = getReportTable();
     857    var sdString = report.beginDate;
     858    var edString = report.endDate;
     859    var ldString = report.latestDate;
     860    var startDate = new Date();
     861    startDate.setYear(sdString.substr(0,4));
     862    startDate.setMonth(sdString.substr(4,2)-1);
     863    startDate.setDate(sdString.substr(6));
     864/*
     865    var endDate = new Date();
     866    endDate.setYear(edString.substr(0,4));
     867    endDate.setMonth(edString.substr(4,2)-1);
     868    endDate.setDate(edString.substr(6));
     869*/
     870    var latestDate;
     871    if (ldString != null)
     872    {
     873      latestDate = new Date();
     874      latestDate.setYear(ldString.substr(0,4));
     875      latestDate.setMonth(ldString.substr(4,2)-1);
     876      latestDate.setDate(ldString.substr(6));
     877    }   
     878 
     879    var headerRow = document.createElement('tr');   
     880    var subHeaderRow = document.createElement('tr');
     881    var subHeader2Row = document.createElement('tr');
     882    var columnHeaderRow = document.createElement('tr');
     883   
     884    var numCols = 8;
     885    var numDecimals = 0;
     886    var headerText = 'Patient records of different kinds';
     887    var startDateStr = addHyphensToDateString(sdString);
     888    var endDateStr = addHyphensToDateString(edString);
     889    var latestDateStr = addHyphensToDateString(ldString);
     890    headerText += ' (betweeen ' + startDateStr + ' and ' + endDateStr + ')';
     891/*
     892    if (latestDate != null)
     893    {
     894        headerText += '\nLast registration ' + latestDateStr;
     895    }
     896*/
     897    headerRow.appendChild(getTableCellElement(headerText, 'reportheader', (numCols+2)));
     898   
     899    // Subheader
     900    subHeaderRow.appendChild(getTableCellElement('', 'reportsubheader', 2));
     901   
     902    subHeaderRow.appendChild(getTableCellElement('Patients', 'reportsubheader'));
     903    subHeaderRow.appendChild(getTableCellElement('Patients', 'reportsubheader'));
     904    subHeaderRow.appendChild(getTableCellElement('Patients', 'reportsubheader'));
     905    subHeaderRow.appendChild(getTableCellElement('Patients', 'reportsubheader'));
     906    subHeaderRow.appendChild(getTableCellElement('Patients', 'reportsubheader'));
     907    subHeaderRow.appendChild(getTableCellElement('Patients', 'reportsubheader'));
     908    subHeaderRow.appendChild(getTableCellElement('Patients', 'reportsubheader'));
     909    //subHeaderRow.appendChild(getTableCellElement('Patients', 'reportsubheader'));
     910    subHeaderRow.appendChild(getTableCellElement('', 'reportsubheader'));
     911
     912    // Subheader 2
     913    subHeader2Row.appendChild(getTableCellElement('', 'reportsubheader', 2));
     914   
     915    subHeader2Row.appendChild(getTableCellElement('(blood', 'reportsubheader'));
     916    subHeader2Row.appendChild(getTableCellElement('(spec.', 'reportsubheader'));
     917    subHeader2Row.appendChild(getTableCellElement('(no spec.', 'reportsubheader'));
     918    subHeader2Row.appendChild(getTableCellElement('(blood and', 'reportsubheader'));
     919    subHeader2Row.appendChild(getTableCellElement('(blood and', 'reportsubheader'));
     920    subHeader2Row.appendChild(getTableCellElement('(spec. and', 'reportsubheader'));
     921    subHeader2Row.appendChild(getTableCellElement('(blood, spec.,', 'reportsubheader'));
     922    //subHeader2Row.appendChild(getTableCellElement('(no samples)', 'reportsubheader'));
     923    subHeader2Row.appendChild(getTableCellElement('', 'reportsubheader'));
     924
     925    // Columnsheader   
     926    var siteHeader = getTableCellElement('Site', 'reportsubheader');     
     927    var startDateHeader = getTableCellElement('Start date','reportsubheader');
     928    //var latestDateHeader = getTableCellElement('Latest date','reportsubheader');
     929    columnHeaderRow.appendChild(siteHeader);
     930    columnHeaderRow.appendChild(startDateHeader);
     931    //columnHeaderRow.appendChild(latestDateHeader); 
     932   
     933    columnHeaderRow.appendChild(getTableCellElement('only)', 'reportsubheader'));
     934    columnHeaderRow.appendChild(getTableCellElement('only)', 'reportsubheader'));
     935    columnHeaderRow.appendChild(getTableCellElement('only)', 'reportsubheader'));
     936    columnHeaderRow.appendChild(getTableCellElement('specimens)', 'reportsubheader'));
     937    columnHeaderRow.appendChild(getTableCellElement('no spec.)', 'reportsubheader'));
     938    columnHeaderRow.appendChild(getTableCellElement('no spec.)', 'reportsubheader'));
     939    columnHeaderRow.appendChild(getTableCellElement('and no spec.)', 'reportsubheader'));
     940    //columnHeaderRow.appendChild(getTableCellElement('', 'reportsubheader'));
     941
     942    columnHeaderRow.appendChild(getTableCellElement('Sum', 'reportsubheader'));
     943
     944    // Build table     
     945    reportTable.appendChild(headerRow);
     946    reportTable.appendChild(subHeaderRow);
     947    reportTable.appendChild(subHeader2Row);
     948    reportTable.appendChild(columnHeaderRow);
     949         
     950    // Data rows     
     951    addDataRowsToOverviewPatientDetailedTable(report, reportTable);
     952     
     953    // Add a row with the combined numbers for all sites
     954    var sitesCombinedRow = document.createElement('tr');
     955    sitesCombinedRow.appendChild(getTableCellElement('Sites combined', 'colsummary'));
     956    sitesCombinedRow.appendChild(getTableCellElement('', 'colsummary'));
     957    // Get combined numbers for all sites
     958    var noDateKey = 'noDate';
     959    var sumKey = 'sumKey';
     960    var statistics = report.statistics;
     961    // Get values for use in summary section
     962    numPatientsNoSamples = statistics.patientNoSamples;
     963    var sitesCombined = statistics.sitesCombinedKey;
     964    if (sitesCombined != null)
     965    {
     966      data = getJSONData(sitesCombined, 'patientBloodSampleOnly');
     967      sitesCombinedRow.appendChild(getTableCellElement(data, 'colsummary'));
     968      data = getJSONData(sitesCombined, 'patientSpecimenOnly');
     969      sitesCombinedRow.appendChild(getTableCellElement(data, 'colsummary'));
     970      data = getJSONData(sitesCombined, 'patientNoSpecimenOnly');
     971      sitesCombinedRow.appendChild(getTableCellElement(data, 'colsummary'));
     972      data = getJSONData(sitesCombined, 'patientBloodSampleAndSpecimen');
     973      sitesCombinedRow.appendChild(getTableCellElement(data, 'colsummary'));
     974      data = getJSONData(sitesCombined, 'patientBloodSampleAndNoSpecimen');
     975      sitesCombinedRow.appendChild(getTableCellElement(data, 'colsummary'));
     976      data = getJSONData(sitesCombined, 'patientSpecimenAndNoSpecimen');
     977      sitesCombinedRow.appendChild(getTableCellElement(data, 'colsummary'));
     978      data = getJSONData(sitesCombined, 'patientBloodSampleAndSpecimenAndNoSpecimen');
     979      sitesCombinedRow.appendChild(getTableCellElement(data, 'colsummary'));
     980      //data = getJSONData(sitesCombined, 'patientNoSamples');
     981      //sitesCombinedRow.appendChild(getTableCellElement(data, 'colsummary'));
     982      data = getJSONData(sitesCombined, 'sumKey');
     983      sitesCombinedRow.appendChild(getTableCellElement(data, 'colsummary'));
     984    }
    706985    reportTable.appendChild(sitesCombinedRow); 
    707986
     
    8971176      var siteTotal = getJSONData(siteData, totalKey, 0);
    8981177      tableRow.appendChild(getTableCellElement(siteTotal, 'rowsummary'));
     1178      reportTable.appendChild(tableRow);
     1179    }
     1180  }
     1181
     1182  function addDataRowsToOverviewTable(report, reportTable)
     1183  {
     1184    var sites = report.sites;   
     1185    var statistics = report.statistics;
     1186    unknownCreation = statistics.noDate;
     1187    unknownSite = statistics.unknownSite;
     1188    var siteOrderList = report.siteOrderListKey;
     1189    for (var siteOrderIndex in siteOrderList)
     1190    {
     1191      var namePrefix = siteOrderList[siteOrderIndex];   
     1192      if (!sites.hasOwnProperty(namePrefix)) continue;       
     1193      var site = sites[namePrefix];
     1194      var siteName = site.name;       
     1195      var year = site.startDate.substr(0,4);
     1196      var month = site.startDate.substr(5,2);
     1197      var date = site.startDate.substr(8,2);     
     1198      var siteStartDate = new Date(year, month-1, date);
     1199     
     1200      var siteData = statistics[namePrefix];     
     1201      var siteLatestDate = siteData['latestDateKey'];
     1202      var siteLatestDateYear = siteLatestDate.substr(0,4);
     1203      var siteLatestDateMonth = siteLatestDate.substr(4,2);
     1204      var siteLatestDateDate = siteLatestDate.substr(6,2);
     1205      var siteLatestDateStr = siteLatestDateYear + '-' + siteLatestDateMonth + '-' + siteLatestDateDate;
     1206      var tableRow = document.createElement('tr');
     1207      var tableCol = getTableCellElement(siteName, 'rowtitle');
     1208      tableRow.appendChild(tableCol);
     1209      tableRow.appendChild(getTableCellElement(year+'-'+(month)+'-'+date, 'reportdata'));
     1210      tableRow.appendChild(getTableCellElement(siteLatestDateStr, 'reportdata'));
     1211      //var currentDate = new Date(periodStartDate.getFullYear(), periodStartDate.getMonth(), periodStartDate.getDate());     
     1212      var noDateKey = 'noDate';
     1213      var sumKey = 'sumKey';
     1214      var totalKey = 'totalKey';
     1215      if (siteData != null)
     1216      {
     1217        data = getJSONData(siteData, 'patient');
     1218        tableRow.appendChild(getTableCellElement(data, 'reportdata'));
     1219        data = getJSONData(siteData, 'bloodSample');
     1220        tableRow.appendChild(getTableCellElement(data, 'reportdata'));
     1221        data = getJSONData(siteData, 'specimen');
     1222        tableRow.appendChild(getTableCellElement(data, 'reportdata'));
     1223        data = getJSONData(siteData, 'noSpecimen');
     1224        tableRow.appendChild(getTableCellElement(data, 'reportdata'));
     1225        data = getJSONData(siteData, 'consentYes');
     1226        tableRow.appendChild(getTableCellElement(data, 'reportdata'));
     1227        data = getJSONData(siteData, 'consentMissing');
     1228        tableRow.appendChild(getTableCellElement(data, 'reportdata'));
     1229      }
     1230      reportTable.appendChild(tableRow);
     1231    }
     1232  }
     1233
     1234  function addDataRowsToOverviewPatientDetailedTable(report, reportTable)
     1235  {
     1236    var sites = report.sites;   
     1237    var statistics = report.statistics;
     1238    unknownCreation = statistics.noDate;
     1239    unknownSite = statistics.unknownSite;
     1240    var siteOrderList = report.siteOrderListKey;
     1241    for (var siteOrderIndex in siteOrderList)
     1242    {
     1243      var namePrefix = siteOrderList[siteOrderIndex];   
     1244      if (!sites.hasOwnProperty(namePrefix)) continue;       
     1245      var site = sites[namePrefix];
     1246      var siteName = site.name;       
     1247      var year = site.startDate.substr(0,4);
     1248      var month = site.startDate.substr(5,2);
     1249      var date = site.startDate.substr(8,2);     
     1250      var siteStartDate = new Date(year, month-1, date);
     1251     
     1252      var siteData = statistics[namePrefix];
     1253/*   
     1254      var siteLatestDate = siteData['latestDateKey'];
     1255      var siteLatestDateYear = siteLatestDate.substr(0,4);
     1256      var siteLatestDateMonth = siteLatestDate.substr(4,2);
     1257      var siteLatestDateDate = siteLatestDate.substr(6,2);
     1258      var siteLatestDateStr = siteLatestDateYear + '-' + siteLatestDateMonth + '-' + siteLatestDateDate;
     1259*/
     1260      var tableRow = document.createElement('tr');
     1261      var tableCol = getTableCellElement(siteName, 'rowtitle');
     1262      tableRow.appendChild(tableCol);
     1263      tableRow.appendChild(getTableCellElement(year+'-'+(month)+'-'+date, 'reportdata'));
     1264/*
     1265      tableRow.appendChild(getTableCellElement(siteLatestDateStr, 'reportdata'));
     1266*/
     1267      //var currentDate = new Date(periodStartDate.getFullYear(), periodStartDate.getMonth(), periodStartDate.getDate());     
     1268      var noDateKey = 'noDate';
     1269      var sumKey = 'sumKey';
     1270      var totalKey = 'totalKey';
     1271      if (siteData != null)
     1272      {
     1273        data = getJSONData(siteData, 'patientBloodSampleOnly');
     1274        tableRow.appendChild(getTableCellElement(data, 'reportdata'));
     1275        data = getJSONData(siteData, 'patientSpecimenOnly');
     1276        tableRow.appendChild(getTableCellElement(data, 'reportdata'));
     1277        data = getJSONData(siteData, 'patientNoSpecimenOnly');
     1278        tableRow.appendChild(getTableCellElement(data, 'reportdata'));
     1279        data = getJSONData(siteData, 'patientBloodSampleAndSpecimen');
     1280        tableRow.appendChild(getTableCellElement(data, 'reportdata'));
     1281        data = getJSONData(siteData, 'patientBloodSampleAndNoSpecimen');
     1282        tableRow.appendChild(getTableCellElement(data, 'reportdata'));
     1283        data = getJSONData(siteData, 'patientSpecimenAndNoSpecimen');
     1284        tableRow.appendChild(getTableCellElement(data, 'reportdata'));
     1285        data = getJSONData(siteData, 'patientBloodSampleAndSpecimenAndNoSpecimen');
     1286        tableRow.appendChild(getTableCellElement(data, 'reportdata'));
     1287        //data = getJSONData(siteData, 'patientNoSamples');
     1288        //tableRow.appendChild(getTableCellElement(data, 'reportdata'));
     1289        data = getJSONData(siteData, 'sumKey');
     1290        tableRow.appendChild(getTableCellElement(data, 'rowsummary'));
     1291      }
    8991292      reportTable.appendChild(tableRow);
    9001293    }
     
    13841777                <option value="consentcount">Consent count report</option>
    13851778                <option value="patientcount">Patient count report</option>
     1779                <option value="overviewreport">Overview report</option>
    13861780              </select>
    13871781            </td>
     
    14091803            <table border="0" cellspacing="0" cellpadding="0" width="100%">           
    14101804            <tr>
    1411               <td valign="top" class="prompt">Report period</td>
     1805              <td valign="top" class="prompt">
     1806                <text id="reportPeriodSubSection01Header">Report period</text>
     1807              </td>
    14121808              <td valign="top" class="input">
    1413                 From<input type="text" onChange="dateOnChange()" size=7 name="fromdate"/>&nbsp;
    1414                 To<input type="text" onChange="dateOnChange()" size=7 name="todate" />
     1809                <div id="reportPeriodSubSection02" style="display:none;">
     1810                  From<input type="text" onChange="dateOnChange()" size=7 name="fromdate"/>&nbsp;
     1811                  To<input type="text" onChange="dateOnChange()" size=7 name="todate" />
     1812                </div>
    14151813              </td>
    14161814              <td valign="top" class="status" id="displayInterval.status"></td>
    14171815              <td class="help">
    14181816                <span id="displayInterval.message" class="message" style="display: none;"></span>
     1817                <!--
    14191818                Define which period the report should cover. Empty fields will include all <text id="items01">items</text>.<br>
     1819                -->
     1820                <text id="reportPeriodSubSection04HelpText">Parameter help text</text><br>
    14201821              </td>
    14211822            </tr>
Note: See TracChangeset for help on using the changeset viewer.