1
<%@ page import="java.sql.*" %>
2
<%@ page import="com.opensymphony.xwork.util.OgnlValueStack" %>
3
<%@ page session="true"%>
8
// For finding organisationunit name of selected Orgunit based on Orgunit id
12
// For finding start date of selected period based on period id
16
//For finding monthly values
20
//For finding cumulative values
24
//For finding blockphc name and id
28
//For finding taluk name and id
32
//For finding district name and id
36
//For finding state name and id
40
String userName = "dhis";
42
String urlForConnection = "jdbc:mysql://localhost/jh_dhis2";
45
OgnlValueStack stack = (OgnlValueStack)request.getAttribute("webwork.valueStack");
47
String selectedId = (String) stack.findValue( "orgUnitId" );
48
int selectedOrgUnitID = Integer.parseInt( selectedId );
50
// String selectedPeriodId = (String) stack.findValue( "periodSelect" );
51
// int selectedDataPeriodID = Integer.parseInt( selectedPeriodId );
53
String startingDate = (String) stack.findValue( "startingPeriod" );
54
String endingDate = (String) stack.findValue( "endingPeriod" );
56
String monthlyPeriodId = (String) stack.findValue( "monthlyPeriodTypeId" );
57
int periodTypeID = Integer.parseInt( monthlyPeriodId );
60
String selectedOrgUnitName = "";
61
String selectedDataPeriodStartDate = "";
63
String monthlyDataElements[] = {
83
int monthlyValues[] = new int[17];
84
int cumulativeValues[] = new int[17];
92
String TalukName = "";
93
String DistrictName = "";
94
String StateName = "";
103
String monthNames[] = { "", "January", "February", "March", "April", "May", "June", "July", "August", "September",
104
"October", "November", "December" };
111
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
112
con = DriverManager.getConnection (urlForConnection, userName, password);
114
st1=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
115
st2=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
116
st3=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
117
st4=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
118
st5=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
119
st6=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
120
st7=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
121
st8=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
123
//rs1 = st1.executeQuery("select shortname from organisationunit where id = "+selectedOrgUnitID);
124
rs1 = st1.executeQuery("select shortname from organisationunit where organisationunitid = "+selectedOrgUnitID);
125
if(rs1.next()) { selectedOrgUnitName = rs1.getString(1); }
127
// rs2 = st2.executeQuery("select startDate from period where id = "+selectedDataPeriodID);
128
// if(rs2.next()) { selectedDataPeriodStartDate = rs2.getDate(1).toString(); }
130
selectedDataPeriodStartDate = startingDate;
132
//rs8=st8.executeQuery("select organisationunit.id, organisationunit.shortname FROM organisationunit WHERE organisationunit.id in ( select organisationunit.parent from organisationunit where organisationunit.id = "+selectedOrgUnitID+")");
133
rs8=st8.executeQuery("select organisationunit.organisationunitid, organisationunit.shortname FROM organisationunit WHERE organisationunit.organisationunitid in ( select organisationunit.parentid from organisationunit where organisationunit.organisationunitid = "+selectedOrgUnitID+")");
134
if(rs8.next()) { StateID = rs8.getInt(1);StateName = rs8.getString(2); }
135
else { StateID = 0; StateName = ""; }
138
catch(Exception e) { out.println(e.getMessage()); }
140
String partsOfDataPeriodStartDate[] = selectedDataPeriodStartDate.split("-");
141
int lastYear = Integer.parseInt(partsOfDataPeriodStartDate[0]) - 1;
142
int tempForMonth1 = Integer.parseInt(partsOfDataPeriodStartDate[1]);
144
if(tempForMonth1 < 4){ tempForYear = lastYear; }
145
else { tempForYear = lastYear + 1; }
146
String curYearStart=tempForYear+"-04-01";
152
//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 in (select id from organisationunit where parent ="+selectedOrgUnitID+") AND dataelement.code like '"+monthlyDataElements[i]+"'");
153
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 in (select organisationunitid from organisationunit where parentid ="+selectedOrgUnitID+") AND dataelement.code like '"+monthlyDataElements[i]+"'");
155
// SELECT sum(datavalue.value) FROM datavalue INNER JOIN dataelement ON datavalue.dataElement = dataelement.id WHERE datavalue.period ="+selectedDataPeriodID+" AND datavalue.source ="+selectedOrgUnitID+" AND dataelement.code like '"+monthlyDataElements[i]+"'");
156
if(rs3.next()) { monthlyValues[i] = rs3.getInt(1); }
158
//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+")");
159
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+")");
160
if(rs4.next()) { cumulativeValues[i] = rs4.getInt(1); }
163
catch(Exception e) { out.println(e.getMessage()); }
168
if(rs1!=null) rs1.close(); if(st1!=null) st1.close();
169
if(rs2!=null) rs2.close(); if(st2!=null) st2.close();
170
if(rs3!=null) rs3.close(); if(st3!=null) st3.close();
171
if(rs4!=null) rs4.close(); if(st4!=null) st4.close();
172
if(rs5!=null) rs5.close(); if(st5!=null) st5.close();
173
if(rs6!=null) rs6.close(); if(st6!=null) st6.close();
174
if(rs7!=null) rs7.close(); if(st7!=null) st7.close();
175
if(rs8!=null) rs8.close(); if(st8!=null) st8.close();
177
if(con!=null) con.close();
179
catch(Exception e) { out.println(e.getMessage()); }
180
} // finally block end
186
<title>NLEP Monthly Reporting Form</title>
190
<font face="arial" size="4">
191
आरोग्यम सुखसम्पदा </font>
193
<font face="arial" size="2">
194
अनुसूचि - IV
197
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
199
<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
200
- मासिक प्रतिवेदन प्रपत्र</b></font></td></tr>
202
<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>जिला प्रतिवेदन</b></font></td>
205
<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"></font></td>
206
<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"></font></td>
209
<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">जिला <%=selectedOrgUnitName%></font></td>
210
<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">राज्य <%=StateName%></font></td>
213
<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">प्रतिवेदित माह <%=monthNames[Integer.parseInt(partsOfDataPeriodStartDate[1])]%></font></td>
214
<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">वर्ष <%=partsOfDataPeriodStartDate[0]%></font></td>
217
<td width="3%" height="25" ><font face="Arial" size="2">1.</font></td>
218
<td width="57%" height="25" colspan="4"><font face="Arial" size="2">प्रतिवेदित माह प्रारम्भ होने के समय मरीजों की संख्या</font></td>
219
<td width="25%" height="25" colspan="3" bgcolor="#000000"> </td>
220
<td width="10%" height="25" align="center"><font face="Arial" size="2"><%=monthlyValues[0]%></font></td>
223
<td width="3%" rowspan="3" height="25" ><font face="Arial" size="2">2.</font></td>
224
<td width="57%" rowspan="3" colspan="4" height="25" ><font face="Arial" size="2">प्रतिवेदित माह में नये कुष्ठ रोगियों की खोज की संख्या</font></td>
227
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">
228
पी बी -</font></td>
229
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[1]%></font></td>
230
<td width="10%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
233
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">
234
एम बी -</font></td>
235
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[2]%></font></td>
236
<td width="10%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
239
<td width="3%" height="25" rowspan="5" ><font face="Arial" size="2">3.</font></td>
240
<td width="57%" height="25" rowspan="5" colspan="4"><font face="Arial" size="2">प्रतिवेदित माह के दौरान नये कुष्ठ रोगियों की खोज के बीच की संख्या-</font></td>
241
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">बच्चे</font></td>
242
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[3]%></font></td>
243
<td width="10%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
246
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">म.</font></td>
247
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[4]%></font></td>
248
<td width="10%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
251
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">देखने योग्य विकृतियाँ</font></td>
252
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[5]%></font></td>
253
<td width="15%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
256
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">एस सी</font></td>
257
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[6]%></font></td>
258
<td width="15%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
261
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">एस टी</font></td>
262
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[7]%></font></td>
263
<td width="15%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
266
<td width="3%" rowspan="2" height="25" ><font face="Arial" size="2">4.</font></td>
267
<td width="57%" height="25" rowspan="2" colspan="4"><font face="Arial" size="2">प्रतिवेदित माह में रोग मुक्त किए गए रोगियों की संख्या</font></td>
268
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">आर एफ टी -</font></td>
269
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[8]%></font></td>
270
<td width="10%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
273
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">अन्य -</font></td>
274
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[9]%></font></td>
275
<td width="15%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
278
<td width="3%" height="25" ><font face="Arial" size="2">5.</font></td>
279
<td width="57%" height="25" colspan="4"><font face="Arial" size="2">प्रतिवेदित माह के अंत में रोगियों की संख्या (1+2+4)</td>
280
<td width="25%" height="25" colspan="3" bgcolor="#000000" bordercolor="#FFFFFF"> </td>
281
<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>
284
<td width="3%" height="25" ><font face="Arial" size="2">6.</font></td>
285
<td width="57%" height="25" colspan="4"><font face="Arial" size="2">एम डी टी सेवा उपलब्ध कराई गई उपकेंद्रों की संख्या</font></td>
286
<td width="25%" height="25" colspan="3" bgcolor="#000000" bordercolor="#FFFFFF"> </td>
287
<td width="15%" height="25" align="center" bgcolor="#FFFFFF"><font face="Arial" size="2"><%=monthlyValues[10]%></font></td>
290
<td width="2%" height="25" ><font face="Arial" size="2">7.</font></td>
291
<td width="98%" height="25" colspan="8"><font face="Arial" size="2">प्रतिवेदित माह के अन्त में कुष्ठ दवाओं की भण्डारण संख्या</font></td>
294
<td width="3%" height="25" > </td>
295
<td width="20%" height="25" align="center" colspan="2"><font face="Arial" size="2">Blister Pack</font></td>
296
<td width="25%" height="25" align="center" ><font face="Arial" size="2">Quantity</font></td>
297
<td width="25" height="25" align="center" colspan="3"><font face="Arial" size="2">Expiry Date</font></td>
298
<td width="25%" height="25" align="center" colspan="2"><font face="Arial" size="2">Total Stock</font></td>
301
<td width="3%" height="25" rowspan="3" > </td>
302
<td width="20%" height="25" align="center" rowspan="3" colspan="2" ><font face="Arial" size="2">एम बी(ए)</font></td>
303
<td width="25%" height="25" ></td>
304
<td width="25" height="25" colspan="3"></td>
305
<td width="25%" align="center" height="25" colspan="2" rowspan="3"><font face="Arial" size="2"><%=monthlyValues[11]%></font></td>
308
<td width="25%" height="25"></td>
309
<td width="25" height="25" colspan="3"></td>
312
<td width="25%" height="25"></td>
313
<td width="25" height="25" colspan="3"></td>
316
<td width="3%" height="25" rowspan="3" > </td>
317
<td width="20%" height="25" align="center" rowspan="3" colspan="2" ><font face="Arial" size="2">एम बी(सी)</font></td>
318
<td width="25%" height="25"></td>
319
<td width="25" height="25" colspan="3"></td>
320
<td width="25%" align="center" height="25" colspan="2" rowspan="3"><font face="Arial" size="2"><%=monthlyValues[12]%></font></td>
323
<td width="25%" height="25"></td>
324
<td width="25" height="25" colspan="3"></td>
327
<td width="25%" height="25"></td>
328
<td width="25" height="25" colspan="3"></td>
331
<td width="3%" height="25" rowspan="3" > </td>
332
<td width="20%" height="25" align="center" rowspan="3" colspan="2" ><font face="Arial" size="2">पी बी(ए)</font></td>
333
<td width="25%" height="25"></td>
334
<td width="25" height="25" colspan="3"></td>
335
<td width="25%" align="center" height="25" colspan="2" rowspan="3"><font face="Arial" size="2"><%=monthlyValues[13]%></font></td>
338
<td width="25%" height="25"></td>
339
<td width="25" height="25" colspan="3"></td>
342
<td width="25%" height="25"></td>
343
<td width="25" height="25" colspan="3"></td>
346
<td width="3%" height="25" rowspan="3" > </td>
347
<td width="20%" height="25" align="center" rowspan="3" colspan="2" ><font face="Arial" size="2">पी बी(सी)</font></td>
348
<td width="25%" height="25"></td>
349
<td width="25" height="25" colspan="3"></td>
350
<td width="25%" align="center" height="25" colspan="2" rowspan="3"><font face="Arial" size="2"><%=monthlyValues[14]%></font></td>
353
<td width="25%" height="25"></td>
354
<td width="25" height="25" colspan="3"></td>
357
<td width="25%" height="25"></td>
358
<td width="25" height="25" colspan="3"></td>
361
<td width="100%" height="100" valign="top" colspan="9"><font face="Arial" size="2">नोट: माह मार्च, जून, सितम्बर एवं दिसम्बर में त्रैमासिक रोगियों की गणना एम बी(ए),एम बी(सी),पी बी(ए) एवं एम बी(सी) की कृपा करें जैसा सम्बधित मासिक प्रतिवेदन में किया गया है!</font></td>
364
<td width="20%" height="25" colspan="2"><font face="Arial" size="2">Date:</font></td>
365
<td width="30%" height="25" colspan="3"> </td>
366
<td width="50%" height="25" colspan="4"><font face="Arial" size="2">
367
Name and Signature of Medical Officer</font></td>
b'\\ No newline at end of file'