Subject Report Template Examples
*** Please note code below is no longer needed. Use the point-and-click method using the Repeater control  ***
Data Across Encounters
Displaying a table with one row per encounter
Code that can be entered into a Report Template:
<%
// Create a table and heading row using HTML
Output.Write("<table border='1' cellspacing='0' cellpadding='5'>");
Output.Write("<tr><th>Encounter Date</th> <th>Encounter Name</th> <th>Variable 1</th> <th>Variable 2</th> </tr>");
// Loop through the encounters and output the encounter date and encounter nameÂ
  // Each time through will create a row in the table with the next encounter Â
for (var index=0; index < ENCOUNTERS.Count; index++) {
    var encounter = ENCOUNTERS.GetEncounter(index);
        var encounterDate = encounter.#EncounterDate.displayValue.toString();
        var encounterName = encounter.#IntervalName.displayValue.toString();
        var variable1value = encounter.#Variable1.value.value;
        var variable2value = encounter.#Variable2.value.value;
  Output.Write("<tr><td>" + encounterDate + "</td>");
  Output.Write("<td>" + encounterName + "</td>");
  Output.Write("<td>" + variable1value + "</td>");
   Output.Write("<td>" + variable2value + "</td></tr>");
}
Output.Write("</table>");
%>
An example of the output from the Report Template code above:
Encounter Date | Encounter Name | Variable 1 | Variable 2 |
10/1/2011 | Baseline | 128 | 75 |
11/5/2011 | Month 1 | 123 | 60 |
12/2/2011 | Month 2 | 118 | 62 |
Displaying a table with one row per encounter with the encounters sorted in descending order
Code that can be entered into a Report Template:
<%
Output.Write("<table border='1' cellspacing='0' cellpadding='5'>");
Output.Write("<tr><th>Encounter Date</th> <th>Encounter Name</th> <th>Variable 1</th> <th>Variable 2</th> </tr>");
var encountersSorted = ENCOUNTERS.Sort(#EncounterDate.ID, false);
for (var index=0; index < encountersSorted.Count; index++) {
    var encounter = encountersSorted.GetEncounter(index);
        var encounterDate = encounter.#EncounterDate.displayValue.toString();
        var encounterName = encounter.#IntervalName.displayValue.toString();
        var variable1value = encounter.#Variable1.value.value;
        var variable2value = encounter.#Variable2.value.value;
  Output.Write("<tr><td>" + encounterDate + "</td>");
  Output.Write("<td>" + encounterName + "</td>");
  Output.Write("<td>" + variable1value + "</td>");
   Output.Write("<td>" + variable2value + "</td></tr>");
}
Output.Write("</table>");
%>
An example of the output from the Report Template code above:
Encounter Date | Encounter Name | Variable 1 | Variable 2 |
12/2/2011 | Month 2 | 118 | 62 |
11/5/2011 | Month 1 | 123 | 60 |
10/1/2011 | Baseline | 128 | 75 |
Outputting the data from latest encounter which meets a condition
Code that can be entered into a Report Template:
<%
Output.Write("<table border='1' cellspacing='0' cellpadding='5'>");
Output.Write("<tr><th>Encounter Date</th> <th>Encounter Name</th> <th>Variable 1</th> <th>Variable 2</th> </tr>");
var encountersSorted = ENCOUNTERS.Sort(#EncounterDate.ID, false);
for (var index=0; index < encountersSorted.Count; index++) {
    var encounter = encountersSorted.GetEncounter(index);
        var encounterDate = encounter.#EncounterDate.displayValue.toString();
        var encounterName = encounter.#IntervalName.displayValue.toString();
        var variable1value = encounter.#Variable1.value.value;
        var variable2value = encounter.#Variable2.value.value;
 if (variable1value >= 150) }
  Output.Write("<tr><td>" + encounterDate + "</td>");
  Output.Write("<td>" + encounterName + "</td>");
  Output.Write("<td>" + variable1value + "</td>");
   Output.Write("<td>" + variable2value + "</td></tr>");
 break;
 }
}
Output.Write("</table>");
%>
An example of the output from the Report Template code above:
Encounter Date | Encounter Name | Variable 1 | Variable 2 |
11/5/2011 | Month 1 | 190 | 60 |
Displaying data in a custom layout from fixed encounters
Â
Code that can be entered into a Report Template:
<%
// Declare variables that will track the interval's index number
  var BaselineIndex="";
  var Month1Index="";
  var Month2Index="";
// Loop through all encounters to assign the interval's index number
for (var index=0; index < ENCOUNTERS.Count; index++) {
 var encounter = ENCOUNTERS.GetEncounter(index);
 var encounterName = encounter.#IntervalName.displayValue.toString();
     if (encounterName =="Baseline") var BaselineIndex=index;
     else if (encounterName=="Month 1") var Month1Index=index;
     else if (encounterName=="Month 2") var Month2Index=index;
}
// Create variables for each encounter and assign all the values from that encounter to the variables
var BaselineEncounter = ENCOUNTERS.GetEncounter(BaselineIndex);Â
var Month1Encounter = ENCOUNTERS.GetEncounter(Month1Index);
var Month2Encounter = ENCOUNTERS.GetEncounter(Month2Index);
// Create the desired layout
Variable | Baseline | Month 1 | Month 2 |
---|---|---|---|
Encounter Date | <%=BaselineEncounter.#EncounterDate%> | <%=Month1Encounter.#EncounterDate%> | <%=Month2Encounter.#EncounterDate%> |
Variable 1 | <%=BaselineEncounter.#Variable1%> | <%=Month1Encounter.#Variable1%> | <%=Month2Encounter.#Variable1%> |
Variable 2 | <%=BaselineEncounter.#Variable2%> | <%=Month1Encounter.#Variable2%> | <%=Month2Encounter.#Variable2%> |
%>
An example of the output from the Report Template above:
Variable | Baseline | Month 1 | Month 2 |
---|---|---|---|
Encounter Date | 10/1/2011 | 11/5/2011 | 12/2/2011 |
Variable 1 | 128 | 123 | 118 |
Variable 2 | 75 | 60 | 62 |