Files
BE_IBL/application/controllers/klinik/Anamnese.php
2026-04-15 15:23:57 +07:00

1799 lines
57 KiB
PHP

<?php
class Anamnese extends MY_Controller
{
var $db_onedev;
public function index()
{
echo "Patient API";
}
public function __construct()
{
parent::__construct();
$this->db_onedev = $this->load->database("onedev", true);
$this->db_oneklinik = $this->load->database("onedev", true);
}
function search_x()
{
$prm = $this->sys_input;
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$norm = $prm["snorm"];
$nama = str_replace("'", "\\'", $prm["name"]);
// echo $norm;
$sql_where = "WHERE M_PatientIsActive = 'Y' ";
$sql_param = array();
if ($nama != "") {
if ($sql_where != "") {
$sql_where .=" and ";
}
$sql_where .= " M_PatientName like ? ";
$sql_param[] = "%$nama%";
}
if ($norm != "") {
if ($sql_where != "") {
$sql_where .=" and ";
}
$sql_where .= " M_PatientNoReg like ? ";
$sql_param[] = "%$norm%";
}
$limit = '';
if($all == 'N'){
$limit = ' LIMIT 100';
}
$number_limit = 100;
$number_offset = ($prm['current_page'] - 1) * $number_limit ;
//echo $this->db_onedev->last_query();
$tot_count = 0;
$tot_page = 0;
$sql = "SELECT
M_PatientID,
M_PatientNoReg,
M_PatientPrefix,
M_PatientName,
M_PatientSuffix,
M_PatientHP,
M_PatientEmail,
M_PatientPOB,
M_PatientPhone,
M_PatientIDNumber,
DATE_FORMAT(M_PatientDOB,'%d-%m-%Y') as M_PatientDOB,
M_PatientNote,
M_PatientNIK,
M_PatientJabatan,
M_PatientKedudukan,
M_PatientPJ,
M_PatientLocation,
M_PatientJob,
M_PatientM_SexID,
M_SexName,
M_PatientM_TitleID,
M_TitleName,
M_PatientM_ReligionID,
M_ReligionName,
M_PatientM_IdTypeID,
M_IdTypeName,
M_PatientIDNumber,
IF(ISNULL(M_PatientSuspendID),'active','suspend' ) as status
FROM m_patient
LEFT JOIN m_title ON M_PatientM_TitleID = M_TitleID
LEFT JOIN m_sex ON M_PatientM_SexID = M_SexID
LEFT JOIN m_religion ON M_PatientM_ReligionID = M_ReligionID
LEFT JOIN m_idtype ON M_PatientM_IdTypeID = M_IdTypeID
LEFT JOIN m_patientsuspend ON M_PatientSuspendM_PatientID = M_PatientID AND M_PatientSuspendIsActive = 'Y'
$sql_where
ORDER BY M_PatientName ASC
limit 100
";
// $sql;
$query = $this->db_onedev->query($sql, $sql_param);
$rows = $query->result_array();
if($rows){
foreach($rows as $k => $v){
$rows[$k]['M_PatientName'] = stripslashes($rows[$k]['M_PatientName']);
$rows[$k]['M_PatientPOB'] = stripslashes($rows[$k]['M_PatientPOB']);
//$rows[$k]['verification_px'] = $this->add_verification_test($v['M_PatientID']);
}
}
//$this->_add_address($rows);
$result = array("total" => 1, "records" => $rows, "sql"=> $this->db_onedev->last_query());
$this->sys_ok($result);
exit;
}
function getsexreg(){
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$rows = [];
$rows['default_location'] = array();
$query ="SELECT *
FROM m_title
WHERE
M_TitleIsActive = 'Y'
";
//echo $query;
$rows['titles'] = $this->db_onedev->query($query)->result_array();
$query =" SELECT *
FROM m_sex
WHERE
M_SexIsActive = 'Y'
";
//echo $query;
$rows['sexes'] = $this->db_onedev->query($query)->result_array();
$query =" SELECT *
FROM m_religion
WHERE
M_ReligionIsActive = 'Y'
";
//echo $query;
$rows['religions'] = $this->db_onedev->query($query)->result_array();
$query =" SELECT *
FROM m_idtype
WHERE
M_IdTypeIsActive = 'Y'
";
//echo $query;
$rows['kartuidentitass'] = $this->db_onedev->query($query)->result_array();
$query ="SELECT *
FROM m_branch
WHERE
M_BranchIsDefault = 'Y' AND M_BranchIsActive = 'Y'
";
//echo $query;
$branch_default = $this->db_onedev->query($query)->row_array();
if($branch_default){
$query =" SELECT *
FROM m_city
WHERE
M_CityIsActive = 'Y' AND M_CityID = ?
";
//echo $query;
$rows['default_location']['city_address'] = $this->db_onedev->query($query,array($branch_default['M_BranchM_CityID']))->row_array();
$query =" SELECT *
FROM m_city
WHERE
M_CityIsActive = 'Y' AND M_CityM_ProvinceID = ?
";
//echo $query;
$rows['default_location']['cities'] = $this->db_onedev->query($query,array($rows['default_location']['city_address']['M_CityM_ProvinceID']))->result_array();
$query =" SELECT *
FROM m_province
WHERE
M_ProvinceIsActive = 'Y' AND M_ProvinceID = ?
";
//echo $query;
$rows['default_location']['province_address'] = $this->db_onedev->query($query,array($rows['default_location']['city_address']['M_CityM_ProvinceID']))->row_array();
$query =" SELECT *
FROM m_province
WHERE
M_ProvinceIsActive = 'Y'
";
//echo $query;
$rows['default_location']['provinces'] = $this->db_onedev->query($query)->result_array();
$query =" SELECT *
FROM m_district
WHERE
M_DistrictIsActive = 'Y' AND M_DistrictM_CityID = ?
";
//echo $query;
$rows['default_location']['districts'] = $this->db_onedev->query($query,array($branch_default['M_BranchM_CityID']))->result_array();
$query =" SELECT *
FROM m_district
WHERE
M_DistrictIsActive = 'Y' AND M_DistrictID = ?
";
//echo $query;
$rows['default_location']['district_address'] = $this->db_onedev->query($query,array($branch_default['M_BranchM_DistrictID']))->row_array();
$query =" SELECT *
FROM m_kelurahan
WHERE
M_KelurahanIsActive = 'Y' AND M_KelurahanM_DistrictID = ?
";
//echo $query;
$rows['default_location']['kelurahans'] = $this->db_onedev->query($query,array($branch_default['M_BranchM_DistrictID']))->result_array();
$query =" SELECT *
FROM m_kelurahan
WHERE
M_KelurahanIsActive = 'Y' AND M_KelurahanID = ?
";
//echo $query;
$rows['default_location']['kelurahan_address'] = $this->db_onedev->query($query,array($branch_default['M_BranchM_KelurahanID']))->row_array();
}
$result = array(
"total" => count($rows) ,
"records" => $rows,
);
$this->sys_ok($result);
exit;
}
function searchcity(){
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$max_rst = 12;
$tot_count =0;
$q = [
'search' => '%'
];
if ($prm['search'] != '')
{
$q['search'] = "%{$prm['search']}%";
}
// QUERY TOTAL
$sql = "SELECT count(*) as total
FROM m_city
WHERE
M_CityName like ?
AND M_CityIsActive = 'Y'";
$query = $this->db_onedev->query($sql,$q['search']);
//echo $query;
if ($query) {
$tot_count = $query->result_array()[0]["total"];
}
else {
$this->sys_error_db("m_city count",$this->db_onedev);
exit;
}
$sql = "
SELECT *
FROM m_city
WHERE
M_CityName like ?
AND M_CityIsActive = 'Y'
ORDER BY M_CityName DESC
";
$query = $this->db_onedev->query($sql, array($q['search']));
if ($query) {
$rows = $query->result_array();
//echo $this->db_onedev->last_query();
$result = array("total" => $tot_count, "records" => $rows, "total_display" => sizeof($rows));
$this->sys_ok($result);
}
else {
$this->sys_error_db("m_city rows",$this->db_onedev);
exit;
}
}
function getprovinces(){
$prm = $this->sys_input;
$query =" SELECT *
FROM m_province
WHERE
M_ProvinceIsActive = 'Y'
";
//echo $query;
$rows = $this->db_onedev->query($query)->result_array();
$result = array(
"total" => count($rows) ,
"records" => $rows,
);
$this->sys_ok($result);
exit;
}
function getcities(){
$prm = $this->sys_input;
$query =" SELECT *
FROM m_city
WHERE
M_CityIsActive = 'Y' AND M_CityM_ProvinceID = ?
";
//echo $query;
$rows = $this->db_onedev->query($query,array($prm['id']))->result_array();
$result = array(
"total" => count($rows) ,
"records" => $rows,
);
$this->sys_ok($result);
exit;
}
function getdistricts(){
$prm = $this->sys_input;
$query =" SELECT *
FROM m_district
WHERE
M_DistrictIsActive = 'Y' AND M_DistrictM_CityID = ?
";
//echo $query;
$rows = $this->db_onedev->query($query,array($prm['id']))->result_array();
$result = array(
"total" => count($rows) ,
"records" => $rows,
);
$this->sys_ok($result);
exit;
}
function getkelurahans(){
$prm = $this->sys_input;
$query =" SELECT *
FROM m_kelurahan
WHERE
M_KelurahanIsActive = 'Y' AND M_KelurahanM_DistrictID = ?
";
//echo $query;
$rows = $this->db_onedev->query($query,array($prm['id']))->result_array();
$result = array(
"total" => count($rows) ,
"records" => $rows,
);
$this->sys_ok($result);
exit;
}
function save(){
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$userid = $this->sys_user["M_UserID"];
$sql = "SELECT * FROM m_patient WHERE M_PatientID = {$prm['M_PatientID']}";
$rows_before = $this->db_onedev->query($sql)->row_array();
$pdob = date('Y-m-d',strtotime($prm['M_PatientDOB']));
$prm['M_PatientName'] = str_replace("'", "\\'", $prm['M_PatientName']);
$prm['M_PatientPOB'] = str_replace("'", "\\'", $prm['M_PatientPOB']);
$query ="UPDATE m_patient SET
M_PatientM_TitleID = '{$prm['M_PatientM_TitleID']}',
M_PatientPrefix = '{$prm['M_PatientPrefix']}',
M_PatientName = '{$prm['M_PatientName']}',
M_PatientSuffix = '{$prm['M_PatientSuffix']}',
M_PatientDOB = '{$pdob}',
M_PatientM_SexID = '{$prm['M_PatientM_SexID']}',
M_PatientM_ReligionID = '{$prm['M_PatientM_ReligionID']}',
M_PatientEmail = '{$prm['M_PatientEmail']}',
M_PatientPOB = '{$prm['M_PatientPOB']}',
M_PatientHP = '{$prm['M_PatientHP']}',
M_PatientPhone = '{$prm['M_PatientPhone']}',
M_PatientM_IdTypeID = '{$prm['M_PatientM_IdTypeID']}',
M_PatientIDNumber = '{$prm['M_PatientIDNumber']}',
M_PatientNote = '{$prm['M_PatientNote']}',
M_PatientNIK = '{$prm['M_PatientNIK']}',
M_PatientJabatan = '{$prm['M_PatientJabatan']}',
M_PatientKedudukan = '{$prm['M_PatientKedudukan']}',
M_PatientPJ = '{$prm['M_PatientPJ']}',
M_PatientLocation = '{$prm['M_PatientLocation']}',
M_PatientJob = '{$prm['M_PatientJob']}',
M_PatientUserID = '{$userid}'
WHERE
M_PatientID = '{$prm['M_PatientID']}'
";
//echo $query;
$rows = $this->db_onedev->query($query);
$sql = "SELECT *
FROM m_patientaddress
WHERE M_PatientAddressM_PatientID = {$prm['M_PatientID']} AND M_PatientAddressIsActive = 'Y'
ORDER BY M_PatientAddressID ASC LIMIT 1";
$d_address = $this->db_onedev->query($sql)->row_array();
$sql = "UPDATE m_patientaddress SET
M_PatientAddressM_KelurahanID = '{$prm['M_PatientAddressM_KelurahanID']}',
M_PatientAddressDescription = '{$prm['M_PatientAddressDescription']}'
WHERE
M_PatientAddressID = {$d_address['M_PatientAddressID']}
";
$this->db_onedev->query($sql);
$result = array(
"total" => 1 ,
"records" => array('status'=>'OK')
);
$ptn = $prm;
$ptn["M_PatientDOB"] = $pdob;
$xbefore = json_encode($rows_before);
$ptn = json_encode($ptn);
/*$this->db_onedev->query("INSERT INTO one_log.log_patient (
Log_PatientCode,
Log_PatientJson,
Log_PatientJsonBefore,
Log_PatientUserID
)
VALUES(
'PATIENT.EDIT',
'{$ptn}',
'{$xbefore}',
'{$userid}'
)");*/
$this->sys_ok($result);
exit;
}
function newtext(){
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$activeid = $prm['activeid'];
$note = $prm['note'];
$id = $prm['orderid'];
$userid = $this->sys_user["M_UserID"];
$anamneses = $this->db_oneklinik->query("SELECT orderAnamnesisID as anamnesesid FROM one_klinik.order_anamnesis WHERE orderAnamnesisTypeForm = 'TEXT' AND orderAnamnesisOrderID = $id AND orderAnamnesisIsActive = 'Y'")->row();
$anamnesesid = $anamneses->anamnesesid;
if($anamnesesid == 0){
if($activeid == 1){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisKeluhanUtama,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'TEXT',
$id,
'{$note}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 2){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisRiwayatPenyakitDanAlergiDahulu,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'TEXT',
$id,
'{$note}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 3){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisRiwayatPenyakitDanAlergiSekarang,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'TEXT',
$id,
'{$note}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 4){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisRiwayatPenyakitKeluarga,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'TEXT',
$id,
'{$note}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 5){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisRiwayatPengobatan,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'TEXT',
$id,
'{$note}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 6){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisRiwayatSosial,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'TEXT',
$id,
'{$note}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 7){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisRiwayatOperasi,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'TEXT',
$id,
'{$note}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 8){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisRiwayatAlergi,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'TEXT',
$id,
'{$note}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 9){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisRiwayatImunisasi,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'TEXT',
$id,
'{$note}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}
$last_id = $this->db_oneklinik->insert_id();
}else{
if($activeid == 1){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisKeluhanUtama = '{$note}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 2){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisRiwayatPenyakitDanAlergiDahulu = '{$note}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
//echo $query;
}elseif($activeid == 3){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisRiwayatPenyakitDanAlergiSekarang = '{$note}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 4){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisRiwayatPenyakitKeluarga = '{$note}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 5){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisRiwayatPengobatan = '{$note}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 6){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisRiwayatSosial = '{$note}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 7){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisRiwayatOperasi = '{$note}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 8){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisRiwayatAlergi = '{$note}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 9){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisRiwayatImunisasi = '{$note}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
}
$last_id = $anamnesesid;
}
$result = array(
"total" => 1 ,
"records" => array('status'=>'OK'),
"id" => $last_id);
$ptn = $prm;
$ptn = json_encode($ptn);
$this->sys_ok($result);
exit;
}
function newform(){
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$activeid = $prm['activeid'];
$id = $prm['orderid'];
$userid = $this->sys_user["M_UserID"];
$riwayats = str_replace('\'', '\\\'', json_encode($prm["riwayats"],JSON_UNESCAPED_UNICODE | JSON_HEX_APOS | JSON_HEX_QUOT));
$riwayats = addslashes(str_replace('\"', '\\\"',$riwayats));
$keluhans = str_replace('\'', '\\\'', json_encode($prm["keluhans"],JSON_UNESCAPED_UNICODE | JSON_HEX_APOS | JSON_HEX_QUOT));
$keluhans = addslashes(str_replace('\"', '\\\"',$keluhans));
$penyakitdulus = str_replace('\'', '\\\'', json_encode($prm["penyakitdulus"],JSON_UNESCAPED_UNICODE | JSON_HEX_APOS | JSON_HEX_QUOT));
$penyakitdulus = addslashes(str_replace('\"', '\\\"',$penyakitdulus));
$penyakitsekarangs = str_replace('\'', '\\\'', json_encode($prm["penyakitsekarangs"],JSON_UNESCAPED_UNICODE | JSON_HEX_APOS | JSON_HEX_QUOT));
$penyakitsekarangs = addslashes(str_replace('\"', '\\\"',$penyakitsekarangs));
$penyakitkeluargas = str_replace('\'', '\\\'', json_encode($prm["penyakitkeluargas"],JSON_UNESCAPED_UNICODE | JSON_HEX_APOS | JSON_HEX_QUOT));
$penyakitkeluargas = addslashes(str_replace('\"', '\\\"',$penyakitkeluargas));
$pengobatans = str_replace('\'', '\\\'', json_encode($prm["pengobatans"],JSON_UNESCAPED_UNICODE | JSON_HEX_APOS | JSON_HEX_QUOT));
$pengobatans = addslashes(str_replace('\"', '\\\"',$pengobatans));
$sosials = str_replace('\'', '\\\'', json_encode($prm["sosials"],JSON_UNESCAPED_UNICODE | JSON_HEX_APOS | JSON_HEX_QUOT));
$sosials = addslashes(str_replace('\"', '\\\"',$sosials));
$imunisasis = str_replace('\'', '\\\'', json_encode($prm["imunisasis"],JSON_UNESCAPED_UNICODE | JSON_HEX_APOS | JSON_HEX_QUOT));
$imunisasis = addslashes(str_replace('\"', '\\\"',$imunisasis));
$anamneses = $this->db_oneklinik->query("SELECT orderAnamnesisID as anamnesesid FROM one_klinik.order_anamnesis WHERE orderAnamnesisTypeForm = 'FORM' AND orderAnamnesisOrderID = $id AND orderAnamnesisIsActive = 'Y'")->row();
$anamnesesid = $anamneses->anamnesesid;
if($anamnesesid == 0){
if($activeid == 1){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisKeluhanUtama,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'FORM',
$id,
'{$keluhans}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 2){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisRiwayatPenyakitDanAlergiDahulu,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'FORM',
$id,
'{$penyakitdulus}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 3){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisRiwayatPenyakitDanAlergiSekarang,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'FORM',
$id,
'{$penyakitsekarangs}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 4){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisRiwayatPenyakitKeluarga,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'FORM',
$id,
'{$penyakitkeluargas}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 5){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisRiwayatPengobatan,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'FORM',
$id,
'{$pengobatans}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 6){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisRiwayatSosial,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'FORM',
$id,
'{$sosials}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 7){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisRiwayatOperasi,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'FORM',
$id,
'{$riwayats}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 8){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisRiwayatAlergi,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'FORM',
$id,
'{$riwayats}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 9){
$query ="INSERT INTO one_klinik.order_anamnesis (
orderAnamnesisTypeForm,
orderAnamnesisOrderID,
orderAnamnesisRiwayatImunisasi,
orderAnamnesisCreated,
orderAnamnesisLastUpdated,
orderAnamnesisUserID)
VALUES(
'FORM',
$id,
'{$imunisasis}',
now(),
now(),
$userid)";
$rows = $this->db_oneklinik->query($query);
}
$last_id = $this->db_oneklinik->insert_id();
}else{
if($activeid == 1){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisKeluhanUtama = '{$keluhans}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 2){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisRiwayatPenyakitDanAlergiDahulu = '{$penyakitdulus}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 3){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisRiwayatPenyakitDanAlergiSekarang = '{$penyakitsekarangs}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 4){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisRiwayatPenyakitKeluarga = '{$penyakitkeluargas}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 5){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisRiwayatPengobatan = '{$pengobatans}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 6){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisRiwayatSosial = '{$sosials}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 7){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisRiwayatOperasi = '{$riwayats}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 8){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisRiwayatAlergi = '{$riwayats}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
}elseif($activeid == 9){
$query ="UPDATE one_klinik.order_anamnesis SET orderAnamnesisRiwayatImunisasi = '{$imunisasis}' WHERE orderAnamnesisID = $anamnesesid";
$rows = $this->db_oneklinik->query($query);
}
$last_id = $anamnesesid;
}
$result = array(
"total" => 1 ,
"records" => array('status'=>'OK'),
"id" => $last_id);
$ptn = $prm;
$ptn = json_encode($ptn);
$this->sys_ok($result);
exit;
}
function newpatient(){
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$userid = $this->sys_user["M_UserID"];
$pdob = date('Y-m-d',strtotime($prm['M_PatientDOB']));
$prm['M_PatientName'] = str_replace("'", "\\'", $prm['M_PatientName']);
$query ="INSERT INTO m_patient (
M_PatientM_TitleID,
M_PatientPrefix,
M_PatientName,
M_PatientSuffix,
M_PatientDOB,
M_PatientM_SexID,
M_PatientM_ReligionID,
M_PatientEmail,
M_PatientPOB,
M_PatientHP,
M_PatientPhone,
M_PatientM_IdTypeID,
M_PatientIDNumber,
M_PatientNote,
M_PatientNIK,
M_PatientJabatan,
M_PatientKedudukan,
M_PatientPJ,
M_PatientLocation,
M_PatientJob,
M_PatientUserID
)
VALUES(
'{$prm['M_PatientM_TitleID']}',
'{$prm['M_PatientPrefix']}',
'{$prm['M_PatientName']}',
'{$prm['M_PatientSuffix']}',
'{$pdob}',
'{$prm['M_PatientM_SexID']}',
'{$prm['M_PatientM_ReligionID']}',
'{$prm['M_PatientEmail']}',
'{$prm['M_PatientPOB']}',
'{$prm['M_PatientHP']}',
'{$prm['M_PatientPhone']}',
'{$prm['M_PatientM_IdTypeID']}',
'{$prm['M_PatientIDNumber']}',
'{$prm['M_PatientNote']}',
'{$prm['M_PatientNIK']}',
'{$prm['M_PatientJabatan']}',
'{$prm['M_PatientKedudukan']}',
'{$prm['M_PatientPJ']}',
'{$prm['M_PatientLocation']}',
'{$prm['M_PatientJob']}',
$userid
)
";
//echo $query;
$rows = $this->db_onedev->query($query);
$last_id = $this->db_onedev->insert_id();
if($last_id){
$sql ="SELECT * FROM m_patient
LEFT JOIN m_branch ON M_BranchIsDefault = 'Y' AND M_BranchIsActive = 'Y'
WHERE M_PatientID = {$last_id}
LIMIT 1";
//echo $sql;
$data_patient = $this->db_onedev->query($sql)->row_array();
if($data_patient){
if(intval($prm['M_PatientM_IdTypeID']) == 4){
$new_nik_varchar = "00".$data_patient['M_BranchCode'].str_pad($data_patient['M_PatientNoReg'],12,"0",STR_PAD_LEFT);
$sql = "UPDATE m_patient SET M_PatientIDNumber = '{$new_nik_varchar}' WHERE M_PatientID = {$last_id}";
$this->db_onedev->query($sql);
//echo $sql;
}
}
$address_description = str_replace("'", "\\'", $prm['M_PatientAddressDescription']);
// save address
$add = [
'M_PatientAddressM_PatientID' => $last_id,
'M_PatientAddressDescription' => $address_description,
'M_PatientAddressUserID'=> $userid,
'M_PatientAddressM_KelurahanID' => $prm['M_PatientAddressM_KelurahanID']
];
$this->db_onedev->insert('m_patientaddress', $add);
//echo $this->db_onedev->last_query();
}
$result = array(
"total" => 1 ,
"records" => array('status'=>'OK'),
"id" => $last_id
);
$ptn = $prm;
$ptn["M_PatientID"] = $last_id;
$ptn["M_PatientDOB"] = $pdob;
$ptn = json_encode($ptn);
//$this->db_onedev->query("CALL one_log.log_me('PATIENT', 'PATIENT.ADD', '{$ptn}', $userid)");
$this->sys_ok($result);
exit;
}
function deletepatient(){
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$userid = $this->sys_user["M_UserID"];
$prm = $this->sys_input;
$query ="UPDATE m_patient SET
M_PatientIsActive = 'N',
M_PatientUserID = {$userid}
WHERE
M_PatientID = '{$prm['M_PatientID']}'
";
//echo $query;
$rows = $this->db_onedev->query($query);
$result = array(
"total" => 1 ,
"records" => array('status'=>'OK')
);
$ptn = $prm;
$ptn["M_PatientDOB"] = $pdob;
$ptn = json_encode($ptn);
//$this->db_onedev->query("CALL one_log.log_me('PATIENT', 'PATIENT.DELETE', '{$ptn}', $userid)");
$this->sys_ok($result);
exit;
}
function getaddress(){
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$query =" SELECT m_patientaddress.*,
M_KelurahanName,
M_DistrictID,
M_DistrictName,
M_CityID,
M_CityName,
'' as action
FROM m_patientaddress
JOIN m_kelurahan ON M_PatientAddressM_KelurahanID = M_KelurahanID
JOIN m_district ON M_KelurahanM_DistrictID = M_DistrictID
JOIN m_city ON M_DistrictM_CityID = M_CityID
WHERE
M_PatientAddressIsActive = 'Y' AND M_PatientAddressM_PatientID = ?
ORDER BY M_PatientAddressID ASC
LIMIT 1
";
//echo $query;
$address = $this->db_onedev->query($query,array($prm['id']))->row_array();
$address['M_PatientAddressDescription'] = stripslashes($address['M_PatientAddressDescription']);
$rows['address'] = $address;
$query =" SELECT *
FROM m_city
WHERE
M_CityIsActive = 'Y' AND M_CityID = ?
";
//echo $query;
$rows['city_address'] = $this->db_onedev->query($query,array($address['M_CityID']))->row_array();
$query =" SELECT *
FROM m_city
WHERE
M_CityIsActive = 'Y' AND M_CityM_ProvinceID = ?
";
//echo $query;
$rows['cities'] = $this->db_onedev->query($query,array($rows['city_address']['M_CityM_ProvinceID']))->result_array();
$query =" SELECT *
FROM m_province
WHERE
M_ProvinceIsActive = 'Y' AND M_ProvinceID = ?
";
//echo $query;
$rows['province_address'] = $this->db_onedev->query($query,array($rows['city_address']['M_CityM_ProvinceID']))->row_array();
$query =" SELECT *
FROM m_province
WHERE
M_ProvinceIsActive = 'Y'
";
//echo $query;
$rows['provinces'] = $this->db_onedev->query($query)->result_array();
$query =" SELECT *
FROM m_district
WHERE
M_DistrictIsActive = 'Y' AND M_DistrictM_CityID = ?
";
//echo $query;
$rows['districts'] = $this->db_onedev->query($query,array($rows['city_address']['M_CityID']))->result_array();
$query =" SELECT *
FROM m_district
WHERE
M_DistrictIsActive = 'Y' AND M_DistrictID = ?
";
//echo $query;
$rows['district_address'] = $this->db_onedev->query($query,array($address['M_DistrictID']))->row_array();
$query =" SELECT *
FROM m_kelurahan
WHERE
M_KelurahanIsActive = 'Y' AND M_KelurahanM_DistrictID = ?
";
//echo $query;
$rows['kelurahans'] = $this->db_onedev->query($query,array($address['M_DistrictID']))->result_array();
$query =" SELECT *
FROM m_kelurahan
WHERE
M_KelurahanIsActive = 'Y' AND M_KelurahanID = ?
";
//echo $query;
$rows['kelurahan_address'] = $this->db_onedev->query($query,array($address['M_PatientAddressM_KelurahanID']))->row_array();
$result = array(
"total" => count($rows) ,
"records" => $rows,
);
$this->sys_ok($result);
exit;
}
function savenewaddress(){
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$userid = $this->sys_user["M_UserID"];
$prm = $this->sys_input;
$count_addrs = $this->db_onedev->query("SELECT COUNT(*) as countx FROM m_patientaddress WHERE M_PatientAddressM_PatientID = '{$prm['M_PatientAddressM_PatientID']}' AND M_PatientAddressIsActive = 'Y'")->row()->countx;
//echo $this->db_onedev->last_query();
if($count_addrs == 0){
$prm['M_PatientAddressNote'] = 'Utama';
}
else{
$count_addrs_utama = $this->db_onedev->query("SELECT COUNT(*) as countx FROM m_patientaddress WHERE M_PatientAddressM_PatientID = '{$prm['M_PatientAddressM_PatientID']}' AND M_PatientAddressNote = 'Utama' AND M_PatientAddressIsActive = 'Y'")->row()->countx;
if($count_addrs_utama > 0 && strtolower($prm['M_PatientAddressNote']) == 'utama'){
$rx = date('YmdHis');
$prm['M_PatientAddressNote'] = 'Utama_'.$rx;
}
}
$prm['M_PatientAddressDescription'] = str_replace("'", "\\'", $prm['M_PatientAddressDescription']);
$query ="INSERT INTO m_patientaddress (
M_PatientAddressM_PatientID,
M_PatientAddressNote,
M_PatientAddressDescription,
M_PatientAddressM_KelurahanID,
M_PatientAddressCreated,
M_PatientAddressUserID
)
VALUES(
'{$prm['M_PatientAddressM_PatientID']}',
'{$prm['M_PatientAddressNote']}',
'{$prm['M_PatientAddressDescription']}',
'{$prm['M_PatientAddressM_KelurahanID']}',
NOW(),
'{$userid}'
)
";
//echo $query;
$rows = $this->db_onedev->query($query);
$result = array(
"total" => 1 ,
"records" => array('status'=>'OK')
);
$ptn = $prm;
$ptn["M_UserID"] = $pdob;
$ptn = json_encode($ptn);
//$this->db_onedev->query("CALL one_log.log_me('PATIENT', 'PATIENT.ADDR_ADD', '{$ptn}', $userid)");
$this->sys_ok($result);
exit;
}
function saveeditaddress(){
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$userid = $this->sys_user["M_UserID"];
$prm = $this->sys_input;
$prm['M_PatientAddressDescription'] = str_replace("'", "\\'", $prm['M_PatientAddressDescription']);
$sql = "SELECT * FROM m_patientaddress WHERE M_PatientAddressID = {$prm['M_PatientAddressID']}";
$rows_before = $this->db_onedev->query($sql)->row_array();
$query ="UPDATE m_patientaddress SET
M_PatientAddressM_PatientID = '{$prm['M_PatientAddressM_PatientID']}',
M_PatientAddressNote = '{$prm['M_PatientAddressNote']}',
M_PatientAddressDescription = '{$prm['M_PatientAddressDescription']}',
M_PatientAddressM_KelurahanID = '{$prm['M_PatientAddressM_KelurahanID']}',
M_PatientAddressUserID = {$userid}
WHERE
M_PatientAddressID = '{$prm['M_PatientAddressID']}'
";
//echo $query;
$rows = $this->db_onedev->query($query);
$result = array(
"total" => 1 ,
"records" => array('status'=>'OK')
);
$ptn = $prm;
$ptn["M_UserID"] = $pdob;
$xbefore = json_encode($rows_before);
$ptn = json_encode($ptn);
/*$this->db_onedev->query("INSERT INTO one_log.log_patient (
Log_PatientCode,
Log_PatientJson,
Log_PatientJsonBefore,
Log_PatientUserID
)
VALUES(
'PATIENT.ADDR_EDIT',
'{$ptn}',
'{$xbefore}',
'{$userid}'
)");*/
//$this->db_onedev->query("CALL one_log.log_me('PATIENT', 'PATIENT.ADDR_EDIT', '{$ptn}', $userid)");
$this->sys_ok($result);
exit;
}
function deleteaddress(){
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$userid = $this->sys_user["M_UserID"];
$prm = $this->sys_input;
$query ="UPDATE m_patientaddress SET
M_PatientAddressIsActive = 'N',
M_PatientAddressUserID = {$userid}
WHERE
M_PatientAddressID = '{$prm['M_PatientAddressID']}'
";
//echo $query;
$rows = $this->db_onedev->query($query);
$result = array(
"total" => 1 ,
"records" => array('status'=>'OK')
);
$ptn = $prm;
$ptn["M_UserID"] = $pdob;
$ptn = json_encode($ptn);
//$this->db_onedev->query("CALL one_log.log_me('PATIENT', 'PATIENT.ADDR_DELETE', '{$ptn}', $userid)");
$this->sys_ok($result);
exit;
}
public function search()
{
$prm = $this->sys_input;
$id = $prm['id'];
$sql = "SELECT orderID,
orderDate,
orderNumber,
orderIsAnamnese,
orderIsCheck,
DATE_FORMAT(orderDate,'%d-%m-%Y') as order_date,
'N' divider,
M_PatientID,
M_PatientNoReg,
M_PatientPrefix,
M_PatientName,
M_PatientSuffix,
M_PatientHP,
M_PatientEmail,
M_PatientPOB,
M_PatientPhone,
M_PatientIDNumber,
DATE_FORMAT(M_PatientDOB,'%d-%m-%Y') as M_PatientDOB,
M_PatientNote,
M_PatientNIK,
M_PatientJabatan,
M_PatientKedudukan,
M_PatientPJ,
M_PatientLocation,
M_PatientJob,
M_PatientM_SexID,
M_SexName,
M_PatientM_TitleID,
M_TitleName,
M_PatientM_ReligionID,
M_ReligionName,
M_PatientM_IdTypeID,
M_IdTypeName,
M_PatientIDNumber,
IF(ISNULL(M_PatientSuspendID),'active','suspend' ) as status,
M_PatientAddressM_KelurahanID M_KelurahanID,
0 M_DistrictID,
0 M_CityID,
0 M_ProvinceID,
'' as KeluhanUtamaText,
'' as RiwayatPenyakitDanAlergiDahuluText,
'' as RiwayatPenyakitDanAlergiSekarangText,
'' as RiwayatPenyakitKeluargaText,
'' as RiwayatPengobatanText,
'' as RiwayatSosialText,
'' as RiwayatOperasiText,
'' as RiwayatAlergiText,
'' as RiwayatImunisasiText,
'' as KeluhanUtamaForm,
'' as RiwayatPenyakitDanAlergiDahuluForm,
'' as RiwayatPenyakitDanAlergiSekarangForm,
'' as RiwayatPenyakitKeluargaForm,
'' as RiwayatPengobatanForm,
'' as RiwayatSosialForm,
'' as RiwayatOperasiForm,
'' as RiwayatAlergiForm,
'' as RiwayatImunisasiForm,
'' as riwayats
FROM one_klinik.order
JOIN m_patient ON M_PatientID = orderM_PatientID AND M_PatientIsActive = 'Y'
JOIN m_title ON M_PatientM_TitleID = M_TitleID
JOIN m_sex ON M_PatientM_SexID = M_SexID
JOIN m_branch ON M_BranchIsActive = 'Y' AND M_BranchIsDefault = 'Y'
JOIN m_patientaddress ON M_PatientAddressM_PatientID = M_PatientID AND M_PatientAddressIsActive = 'Y'
LEFT JOIN m_idtype ON M_IdTypeID = M_PatientM_IdTypeID AND M_IdTypeIsActive = 'Y'
LEFT JOIN m_religion ON m_patientm_religionid = m_religionid
LEFT JOIN m_patientsuspend ON M_PatientSuspendM_PatientID = M_PatientID AND M_PatientSuspendIsActive = 'Y'
WHERE
orderNumber = '{$id}' AND
M_PatientSuspendID IS NULL
GROUP BY M_PatientID";
//echo $sql;
$query = $this->db_onedev->query($sql);
if ($query) {
$rows = $query->result_array();
foreach ($rows as $k => $v)
{
$rows[$k]['M_PatientName'] = stripslashes($rows[$k]['M_PatientName']);
$rows[$k]['M_PatientAddressDescription'] = stripslashes($v['M_PatientAddressDescription']);
$patient_name = str_replace("'", "\\'", $prm['M_PatientName']);
$sql = "SELECT *, concat('{$rows[$k]['M_PatientAddressDescription'] }', '\n\n',
m_kelurahanname, ', ',
m_districtname,'\n',
m_cityname, ', ',
m_provincename) as xaddress
FROM m_kelurahan
JOIN m_district ON M_KelurahanM_DistrictID = M_DistrictID
JOIN m_city ON M_DistrictM_CityID = M_CityID
JOIN m_province ON M_CityM_ProvinceID = M_ProvinceID
WHERE
M_KelurahanID = {$v['M_KelurahanID']} ";
//echo $sql;
$row_address = $this->db_onedev->query($sql)->row_array();
$rows[$k]['M_PatientAddress'] = stripslashes($row_address['xaddress']);
$rows[$k]['M_DistrictID'] = $row_address['M_DistrictID'];
$rows[$k]['M_CityID'] = $row_address['M_CityID'];
$rows[$k]['M_ProvinceID'] = $row_address['M_ProvinceID'];
$info = $this->db_onedev->query("SELECT fn_fo_patient_visit(?) info", [$v['M_PatientID']])->row();
$rows[$k]['info'] = json_decode($info->info);
$sqlanamnese_text = "SELECT * FROM one_klinik.order_anamnesis WHERE orderAnamnesisOrderID = {$v['orderID']} AND orderAnamnesisTypeForm = 'TEXT' ";
$row_anamnese_text = $this->db_oneklinik->query($sqlanamnese_text)->row_array();
$rows[$k]['KeluhanUtamaText'] = $row_anamnese_text['orderAnamnesisKeluhanUtama'];
$rows[$k]['RiwayatPenyakitDanAlergiDahuluText'] = $row_anamnese_text['orderAnamnesisRiwayatPenyakitDanAlergiDahulu'];
$rows[$k]['RiwayatPenyakitDanAlergiSekarangText'] = $row_anamnese_text['orderAnamnesisRiwayatPenyakitDanAlergiSekarang'];
$rows[$k]['RiwayatPenyakitKeluargaText'] = $row_anamnese_text['orderAnamnesisRiwayatPenyakitKeluarga'];
$rows[$k]['RiwayatPengobatanText'] = $row_anamnese_text['orderAnamnesisRiwayatPengobatan'];
$rows[$k]['RiwayatSosialText'] = $row_anamnese_text['orderAnamnesisRiwayatSosial'];
$rows[$k]['RiwayatOperasiText'] = $row_anamnese_text['orderAnamnesisRiwayatOperasi'];
$rows[$k]['RiwayatAlergiText'] = $row_anamnese_text['orderAnamnesisRiwayatAlergi'];
$rows[$k]['RiwayatImunisasiText'] = $row_anamnese_text['orderAnamnesisRiwayatImunisasi'];
$sql = "SELECT * FROM fisik_templateresult WHERE
Fisik_TemplateResultM_LangID = 1 AND
Fisik_TemplateResultType = 'riwayat' AND
Fisik_TemplateResultIsActive = 'Y' LIMIT 1";
$rows[$k]['riwayats'] = json_decode($this->db_onedev->query($sql)->row()->Fisik_TemplateResultText);
$sqlanamnese_form = "SELECT * FROM one_klinik.order_anamnesis WHERE orderAnamnesisOrderID = {$v['orderID']} AND orderAnamnesisTypeForm = 'FORM'";
$row_anamnese_form = $this->db_oneklinik->query($sqlanamnese_form)->row_array();
if(!$row_anamnese_form['orderAnamnesisKeluhanUtama'] || $row_anamnese_form['orderAnamnesisKeluhanUtama'] == ''){
$a1 = array_search('KELUHAN SAAT INI', array_column($rows[$k]['riwayats'], 'title'));
$rows[$k]['KeluhanUtamaForm'] = $rows[$k]['riwayats'][$a1];
}else{
$rows[$k]['KeluhanUtamaForm'] = json_decode($row_anamnese_form['orderAnamnesisKeluhanUtama']);
}
//echo $row_anamnese_form['orderAnamnesisRiwayatPenyakitDanAlergiDahulu'];
if(!$row_anamnese_form['orderAnamnesisRiwayatPenyakitDanAlergiDahulu'] || $row_anamnese_form['orderAnamnesisRiwayatPenyakitDanAlergiDahulu'] == ''){
$a2 = array_search('RIWAYAT PENYAKIT', array_column($rows[$k]['riwayats'], 'title'));
//echo $a2;
$rows[$k]['RiwayatPenyakitDanAlergiDahuluForm'] = $rows[$k]['riwayats'][$a2];
}else{
$rows[$k]['RiwayatPenyakitDanAlergiDahuluForm'] = json_decode($row_anamnese_form['orderAnamnesisRiwayatPenyakitDanAlergiDahulu']);
}
if(!$row_anamnese_form['orderAnamnesisRiwayatPenyakitDanAlergiSekarang'] || $row_anamnese_form['orderAnamnesisRiwayatPenyakitDanAlergiSekarang'] == ''){
$a3 = array_search('RIWAYAT PENYAKIT', array_column($rows[$k]['riwayats'], 'title'));
$rows[$k]['RiwayatPenyakitDanAlergiSekarangForm'] = $rows[$k]['riwayats'][$a3];
}else{
$rows[$k]['RiwayatPenyakitDanAlergiSekarangForm'] = json_decode($row_anamnese_form['orderAnamnesisRiwayatPenyakitDanAlergiSekarang']);
}
if(!$row_anamnese_form['orderAnamnesisRiwayatPenyakitKeluarga'] || $row_anamnese_form['orderAnamnesisRiwayatPenyakitKeluarga'] == ''){
$a4 = array_search('RIWAYAT PENYAKIT KELUARGA', array_column($rows[$k]['riwayats'], 'title'));
$rows[$k]['RiwayatPenyakitKeluargaForm'] = $rows[$k]['riwayats'][$a4];
}else{
$rows[$k]['RiwayatPenyakitKeluargaForm'] = json_decode($row_anamnese_form['orderAnamnesisRiwayatPenyakitKeluarga']);
}
if(!$row_anamnese_form['orderAnamnesisRiwayatPengobatan'] || $row_anamnese_form['orderAnamnesisRiwayatPengobatan'] == ''){
$a5 = array_search('RIWAYAT KONSUMSI OBAT TERATUR', array_column($rows[$k]['riwayats'], 'title'));
$rows[$k]['RiwayatPengobatanForm'] = $rows[$k]['riwayats'][$a5];
}else{
$rows[$k]['RiwayatPengobatanForm'] = json_decode($row_anamnese_form['orderAnamnesisRiwayatPengobatan']);
}
if(!$row_anamnese_form['orderAnamnesisRiwayatSosial'] || $row_anamnese_form['orderAnamnesisRiwayatSosial'] == ''){
$a6 = array_search('RIWAYAT KEBIASAAN HIDUP', array_column($rows[$k]['riwayats'], 'title'));
$rows[$k]['RiwayatSosialForm'] = $rows[$k]['riwayats'][$a6];
}else{
$rows[$k]['RiwayatSosialForm'] = json_decode($row_anamnese_form['orderAnamnesisRiwayatSosial']);
}
if(!$row_anamnese_form['orderAnamnesisRiwayatImunisasi'] || $row_anamnese_form['orderAnamnesisRiwayatImunisasi'] == ''){
$a7 = array_search('RIWAYAT IMUNISASI', array_column($rows[$k]['riwayats'], 'title'));
$rows[$k]['RiwayatImunisasiForm'] = $rows[$k]['riwayats'][$a7];
}else{
$rows[$k]['RiwayatImunisasiForm'] = json_decode($row_anamnese_form['orderAnamnesisRiwayatImunisasi']);
}
}
$result = array("total" => 1, "records" => $rows, "sql"=> $this->db_onedev->last_query());
$this->sys_ok($result);
}
else {
$this->sys_error_db("m_patient rows",$this->db_onedev);
exit;
}
}
public function search_old()
{
$prm = $this->sys_input;
$max_rst = 100;
$tot_count =0;
$number_limit = 10;
$number_offset = (!isset($prm['current_page'])?1:$prm['current_page'] - 1) * $number_limit ;
$q = [
'noreg' => "",
'name' => '',
'hp' => '',
'dob' => '',
'address' => '',
'nik' =>''
];
$q_pid = "";
if ($prm['noreg'] != '')
$q['noreg'] = "AND M_PatientNoReg like '%{$prm['noreg']}%'";
if($prm['snorm'] == ''){
if ($prm['search'] != '')
{
$e = explode('+', $prm['search']);
if (isset($e[0])){
$e[0] = str_replace("'", "\\'", $e[0]);
$q['name'] = "AND M_PatientName LIKE '%{$e[0]}%'";
}
if (isset($e[1]))
$q['hp'] = "AND ((M_PatientHP LIKE '%{$e[1]}%' and M_PatientHP IS NOT NULL) OR (M_PatientHP IS NULL AND '{$e[1]}' = ''))";
if (isset($e[2]))
$q['dob'] = "AND ((DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') LIKE '%{$e[2]}%' and M_PatientDOB IS NOT NULL) OR (M_PatientDOB IS NULL AND '{$e[2]}' = ''))";
if (isset($e[3]))
$q['address'] = "AND M_PatientAddressDescription LIKE '%{$e[3]}%'";
if (isset($e[4]))
$q['nik'] = "AND M_PatientIDNumber = '{$e[4]}'";
}
}else{
$q_pid = "AND M_PatientNoReg = '{$prm['snorm']}'";
}
$sql = "SELECT 'N' divider,M_PatientID,
M_PatientNoReg,
M_PatientPrefix,
M_PatientName,
M_PatientSuffix,
M_PatientHP,
M_PatientEmail,
M_PatientPOB,
M_PatientPhone,
M_PatientIDNumber,
DATE_FORMAT(M_PatientDOB,'%d-%m-%Y') as M_PatientDOB,
M_PatientNote,
M_PatientNIK,
M_PatientJabatan,
M_PatientKedudukan,
M_PatientPJ,
M_PatientLocation,
M_PatientJob,
M_PatientM_SexID,
M_SexName,
M_PatientM_TitleID,
M_TitleName,
M_PatientM_ReligionID,
M_ReligionName,
M_PatientM_IdTypeID,
M_IdTypeName,
M_PatientIDNumber,
IF(ISNULL(M_PatientSuspendID),'active','suspend' ) as status,
M_PatientAddressM_KelurahanID M_KelurahanID,
0 M_DistrictID, 0 M_CityID, 0 M_ProvinceID
FROM m_patient
JOIN m_title ON M_PatientM_TitleID = M_TitleID
JOIN m_sex ON M_PatientM_SexID = M_SexID
JOIN m_branch ON M_BranchIsActive = 'Y' AND M_BranchIsDefault = 'Y'
JOIN m_patientaddress ON M_PatientAddressM_PatientID = M_PatientID AND M_PatientAddressIsActive = 'Y'
LEFT JOIN m_idtype ON M_IdTypeID = M_PatientM_IdTypeID AND M_IdTypeIsActive = 'Y'
LEFT JOIN m_religion ON m_patientm_religionid = m_religionid
LEFT JOIN m_patientsuspend ON M_PatientSuspendM_PatientID = M_PatientID AND M_PatientSuspendIsActive = 'Y'
WHERE
M_PatientSuspendID IS NULL AND M_PatientIsActive = 'Y'
{$q['address']}
{$q['noreg']}
{$q['name']}
{$q['hp']}
{$q['dob']}
{$q['nik']}
{$q_pid}
GROUP BY M_PatientID
LIMIT $number_limit offset $number_offset";
//echo $sql;
$query = $this->db_onedev->query($sql);
if ($query) {
$rows = $query->result_array();
foreach ($rows as $k => $v)
{
$rows[$k]['M_PatientName'] = stripslashes($rows[$k]['M_PatientName']);
$rows[$k]['M_PatientAddressDescription'] = stripslashes($v['M_PatientAddressDescription']);
$patient_name = str_replace("'", "\\'", $prm['M_PatientName']);
$sql = "SELECT *, concat('{$rows[$k]['M_PatientAddressDescription'] }', '\n\n',
m_kelurahanname, ', ',
m_districtname,'\n',
m_cityname, ', ',
m_provincename) as xaddress
FROM m_kelurahan
JOIN m_district ON M_KelurahanM_DistrictID = M_DistrictID
JOIN m_city ON M_DistrictM_CityID = M_CityID
JOIN m_province ON M_CityM_ProvinceID = M_ProvinceID
WHERE
M_KelurahanID = {$v['M_KelurahanID']} ";
//echo $sql;
$row_address = $this->db_onedev->query($sql)->row_array();
$rows[$k]['M_PatientAddress'] = stripslashes($row_address['xaddress']);
$rows[$k]['M_DistrictID'] = $row_address['M_DistrictID'];
$rows[$k]['M_CityID'] = $row_address['M_CityID'];
$rows[$k]['M_ProvinceID'] = $row_address['M_ProvinceID'];
$info = $this->db_onedev->query("SELECT fn_fo_patient_visit(?) info", [$v['M_PatientID']])->row();
$rows[$k]['info'] = json_decode($info->info);
}
$result = array("total" => $tot_page, "records" => $rows, "sql"=> $this->db_onedev->last_query());
$this->sys_ok($result);
}
else {
$this->sys_error_db("m_patient rows",$this->db_onedev);
exit;
}
}
function saveorder(){
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$userid = $this->sys_user["M_UserID"];
$prm = $this->sys_input;
$sql = "SELECT * FROM one_klinik.setting WHERE settingIsActive = 'Y' LIMIT 1";
$setting_data = $this->db_oneklinik->query($sql)->row_array();
$sql = "INSERT INTO one_klinik.`order` (`orderDate`,`orderM_PatientID`,`orderKeluhan`, `orderSubtotal`, `orderTotal`, `orderUserID`,`orderCreated`)
VALUES (NOW(),?,?,?,?,$userid,NOW())";
$save_order = $this->db_oneklinik->query($sql,array(
$prm['patient']['M_PatientID'],
$prm['keluhan'],
$setting_data['settingPriceDefault'],
$setting_data['settingPriceDefault']
));
//echo $this->db_oneklinik->last_query();
if($save_order){
$last_id = $this->db_oneklinik->insert_id();
//echo $last_id;
$sql = "SELECT * FROM one_klinik.`order` WHERE orderID = {$last_id}";
//echo $sql;
$data_order = $this->db_oneklinik->query($sql)->row_array();
$this->sys_ok($data_order);
}else{
$this->sys_error_db("error order save",$this->db_oneklinik);
exit;
}
}
public function list_patient()
{
$prm = $this->sys_input;
$max_rst = 20;
$tot_count = 0;
$number_limit = 20;
$number_offset = (!isset($prm['current_page'])?1:$prm['current_page'] - 1) * $number_limit ;
$xdate = $prm['date'];
$status = $prm['status'];
$sql = "SELECT 'N' divider,
CONCAT(M_TitleName,' ',IF(M_PatientPrefix = NULL,'',CONCAT(M_PatientPrefix,' ')),M_PatientName,IF(M_PatientPrefix = NULL,'',CONCAT(M_PatientSuffix,' '))) as patient_name,
`order`.*,DATE_FORMAT(orderDate,'%d-%m-%Y') as date_order,
'' as kode_status, '' as status
FROM one_klinik.`order`
JOIN m_patient ON orderM_PatientID = M_PatientID
JOIN m_title ON M_PatientM_TitleID = M_TitleID
WHERE
orderIsActive = 'Y' AND DATE(orderDate) = ? AND orderIsAnamnese = ?
LIMIT $number_limit offset $number_offset";
//echo $sql;
$query = $this->db_oneklinik->query($sql,array($xdate,$status));
//echo $this->db_oneklinik->last_query();
if ($query) {
$rows = $query->result_array();
foreach ($rows as $key => $value) {
$sql = "SELECT
FROM one_klinik.order_status
WHERE
orderStatusOrderID = ?
ORDER BY ";
}
$result = array("total" => $tot_page, "records" => $rows, "sql"=> $this->db_onedev->last_query());
$this->sys_ok($result);
}
else {
$this->sys_error_db("m_patient rows",$this->db_onedev);
exit;
}
}
function process_now(){
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$userID = $this->sys_user['M_UserID'];
//print_r($prm['subgroup']);
$sql = "INSERT INTO one_klinik.order_status (
orderStatusOrderID,
orderStatusCode,
orderStatusValue,
orderStatusUserID
)
VALUES(
?,?,?,?
)";
$query = $this->db_oneklinik->query($sql,array($prm['orderID'],'A','Y',$userID));
if(!$query){
$this->sys_error("Gagal Process");
}
$sql = "UPDATE one_klinik.`order` SET orderIsAnamnese = 'Y', orderUserID = ?
WHERE
orderID = ?";
$query = $this->db_oneklinik->query($sql,array($userID,$prm['orderID']));
if(!$query){
$this->sys_error("Gagal Process");
}
$result = array('process'=>'OK');
$this->sys_ok($result);
exit;
}
function cancel_now(){
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$userID = $this->sys_user['M_UserID'];
//print_r($prm['subgroup']);
$sql = "INSERT INTO one_klinik.order_status (
orderStatusOrderID,
orderStatusCode,
orderStatusValue,
orderStatusUserID
)
VALUES(
?,?,?,?
)";
$query = $this->db_oneklinik->query($sql,array($prm['orderID'],'A','N',$userID));
if(!$query){
$this->sys_error("Gagal Process");
}
$sql = "UPDATE one_klinik.`order` SET orderIsAnamnese = 'N', orderUserID = ?
WHERE
orderID = ?";
$query = $this->db_oneklinik->query($sql,array($userID,$prm['orderID']));
if(!$query){
$this->sys_error("Gagal Process");
}
$result = array('process'=>'OK');
$this->sys_ok($result);
exit;
}
function end_session(){
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$userID = $this->sys_user['M_UserID'];
//print_r($prm['subgroup']);
$sql = "INSERT INTO one_klinik.order_status (
orderStatusOrderID,
orderStatusCode,
orderStatusValue,
orderStatusUserID
)
VALUES(
?,?,?,?
)";
$query = $this->db_oneklinik->query($sql,array($prm['orderID'],'A','D',$userID));
if(!$query){
$this->sys_error("Gagal End");
}
$sql = "UPDATE one_klinik.`order` SET orderIsAnamnese = 'D', orderUserID = ?
WHERE
orderID = ?";
$query = $this->db_oneklinik->query($sql,array($userID,$prm['orderID']));
if(!$query){
$this->sys_error("Gagal ENd");
}
$result = array('process'=>'OK');
$this->sys_ok($result);
exit;
}
}