Esempio n. 1
0
 function Display_OPD_Summary($start, $end)
 {
     global $db;
     $WITH_TIMEFRAME = FALSE;
     if (func_num_args()) {
         $start = func_get_arg(0);
         $end = func_get_arg(1);
         $WITH_TIMEFRAME = TRUE;
     }
     $rep_obj = new selianreport();
     $tmp_tbl_OPD_summary = $rep_obj->SetReportingLink('care_person', 'pid', 'care_tz_diagnosis', 'PID');
     //$tmp_tbl_allpatients = $rep_obj -> SetReportingTable('care_person');
     $debug = FALSE;
     $debug ? $db->debug = TRUE : ($db->debug = FALSE);
     $arr_ret['return']['underage'];
     $arr_ret['return']['adult'];
     $arr_ret['return']['male'];
     $arr_ret['return']['female'];
     $arr_ret['return']['total'];
     $arr_ret['NewRegistration']['underage'];
     $arr_ret['NewRegistration']['adult'];
     $arr_ret['NewRegistration']['male'];
     $arr_ret['NewRegistration']['female'];
     $arr_ret['NewRegistration']['total'];
     $arr_ret['Total']['underage'];
     $arr_ret['Total']['adult'];
     $arr_ret['Total']['male'];
     $arr_ret['Total']['female'];
     $arr_ret['Total']['total'];
     $arr_ret['Total_Pedriatics']['underage'];
     $arr_ret['revisit']['underage'];
     $arr_ret['revisit']['adult'];
     $arr_ret['revisit']['male'];
     $arr_ret['revisit']['female'];
     $arr_ret['revisit']['total'];
     /****************************************************************************************************
      *  Revisit�s under 5
      */
     $sql = "SELECT count(*) AS return_underage FROM {$tmp_tbl_OPD_summary}\r\n\t\t\t\t\t   WHERE type='new' AND UNIX_TIMESTAMP(date_birth) > (UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 5 year))) ";
     if ($WITH_TIMEFRAME) {
         $sql .= " AND ( timestamp>=" . $start . " AND timestamp<=" . $end . ")";
     }
     $rs_ptr = $db->Execute($sql);
     $row = $rs_ptr->FetchRow();
     $arr_ret['return']['underage'] = $row['return_underage'];
     /**
      * Total revisits
      */
     $sql = "SELECT count(*) AS total FROM {$tmp_tbl_OPD_summary}\r\n\t\t\t\t\t   WHERE type='new'";
     if ($WITH_TIMEFRAME) {
         $sql .= " AND ( timestamp>=" . $start . " AND timestamp<=" . $end . ")";
     }
     $rs_ptr = $db->Execute($sql);
     $row = $rs_ptr->FetchRow();
     $arr_ret['return']['total'] = $row['total'];
     /**
      * Revist�s over 5
      */
     $arr_ret['return']['adult'] = $arr_ret['return']['total'] - $arr_ret['return']['underage'];
     /**
      * Total male revisits
      */
     $sql = "SELECT count(*) AS male FROM {$tmp_tbl_OPD_summary}\r\n\t\t\t\t\t   WHERE type='new' and sex='m'";
     if ($WITH_TIMEFRAME) {
         $sql .= " AND ( timestamp>=" . $start . " AND timestamp<=" . $end . ")";
     }
     $rs_ptr = $db->Execute($sql);
     $row = $rs_ptr->FetchRow();
     $arr_ret['return']['male'] = $row['male'];
     /**
      * Total female revisits
      */
     $sql = "SELECT count(*) AS female FROM {$tmp_tbl_OPD_summary}\r\n\t\t\t\t\t   WHERE type='new' and sex='f'";
     if ($WITH_TIMEFRAME) {
         $sql .= " AND ( timestamp>=" . $start . " AND timestamp<=" . $end . ")";
     }
     $rs_ptr = $db->Execute($sql);
     $row = $rs_ptr->FetchRow();
     $arr_ret['return']['female'] = $row['female'];
     /****************************************************************************************************
      *  New Registration�s under 5
      */
     $sql = "SELECT count(*) AS return_underage FROM {$tmp_tbl_OPD_summary}\r\n\t\t\t\t\t   WHERE type='new patient' AND UNIX_TIMESTAMP(date_birth) > (UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 5 year)))";
     if ($WITH_TIMEFRAME) {
         $sql .= " AND ( timestamp>=" . $start . " AND timestamp<=" . $end . ")";
     }
     $rs_ptr = $db->Execute($sql);
     $row = $rs_ptr->FetchRow();
     $arr_ret['NewRegistration']['underage'] = $row['return_underage'];
     /**
      * Total New Registration
      */
     $sql = "SELECT count(*) AS Total FROM {$tmp_tbl_OPD_summary}\r\n\t\t\t\t\t   WHERE type='new patient' ";
     if ($WITH_TIMEFRAME) {
         $sql .= " AND ( timestamp>=" . $start . " AND timestamp<=" . $end . ")";
     }
     $rs_ptr = $db->Execute($sql);
     $row = $rs_ptr->FetchRow();
     $arr_ret['NewRegistration']['total'] = $row['Total'];
     /**
      * New Registration�s over 5
      */
     $arr_ret['NewRegistration']['adult'] = $arr_ret['NewRegistration']['total'] - $arr_ret['NewRegistration']['underage'];
     /**
      * Total male New Registration
      */
     $sql = "SELECT count(*) AS male FROM {$tmp_tbl_OPD_summary}\r\n\t\t\t\t\t   WHERE type='new patient' and sex='m'";
     if ($WITH_TIMEFRAME) {
         $sql .= " AND ( timestamp>=" . $start . " AND timestamp<=" . $end . ")";
     }
     $rs_ptr = $db->Execute($sql);
     $row = $rs_ptr->FetchRow();
     $arr_ret['NewRegistration']['male'] = $row['male'];
     /**
      * Total female New Registration
      */
     $sql = "SELECT count(*) AS female FROM {$tmp_tbl_OPD_summary}\r\n\t\t\t\t\t   WHERE type='new patient'  and sex='f'";
     if ($WITH_TIMEFRAME) {
         $sql .= " AND ( timestamp>=" . $start . " AND timestamp<=" . $end . ")";
     }
     $rs_ptr = $db->Execute($sql);
     $row = $rs_ptr->FetchRow();
     $arr_ret['NewRegistration']['female'] = $row['female'];
     /****************************************************************************************************
      *  Total Registration�s under 5
      */
     $sql = "SELECT count(*) AS Total_underage FROM {$tmp_tbl_OPD_summary}\r\n\t\t\t\t\t   WHERE UNIX_TIMESTAMP(date_birth) > (UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 5 year)))";
     if ($WITH_TIMEFRAME) {
         $sql .= " AND (timestamp>=" . $start . " AND timestamp<=" . $end . ")";
     }
     $rs_ptr = $db->Execute($sql);
     $row = $rs_ptr->FetchRow();
     $arr_ret['Total']['underage'] = $row['Total_underage'];
     /**
      * Total New Registration
      */
     $sql = "SELECT count(*) AS Total FROM {$tmp_tbl_OPD_summary} ";
     if ($WITH_TIMEFRAME) {
         $sql .= " WHERE ( timestamp>=" . $start . " AND timestamp<=" . $end . ")";
     }
     $rs_ptr = $db->Execute($sql);
     $row = $rs_ptr->FetchRow();
     $arr_ret['Total']['total'] = $row['Total'];
     /**
      * New Registration�s over 5
      */
     $arr_ret['Total']['adult'] = $arr_ret['Total']['total'] - $arr_ret['Total']['underage'];
     /**
      * Total male New Registration
      */
     $sql = "SELECT count(*) AS Total_male FROM {$tmp_tbl_OPD_summary}\r\n\t\t\t\t\t   WHERE sex='m'";
     if ($WITH_TIMEFRAME) {
         $sql .= " AND ( timestamp>=" . $start . " AND timestamp<=" . $end . ")";
     }
     $rs_ptr = $db->Execute($sql);
     $row = $rs_ptr->FetchRow();
     $arr_ret['Total']['male'] = $row['Total_male'];
     /**
      * Total female New Registration
      */
     $sql = "SELECT count(*) AS Total_female FROM {$tmp_tbl_OPD_summary}\r\n\t\t\t\t\t   WHERE sex='f'";
     if ($WITH_TIMEFRAME) {
         $sql .= " AND ( timestamp>=" . $start . " AND timestamp<=" . $end . ")";
     }
     $rs_ptr = $db->Execute($sql);
     $row = $rs_ptr->FetchRow();
     $arr_ret['Total']['female'] = $row['Total_female'];
     /**
      * **************************************************************************************************
      * Total Pedriatics
      */
     $sql = "SELECT count(*) AS Total_underage FROM {$tmp_tbl_OPD_summary}\r\n\t\t\t\t\t   WHERE UNIX_TIMESTAMP(date_birth) > (UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 5 year)))";
     if ($WITH_TIMEFRAME) {
         $sql .= " AND ( timestamp>=" . $start . " AND timestamp<=" . $end . ")";
     }
     $rs_ptr = $db->Execute($sql);
     $row = $rs_ptr->FetchRow();
     $arr_ret['Total_Pedriatics']['underage'] = $row['Total_underage'];
     /****************************************************************************************************
      *  Views for the same reasons:
      */
     $sql = "SELECT count(*) AS return_underage FROM {$tmp_tbl_OPD_summary}\r\n\t\t\t\t\t   WHERE type='revisit' AND UNIX_TIMESTAMP(date_birth) > (UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 5 year)))\r\n\t\t       ";
     if ($WITH_TIMEFRAME) {
         $sql .= " AND ( timestamp>=" . $start . " AND timestamp<=" . $end . ")";
     }
     $rs_ptr = $db->Execute($sql);
     $row = $rs_ptr->FetchRow();
     $arr_ret['revisit']['underage'] = empty($row['return_underage']) ? 0 : $row['return_underage'];
     //$arr_ret['revisit']['underage'] =  $row['return_underage'];
     /**
      * Total revisits
      */
     $sql = "SELECT count(*) AS total FROM {$tmp_tbl_OPD_summary}\r\n\t\t\t\t\t   WHERE type='revisit'";
     if ($WITH_TIMEFRAME) {
         $sql .= " AND ( timestamp>=" . $start . " AND timestamp<=" . $end . ")";
     }
     $sql .= " GROUP BY ICD_10_code";
     $rs_ptr = $db->Execute($sql);
     $row = $rs_ptr->FetchRow();
     $arr_ret['revisit']['total'] = empty($row['total']) ? 0 : $row['total'];
     /**
      * Revist�s over 5
      */
     $arr_ret['revisit']['adult'] = $arr_ret['revisit']['total'] - $arr_ret['revisit']['underage'];
     /**
      * Total male revisits
      */
     $sql = "SELECT count(*) AS male FROM {$tmp_tbl_OPD_summary}\r\n\t\t\t\t\t   WHERE type='revisit' and sex='m'";
     if ($WITH_TIMEFRAME) {
         $sql .= " AND ( timestamp>=" . $start . " AND timestamp<=" . $end . ")";
     }
     $sql .= " GROUP BY ICD_10_code";
     $rs_ptr = $db->Execute($sql);
     $row = $rs_ptr->FetchRow();
     $arr_ret['revisit']['male'] = empty($row['male']) ? 0 : $row['male'];
     /**
      * Total female revisits
      */
     $sql = "SELECT count(*) AS female FROM {$tmp_tbl_OPD_summary}\r\n\t\t\t\t\t   WHERE type='revisit' and sex='f'";
     if ($WITH_TIMEFRAME) {
         $sql .= " AND ( timestamp>=" . $start . " AND timestamp<=" . $end . ")";
     }
     $sql .= " GROUP BY ICD_10_code";
     $rs_ptr = $db->Execute($sql);
     $row = $rs_ptr->FetchRow();
     $arr_ret['revisit']['female'] = empty($row['female']) ? 0 : $row['female'];
     $rep_obj->DisconnectReportingTable($tmp_tbl_OPD_summary);
     return $arr_ret;
 }
