1
<%@ page import="java.sql.*" %>
2
<%@ page import="com.opensymphony.xwork.util.OgnlValueStack" %>
4
<%@ page session="true"%>
9
// For finding organisationunit name of selected Orgunit based on Orgunit id
13
// For finding start date of selected period based on period id
17
//For finding monthly values
21
//For finding cumulative values
25
//For finding blockphc name and id
29
//For finding taluk name and id
33
//For finding district name and id
37
//For finding state name and id
41
String userName = "dhis";
43
String urlForConnection = "jdbc:mysql://localhost/gj_dhis2";
46
OgnlValueStack stack = (OgnlValueStack)request.getAttribute("webwork.valueStack");
48
String selectedId = (String) stack.findValue( "orgUnitId" );
49
int selectedOrgUnitID = Integer.parseInt( selectedId );
51
// String selectedPeriodId = (String) stack.findValue( "periodSelect" );
52
// int selectedDataPeriodID = Integer.parseInt( selectedPeriodId );
54
String startingDate = (String) stack.findValue( "startingPeriod" );
55
String endingDate = (String) stack.findValue( "endingPeriod" );
58
String monthlyPeriodId = (String) stack.findValue( "monthlyPeriodTypeId" );
59
int periodTypeID = Integer.parseInt( monthlyPeriodId );
62
String selectedOrgUnitName = "";
63
String selectedDataPeriodStartDate = "";
65
String monthlyDataElements[] = {
94
int monthlyValues[] = new int[monthlyDataElements.length];
95
int cumulativeValues[] = new int[monthlyDataElements.length];
103
String TalukName = "";
104
String DistrictName = "";
105
String StateName = "";
114
String monthNames[] = { "", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
121
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
122
con = DriverManager.getConnection (urlForConnection, userName, password);
124
st1=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
125
st2=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
126
st3=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
127
st4=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
128
st5=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
129
st6=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
130
st7=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
131
st8=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
133
//rs1 = st1.executeQuery("select shortname from organisationunit where id = "+selectedOrgUnitID);
134
rs1 = st1.executeQuery("select shortname from organisationunit where organisationunitid = "+selectedOrgUnitID);
135
if(rs1.next()) { selectedOrgUnitName = rs1.getString(1); }
137
// rs2 = st2.executeQuery("select startDate from period where id = "+selectedDataPeriodID);
138
// if(rs2.next()) { selectedDataPeriodStartDate = rs2.getDate(1).toString(); }
140
selectedDataPeriodStartDate = startingDate;
143
//rs5=st5.executeQuery("select organisationunit.id, organisationunit.shortname FROM organisationunit WHERE organisationunit.id in ( select organisationunit.parent from organisationunit where organisationunit.id = "+selectedOrgUnitID+")");
144
rs5=st5.executeQuery("select organisationunit.organisationunitid, organisationunit.shortname FROM organisationunit WHERE organisationunit.organisationunitid in ( select organisationunit.parentid from organisationunit where organisationunit.organisationunitid = "+selectedOrgUnitID+")");
145
if(rs5.next()) { TalukID = rs5.getInt(1); TalukName = rs5.getString(2); }
146
else { TalukID = 0; TalukName = ""; }
148
//rs7=st7.executeQuery("select organisationunit.id, organisationunit.shortname FROM organisationunit WHERE organisationunit.id in ( select organisationunit.parent from organisationunit where organisationunit.id = "+TalukID+")");
149
rs7=st7.executeQuery("select organisationunit.organisationunitid, organisationunit.shortname FROM organisationunit WHERE organisationunit.organisationunitid in ( select organisationunit.parentid from organisationunit where organisationunit.organisationunitid = "+TalukID+")");
150
if(rs7.next()) { DistrictID = rs7.getInt(1);DistrictName = rs7.getString(2); }
151
else { DistrictID = 0; DistrictName = ""; }
153
//rs8=st8.executeQuery("select organisationunit.id, organisationunit.shortname FROM organisationunit WHERE organisationunit.id in ( select organisationunit.parent from organisationunit where organisationunit.id = "+DistrictID+")");
154
rs8=st8.executeQuery("select organisationunit.organisationunitid, organisationunit.shortname FROM organisationunit WHERE organisationunit.organisationunitid in ( select organisationunit.parentid from organisationunit where organisationunit.organisationunitid = "+DistrictID+")");
155
if(rs8.next()) { StateID = rs8.getInt(1);StateName = rs8.getString(2); }
156
else { StateID = 0; StateName = ""; }
159
catch(Exception e) { out.println(e.getMessage()); }
161
String partsOfDataPeriodStartDate[] = selectedDataPeriodStartDate.split("-");
162
int lastYear = Integer.parseInt(partsOfDataPeriodStartDate[0]) - 1;
163
int tempForMonth1 = Integer.parseInt(partsOfDataPeriodStartDate[1]);
165
if(tempForMonth1 < 4){ tempForYear = lastYear; }
166
else { tempForYear = lastYear + 1; }
167
String curYearStart=tempForYear+"-04-01";
171
for(i=0;i<monthlyDataElements.length;i++)
173
//rs3 = st3.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 between '"+startingDate+"' and '"+startingDate+"') AND datavalue.source ="+selectedOrgUnitID+" AND dataelement.code like '"+monthlyDataElements[i]+"'");
174
rs3 = st3.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 between '"+startingDate+"' and '"+startingDate+"') AND datavalue.sourceid ="+selectedOrgUnitID+" AND dataelement.code like '"+monthlyDataElements[i]+"'");
175
if(rs3.next()) { monthlyValues[i] = rs3.getInt(1); }
177
//rs4 = st4.executeQuery(" select sum(value) from datavalue where dataElement in (select id from dataelement where code like '"+monthlyDataElements[i]+"') and source in (select id from organisationunit where parent ="+selectedOrgUnitID+") and period in (select id from period where startdate between '"+curYearStart+"' and '"+selectedDataPeriodStartDate+"' and periodType = "+periodTypeID+")");
178
rs4 = st4.executeQuery(" select sum(value) from datavalue where dataelementid in (select dataelementid from dataelement where code like '"+monthlyDataElements[i]+"') and sourceid in (select organisationunitid from organisationunit where parentid ="+selectedOrgUnitID+") and periodid in (select periodid from period where startdate between '"+curYearStart+"' and '"+selectedDataPeriodStartDate+"' and periodtypeid = "+periodTypeID+")");
179
if(rs4.next()) { cumulativeValues[i] = rs4.getInt(1); }
182
catch(Exception e) { out.println(e.getMessage()); }
187
if(rs1!=null) rs1.close(); if(st1!=null) st1.close();
188
if(rs2!=null) rs2.close(); if(st2!=null) st2.close();
189
if(rs3!=null) rs3.close(); if(st3!=null) st3.close();
190
if(rs4!=null) rs4.close(); if(st4!=null) st4.close();
191
if(rs5!=null) rs5.close(); if(st5!=null) st5.close();
192
if(rs6!=null) rs6.close(); if(st6!=null) st6.close();
193
if(rs7!=null) rs7.close(); if(st7!=null) st7.close();
194
if(rs8!=null) rs8.close(); if(st8!=null) st8.close();
196
if(con!=null) con.close();
198
catch(Exception e) { out.println(e.getMessage()); }
199
} // finally block end
205
<title>NLEP Monthly Reporting Form</title>
209
<font face="arial" size="3"><b>Annexure- IV</b></font>
213
<div align="right"><font face="arial" size="3"><b>L.F. 04</b></font></div>
214
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
216
<td width="100%" colspan="9" align="center" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1; border-top-style: solid; border-top-width: 1; border-bottom-width: 0; "><font face="Arial" size="3"><b>NLEP - Monthly Reporting Form</b></font></td></tr>
218
<td width="100%" colspan="9" align="center" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1; border-top-width: 0; border-bottom-width: 0"><font face="Arial" size="3"><b>PHC / Block PHC Report</b></font></td></tr>
220
<td width="50%" height="25" colspan="4" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 0; border-top-width: 0; border-bottom-width: 0"><font face="Arial" size="2">PHC <%=selectedOrgUnitName%></font></td>
221
<td width="50%" height="25" colspan="5" style="border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 1; border-top-width: 0; border-bottom-width: 0"><font face="Arial" size="2">Block <%=TalukName%></font></td>
224
<td width="50%" height="25" colspan="4" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 0; border-top-width: 0; border-bottom-width: 0"><font face="Arial" size="2">District <%=DistrictName%></font></td>
225
<td width="50%" height="25" colspan="5" style="border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 1; border-top-width: 0; border-bottom-width: 0"><font face="Arial" size="2">State <%=StateName%></font></td>
228
<td width="50%" height="25" colspan="4" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 0; border-top-width: 0; border-bottom-width: 0"><font face="Arial" size="2">Reporting Month <%=monthNames[Integer.parseInt(partsOfDataPeriodStartDate[1])]%></font></td>
229
<td width="50%" height="25" colspan="5" style="border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 1; border-top-width: 0; border-bottom-width: 0"><font face="Arial" size="2">Year <%=partsOfDataPeriodStartDate[0]%></font></td>
232
<td width="3%" height="25" ><font face="Arial" size="2">1.</font></td>
233
<td width="57%" height="25" colspan="4"><font face="Arial" size="2">No. of cases at the begining of the reporting month</font></td>
234
<td width="25%" height="25" colspan="3" bgcolor="#000000"> </td>
235
<td width="10%" height="25" align="center"><font face="Arial" size="2"><%=monthlyValues[0]%></font></td>
238
<td width="3%" rowspan="3" height="25" ><font face="Arial" size="2">2.</font></td>
239
<td width="57%" rowspan="3" colspan="4" height="25" ><font face="Arial" size="2">Total New Leprosy Cases detected in the reporting month</font></td>
242
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">PB -</font></td>
243
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[1]%></font></td>
244
<td width="10%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
247
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">MB -</font></td>
248
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[2]%></font></td>
249
<td width="10%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
252
<td width="3%" height="25" rowspan="5" ><font face="Arial" size="2">3.</font></td>
253
<td width="57%" height="25" rowspan="5" colspan="4"><font face="Arial" size="2">Among the new leprosy cases detected during the reporting month, number of - </font></td>
254
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">Children</font></td>
255
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[3]%></font></td>
256
<td width="10%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
259
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">Female</font></td>
260
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[4]%></font></td>
261
<td width="10%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
264
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">Visible Deformity</font></td>
265
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[5]%></font></td>
266
<td width="15%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
269
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">SC</font></td>
270
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[6]%></font></td>
271
<td width="15%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
274
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">ST</font></td>
275
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[7]%></font></td>
276
<td width="15%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
279
<td width="3%" rowspan="2" height="25" ><font face="Arial" size="2">4.</font></td>
280
<td width="57%" height="25" rowspan="2" colspan="4"><font face="Arial" size="2">Number of Cases detected in the reporting month</font></td>
281
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">RFT -</font></td>
282
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[8]%></font></td>
283
<td width="10%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
286
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">Others -</font></td>
287
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[9]%></font></td>
288
<td width="15%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
291
<td width="3%" height="25" ><font face="Arial" size="2">5.</font></td>
292
<td width="57%" height="25" colspan="4"><font face="Arial" size="2">Number of Cases at the end of the reporting month (1+2-4)</td>
293
<td width="25%" height="25" colspan="3" bgcolor="#000000" bordercolor="#FFFFFF"> </td>
294
<td width="15%" height="25" align="center" bgcolor="#FFFFFF" ><font face="Arial" size="2"><%=(monthlyValues[0]+monthlyValues[1]+monthlyValues[2]-monthlyValues[8]-monthlyValues[9])%></font></td>
297
<td width="3%" height="25" ><font face="Arial" size="2">6.</font></td>
298
<td width="57%" height="25" colspan="4"><font face="Arial" size="2">Number of Sub-Centres providing MDT services</font></td>
299
<td width="25%" height="25" colspan="3" bgcolor="#000000" bordercolor="#FFFFFF"> </td>
300
<td width="15%" height="25" align="center" bgcolor="#FFFFFF"><font face="Arial" size="2"><%=monthlyValues[10]%></font></td>
303
<td width="2%" height="25" ><font face="Arial" size="2">7.</font></td>
304
<td width="98%" height="25" colspan="8"><font face="Arial" size="2">Leprosy Drug Stock at the end of the reporting month</font></td>
307
<td width="3%" height="25" > </td>
308
<td width="20%" height="25" align="center" colspan="2"><font face="Arial" size="2"><b>Blister Pack</b></font></td>
309
<td width="25%" height="25" align="center" ><font face="Arial" size="2"><b>Quantity</b></font></td>
310
<td width="25" height="25" align="center" colspan="3"><font face="Arial" size="2"><b>Expiry Date</b></font></td>
311
<td width="25%" height="25" align="center" colspan="2"><font face="Arial" size="2"><b>Total Stock</b></font></td>
314
<td width="3%" height="25" rowspan="3" > </td>
315
<td width="20%" height="25" align="center" rowspan="3" colspan="2" ><font face="Arial" size="2">MB (A)</font></td>
316
<td width="25%" align="center" height="25"><font face="Arial" size="2"><%=monthlyValues[11]%></font></td>
317
<td width="25" height="25" colspan="3"></td>
318
<td width="25%" align="center" height="25" colspan="2" rowspan="3"><font face="Arial" size="2"><%=(monthlyValues[11]+monthlyValues[12]+monthlyValues[13])%></font></td>
321
<td width="25%" align="center" height="25"><font face="Arial" size="2"><%=monthlyValues[12]%></font></td>
322
<td width="25" height="25" colspan="3"></td>
325
<td width="25%" align="center" height="25"><font face="Arial" size="2"><%=monthlyValues[13]%></font></td>
326
<td width="25" height="25" colspan="3"></td>
329
<td width="3%" height="25" rowspan="3" > </td>
330
<td width="20%" height="25" align="center" rowspan="3" colspan="2" ><font face="Arial" size="2">MB (C)</font></td>
331
<td width="25%" align="center" height="25"><font face="Arial" size="2"><%=monthlyValues[14]%></font></td>
332
<td width="25" height="25" colspan="3"></td>
333
<td width="25%" align="center" height="25" colspan="2" rowspan="3"><font face="Arial" size="2"><%=(monthlyValues[14]+monthlyValues[15]+monthlyValues[16])%></font></td>
336
<td width="25%" align="center" height="25"><font face="Arial" size="2"><%=monthlyValues[15]%></font></td>
337
<td width="25" height="25" colspan="3"></td>
340
<td width="25%" align="center" height="25"><font face="Arial" size="2"><%=monthlyValues[16]%></font></td>
341
<td width="25" height="25" colspan="3"></td>
344
<td width="3%" height="25" rowspan="3" > </td>
345
<td width="20%" height="25" align="center" rowspan="3" colspan="2" ><font face="Arial" size="2">PB (A)</font></td>
346
<td width="25%" align="center" height="25"><font face="Arial" size="2"><%=monthlyValues[17]%></font></td>
347
<td width="25" height="25" colspan="3"></td>
348
<td width="25%" align="center" height="25" colspan="2" rowspan="3"><font face="Arial" size="2"><%=(monthlyValues[17]+monthlyValues[18]+monthlyValues[19])%></font></td>
351
<td width="25%" align="center" height="25"><font face="Arial" size="2"><%=monthlyValues[18]%></font></td>
352
<td width="25" height="25" colspan="3"></td>
355
<td width="25%" align="center" height="25"><font face="Arial" size="2"><%=monthlyValues[19]%></font></td>
356
<td width="25" height="25" colspan="3"></td>
359
<td width="3%" height="25" rowspan="3" > </td>
360
<td width="20%" height="25" align="center" rowspan="3" colspan="2" ><font face="Arial" size="2">PB (C)</font></td>
361
<td width="25%" align="center" height="25"><font face="Arial" size="2"><%=monthlyValues[20]%></font></td>
362
<td width="25" height="25" colspan="3"></td>
363
<td width="25%" align="center" height="25" colspan="2" rowspan="3"><font face="Arial" size="2"><%=(monthlyValues[20]+monthlyValues[21]+monthlyValues[22])%></font></td>
366
<td width="25%" align="center" height="25"><font face="Arial" size="2"><%=monthlyValues[21]%></font></td>
367
<td width="25" height="25" colspan="3"></td>
370
<td width="25%" align="center" height="25"><font face="Arial" size="2"><%=monthlyValues[22]%></font></td>
371
<td width="25" height="25" colspan="3"></td>
374
<td width="100%" height="100" valign="top" colspan="9"><font face="Arial" size="2">NB: Please calculate Patient-Month Blister Packs for MB (A), MB (C), PB (A) and PB (C) quarterly in the months of March, June, September and December and indicate the same in that respective Monthly Report.</font></td>
377
<td width="20%" height="25" colspan="2"><font face="Arial" size="2">Date:</font></td>
378
<td width="30%" height="25" colspan="3"> </td>
379
<td width="50%" height="25" colspan="4" align="right"><font face="Arial" size="2">Name and Signature of Medical Officer</font></td>
b'\\ No newline at end of file'