/application/models/cts_final_report_model.php

https://gitlab.com/bipsahu/ptcs · PHP · 853 lines · 738 code · 93 blank · 22 comment · 16 complexity · 265d6d14bd5b9eee3a5a4de43de63d32 MD5 · raw file

  1. <?php
  2. class lims_final_report_model extends CI_model
  3. {
  4. public function __construct()
  5. {
  6. parent::__construct();
  7. include('nepali_calendar.php');
  8. }
  9. public function final_serology_result_positive()
  10. {
  11. $cal = new Nepali_Calendar();
  12. $year = $this->input->get('year');
  13. $test_method = $this->input->get('test_method');
  14. $investigation_requested = $this->input->get('investigation_requested');
  15. $year_arr = explode("/",$year);
  16. $start_date = $cal->nep_to_eng($year_arr[0],'04','01');
  17. $start_date = $start_date['year']."-".$start_date['month']."-".$start_date['date'];
  18. $end_day_of_ashar = $cal->get_third_month_last_day($year_arr[1]);
  19. $end_year = "20".$year_arr[1];
  20. $end_date = $cal->nep_to_eng($end_year,'03',$end_day_of_ashar);
  21. $end_date = $end_date['year']."-".$end_date['month']."-".$end_date['date'];
  22. $positive_sql = "select count(serology_id) as pcount, customer_district
  23. from serology s
  24. inner join customer on customer.cid= s.cid
  25. INNER JOIN sample_registration sr ON sr.sample_id = s.sample_id
  26. INNER JOIN sample_investigation si ON sr.sample_id = si.sample_id
  27. where result = 'positive'
  28. AND sr.date between '".$start_date."' and '".$end_date."'
  29. and si.investigation_id = '".$investigation_requested."'
  30. and s.test_method = '".$test_method."'
  31. and publish_bit = 1
  32. group by customer_district
  33. order by customer_district asc";
  34. $result = $this->db->query($positive_sql);
  35. return $result;
  36. }
  37. public function final_serology_result_negative()
  38. {
  39. $cal = new Nepali_Calendar();
  40. $year = $this->input->get('year');
  41. $test_method = $this->input->get('test_method');
  42. $investigation_requested = $this->input->get('investigation_requested');
  43. $year_arr = explode("/",$year);
  44. $start_date = $cal->nep_to_eng($year_arr[0],'04','01');
  45. $start_date = $start_date['year']."-".$start_date['month']."-".$start_date['date'];
  46. $end_day_of_ashar = $cal->get_third_month_last_day($year_arr[1]);
  47. $end_year = "20".$year_arr[1];
  48. $end_date = $cal->nep_to_eng($end_year,'03',$end_day_of_ashar);
  49. $end_date = $end_date['year']."-".$end_date['month']."-".$end_date['date'];
  50. $negative_sql = "select count(serology_id) as ncount, customer_district
  51. from serology s
  52. inner join customer on customer.cid= s.cid
  53. INNER JOIN sample_registration sr ON sr.sample_id = s.sample_id
  54. INNER JOIN sample_investigation si ON sr.sample_id = si.sample_id
  55. where result = 'negative'
  56. AND sr.date between '".$start_date."' and '".$end_date."'
  57. and si.investigation_id = '".$investigation_requested."'
  58. and s.test_method = '".$test_method."'
  59. and publish_bit = 1
  60. group by customer_district
  61. order by customer_district asc";
  62. $result = $this->db->query($negative_sql);
  63. return $result;
  64. }
  65. public function final_molecular_biology_report()
  66. {
  67. $test_method = $this->input->get('test_method');
  68. $cal = new Nepali_Calendar();
  69. $year = $this->input->get('year');
  70. $year_arr = explode("/",$year);
  71. $shrawan_end_day = $cal->get_shrawan_last_day($year_arr[1]-1);
  72. $bhadra_end_day = $cal->get_bhadra_last_day($year_arr[1]-1);
  73. $ashoj_end_day = $cal->get_ashoj_last_day($year_arr[1]-1);
  74. $kartik_end_day = $cal->get_kartik_last_day($year_arr[1]-1);
  75. $magshir_end_day = $cal->get_mangsir_last_day($year_arr[1]-1);
  76. $poush_end_day = $cal->get_poush_last_day($year_arr[1]-1);
  77. $magh_end_day = $cal->get_magh_last_day($year_arr[1]-1);
  78. $falgun_end_day = $cal->get_falgun_last_day($year_arr[1]-1);
  79. $chaitra_end_day = $cal->get_chaitra_last_day($year_arr[1]-1);
  80. $baikash_end_day = $cal->get_baisakh_last_day($year_arr[1]);
  81. $jestha_end_day = $cal->get_jestha_last_day($year_arr[1]);
  82. $ashar_end_day = $cal->get_third_month_last_day($year_arr[1]);
  83. $dates_arr = array();
  84. $start_date[0] = $cal->nep_to_eng($year_arr[0],'04','01');
  85. $start_date[1] = $cal->nep_to_eng($year_arr[0],'05','01');
  86. $start_date[2] = $cal->nep_to_eng($year_arr[0],'06','01');
  87. $start_date[3] = $cal->nep_to_eng($year_arr[0],'07','01');
  88. $start_date[4] = $cal->nep_to_eng($year_arr[0],'08','01');
  89. $start_date[5] = $cal->nep_to_eng($year_arr[0],'09','01');
  90. $start_date[6] = $cal->nep_to_eng($year_arr[0],'10','01');
  91. $start_date[7] = $cal->nep_to_eng($year_arr[0],'11','01');
  92. $start_date[8] = $cal->nep_to_eng($year_arr[0],'12','01');
  93. $start_date[9] = $cal->nep_to_eng($year_arr[0]+1,'01','01');
  94. $start_date[10] = $cal->nep_to_eng($year_arr[0]+1,'02','01');
  95. $start_date[11] = $cal->nep_to_eng($year_arr[0]+1,'03','01');
  96. $end_date[0] = $cal->nep_to_eng($year_arr[0],'04',$shrawan_end_day);
  97. $end_date[1] = $cal->nep_to_eng($year_arr[0],'05',$bhadra_end_day);
  98. $end_date[2] = $cal->nep_to_eng($year_arr[0],'06',$ashoj_end_day);
  99. $end_date[3] = $cal->nep_to_eng($year_arr[0],'07',$kartik_end_day);
  100. $end_date[4] = $cal->nep_to_eng($year_arr[0],'08',$magshir_end_day);
  101. $end_date[5] = $cal->nep_to_eng($year_arr[0],'09',$poush_end_day);
  102. $end_date[6] = $cal->nep_to_eng($year_arr[0],'10',$magh_end_day);
  103. $end_date[7] = $cal->nep_to_eng($year_arr[0],'11',$falgun_end_day);
  104. $end_date[8] = $cal->nep_to_eng($year_arr[0],'12',$chaitra_end_day);
  105. $end_date[9] = $cal->nep_to_eng($year_arr[0]+1,'01',$baikash_end_day);
  106. $end_date[10] = $cal->nep_to_eng($year_arr[0]+1,'02',$jestha_end_day);
  107. $end_date[11] = $cal->nep_to_eng($year_arr[0]+1,'03',$ashar_end_day);
  108. $i=0;
  109. foreach($start_date as $sdate)
  110. {
  111. $start_date[$i] = $sdate['year']."-".$sdate['month']."-".$sdate['date'];
  112. $i++;
  113. }
  114. $i = 0;
  115. foreach($end_date as $edate)
  116. {
  117. $end_date[$i] = $edate['year']."-".$edate['month']."-".$edate['date'];
  118. $i++;
  119. }
  120. $negative_sql_where ="1";
  121. foreach($test_method as $test)
  122. {
  123. $negative_sql_where .= " and pcr_".$test." = 'negative'";
  124. }
  125. foreach($test_method as $test)
  126. {
  127. for($i=0;$i<count($start_date);$i++)
  128. {
  129. $sample_investigation = $this->input->get('investigation_requested');
  130. $total_sample_tested_sql = "select count(*) as pcr_count from biology inner join sample_registration on biology.sample_id = sample_registration.sample_id inner join sample_investigation on sample_registration.sample_id = sample_investigation.sample_id where sample_registration.date between '".$start_date[$i] ."' and '" . $end_date[$i] ."' and publish_bit = 1 and sample_investigation.investigation_id='".$sample_investigation."'";
  131. $total_sample_result = $this->db->query($total_sample_tested_sql);
  132. foreach ($total_sample_result->result() as $row)
  133. {
  134. $total_result[] = $row->pcr_count;
  135. }
  136. $negative_sql = "select count(*) as pcr_count from biology inner join sample_registration on biology.sample_id = sample_registration.sample_id inner join sample_investigation on sample_registration.sample_id = sample_investigation.sample_id where sample_registration.date between '".$start_date[$i] ."' and '" . $end_date[$i] ."' and publish_bit = 1 and sample_investigation.investigation_id='".$sample_investigation."' and ".$negative_sql_where;
  137. $negative_sample_result = $this->db->query($negative_sql);
  138. foreach($negative_sample_result->result() as $row)
  139. {
  140. $negative_sample[] = $row->pcr_count;
  141. }
  142. $sql = "select count(pcr_".$test.") as pcr_count from biology inner join sample_registration on biology.sample_id = sample_registration.sample_id inner join sample_investigation on sample_registration.sample_id = sample_investigation.sample_id where sample_registration.date between '".$start_date[$i] ."' and '" . $end_date[$i] ."' and publish_bit = 1 and pcr_".$test." = 'positive' and sample_investigation.investigation_id='".$sample_investigation."'";
  143. $result = $this->db->query($sql);
  144. foreach($result->result() as $row)
  145. {
  146. $data[$test][] = $row->pcr_count;
  147. }
  148. }
  149. /* $h5_sql = "select count(pcr_h5) as pcr_count from biology inner join sample_registration on biology.sample_id = sample_registration.sample_id inner join sample_investigation on sample_registration.sample_id = sample_investigation.sample_id where sample_registration.date between '".$start_date[$i] ."' and '" . $end_date[$i] ."' and publish_bit = 1 and pcr_h5 = 'positive' and sample_investigation.investigation_id='".$sample_investigation."'";
  150. $h9_sql = "select count(pcr_h5) as pcr_count from biology inner join sample_registration on biology.sample_id = sample_registration.sample_id inner join sample_investigation on sample_registration.sample_id = sample_investigation.sample_id where sample_registration.date between '".$start_date[$i] ."' and '" . $end_date[$i] ."' and publish_bit = 1 and pcr_h9 = 'positive' and sample_investigation.investigation_id='".$sample_investigation."'";
  151. $result = $this->db->query($h5_sql);
  152. $result1 = $this->db->query($h9_sql);
  153. $result2 = $this->db->query($total_sample_tested_sql);
  154. foreach($result->result() as $row)
  155. {
  156. $pcr_h5[] = $row->pcr_count;
  157. }
  158. foreach($result1->result() as $row)
  159. {
  160. $pcr_h9[] = $row->pcr_count;
  161. }
  162. foreach($result2->result() as $row)
  163. {
  164. $total_sample[] = $row->pcr_count;
  165. } */
  166. }
  167. $data['total_sample'] = $total_result;
  168. $data['negative_sample'] = $negative_sample;
  169. return $data;
  170. /* $data['total_count'] = $total_sample;
  171. $data['pcr_h5'] = $pcr_h5;
  172. $data['pcr_h9'] = $pcr_h9;
  173. return $data; */
  174. }
  175. public function count_positive($row2)
  176. {
  177. $investigation_requested = $this->input->get('investigation_requested');
  178. if($investigation_requested == 1){
  179. $cal = new Nepali_Calendar();
  180. $year = $this->input->get('year');
  181. $investigation_requested = $this->input->get('investigation_requested');
  182. $year_arr = explode("/",$year);
  183. $start_date = $cal->nep_to_eng($year_arr[0],'04','01');
  184. $start_date = $start_date['year']."-".$start_date['month']."-".$start_date['date'];
  185. $end_day_of_ashar = $cal->get_third_month_last_day($year_arr[1]);
  186. $end_year = "20".$year_arr[1];
  187. $end_date = $cal->nep_to_eng($end_year,'03',$end_day_of_ashar);
  188. $end_date = $end_date['year']."-".$end_date['month']."-".$end_date['date'];
  189. $sql= "SELECT COUNT(rapid_anitgen_test) as rat
  190. FROM virology
  191. JOIN sample_registration
  192. ON sample_registration.sample_id = virology.sample_id
  193. Where rapid_anitgen_test = 'positive'
  194. AND animal_type='".$row2."'
  195. and publish_bit = 1
  196. AND sample_registration.date between '".$start_date."' and '".$end_date."'";
  197. $result = $this->db->query($sql);
  198. }
  199. elseif ($investigation_requested==2){
  200. $cal = new Nepali_Calendar();
  201. $year = $this->input->get('year');
  202. $investigation_requested = $this->input->get('investigation_requested');
  203. $year_arr = explode("/",$year);
  204. $start_date = $cal->nep_to_eng($year_arr[0],'04','01');
  205. $start_date = $start_date['year']."-".$start_date['month']."-".$start_date['date'];
  206. $end_day_of_ashar = $cal->get_third_month_last_day($year_arr[1]);
  207. $end_year = "20".$year_arr[1];
  208. $end_date = $cal->nep_to_eng($end_year,'03',$end_day_of_ashar);
  209. $end_date = $end_date['year']."-".$end_date['month']."-".$end_date['date'];
  210. $sql= "SELECT COUNT(agid) as rat
  211. FROM virology
  212. JOIN sample_registration
  213. ON sample_registration.sample_id = virology.sample_id
  214. Where agid = 'positive'
  215. AND animal_type='".$row2."'
  216. and publish_bit = 1
  217. AND sample_registration.date between '".$start_date."' and '".$end_date."'";
  218. $result = $this->db->query($sql);
  219. }
  220. elseif ($investigation_requested==3){
  221. $cal = new Nepali_Calendar();
  222. $year = $this->input->get('year');
  223. $investigation_requested = $this->input->get('investigation_requested');
  224. $year_arr = explode("/",$year);
  225. $start_date = $cal->nep_to_eng($year_arr[0],'04','01');
  226. $start_date = $start_date['year']."-".$start_date['month']."-".$start_date['date'];
  227. $end_day_of_ashar = $cal->get_third_month_last_day($year_arr[1]);
  228. $end_year = "20".$year_arr[1];
  229. $end_date = $cal->nep_to_eng($end_year,'03',$end_day_of_ashar);
  230. $end_date = $end_date['year']."-".$end_date['month']."-".$end_date['date'];
  231. $sql= "SELECT COUNT(virology.virology_id) as rat
  232. FROM virology
  233. JOIN sample_registration
  234. ON sample_registration.sample_id = virology.sample_id
  235. Where (sample_registration.animal_type = '".$row2."'
  236. and publish_bit = '1'
  237. AND sample_registration.date between '".$start_date."' and '".$end_date."')
  238. and (hi= 'positive'
  239. or ha = 'positive'
  240. or rapid_anitgen_test = 'positive')";
  241. $result = $this->db->query($sql);
  242. }
  243. return $result;
  244. }
  245. public function count_negative($row2)
  246. {
  247. $investigation_requested = $this->input->get('investigation_requested');
  248. if($investigation_requested==1){
  249. $cal = new Nepali_Calendar();
  250. $year = $this->input->get('year');
  251. $investigation_requested = $this->input->get('investigation_requested');
  252. $year_arr = explode("/",$year);
  253. $start_date = $cal->nep_to_eng($year_arr[0],'04','01');
  254. $start_date = $start_date['year']."-".$start_date['month']."-".$start_date['date'];
  255. $end_day_of_ashar = $cal->get_third_month_last_day($year_arr[1]);
  256. $end_year = "20".$year_arr[1];
  257. $end_date = $cal->nep_to_eng($end_year,'03',$end_day_of_ashar);
  258. $end_date = $end_date['year']."-".$end_date['month']."-".$end_date['date'];
  259. $sql= "SELECT COUNT(rapid_anitgen_test) as rat
  260. FROM virology
  261. JOIN sample_registration
  262. ON sample_registration.sample_id = virology.sample_id
  263. Where rapid_anitgen_test = 'negative'
  264. AND animal_type='".$row2."'
  265. and publish_bit = 1
  266. AND sample_registration.date between '".$start_date."' and '".$end_date."'";
  267. $result = $this->db->query($sql);
  268. }
  269. elseif($investigation_requested == 2)
  270. {
  271. $cal = new Nepali_Calendar();
  272. $year = $this->input->get('year');
  273. $investigation_requested = $this->input->get('investigation_requested');
  274. $year_arr = explode("/",$year);
  275. $start_date = $cal->nep_to_eng($year_arr[0],'04','01');
  276. $start_date = $start_date['year']."-".$start_date['month']."-".$start_date['date'];
  277. $end_day_of_ashar = $cal->get_third_month_last_day($year_arr[1]);
  278. $end_year = "20".$year_arr[1];
  279. $end_date = $cal->nep_to_eng($end_year,'03',$end_day_of_ashar);
  280. $end_date = $end_date['year']."-".$end_date['month']."-".$end_date['date'];
  281. $sql= "SELECT COUNT(agid) as rat
  282. FROM virology
  283. JOIN sample_registration
  284. ON sample_registration.sample_id = virology.sample_id
  285. Where agid = 'negative'
  286. AND animal_type='".$row2."'
  287. and publish_bit = 1
  288. AND sample_registration.date between '".$start_date."' and '".$end_date."'";
  289. $result = $this->db->query($sql);
  290. }
  291. elseif($investigation_requested == 3)
  292. {
  293. $cal = new Nepali_Calendar();
  294. $year = $this->input->get('year');
  295. $investigation_requested = $this->input->get('investigation_requested');
  296. $year_arr = explode("/",$year);
  297. $start_date = $cal->nep_to_eng($year_arr[0],'04','01');
  298. $start_date = $start_date['year']."-".$start_date['month']."-".$start_date['date'];
  299. $end_day_of_ashar = $cal->get_third_month_last_day($year_arr[1]);
  300. $end_year = "20".$year_arr[1];
  301. $end_date = $cal->nep_to_eng($end_year,'03',$end_day_of_ashar);
  302. $end_date = $end_date['year']."-".$end_date['month']."-".$end_date['date'];
  303. $sql= "SELECT COUNT(virology.virology_id) as rat
  304. FROM virology
  305. JOIN sample_registration
  306. ON sample_registration.sample_id = virology.sample_id
  307. Where (sample_registration.animal_type = '".$row2."'
  308. and publish_bit = '1'
  309. AND sample_registration.date between '".$start_date."' and '".$end_date."')
  310. and (hi= 'negative'
  311. or ha = 'negative'
  312. or rapid_anitgen_test = 'negative')";
  313. $result = $this->db->query($sql);
  314. }
  315. return $result;
  316. }
  317. public function final_report_virology_monthly_positive()
  318. {
  319. $cal = new Nepali_Calendar();
  320. $year = $this->input->get('year');
  321. $year_arr = explode("/",$year);
  322. $shrawan_end_day = $cal->get_shrawan_last_day($year_arr[1]-1);
  323. $bhadra_end_day = $cal->get_bhadra_last_day($year_arr[1]-1);
  324. $ashoj_end_day = $cal->get_ashoj_last_day($year_arr[1]-1);
  325. $kartik_end_day = $cal->get_kartik_last_day($year_arr[1]-1);
  326. $magshir_end_day = $cal->get_mangsir_last_day($year_arr[1]-1);
  327. $poush_end_day = $cal->get_poush_last_day($year_arr[1]-1);
  328. $magh_end_day = $cal->get_magh_last_day($year_arr[1]-1);
  329. $falgun_end_day = $cal->get_falgun_last_day($year_arr[1]-1);
  330. $chaitra_end_day = $cal->get_chaitra_last_day($year_arr[1]-1);
  331. $baikash_end_day = $cal->get_baisakh_last_day($year_arr[1]);
  332. $jestha_end_day = $cal->get_jestha_last_day($year_arr[1]);
  333. $ashar_end_day = $cal->get_third_month_last_day($year_arr[1]);
  334. $dates_arr = array();
  335. $start_date[0] = $cal->nep_to_eng($year_arr[0],'04','01');
  336. $start_date[1] = $cal->nep_to_eng($year_arr[0],'05','01');
  337. $start_date[2] = $cal->nep_to_eng($year_arr[0],'06','01');
  338. $start_date[3] = $cal->nep_to_eng($year_arr[0],'07','01');
  339. $start_date[4] = $cal->nep_to_eng($year_arr[0],'08','01');
  340. $start_date[5] = $cal->nep_to_eng($year_arr[0],'09','01');
  341. $start_date[6] = $cal->nep_to_eng($year_arr[0],'10','01');
  342. $start_date[7] = $cal->nep_to_eng($year_arr[0],'11','01');
  343. $start_date[8] = $cal->nep_to_eng($year_arr[0],'12','01');
  344. $start_date[9] = $cal->nep_to_eng($year_arr[0]+1,'01','01');
  345. $start_date[10] = $cal->nep_to_eng($year_arr[0]+1,'02','01');
  346. $start_date[11] = $cal->nep_to_eng($year_arr[0]+1,'03','01');
  347. $end_date[0] = $cal->nep_to_eng($year_arr[0],'04',$shrawan_end_day);
  348. $end_date[1] = $cal->nep_to_eng($year_arr[0],'05',$bhadra_end_day);
  349. $end_date[2] = $cal->nep_to_eng($year_arr[0],'06',$ashoj_end_day);
  350. $end_date[3] = $cal->nep_to_eng($year_arr[0],'07',$kartik_end_day);
  351. $end_date[4] = $cal->nep_to_eng($year_arr[0],'08',$magshir_end_day);
  352. $end_date[5] = $cal->nep_to_eng($year_arr[0],'09',$poush_end_day);
  353. $end_date[6] = $cal->nep_to_eng($year_arr[0],'10',$magh_end_day);
  354. $end_date[7] = $cal->nep_to_eng($year_arr[0],'11',$falgun_end_day);
  355. $end_date[8] = $cal->nep_to_eng($year_arr[0],'12',$chaitra_end_day);
  356. $end_date[9] = $cal->nep_to_eng($year_arr[0]+1,'01',$baikash_end_day);
  357. $end_date[10] = $cal->nep_to_eng($year_arr[0]+1,'02',$jestha_end_day);
  358. $end_date[11] = $cal->nep_to_eng($year_arr[0]+1,'03',$ashar_end_day);
  359. $i=0;
  360. foreach($start_date as $sdate)
  361. {
  362. $start_date[$i] = $sdate['year']."-".$sdate['month']."-".$sdate['date'];
  363. $i++;
  364. }
  365. $i = 0;
  366. foreach($end_date as $edate)
  367. {
  368. $end_date[$i] = $edate['year']."-".$edate['month']."-".$edate['date'];
  369. $i++;
  370. }
  371. for($i=0;$i<count($start_date);$i++)
  372. {
  373. $investigation_requested = $this->input->get('investigation_requested');
  374. if ($investigation_requested == 4)
  375. {
  376. $sql="SELECT COUNT(virology.virology_id) as virology_positive
  377. FROM virology
  378. JOIN sample_registration
  379. ON sample_registration.sample_id = virology.sample_id
  380. Where (publish_bit = '1'
  381. and sample_registration.date between '".$start_date[$i] ."' and '" . $end_date[$i] ."')
  382. and (negri_body= 'positive'
  383. or fat = 'positive'
  384. or rapid_anitgen_test = 'positive')";
  385. $result = $this->db->query($sql);
  386. }
  387. elseif ($investigation_requested == 5)
  388. {
  389. $sql="SELECT COUNT(virology.virology_id) as virology_positive
  390. FROM virology
  391. JOIN sample_registration
  392. ON sample_registration.sample_id = virology.sample_id
  393. Where (publish_bit = '1'
  394. and sample_registration.date between '".$start_date[$i] ."' and '" . $end_date[$i] ."')
  395. and (penside_test= 'positive'
  396. or elisa = 'positive'
  397. )";
  398. $result = $this->db->query($sql);
  399. }
  400. foreach($result->result() as $row)
  401. {
  402. $virology_positive[] = $row->virology_positive;
  403. }
  404. }
  405. $data['positive'] = $virology_positive;
  406. return $data;
  407. }
  408. public function final_report_virology_monthly_negative()
  409. {
  410. $cal = new Nepali_Calendar();
  411. $year = $this->input->get('year');
  412. $year_arr = explode("/",$year);
  413. $shrawan_end_day = $cal->get_shrawan_last_day($year_arr[1]-1);
  414. $bhadra_end_day = $cal->get_bhadra_last_day($year_arr[1]-1);
  415. $ashoj_end_day = $cal->get_ashoj_last_day($year_arr[1]-1);
  416. $kartik_end_day = $cal->get_kartik_last_day($year_arr[1]-1);
  417. $magshir_end_day = $cal->get_mangsir_last_day($year_arr[1]-1);
  418. $poush_end_day = $cal->get_poush_last_day($year_arr[1]-1);
  419. $magh_end_day = $cal->get_magh_last_day($year_arr[1]-1);
  420. $falgun_end_day = $cal->get_falgun_last_day($year_arr[1]-1);
  421. $chaitra_end_day = $cal->get_chaitra_last_day($year_arr[1]-1);
  422. $baikash_end_day = $cal->get_baisakh_last_day($year_arr[1]);
  423. $jestha_end_day = $cal->get_jestha_last_day($year_arr[1]);
  424. $ashar_end_day = $cal->get_third_month_last_day($year_arr[1]);
  425. $dates_arr = array();
  426. $start_date[0] = $cal->nep_to_eng($year_arr[0],'04','01');
  427. $start_date[1] = $cal->nep_to_eng($year_arr[0],'05','01');
  428. $start_date[2] = $cal->nep_to_eng($year_arr[0],'06','01');
  429. $start_date[3] = $cal->nep_to_eng($year_arr[0],'07','01');
  430. $start_date[4] = $cal->nep_to_eng($year_arr[0],'08','01');
  431. $start_date[5] = $cal->nep_to_eng($year_arr[0],'09','01');
  432. $start_date[6] = $cal->nep_to_eng($year_arr[0],'10','01');
  433. $start_date[7] = $cal->nep_to_eng($year_arr[0],'11','01');
  434. $start_date[8] = $cal->nep_to_eng($year_arr[0],'12','01');
  435. $start_date[9] = $cal->nep_to_eng($year_arr[0]+1,'01','01');
  436. $start_date[10] = $cal->nep_to_eng($year_arr[0]+1,'02','01');
  437. $start_date[11] = $cal->nep_to_eng($year_arr[0]+1,'03','01');
  438. $end_date[0] = $cal->nep_to_eng($year_arr[0],'04',$shrawan_end_day);
  439. $end_date[1] = $cal->nep_to_eng($year_arr[0],'05',$bhadra_end_day);
  440. $end_date[2] = $cal->nep_to_eng($year_arr[0],'06',$ashoj_end_day);
  441. $end_date[3] = $cal->nep_to_eng($year_arr[0],'07',$kartik_end_day);
  442. $end_date[4] = $cal->nep_to_eng($year_arr[0],'08',$magshir_end_day);
  443. $end_date[5] = $cal->nep_to_eng($year_arr[0],'09',$poush_end_day);
  444. $end_date[6] = $cal->nep_to_eng($year_arr[0],'10',$magh_end_day);
  445. $end_date[7] = $cal->nep_to_eng($year_arr[0],'11',$falgun_end_day);
  446. $end_date[8] = $cal->nep_to_eng($year_arr[0],'12',$chaitra_end_day);
  447. $end_date[9] = $cal->nep_to_eng($year_arr[0]+1,'01',$baikash_end_day);
  448. $end_date[10] = $cal->nep_to_eng($year_arr[0]+1,'02',$jestha_end_day);
  449. $end_date[11] = $cal->nep_to_eng($year_arr[0]+1,'03',$ashar_end_day);
  450. $i=0;
  451. foreach($start_date as $sdate)
  452. {
  453. $start_date[$i] = $sdate['year']."-".$sdate['month']."-".$sdate['date'];
  454. $i++;
  455. }
  456. $i = 0;
  457. foreach($end_date as $edate)
  458. {
  459. $end_date[$i] = $edate['year']."-".$edate['month']."-".$edate['date'];
  460. $i++;
  461. }
  462. for($i=0;$i<count($start_date);$i++)
  463. {
  464. $investigation_requested = $this->input->get('investigation_requested');
  465. if ($investigation_requested == 4)
  466. {
  467. $sql="SELECT COUNT(virology.virology_id) as virology_negative
  468. FROM virology
  469. JOIN sample_registration
  470. ON sample_registration.sample_id = virology.sample_id
  471. Where (publish_bit = '1'
  472. and sample_registration.date between '".$start_date[$i] ."' and '" . $end_date[$i] ."')
  473. and (negri_body= 'negative'
  474. or fat = 'negative'
  475. or rapid_anitgen_test = 'negative')";
  476. $result = $this->db->query($sql);
  477. }
  478. elseif ($investigation_requested == 5)
  479. {
  480. $sql="SELECT COUNT(virology.virology_id) as virology_negative
  481. FROM virology
  482. JOIN sample_registration
  483. ON sample_registration.sample_id = virology.sample_id
  484. Where (publish_bit = '1'
  485. and sample_registration.date between '".$start_date[$i] ."' and '" . $end_date[$i] ."')
  486. and (penside_test= 'negative'
  487. or elisa = 'negative'
  488. )";
  489. $result = $this->db->query($sql);
  490. }
  491. foreach($result->result() as $row)
  492. {
  493. $virology_negative[] = $row->virology_negative;
  494. }
  495. }
  496. $data['negative'] = $virology_negative;
  497. return $data;
  498. }
  499. public function final_report_whole_virology_positive()
  500. {
  501. $cal = new Nepali_Calendar();
  502. $year = $this->input->get('year');
  503. $year_arr = explode("/",$year);
  504. $shrawan_end_day = $cal->get_shrawan_last_day($year_arr[1]-1);
  505. $bhadra_end_day = $cal->get_bhadra_last_day($year_arr[1]-1);
  506. $ashoj_end_day = $cal->get_ashoj_last_day($year_arr[1]-1);
  507. $kartik_end_day = $cal->get_kartik_last_day($year_arr[1]-1);
  508. $magshir_end_day = $cal->get_mangsir_last_day($year_arr[1]-1);
  509. $poush_end_day = $cal->get_poush_last_day($year_arr[1]-1);
  510. $magh_end_day = $cal->get_magh_last_day($year_arr[1]-1);
  511. $falgun_end_day = $cal->get_falgun_last_day($year_arr[1]-1);
  512. $chaitra_end_day = $cal->get_chaitra_last_day($year_arr[1]-1);
  513. $baikash_end_day = $cal->get_baisakh_last_day($year_arr[1]);
  514. $jestha_end_day = $cal->get_jestha_last_day($year_arr[1]);
  515. $ashar_end_day = $cal->get_third_month_last_day($year_arr[1]);
  516. $dates_arr = array();
  517. $start_date[0] = $cal->nep_to_eng($year_arr[0],'04','01');
  518. $start_date[1] = $cal->nep_to_eng($year_arr[0],'05','01');
  519. $start_date[2] = $cal->nep_to_eng($year_arr[0],'06','01');
  520. $start_date[3] = $cal->nep_to_eng($year_arr[0],'07','01');
  521. $start_date[4] = $cal->nep_to_eng($year_arr[0],'08','01');
  522. $start_date[5] = $cal->nep_to_eng($year_arr[0],'09','01');
  523. $start_date[6] = $cal->nep_to_eng($year_arr[0],'10','01');
  524. $start_date[7] = $cal->nep_to_eng($year_arr[0],'11','01');
  525. $start_date[8] = $cal->nep_to_eng($year_arr[0],'12','01');
  526. $start_date[9] = $cal->nep_to_eng($year_arr[0]+1,'01','01');
  527. $start_date[10] = $cal->nep_to_eng($year_arr[0]+1,'02','01');
  528. $start_date[11] = $cal->nep_to_eng($year_arr[0]+1,'03','01');
  529. $end_date[0] = $cal->nep_to_eng($year_arr[0],'04',$shrawan_end_day);
  530. $end_date[1] = $cal->nep_to_eng($year_arr[0],'05',$bhadra_end_day);
  531. $end_date[2] = $cal->nep_to_eng($year_arr[0],'06',$ashoj_end_day);
  532. $end_date[3] = $cal->nep_to_eng($year_arr[0],'07',$kartik_end_day);
  533. $end_date[4] = $cal->nep_to_eng($year_arr[0],'08',$magshir_end_day);
  534. $end_date[5] = $cal->nep_to_eng($year_arr[0],'09',$poush_end_day);
  535. $end_date[6] = $cal->nep_to_eng($year_arr[0],'10',$magh_end_day);
  536. $end_date[7] = $cal->nep_to_eng($year_arr[0],'11',$falgun_end_day);
  537. $end_date[8] = $cal->nep_to_eng($year_arr[0],'12',$chaitra_end_day);
  538. $end_date[9] = $cal->nep_to_eng($year_arr[0]+1,'01',$baikash_end_day);
  539. $end_date[10] = $cal->nep_to_eng($year_arr[0]+1,'02',$jestha_end_day);
  540. $end_date[11] = $cal->nep_to_eng($year_arr[0]+1,'03',$ashar_end_day);
  541. $i=0;
  542. foreach($start_date as $sdate)
  543. {
  544. $start_date[$i] = $sdate['year']."-".$sdate['month']."-".$sdate['date'];
  545. $i++;
  546. }
  547. $i = 0;
  548. foreach($end_date as $edate)
  549. {
  550. $end_date[$i] = $edate['year']."-".$edate['month']."-".$edate['date'];
  551. $i++;
  552. }
  553. for($i=0;$i<count($start_date);$i++)
  554. {
  555. $ai_sql="SELECT COUNT(rapid_anitgen_test) as all_positive
  556. FROM virology
  557. JOIN sample_registration
  558. ON sample_registration.sample_id = virology.sample_id
  559. Where rapid_anitgen_test = 'positive'
  560. and publish_bit = 1
  561. AND sample_registration.date between '".$start_date[$i] ."' and '".$end_date[$i]."'";
  562. $ibd_sql = "SELECT COUNT(agid) as all_positive
  563. FROM virology
  564. JOIN sample_registration
  565. ON sample_registration.sample_id = virology.sample_id
  566. Where agid = 'positive'
  567. and publish_bit = 1
  568. AND sample_registration.date between '".$start_date[$i]."' and '".$end_date[$i]."'";
  569. $nd_sql = " SELECT COUNT(virology.virology_id) as all_positive
  570. FROM virology
  571. JOIN sample_registration
  572. ON sample_registration.sample_id = virology.sample_id
  573. Where ( publish_bit = '1'
  574. AND sample_registration.date between '".$start_date[$i]."' and '".$end_date[$i]."')
  575. and (hi= 'positive'
  576. or ha = 'positive'
  577. or rapid_anitgen_test = 'positive')";
  578. $rabies_sql= "SELECT COUNT(virology.virology_id) as all_positive
  579. FROM virology
  580. JOIN sample_registration
  581. ON sample_registration.sample_id = virology.sample_id
  582. Where (publish_bit = '1'
  583. and sample_registration.date between '".$start_date[$i] ."' and '" . $end_date[$i] ."')
  584. and (negri_body= 'positive'
  585. or fat = 'positive'
  586. or rapid_anitgen_test = 'positive')";
  587. $ppr_sql = "SELECT COUNT(virology.virology_id) as all_positive
  588. FROM virology
  589. JOIN sample_registration
  590. ON sample_registration.sample_id = virology.sample_id
  591. Where (publish_bit = '1'
  592. and sample_registration.date between '".$start_date[$i] ."' and '" . $end_date[$i] ."')
  593. and (penside_test= 'positive'
  594. or elisa = 'positive'
  595. )";
  596. $result = $this->db->query($ai_sql);
  597. $result1 = $this->db->query($ibd_sql);
  598. $result2 = $this->db->query($nd_sql);
  599. $result3 = $this->db->query($rabies_sql);
  600. $result4 = $this->db->query($ppr_sql);
  601. foreach($result->result() as $row)
  602. {
  603. $ai[] = $row->all_positive;
  604. }
  605. foreach($result1->result() as $row)
  606. {
  607. $ibd[] = $row->all_positive;
  608. }
  609. foreach($result2->result() as $row)
  610. {
  611. $nd[] = $row->all_positive;
  612. }
  613. foreach($result3->result() as $row)
  614. {
  615. $rabies[] = $row->all_positive;
  616. }
  617. foreach($result4->result() as $row)
  618. {
  619. $ppr[] = $row->all_positive;
  620. }
  621. $data['ai_sql_positive'] = $ai;
  622. $data['ibd_sql_positive'] = $ibd;
  623. $data['nd_sql_positive'] = $nd;
  624. $data['rabies_sql_positive'] = $rabies;
  625. $data['ppr_sql_positive'] = $ppr;
  626. }
  627. return $data;
  628. }
  629. public function final_report_whole_virology_negative()
  630. {
  631. $cal = new Nepali_Calendar();
  632. $year = $this->input->get('year');
  633. $year_arr = explode("/",$year);
  634. $shrawan_end_day = $cal->get_shrawan_last_day($year_arr[1]-1);
  635. $bhadra_end_day = $cal->get_bhadra_last_day($year_arr[1]-1);
  636. $ashoj_end_day = $cal->get_ashoj_last_day($year_arr[1]-1);
  637. $kartik_end_day = $cal->get_kartik_last_day($year_arr[1]-1);
  638. $magshir_end_day = $cal->get_mangsir_last_day($year_arr[1]-1);
  639. $poush_end_day = $cal->get_poush_last_day($year_arr[1]-1);
  640. $magh_end_day = $cal->get_magh_last_day($year_arr[1]-1);
  641. $falgun_end_day = $cal->get_falgun_last_day($year_arr[1]-1);
  642. $chaitra_end_day = $cal->get_chaitra_last_day($year_arr[1]-1);
  643. $baikash_end_day = $cal->get_baisakh_last_day($year_arr[1]);
  644. $jestha_end_day = $cal->get_jestha_last_day($year_arr[1]);
  645. $ashar_end_day = $cal->get_third_month_last_day($year_arr[1]);
  646. $dates_arr = array();
  647. $start_date[0] = $cal->nep_to_eng($year_arr[0],'04','01');
  648. $start_date[1] = $cal->nep_to_eng($year_arr[0],'05','01');
  649. $start_date[2] = $cal->nep_to_eng($year_arr[0],'06','01');
  650. $start_date[3] = $cal->nep_to_eng($year_arr[0],'07','01');
  651. $start_date[4] = $cal->nep_to_eng($year_arr[0],'08','01');
  652. $start_date[5] = $cal->nep_to_eng($year_arr[0],'09','01');
  653. $start_date[6] = $cal->nep_to_eng($year_arr[0],'10','01');
  654. $start_date[7] = $cal->nep_to_eng($year_arr[0],'11','01');
  655. $start_date[8] = $cal->nep_to_eng($year_arr[0],'12','01');
  656. $start_date[9] = $cal->nep_to_eng($year_arr[0]+1,'01','01');
  657. $start_date[10] = $cal->nep_to_eng($year_arr[0]+1,'02','01');
  658. $start_date[11] = $cal->nep_to_eng($year_arr[0]+1,'03','01');
  659. $end_date[0] = $cal->nep_to_eng($year_arr[0],'04',$shrawan_end_day);
  660. $end_date[1] = $cal->nep_to_eng($year_arr[0],'05',$bhadra_end_day);
  661. $end_date[2] = $cal->nep_to_eng($year_arr[0],'06',$ashoj_end_day);
  662. $end_date[3] = $cal->nep_to_eng($year_arr[0],'07',$kartik_end_day);
  663. $end_date[4] = $cal->nep_to_eng($year_arr[0],'08',$magshir_end_day);
  664. $end_date[5] = $cal->nep_to_eng($year_arr[0],'09',$poush_end_day);
  665. $end_date[6] = $cal->nep_to_eng($year_arr[0],'10',$magh_end_day);
  666. $end_date[7] = $cal->nep_to_eng($year_arr[0],'11',$falgun_end_day);
  667. $end_date[8] = $cal->nep_to_eng($year_arr[0],'12',$chaitra_end_day);
  668. $end_date[9] = $cal->nep_to_eng($year_arr[0]+1,'01',$baikash_end_day);
  669. $end_date[10] = $cal->nep_to_eng($year_arr[0]+1,'02',$jestha_end_day);
  670. $end_date[11] = $cal->nep_to_eng($year_arr[0]+1,'03',$ashar_end_day);
  671. $i=0;
  672. foreach($start_date as $sdate)
  673. {
  674. $start_date[$i] = $sdate['year']."-".$sdate['month']."-".$sdate['date'];
  675. $i++;
  676. }
  677. $i = 0;
  678. foreach($end_date as $edate)
  679. {
  680. $end_date[$i] = $edate['year']."-".$edate['month']."-".$edate['date'];
  681. $i++;
  682. }
  683. for($i=0;$i<count($start_date);$i++)
  684. {
  685. $ai_sql="SELECT COUNT(rapid_anitgen_test) as all_positive
  686. FROM virology
  687. JOIN sample_registration
  688. ON sample_registration.sample_id = virology.sample_id
  689. Where rapid_anitgen_test = 'negative'
  690. and publish_bit = 1
  691. AND sample_registration.date between '".$start_date[$i] ."' and '".$end_date[$i]."'";
  692. $ibd_sql = "SELECT COUNT(agid) as all_positive
  693. FROM virology
  694. JOIN sample_registration
  695. ON sample_registration.sample_id = virology.sample_id
  696. Where agid = 'negative'
  697. and publish_bit = 1
  698. AND sample_registration.date between '".$start_date[$i] ."' and '".$end_date[$i]."'";
  699. $nd_sql = " SELECT COUNT(virology.virology_id) as all_positive
  700. FROM virology
  701. JOIN sample_registration
  702. ON sample_registration.sample_id = virology.sample_id
  703. Where ( publish_bit = '1'
  704. AND sample_registration.date between '".$start_date[$i] ."' and '".$end_date[$i]."')
  705. and (hi= 'negative'
  706. or ha = 'negative'
  707. or rapid_anitgen_test = 'negative')";
  708. $rabies_sql= "SELECT COUNT(virology.virology_id) as all_positive
  709. FROM virology
  710. JOIN sample_registration
  711. ON sample_registration.sample_id = virology.sample_id
  712. Where (publish_bit = '1'
  713. and sample_registration.date between '".$start_date[$i] ."' and '" . $end_date[$i] ."')
  714. and (negri_body= 'negative'
  715. or fat = 'negative'
  716. or rapid_anitgen_test = 'negative')";
  717. $ppr_sql = "SELECT COUNT(virology.virology_id) as all_positive
  718. FROM virology
  719. JOIN sample_registration
  720. ON sample_registration.sample_id = virology.sample_id
  721. Where (publish_bit = '1'
  722. and sample_registration.date between '".$start_date[$i] ."' and '" . $end_date[$i] ."')
  723. and (penside_test= 'negative'
  724. or elisa = 'negative'
  725. )";
  726. $result = $this->db->query($ai_sql);
  727. $result1 = $this->db->query($ibd_sql);
  728. $result2 = $this->db->query($nd_sql);
  729. $result3 = $this->db->query($rabies_sql);
  730. $result4 = $this->db->query($ppr_sql);
  731. foreach($result->result() as $row)
  732. {
  733. $ai[] = $row->all_positive;
  734. }
  735. foreach($result1->result() as $row)
  736. {
  737. $ibd[] = $row->all_positive;
  738. }
  739. foreach($result2->result() as $row)
  740. {
  741. $nd[] = $row->all_positive;
  742. }
  743. foreach($result3->result() as $row)
  744. {
  745. $rabies[] = $row->all_positive;
  746. }
  747. foreach($result4->result() as $row)
  748. {
  749. $ppr[] = $row->all_positive;
  750. }
  751. $data['ai_sql_negative'] = $ai;
  752. $data['idb_sql_negative'] = $ibd;
  753. $data['nd_sql_negative'] = $nd;
  754. $data['rabies_sql_negative'] = $rabies;
  755. $data['ppr_sql_negative'] = $ppr;
  756. }
  757. return $data;
  758. }
  759. }