Esempio n. 2
0
    $enddate = date("y.m.d", $end_timeframe);
} else {
    $start = mktime(0, 0, 0, $month, 1, $year);
    $end = mktime(0, 0, 0, $month + 1, 1, $year);
    //$start_timeframe = mktime (0,0,0,$month, 1, $year);
    //$end_timeframe = mktime (0,0,0,$month+1, 0, $year);
    $startdate = date("y.m.d ", $start);
    $enddate = date("y.m.d", $end);
}
$debug = FALSE;
$debug ? $db->debug = TRUE : ($db->debug = FALSE);
// Last day of requested month
//echo $startdate = gmdate("Y-m-d H:i:s", $start_timeframe);
//echo $enddate = gmdate("Y-m-d H:i:s", $end_timeframe);
$tmp_table = $rep_obj->SetReportingTable("care_icd10_en");
$tmp_table1 = $rep_obj->SetReportingTable("care_tz_mtuha_cat_key");
$tmp_table2 = $rep_obj->SetReportingTable("care_tz_mtuha_cat");
$tmp_table3 = $rep_obj->SetReportingTable("care_tz_diagnosis");
//$tmp_table2 = $rep_obj->SetReportingLink_OPDAdmission($tmp_table,"pid","encounter_date","care_person","pid","date_reg");
$tmp_tbl_OPD_diagnostic = $rep_obj->SetReportingLink('care_person', 'pid', 'care_tz_diagnosis', 'PID');
// get the Diagnostic-Codes, Diagnostic-full-name and total out of this table:
//$sql = "SELECT ICD_10_code, ICD_10_description
//  FROM $tmp_table where ICD_10_code in('A88.8','A00.9','A03.9','A75.0','B05','G00.9','A20.9','Z20.3','A82.9','A01.0','A95.9')
//	";
//$sql = "SELECT  $tmp_table1.cat_id AS category, $tmp_table2.description AS description FROM  $tmp_table1, $tmp_table2,$tmp_tbl_OPD_diagnostic WHERE $tmp_tbl_OPD_diagnostic.icd_10_code = $tmp_table1.icd10_key AND $tmp_table.cat_id = $tmp_table1.cat_id GROUP BY $tmp_table2.cat_id";
$sql = "SELECT care_tz_mtuha_cat.cat_id AS category, care_tz_mtuha_cat.description AS description FROM care_tz_diagnosis, care_tz_mtuha_cat_key, care_tz_mtuha_cat WHERE care_tz_diagnosis.icd_10_code = care_tz_mtuha_cat_key.icd10_key AND care_tz_mtuha_cat.cat_id = care_tz_mtuha_cat_key.cat_id AND timestamp>='{$start}' and timestamp<='{$end}' GROUP BY care_tz_mtuha_cat_key.cat_id";
//$sql="SELECT count( encounter_nr ) AS AMOUNT_ENCOUTERS , count( distinct(pid) ) as NEW , date_format( encounter_date, '%d.%m.%y' ) as REGISTRATION_DATE,count( encounter_nr ) - count( DISTINCT (pid) ) as RET FROM $tmp_table WHERE encounter_date >= '$startdate' AND encounter_date <= '$enddate' GROUP BY date_format(encounter_date,'%y %m %d')";
//$sql="SELECT count( encounter_nr ) AS AMOUNT_ENCOUTERS , date_format( encounter_date, '%d.%m.%y' ) as REGISTRATION_DATE FROM $tmp_table WHERE encounter_date >= '$startdate' AND encounter_date <= '$enddate' GROUP BY date_format(encounter_date,'%y %m %d')";
$db_ptr = $db->Execute($sql);
$res_array = $db_ptr->GetArray();
require_once 'gui/gui_mtuha_icd10.php';