db_onedev = $this->load->database("onedev", true); } function json($id) { $start = $start . " 00:00:01"; $end = $end . " 23:59:59"; $sql = "select T_OrderHeaderID from t_orderheader where T_OrderHeaderIsActive = 'Y' and T_OrderHeaderLabNumber = ? "; $qry = $this->db->query($sql, array($id)); if (! $qry) { //Error Query $db_err = $this->db->error(); echo json_encode( array( "status" => "ERR", "message" => $db_err["message"] )); exit; } $rows = $qry->result_array(); $sid = "0"; foreach($rows as $r) { $sid .= ", " . $r["T_OrderHeaderID"]; } $sql = "select fn_global_patient_name(T_OrderHeaderM_PatientID) M_PatientName, fn_get_patient_atribute(T_OrderHeaderM_PatientID) attr, T_OrderHeaderDate,T_OrderHeaderLabNumber, T_OrderHeaderLabNumberExt,T_OrderHeaderM_PatientAge, M_CompanyName, M_MouName, T_TestName, So_ResultEntryFisikUmumType, So_ResultEntryFisikUmumDetails from t_orderheader join m_company on T_OrderHeaderM_CompanyID = M_CompanyID join m_mou on T_OrderHeaderM_MouID = M_MouID join t_orderdetail on T_OrderDetailT_OrderHeaderID= T_OrderHeaderID and T_OrderDetailIsActive = 'Y' join t_test ON T_TestID = T_OrderDetailT_TestID and T_TestIsActive = 'Y' and T_TestNat_GroupID = '4' join so_resultentry on So_ResultEntryT_OrderHeaderID = T_OrderHeaderID and So_ResultEntryT_OrderDetailID = T_OrderDetailID join so_resultentry_fisik_umum on So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID where T_OrderHeaderID in ($sid) order by So_ResultEntryFisikUmumID "; $qry = $this->db->query($sql, array($headerID)); if (! $qry) { //Error Query $db_err = $this->db->error(); echo json_encode( array( "status" => "ERR", "message" => $db_err["message"] )); exit; } $rows = $qry->result_array(); $data = array(); $new_d = array(); $a_title = array(); foreach($rows as $r) { $attr = json_decode($r["attr"],true); unset($r["attr"]); $r_details = json_decode($r["So_ResultEntryFisikUmumDetails"],true); unset($r["So_ResultEntryFisikUmumDetails"]); //$new_r = array(); foreach($r_details as $idx => $d) { $details = $d["details"]; unset($d["details"]); $d["T_TestName"] = $r["T_TestName"]; $d["T_OrderHeaderDate"] = $r["T_OrderHeaderDate"]; $d["T_OrderHeaderLabNumber"] = $r["T_OrderHeaderLabNumber"]; $d["T_OrderHeaderLabNumberExt"] = $r["T_OrderHeaderLabNumberExt"]; $d["M_PatientName"] = $r["M_PatientName"]; $d["M_PatientDOB"] = $attr["M_PatientDOB"]; $d["M_PatientAge"] = $r["T_OrderHeaderM_PatientAge"]; $d["M_SexName"] = $attr["M_SexName"]; $d["M_CompanyName"] = $r["M_CompanyName"]; $d["M_MouName"] = $r["M_MouName"]; $d["So_ResultEntryFisikUmumType"] = $r["So_ResultEntryFisikUmumType"]; foreach($details as $dx) { if (isset($dx["details"])) { $dy_details = $dx["details"]; unset($dx["details"]); foreach($dy_details as $dy_detail) { if ($d["title"] == "ANGGOTA GERAK") { if ($dy_detail["chx"] == "1" ) { $dy_detail["value"] = $dy_detail["label"]; $new_d[] = array_merge($d,$dx,$dy_detail); } } if ($dy["value"] == "") continue; if(isset($dy_detail["unit"]) && isset($dy_detail["value"])) { $dy_detail["value"] = $dy_detail["value"] . " " . $dy_detail["unit"]; } $new_d[] = array_merge($d,$dx,$dy_detail); } } else { if ($dx["value"] == "") continue; if(isset($dx["unit"]) && isset($dx["value"])) { $dx["value"] = $dx["value"] . " " . $dx["unit"]; } $new_d[] = array_merge($d,$dx); } } //$new_r[] = $new_d; } } $x_d = usort($new_d, array("Fisik01","cmp")); // echo "
"; print_r($new_d);
      echo json_encode($new_d);
   }
   function cmp($a,$b) {
      $a_key = substr($a["title"],1,3) . "-" . $a["label"];
      $b_key = substr($b["title"],1,3) . "-" . $b["label"];
      return strcmp($a_key, $b_key);
   }
   function json_single($headerID) {
      $sql = "select 
      fn_global_patient_name(T_OrderHeaderM_PatientID) M_PatientName,
      fn_get_patient_atribute(T_OrderHeaderM_PatientID) attr,
      T_OrderHeaderDate,T_OrderHeaderLabNumber, T_OrderHeaderLabNumberExt,T_OrderHeaderM_PatientAge,
      M_CompanyName, M_MouName, 
      T_TestName,
      So_ResultEntryFisikUmumType,
      So_ResultEntryFisikUmumDetails
               from t_orderheader   
       join m_company on T_OrderHeaderM_CompanyID = M_CompanyID 
       join m_mou on T_OrderHeaderM_MouID = M_MouID
       join t_orderdetail on T_OrderDetailT_OrderHeaderID= T_OrderHeaderID and T_OrderDetailIsActive  = 'Y'
       join t_test ON T_TestID = T_OrderDetailT_TestID and  T_TestIsActive = 'Y' and T_TestNat_GroupID = '4'
                join so_resultentry on So_ResultEntryT_OrderHeaderID = T_OrderHeaderID and So_ResultEntryT_OrderDetailID = T_OrderDetailID
                  join so_resultentry_fisik_umum on So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID
      where T_OrderHeaderID =?";
      $qry = $this->db->query($sql, array($headerID));
      if (! $qry) {
         //Error Query 
         $db_err = $this->db->error();
         echo json_encode( array( "status" => "ERR",
            "message" => $db_err["message"]
         ));
         exit;
      }
      $rows = $qry->result_array();
      $data = array();
      $new_d = array();
      foreach($rows as $r) {
         $attr = json_decode($r["attr"],true);
         unset($r["attr"]);
         $r_details = json_decode($r["So_ResultEntryFisikUmumDetails"],true);
         unset($r["So_ResultEntryFisikUmumDetails"]);
         $new_r = array();
         foreach($r_details as $idx => $d) {
            $details = $d["details"];
            unset($d["details"]);
            $d["T_TestName"] = $r["T_TestName"];
            $d["T_OrderHeaderDate"] = $r["T_OrderHeaderDate"];
            $d["T_OrderHeaderLabNumber"] = $r["T_OrderHeaderLabNumber"];
            $d["T_OrderHeaderLabNumberExt"] = $r["T_OrderHeaderLabNumberExt"];
            $d["M_PatientName"] = $r["M_PatientName"];
            $d["M_PatientDOB"] = $attr["M_PatientDOB"];
            $d["M_PatientAge"] = $r["T_OrderHeaderM_PatientAge"];
            $d["M_SexName"] = $attr["M_SexName"];
            $d["M_CompanyName"] = $r["M_CompanyName"];
            $d["M_MouName"] = $r["M_MouName"];

            $d["So_ResultEntryFisikUmumType"] = $r["So_ResultEntryFisikUmumType"];
            foreach($details as $dx) {
               if (isset($dx["details"])) {
                  $dy_details = $dx["details"];
                  unset($dx["details"]);
                  foreach($dy_details as $dy_detail) {
                     if(isset($dy_detail["unit"]) && isset($dy_detail["value"])) {
                        $dy_detail["value"] = $dy_detail["value"] . " " . $dy_detail["unit"];
                     }
                     $new_d[] = array_merge($d,$dx,$dy_detail);
                  }
               } else {
                     if(isset($dx["unit"]) && isset($dx["value"])) {
                        $dx["value"] = $dx["value"] . " " . $dx["unit"];
                     }
                  $new_d[] = array_merge($d,$dx);
               }
            }
            $new_r[] = $new_d;
         }
      }
      print_r($new_d);
   }

}