2
<%@ page import="java.sql.*,java.util.*,java.math.*" %>
3
<%@ page import="com.opensymphony.xwork.util.OgnlValueStack" %>
9
// For finding organisationunit name of selected Orgunit based on Orgunit id
13
// For finding child orgunit ids and names based on selected orgunit id
17
// For finding datavalues
21
// For finding PHC datavalues
25
// For finding BirthRate
29
String userName = "dhis";
31
String urlForConnection = "jdbc:mysql://localhost/gj_dhis2";
34
OgnlValueStack stack = (OgnlValueStack)request.getAttribute("webwork.valueStack");
36
String selectedId = (String) stack.findValue( "orgUnitId" );
37
int selectedOrgUnitID = Integer.parseInt( selectedId );
40
String startingDate = (String) stack.findValue( "startingPeriod" );
41
String endingDate = (String) stack.findValue( "endingPeriod" );
43
String monthlyPeriodId = (String) stack.findValue( "monthlyPeriodTypeId" );
44
int periodTypeID = Integer.parseInt( monthlyPeriodId );
48
String selectedOrgUnitName = "";
49
String selectedDataPeriodStartDate = "";
50
String selectedDataPeriodEndDate = "";
51
String lastDataPeriodStartDate = "";
54
List childOrgUnitIDs = new ArrayList();
55
List childOrgUnitNames = new ArrayList();
57
int childOrgUnitID = 0;
58
// String childOrgUnitName = "";
59
int childOrgUnitCount = 0;
61
double maxValue[] = new double[10];
62
double minValue[] = new double[10];
67
String maxOrgUnitName[] = new String[10];
68
String minOrgUnitName[] = new String[10];
76
"'Form6_DE0081','Form6_DE0082'",
79
"'Form6_DE0114','Form6_DE0115'",
82
"'Form6_DE0277','Form6_DE0278'",
85
"'Form6_DE0301','Form6_DE0302'",
88
"'Form6_DE0331','Form6_DE0332'",
91
"'Form6_DE0361','Form6_DE0362'",
94
"'Form6_DE0367','Form6_DE0368'",
96
// Children given Vit A dose1
97
"'Form6_DE0433','Form6_DE0434'",
105
double dataValues[][] = new double[25][DECodes.length];
106
double sumOfValues[] = new double[DECodes.length];
107
double PHCdataValues[] = new double[DECodes.length];
108
double PHCsumOfValues[] = new double[DECodes.length];
111
String monthNames[] = { "", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
112
String partsOfStartDate[] = startingDate.split("-");
113
String partsOfEndDate[] = endingDate.split("-");
117
double birthRate = 24.3;
121
String startingYear = "";
122
String endingYear = "";
125
int lastYear = Integer.parseInt(partsOfStartDate[0]) - 1;
126
int tempForMonth1 = Integer.parseInt(partsOfStartDate[1]);
128
if(tempForMonth1 < 4)
130
tempForYear = lastYear;
131
startingYear = ""+tempForYear+"-04-01";
132
endingYear = ""+(tempForYear+1)+"-03-20";
136
tempForYear = lastYear + 1;
137
startingYear = ""+tempForYear+"-04-01";
138
endingYear = ""+(tempForYear+1)+"-03-20";
141
int noOfMonths = ( 12 * ( Integer.parseInt(partsOfEndDate[1]) - Integer.parseInt(partsOfStartDate[1]) ) ) - Integer.parseInt(partsOfStartDate[1]) + Integer.parseInt(partsOfEndDate[1])+1;
150
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
151
con = DriverManager.getConnection (urlForConnection, userName, password);
153
st1=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
154
st2=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
155
st3=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
156
st4=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
157
st5=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
160
//rs1 = st1.executeQuery("select shortname from organisationunit where id = "+selectedOrgUnitID);
161
rs1 = st1.executeQuery("select shortname from organisationunit where organisationunitid = "+selectedOrgUnitID);
162
if(rs1.next()) { selectedOrgUnitName = rs1.getString(1); }
164
//rs2 = st2.executeQuery("select id,shortname from organisationunit where parent = "+selectedOrgUnitID);
165
rs2 = st2.executeQuery("select organisationunitid,shortname from organisationunit where parentid = "+selectedOrgUnitID);
168
Integer tempInt = new Integer(rs2.getInt(1));
169
childOrgUnitIDs.add(childOrgUnitCount,tempInt);
170
childOrgUnitNames.add(childOrgUnitCount,rs2.getString(2));
176
//rs5 = st5.executeQuery("SELECT sum(datavalue.value) FROM datavalue INNER JOIN dataelement ON datavalue.dataElement = dataelement.id WHERE datavalue.period in (select id from period where startdate like '"+startingYear+"' and enddate like '"+endingYear+"' and periodType=3) AND datavalue.source ="+selectedOrgUnitID+" AND dataelement.code in ("+DECodes[9]+")");
177
rs5 = st5.executeQuery("SELECT sum(datavalue.value) FROM datavalue INNER JOIN dataelement ON datavalue.dataelementid = dataelement.dataelementid WHERE datavalue.periodid in (select periodid from period where startdate like '"+startingYear+"' and enddate like '"+endingYear+"' and periodtypeid=3) AND datavalue.sourceid ="+selectedOrgUnitID+" AND dataelement.code in ("+DECodes[9]+")");
178
if(rs5.next()) { birthRate = rs5.getInt(1); }
179
if(birthRate==0) birthRate=24.3;
182
while(count < childOrgUnitCount)
184
Integer temp1 = (Integer) childOrgUnitIDs.get(count);
185
int currentChildID = temp1.intValue();
187
for(i=0;i<DECodes.length;i++)
189
//if(i==0) query = "SELECT sum(datavalue.value) FROM datavalue INNER JOIN dataelement ON datavalue.dataElement = dataelement.id WHERE datavalue.period in (select id from period where startdate like '"+startingYear+"' and enddate like '"+endingYear+"' and periodType=3) AND datavalue.source in (select id from organisationunit where id = "+currentChildID+" OR id in (select id from organisationunit where parent = "+currentChildID+") OR parent in (select id from organisationunit where parent = "+currentChildID+")) AND dataelement.code in ("+DECodes[i]+")";
190
//else query = "SELECT sum(datavalue.value) FROM datavalue INNER JOIN dataelement ON datavalue.dataElement = dataelement.id WHERE datavalue.period in (select id from period where startdate between '"+startingDate+"' and '"+endingDate+"') AND datavalue.source in (select id from organisationunit where id = "+currentChildID+" OR id in (select id from organisationunit where parent = "+currentChildID+") OR parent in (select id from organisationunit where parent = "+currentChildID+")) AND dataelement.code in ("+DECodes[i]+")";
191
if(i==0) query = "SELECT sum(datavalue.value) FROM datavalue INNER JOIN dataelement ON datavalue.dataelementid = dataelement.dataelementid WHERE datavalue.periodid in (select periodid from period where startdate like '"+startingYear+"' and enddate like '"+endingYear+"' and periodtypeid=3) AND datavalue.sourceid in (select organisationunitid from organisationunit where organisationunitid = "+currentChildID+" OR organisationunitid in (select organisationunitid from organisationunit where parentid = "+currentChildID+") OR parentid in (select organisationunitid from organisationunit where parentid = "+currentChildID+")) AND dataelement.code in ("+DECodes[i]+")";
192
else query = "SELECT sum(datavalue.value) FROM datavalue INNER JOIN dataelement ON datavalue.dataelementid = dataelement.dataelementid WHERE datavalue.periodid in (select periodid from period where startdate between '"+startingDate+"' and '"+endingDate+"') AND datavalue.sourceid in (select organisationunitid from organisationunit where organisationunitid = "+currentChildID+" OR organisationunitid in (select organisationunitid from organisationunit where parentid = "+currentChildID+") OR parentid in (select organisationunitid from organisationunit where parentid = "+currentChildID+")) AND dataelement.code in ("+DECodes[i]+")";
193
rs3 = st3.executeQuery(query);
199
if(i==0) { r = ((rs3.getInt(1) * 18)/100 ) ; r = (r / 12) * noOfMonths;}
200
else if(i==1) { r = ((rs3.getInt(1) * 94)/100 ) ; }
201
else if(i==2) { r = ( rs3.getInt(1) / dataValues[count][0]) * 100; }
202
else { r = ( rs3.getInt(1) / dataValues[count][1]) * 100; }
204
int decimalPlace = 2;
205
BigDecimal bd = new BigDecimal(r);
206
bd = bd.setScale(decimalPlace,BigDecimal.ROUND_UP);
207
r = bd.doubleValue();
209
dataValues[count][i] = r;
212
catch(Exception e) { dataValues[count][i] = 0.0; }
214
// sumOfValues[i] += dataValues[count][i];
228
while(count < DECodes.length)
231
minValue[count] = dataValues[0][count];
232
maxValue[count] = dataValues[0][count];
234
minOrgUnitName[count] = "";
235
maxOrgUnitName[count] = "";
237
for(i=0;i<childOrgUnitCount;i++)
240
String childOrgUnitName = (String) childOrgUnitNames.get(i);
242
if( dataValues[i][count] > maxValue[count] ) { maxValue[count] = dataValues[i][count]; maxOrgUnitName[count] = childOrgUnitName; }
243
else if( dataValues[i][count] == maxValue[count] )
244
{ maxValue[count] = dataValues[i][count];
245
if (flag1==0) { maxOrgUnitName[count] = childOrgUnitName;flag1=1;}
246
else { maxOrgUnitName[count] += "<br>"+ childOrgUnitName; }
250
if( dataValues[i][count] < minValue[count] ) { minValue[count] = dataValues[i][count]; minOrgUnitName[count] = childOrgUnitName;}
251
else if( dataValues[i][count] == minValue[count])
252
{ minValue[count] = dataValues[i][count];
253
if (flag2==0) { minOrgUnitName[count] = childOrgUnitName;flag2=1;}
254
else { minOrgUnitName[count] += "<br>"+ childOrgUnitName;}
263
for(i=0;i<DECodes.length;i++)
266
//if(i==0) query = "SELECT sum(datavalue.value) FROM datavalue INNER JOIN dataelement ON datavalue.dataElement = dataelement.id WHERE datavalue.period in (select id from period where startdate like '"+startingYear+"' and enddate like '"+endingYear+"' and periodType=3) AND datavalue.source in (SELECT id from organisationunit WHERE id = "+selectedOrgUnitID+" OR id in (SELECT id FROM organisationunit WHERE id IN (SELECT id FROM organisationunit WHERE parent = "+selectedOrgUnitID+")) OR parent IN (SELECT id FROM organisationunit WHERE id IN (SELECT id FROM organisationunit WHERE parent = "+selectedOrgUnitID+")) OR id IN (SELECT id FROM organisationunit WHERE parent IN (SELECT id FROM organisationunit WHERE parent IN (SELECT id FROM organisationunit WHERE parent = "+selectedOrgUnitID+")))) AND dataelement.code in ("+DECodes[i]+")";
267
//else query = "SELECT sum(datavalue.value) FROM datavalue INNER JOIN dataelement ON datavalue.dataElement = dataelement.id WHERE datavalue.period in (select id from period where startdate between '"+startingDate+"' and '"+endingDate+"') AND datavalue.source in (SELECT id from organisationunit WHERE id = "+selectedOrgUnitID+" OR id in (SELECT id FROM organisationunit WHERE id IN (SELECT id FROM organisationunit WHERE parent = "+selectedOrgUnitID+")) OR parent IN (SELECT id FROM organisationunit WHERE id IN (SELECT id FROM organisationunit WHERE parent = "+selectedOrgUnitID+")) OR id IN (SELECT id FROM organisationunit WHERE parent IN (SELECT id FROM organisationunit WHERE parent IN (SELECT id FROM organisationunit WHERE parent = "+selectedOrgUnitID+")))) AND dataelement.code in ("+DECodes[i]+")";
268
if(i==0) query = "SELECT sum(datavalue.value) FROM datavalue INNER JOIN dataelement ON datavalue.dataelementid = dataelement.dataelementid WHERE datavalue.periodid in (select periodid from period where startdate like '"+startingYear+"' and enddate like '"+endingYear+"' and periodtypeid=3) AND datavalue.sourceid in (SELECT organisationunitid from organisationunit WHERE organisationunitid = "+selectedOrgUnitID+" OR organisationunitid in (SELECT organisationunitid FROM organisationunit WHERE organisationunitid IN (SELECT organisationunitid FROM organisationunit WHERE parentid = "+selectedOrgUnitID+")) OR parentid IN (SELECT organisationunitid FROM organisationunit WHERE organisationunitid IN (SELECT organisationunitid FROM organisationunit WHERE parentid = "+selectedOrgUnitID+")) OR organisationunitid IN (SELECT organisationunitid FROM organisationunit WHERE parentid IN (SELECT organisationunitid FROM organisationunit WHERE parentid IN (SELECT organisationunitid FROM organisationunit WHERE parentid = "+selectedOrgUnitID+")))) AND dataelement.code in ("+DECodes[i]+")";
269
else query = "SELECT sum(datavalue.value) FROM datavalue INNER JOIN dataelement ON datavalue.dataelementid = dataelement.dataelementid WHERE datavalue.periodid in (select periodid from period where startdate between '"+startingDate+"' and '"+endingDate+"') AND datavalue.sourceid in (SELECT organisationunitid from organisationunit WHERE organisationunitid = "+selectedOrgUnitID+" OR organisationunitid in (SELECT organisationunitid FROM organisationunit WHERE organisationunitid IN (SELECT organisationunitid FROM organisationunit WHERE parentid = "+selectedOrgUnitID+")) OR parentid IN (SELECT organisationunitid FROM organisationunit WHERE organisationunitid IN (SELECT organisationunitid FROM organisationunit WHERE parentid = "+selectedOrgUnitID+")) OR organisationunitid IN (SELECT organisationunitid FROM organisationunit WHERE parentid IN (SELECT organisationunitid FROM organisationunit WHERE parentid IN (SELECT organisationunitid FROM organisationunit WHERE parentid = "+selectedOrgUnitID+")))) AND dataelement.code in ("+DECodes[i]+")";
270
// if(i==0) query = "SELECT sum(datavalue.value) FROM datavalue INNER JOIN dataelement ON datavalue.dataElement = dataelement.id WHERE datavalue.period in (select id from period where startdate between '2006-04-01' and '2006-04-01') AND datavalue.source in (select id from organisationunit where id = "+selectedOrgUnitID+" OR id in (select id from organisationunit where parent = "+selectedOrgUnitID+") OR parent in (select id from organisationunit where parent = "+selectedOrgUnitID+")) AND dataelement.code in ("+DECodes[i]+")";
271
// else query = "SELECT sum(datavalue.value) FROM datavalue INNER JOIN dataelement ON datavalue.dataElement = dataelement.id WHERE datavalue.period in (select id from period where startdate between '"+startingDate+"' and '"+endingDate+"') AND datavalue.source in (select id from organisationunit where id = "+selectedOrgUnitID+" OR id in (select id from organisationunit where parent = "+selectedOrgUnitID+") OR parent in (select id from organisationunit where parent = "+selectedOrgUnitID+")) AND dataelement.code in ("+DECodes[i]+")";
272
rs4 = st4.executeQuery(query);
280
population = rs4.getInt(1);
281
r = ( population * 18 ) / 100;
282
r = (r / 12) * noOfMonths;
284
else if(i==1) { r = ( rs4.getInt(1) * 94 ) / 100; }
285
else if(i==2) { r = ( rs4.getInt(1) / PHCdataValues[0]) * 100; }
286
else { r = ( rs4.getInt(1) / PHCdataValues[1]) * 100; }
288
int decimalPlace = 2;
289
BigDecimal bd = new BigDecimal(r);
290
bd = bd.setScale(decimalPlace,BigDecimal.ROUND_UP);
291
r = bd.doubleValue();
293
PHCdataValues[i] = r;
295
catch(Exception e) { PHCdataValues[i] = 0.0; }
297
PHCsumOfValues[i] += PHCdataValues[i];
304
catch(Exception e) { out.println(e.getMessage()); }
309
if(rs1!=null) rs1.close(); if(st1!=null) st1.close();
310
if(rs2!=null) rs2.close(); if(st2!=null) st2.close();
311
if(rs3!=null) rs3.close(); if(st3!=null) st3.close();
312
if(rs4!=null) rs4.close(); if(st4!=null) st4.close();
313
if(rs5!=null) rs5.close(); if(st5!=null) st5.close();
315
if(con!=null) con.close();
317
catch(Exception e) { out.println(e.getMessage()); }
318
} // finally block end
325
<title>Child Care</title>
329
<font face="arial" size="4"><b>Child Care</b></font>
331
<table cellpadding="0" cellspacing="0" bgcolor="ffffff" align="center" style="border-style:solid; border-width:0; border-collapse: collapse; padding: 0; position:relative; top:10" bordercolor="#ffffff" width="100%" border="0">
332
<tr style="border-collapse: collapse; border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 0; padding: 0" bordercolor="#111111" width="100%">
333
<td width="50%" style="border-collapse: collapse; border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 0; padding-left:0; padding-right:0; padding-top:0; padding-bottom:0" bordercolor="#111111" height="23"><b><font face="Arial" size="2">Name of the District : <%=selectedOrgUnitName%></b></font></td>
334
<td width="50%" align="right" style="border-collapse: collapse; border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 0; padding-left:15; padding-right:0; padding-top:0; padding-bottom:0" bordercolor="#111111" height="23"><font face="Arial" size="2"><b>Starting Period : <%=monthNames[Integer.parseInt(partsOfStartDate[1])]%> - <%=partsOfStartDate[0]%> </b></font></td>
336
<tr style="border-collapse: collapse; border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 0; padding: 0" bordercolor="#111111" width="100%">
337
<td width="50%" style="border-collapse: collapse; border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 0; padding-left:0; padding-right:0; padding-top:0; padding-bottom:0" bordercolor="#111111" height="23"><b><font face="Arial" size="2">Population : <%=population%></b></font></td>
338
<td width="50%" align="right" style="border-collapse: collapse; border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 0; padding-left:15; padding-right:0; padding-top:0; padding-bottom:0" bordercolor="#111111" height="23"><font face="Arial" size="2"><b>Ending Period : <%=monthNames[Integer.parseInt(partsOfEndDate[1])]%> - <%=partsOfEndDate[0]%> </b></font></td>
343
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
345
<td width="14%" rowspan="2" align="center" height="50"><font face="arial" size="2"><b>Indicators</b></font></td>
346
<td width="10%" rowspan="2" align="center"><font face="arial" size="2"><b>Expected (In Thousands)</b></font></td>
347
<td width="10%" rowspan="2" align="center"><font face="arial" size="2"><b>Workload Estimated (as % of Expected)</b></font></td>
348
<td width="10%" rowspan="2" align="center"><font face="arial" size="2"><b>% Workload Achieved</b></font></td>
349
<td width="56%" colspan="2" align="center"><font face="arial" size="2"><b>Taluka Performance Range</b></font></td>
352
<td width="28%" align="center"><font face="arial" size="2"><b>Maximum</b></font></td>
353
<td width="28%" align="center"><font face="arial" size="2"><b>Minimum</b></font></td>
356
<td width="14%" height="50"><b><font face="arial" size="2">Newborn Weighed</font></b></td>
357
<td width="10%" align="center"><font face="arial" size="2"><b><%=PHCdataValues[0]%></b></font> </td>
358
<td width="10%" align="center"><font face="arial" size="2"><b>86</b></font></td>
359
<td width="10%" align="center"><font face="arial" size="2"><b><%=PHCdataValues[2]%></b></font> </td>
360
<td width="28%" align="center"><font face="arial" size="2"><b><%=maxOrgUnitName[2]%><br>(<%=maxValue[2]%>)</b></font> </td>
361
<td width="28%" align="center"><font face="arial" size="2"><b><%=minOrgUnitName[2]%><br>(<%=minValue[2]%>)</b></font> </td>
364
<td width="14%" height="50"><b><font face="arial" size="2">BCG</font></b></td>
365
<td width="10%" align="center"><font face="arial" size="2"><b><%=PHCdataValues[1]%></b></font> </td>
366
<td width="10%" align="center"><font face="arial" size="2"><b>100.0</b></font></td>
367
<td width="10%" align="center"><font face="arial" size="2"><b><%=PHCdataValues[3]%></b></font> </td>
368
<td width="28%" align="center"><font face="arial" size="2"><b><%=maxOrgUnitName[3]%><br>(<%=maxValue[3]%>)</b></font> </td>
369
<td width="28%" align="center"><font face="arial" size="2"><b><%=minOrgUnitName[3]%><br>(<%=minValue[3]%>)</b></font> </td>
372
<td width="20%" height="50"><b><font face="arial" size="2">DPT3</font></b></td>
373
<td width="10%" align="center"><font face="arial" size="2"><b><%=PHCdataValues[1]%></b></font> </td>
374
<td width="10%" align="center"><font face="arial" size="2"><b>100.0</b></font></td>
375
<td width="10%" align="center"><font face="arial" size="2"><b><%=PHCdataValues[4]%></b></font> </td>
376
<td width="25%" align="center"><font face="arial" size="2"><b><%=maxOrgUnitName[4]%><br>(<%=maxValue[4]%>)</b></font> </td>
377
<td width="25%" align="center"><font face="arial" size="2"><b><%=minOrgUnitName[4]%><br>(<%=minValue[4]%>)</b></font> </td>
380
<td width="20%" height="50"><b><font face="arial" size="2">OPV3</font></b></td>
381
<td width="10%" align="center"><font face="arial" size="2"><b><%=PHCdataValues[1]%></b></font> </td>
382
<td width="10%" align="center"><font face="arial" size="2"><b>100.0</b></font></td>
383
<td width="10%" align="center"><font face="arial" size="2"><b><%=PHCdataValues[5]%></b></font> </td>
384
<td width="25%" align="center"><font face="arial" size="2"><b><%=maxOrgUnitName[5]%><br>(<%=maxValue[5]%>)</b></font> </td>
385
<td width="25%" align="center"><font face="arial" size="2"><b><%=minOrgUnitName[5]%><br>(<%=minValue[5]%>)</b></font> </td>
388
<td width="20%" height="50"><b><font face="arial" size="2">Measles</font></b></td>
389
<td width="10%" align="center"><font face="arial" size="2"><b><%=PHCdataValues[1]%></b></font> </td>
390
<td width="10%" align="center"><font face="arial" size="2"><b>100.0</b></font></td>
391
<td width="10%" align="center"><font face="arial" size="2"><b><%=PHCdataValues[6]%></b></font> </td>
392
<td width="25%" align="center"><font face="arial" size="2"><b><%=maxOrgUnitName[6]%><br>(<%=maxValue[6]%>)</b></font> </td>
393
<td width="25%" align="center"><font face="arial" size="2"><b><%=minOrgUnitName[6]%><br>(<%=minValue[6]%>)</b></font> </td>
396
<td width="20%" height="50"><b><font face="arial" size="2">Full Immunization</font></b></td>
397
<td width="10%" align="center"><font face="arial" size="2"><b><%=PHCdataValues[1]%></b></font> </td>
398
<td width="10%" align="center"><font face="arial" size="2"><b>100.0</b></font></td>
399
<td width="10%" align="center"><font face="arial" size="2"><b><%=PHCdataValues[7]%></b></font> </td>
400
<td width="25%" align="center"><font face="arial" size="2"><b><%=maxOrgUnitName[7]%><br>(<%=maxValue[7]%>)</b></font> </td>
401
<td width="25%" align="center"><font face="arial" size="2"><b><%=minOrgUnitName[7]%><br>(<%=minValue[7]%>)</b></font> </td>
404
<td width="20%" height="50"><b><font face="arial" size="2">Children given Vit A dose1</font></b></td>
405
<td width="10%" align="center"><font face="arial" size="2"><b><%=PHCdataValues[1]%></b></font> </td>
406
<td width="10%" align="center"><font face="arial" size="2"><b>100.0</b></font></td>
407
<td width="10%" align="center"><font face="arial" size="2"><b><%=PHCdataValues[8]%></b></font> </td>
408
<td width="25%" align="center"><font face="arial" size="2"><b><%=maxOrgUnitName[8]%><br>(<%=maxValue[8]%>)</b></font> </td>
409
<td width="25%" align="center"><font face="arial" size="2"><b><%=minOrgUnitName[8]%><br>(<%=minValue[8]%>)</b></font> </td>
416
<font face="arial" size="4"><b>Formulae</b></font>
417
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
419
<td width="20%" align="center" height="50"><font face="arial" size="2"><b>Indicators</b></font></td>
420
<td width="30%" align="center"><font face="arial" size="2"><b>Expected (In Thousands)</b></font></td>
421
<td width="50%" align="center"><font face="arial" size="2"><b>% Workload Achieved</b></font></td>
424
<td width="20%" height="50"><b><font face="arial" size="2">Newborn Weighed</font></b></td>
425
<td width="30%" align="center"><font face="arial" size="2"><b> (Population * 18) / 100 </b></font> </td>
426
<td width="50%" align="center"><font face="arial" size="2"><b>( (New born Chldren Weighed Male Total + New born Chldren Weighed Female Total) / Expected) * 100.0</b></font> </td>
429
<td width="20%" height="50"><b><font face="arial" size="2">BCG</font></b></td>
430
<td width="30%" align="center"><font face="arial" size="2"><b> (Live Births * 94) / 100 </b></font> </td>
431
<td width="50%" align="center"><font face="arial" size="2"><b>( (Infants 0-1 year given BCG Male Total + Infants 0-1 year given BCG Female Total ) / Expected) * 100.0</b></font> </td>
434
<td width="20%" height="50"><b><font face="arial" size="2">DPT3</font></b></td>
435
<td width="30%" align="center"><font face="arial" size="2"><b> (Live Births * 94) / 100 </b></font> </td>
436
<td width="50%" align="center"><font face="arial" size="2"><b>( (Infants 0-1 year given DPT-3 Male Total + Infants 0-1 year given DPT-3 Female Total ) / Expected) * 100.0</b></font> </td>
439
<td width="20%" height="50"><b><font face="arial" size="2">OPV3</font></b></td>
440
<td width="30%" align="center"><font face="arial" size="2"><b> (Live Births * 94) / 100 </b></font> </td>
441
<td width="50%" align="center"><font face="arial" size="2"><b>( (Infants 0-1 year given OPV-3 Male Total + Infants 0-1 year given OPV-3 Female Total) / Expected) * 100.0</b></font> </td>
444
<td width="20%" height="50"><b><font face="arial" size="2">Measles</font></b></td>
445
<td width="30%" align="center"><font face="arial" size="2"><b> (Live Births * 94) / 100 </b></font> </td>
446
<td width="50%" align="center"><font face="arial" size="2"><b>( (Infants 0-1 year given Measles Male Total + Infants 0-1 year given Measles Female Total) / Expected) * 100.0</b></font> </td>
449
<td width="20%" height="50"><b><font face="arial" size="2">Full Immunization</font></b></td>
450
<td width="30%" align="center"><font face="arial" size="2"><b> (Live Births * 94) / 100 </b></font> </td>
451
<td width="50%" align="center"><font face="arial" size="2"><b>( (Infants 0-1 year Full immunisaton Male Total + Infants 0-1 year Full immunisaton Female Total ) / Expected) * 100.0</b></font> </td>
454
<td width="20%" height="50"><b><font face="arial" size="2">Children given Vit A dose1</font></b></td>
455
<td width="30%" align="center"><font face="arial" size="2"><b> (Live Births * 94) / 100 </b></font> </td>
456
<td width="50%" align="center"><font face="arial" size="2"><b>( ( Vitamin-A (9 months to 3 years) Dose-1 Male Total + Vitamin-A (9 months to 3 years) Dose-1 Female Total ) / Expected) * 100.0</b></font> </td>
b'\\ No newline at end of file'