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" );
57
String monthlyPeriodId = (String) stack.findValue( "monthlyPeriodTypeId" );
58
int periodTypeID = Integer.parseInt( monthlyPeriodId );
61
String selectedOrgUnitName = "";
62
String selectedDataPeriodStartDate = "";
64
String monthlyDataElements[] = {
84
int monthlyValues[] = new int[17];
85
int cumulativeValues[] = new int[17];
93
String TalukName = "";
94
String DistrictName = "";
95
String StateName = "";
104
String monthNames[] = { "", "January", "February", "March", "April", "May", "June", "July", "August", "September",
105
"October", "November", "December" };
112
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
113
con = DriverManager.getConnection (urlForConnection, userName, password);
115
st1=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
116
st2=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
117
st3=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
118
st4=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
119
st5=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
120
st6=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
121
st7=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
122
st8=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
124
//rs1 = st1.executeQuery("select shortname from organisationunit where id = "+selectedOrgUnitID);
125
rs1 = st1.executeQuery("select shortname from organisationunit where organisationunitid = "+selectedOrgUnitID);
126
if(rs1.next()) { selectedOrgUnitName = rs1.getString(1); }
128
// rs2 = st2.executeQuery("select startDate from period where id = "+selectedDataPeriodID);
129
// if(rs2.next()) { selectedDataPeriodStartDate = rs2.getDate(1).toString(); }
131
selectedDataPeriodStartDate = startingDate;
134
//rs7=st7.executeQuery("select organisationunit.id, organisationunit.shortname FROM organisationunit WHERE organisationunit.id in ( select organisationunit.parent from organisationunit where organisationunit.id = "+selectedOrgUnitID+")");
135
rs7=st7.executeQuery("select organisationunit.organisationunitid, organisationunit.shortname FROM organisationunit WHERE organisationunit.organisationunitid in ( select organisationunit.parentid from organisationunit where organisationunit.organisationunitid = "+selectedOrgUnitID+")");
136
if(rs7.next()) { DistrictID = rs7.getInt(1);DistrictName = rs7.getString(2); }
137
else { DistrictID = 0; DistrictName = ""; }
139
//rs8=st8.executeQuery("select organisationunit.id, organisationunit.shortname FROM organisationunit WHERE organisationunit.id in ( select organisationunit.parent from organisationunit where organisationunit.id = "+DistrictID+")");
140
rs8=st8.executeQuery("select organisationunit.organisationunitid, organisationunit.shortname FROM organisationunit WHERE organisationunit.organisationunitid in ( select organisationunit.parentid from organisationunit where organisationunit.organisationunitid = "+DistrictID+")");
141
if(rs8.next()) { StateID = rs8.getInt(1);StateName = rs8.getString(2); }
142
else { StateID = 0; StateName = ""; }
145
catch(Exception e) { out.println(e.getMessage()); }
147
String partsOfDataPeriodStartDate[] = selectedDataPeriodStartDate.split("-");
148
int lastYear = Integer.parseInt(partsOfDataPeriodStartDate[0]) - 1;
149
int tempForMonth1 = Integer.parseInt(partsOfDataPeriodStartDate[1]);
151
if(tempForMonth1 < 4){ tempForYear = lastYear; }
152
else { tempForYear = lastYear + 1; }
153
String curYearStart=tempForYear+"-04-01";
159
//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]+"'");
160
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]+"'");
161
if(rs3.next()) { monthlyValues[i] = rs3.getInt(1); }
163
//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+")");
164
rs4 = st4.executeQuery(" select sum(value) from datavalue where dataElement 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+")");
165
if(rs4.next()) { cumulativeValues[i] = rs4.getInt(1); }
168
catch(Exception e) { out.println(e.getMessage()); }
173
if(rs1!=null) rs1.close(); if(st1!=null) st1.close();
174
if(rs2!=null) rs2.close(); if(st2!=null) st2.close();
175
if(rs3!=null) rs3.close(); if(st3!=null) st3.close();
176
if(rs4!=null) rs4.close(); if(st4!=null) st4.close();
177
if(rs5!=null) rs5.close(); if(st5!=null) st5.close();
178
if(rs6!=null) rs6.close(); if(st6!=null) st6.close();
179
if(rs7!=null) rs7.close(); if(st7!=null) st7.close();
180
if(rs8!=null) rs8.close(); if(st8!=null) st8.close();
182
if(con!=null) con.close();
184
catch(Exception e) { out.println(e.getMessage()); }
185
} // finally block end
191
<title>NLEP Monthly Reporting Form</title>
195
<font face="arial" size="4">
196
आरोग्यम सुखसम्पदा </font>
198
<font face="arial" size="2">
199
अनुसूचि - IV
202
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
204
<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
205
- मासिक प्रतिवेदन प्रपत्र</b></font></td></tr>
207
<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>प्र.
208
स्वा. कें. / प्रखण्ड प्र.
209
स्वा. कें. प्रतिवेदन</b></font></td></tr>
211
<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>
212
<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>
215
<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">जिला <%=DistrictName%></font></td>
216
<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>
219
<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>
220
<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>
223
<td width="3%" height="25" ><font face="Arial" size="2">1.</font></td>
224
<td width="57%" height="25" colspan="4"><font face="Arial" size="2">प्रतिवेदित माह प्रारम्भ होने के समय मरीजों की संख्या</font></td>
225
<td width="25%" height="25" colspan="3" bgcolor="#000000"> </td>
226
<td width="10%" height="25" align="center"><font face="Arial" size="2"><%=monthlyValues[0]%></font></td>
229
<td width="3%" rowspan="3" height="25" ><font face="Arial" size="2">2.</font></td>
230
<td width="57%" rowspan="3" colspan="4" height="25" ><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[1]%></font></td>
236
<td width="10%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
239
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">
240
एम बी -</font></td>
241
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[2]%></font></td>
242
<td width="10%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
245
<td width="3%" height="25" rowspan="5" ><font face="Arial" size="2">3.</font></td>
246
<td width="57%" height="25" rowspan="5" colspan="4"><font face="Arial" size="2">प्रतिवेदित माह के दौरान नये कुष्ठ रोगियों की खोज के बीच की संख्या-</font></td>
247
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">बच्चे</font></td>
248
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[3]%></font></td>
249
<td width="10%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
252
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">म.</font></td>
253
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[4]%></font></td>
254
<td width="10%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
257
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">देखने योग्य विकृतियाँ</font></td>
258
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[5]%></font></td>
259
<td width="15%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
262
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">एस सी</font></td>
263
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[6]%></font></td>
264
<td width="15%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
267
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">एस टी</font></td>
268
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[7]%></font></td>
269
<td width="15%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
272
<td width="3%" rowspan="2" height="25" ><font face="Arial" size="2">4.</font></td>
273
<td width="57%" height="25" rowspan="2" colspan="4"><font face="Arial" size="2">प्रतिवेदित माह में रोग मुक्त किए गए रोगियों की संख्या</font></td>
274
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">आर एफ टी -</font></td>
275
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[8]%></font></td>
276
<td width="10%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
279
<td width="15%" height="25" colspan="2" ><font face="Arial" size="2">अन्य -</font></td>
280
<td width="10%" height="25" align="center" ><font face="Arial" size="2"><%=monthlyValues[9]%></font></td>
281
<td width="15%" height="25" align="center" bgcolor="#000000" bordercolor="#FFFFFF" ><font face="Arial" size="2"></font></td>
284
<td width="3%" height="25" ><font face="Arial" size="2">5.</font></td>
285
<td width="57%" height="25" colspan="4"><font face="Arial" size="2">प्रतिवेदित माह के अंत में रोगियों की संख्या (1+2+4)</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[0]+monthlyValues[1]+monthlyValues[2]+monthlyValues[8]+monthlyValues[9])%></font></td>
290
<td width="3%" height="25" ><font face="Arial" size="2">6.</font></td>
291
<td width="57%" height="25" colspan="4"><font face="Arial" size="2">एम डी टी सेवा उपलब्ध कराई गई उपकेंद्रों की संख्या</font></td>
292
<td width="25%" height="25" colspan="3" bgcolor="#000000" bordercolor="#FFFFFF"> </td>
293
<td width="15%" height="25" align="center" bgcolor="#FFFFFF"><font face="Arial" size="2"><%=monthlyValues[10]%></font></td>
296
<td width="2%" height="25" ><font face="Arial" size="2">7.</font></td>
297
<td width="98%" height="25" colspan="8"><font face="Arial" size="2">प्रतिवेदित माह के अन्त में कुष्ठ दवाओं की भण्डारण संख्या</font></td>
300
<td width="3%" height="25" > </td>
301
<td width="20%" height="25" align="center" colspan="2"><font face="Arial" size="2">Blister Pack</font></td>
302
<td width="25%" height="25" align="center" ><font face="Arial" size="2">Quantity</font></td>
303
<td width="25" height="25" align="center" colspan="3"><font face="Arial" size="2">Expiry Date</font></td>
304
<td width="25%" height="25" align="center" colspan="2"><font face="Arial" size="2">Total Stock</font></td>
307
<td width="3%" height="25" rowspan="3" > </td>
308
<td width="20%" height="25" align="center" rowspan="3" colspan="2" ><font face="Arial" size="2">एम बी(ए)</font></td>
309
<td width="25%" height="25" ></td>
310
<td width="25" height="25" colspan="3"></td>
311
<td width="25%" align="center" height="25" colspan="2" rowspan="3"><font face="Arial" size="2"><%=monthlyValues[11]%></font></td>
314
<td width="25%" height="25"></td>
315
<td width="25" height="25" colspan="3"></td>
318
<td width="25%" height="25"></td>
319
<td width="25" height="25" colspan="3"></td>
322
<td width="3%" height="25" rowspan="3" > </td>
323
<td width="20%" height="25" align="center" rowspan="3" colspan="2" ><font face="Arial" size="2">एम बी(सी)</font></td>
324
<td width="25%" height="25"></td>
325
<td width="25" height="25" colspan="3"></td>
326
<td width="25%" align="center" height="25" colspan="2" rowspan="3"><font face="Arial" size="2"><%=monthlyValues[12]%></font></td>
329
<td width="25%" height="25"></td>
330
<td width="25" height="25" colspan="3"></td>
333
<td width="25%" height="25"></td>
334
<td width="25" height="25" colspan="3"></td>
337
<td width="3%" height="25" rowspan="3" > </td>
338
<td width="20%" height="25" align="center" rowspan="3" colspan="2" ><font face="Arial" size="2">पी बी(ए)</font></td>
339
<td width="25%" height="25"></td>
340
<td width="25" height="25" colspan="3"></td>
341
<td width="25%" align="center" height="25" colspan="2" rowspan="3"><font face="Arial" size="2"><%=monthlyValues[13]%></font></td>
344
<td width="25%" height="25"></td>
345
<td width="25" height="25" colspan="3"></td>
348
<td width="25%" height="25"></td>
349
<td width="25" height="25" colspan="3"></td>
352
<td width="3%" height="25" rowspan="3" > </td>
353
<td width="20%" height="25" align="center" rowspan="3" colspan="2" ><font face="Arial" size="2">पी बी(सी)</font></td>
354
<td width="25%" height="25"></td>
355
<td width="25" height="25" colspan="3"></td>
356
<td width="25%" align="center" height="25" colspan="2" rowspan="3"><font face="Arial" size="2"><%=monthlyValues[14]%></font></td>
359
<td width="25%" height="25"></td>
360
<td width="25" height="25" colspan="3"></td>
363
<td width="25%" height="25"></td>
364
<td width="25" height="25" colspan="3"></td>
367
<td width="100%" height="100" valign="top" colspan="9"><font face="Arial" size="2">नोट: माह मार्च, जून, सितम्बर एवं दिसम्बर में त्रैमासिक रोगियों की गणना एम बी(ए),एम बी(सी),पी बी(ए) एवं एम बी(सी) की कृपा करें जैसा सम्बधित मासिक प्रतिवेदन में किया गया है!</font></td>
370
<td width="20%" height="25" colspan="2"><font face="Arial" size="2">Date:</font></td>
371
<td width="30%" height="25" colspan="3"> </td>
372
<td width="50%" height="25" colspan="4"><font face="Arial" size="2">
373
Name and Signature of Medical Officer</font></td>
b'\\ No newline at end of file'