Skip to content

Instantly share code, notes, and snippets.

@khaeransori
Last active August 29, 2015 14:03
Show Gist options
  • Save khaeransori/8d20985ab6f1840922c1 to your computer and use it in GitHub Desktop.
Save khaeransori/8d20985ab6f1840922c1 to your computer and use it in GitHub Desktop.
remote anggota buat jati
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Anggota extends CI_Controller {
public function __construct()
{
parent::__construct();
header('Content-type: application/json');
header('Access-Control-Allow-Origin: *');
$this->load->model('model_konsultasi');
$this->load->model('model_anggota');
}
public function get_jadwal_konsultasi()
{
$negara = $this->input->post('negara');
$prop = $this->input->post('provinsi');
$kota = $this->input->post('kota');
$klinik = $this->input->post('klinik');
$dokter = $this->input->post('dokter');
$spesialis = $this->input->post('spesialis');
$result = $this->model_anggota->remote_get_jadwal_konsultasi($negara, $prop, $kota, $klinik, $dokter, $spesialis);
echo json_encode($result);
}
public function daftar_jadwal_konsultasi($id)
{
$this->form_validation->set_rules('id', 'ID', 'required');
$this->form_validation->set_rules('pasien', 'Pasien', 'required');
$this->form_validation->set_rules('tanggal', 'Tanggal', 'required');
$this->form_validation->set_rules('hari', 'Hari', 'required');
$this->form_validation->set_rules('keluhan', 'Keluhan', 'required');
if (FALSE === $this->form_validation->run()) {
$status = $this->model_anggota->getJadwalDetail($id);
$now = date("w");
$data['fasilitas'] = $status->fasilitas;
$data['spesialis'] = $status->spesialis;
$data['konsultan'] = $status->konsultan;
$hari = $this->model_anggota->gethari($now, $status->hari);
$data['tanggal'] = $hari['tanggal'] ;
$data['hari'] = $hari['hari'];
$data['jam'] = $status->jam;
$data['id'] = $status->id;
echo json_encode($data);
} else {
$idjadwal = $this->input->post('id');
$idpasien = $this->input->post('pasien');
$tgl = $this->input->post('tanggal');
$hari = $this->input->post('hari');
$keluhan = $this->input->post('keluhan');
$jadwal = $this->model_anggota->getJadwalKonsultan($idjadwal);
$pasien = $this->model_anggota->manage_anggota('cek', $idpasien, null);
$tanggal = date('Y-m-d', strtotime($tgl));
$data['id_pasien'] = $idpasien;
$data['nama_pasien'] = $pasien['baris']->nama_anggota;
$data['id_fasilitas'] = $jadwal->id_fasilitas;
$data['id_konsultan'] = $jadwal->id_konsultan;
$data['id_spesialis'] = $jadwal->id_spesialis;
$data['tanggal'] = $tanggal;
$data['hari'] = $hari;
$data['jam'] = $jadwal->jam_awal;
$data['keluhan'] = $keluhan;
$data['status'] = 'Pending';
$data['create_date'] = date('Y-m-d H:i:s', strtotime('+7 hour'));
$data['utama'] = '1';
$data['tampilkan'] = '1';
if ($this->model_anggota->manage_pasien('insert', null, $data)) {
$error = false;
$id_konsultasi = $this->db->insert_id();
$info = $data['nama_pasien'] . ' mendaftar';
// init email
$this->load->plugin('phpmailer');
$emailFrom = $this->config->item('email');
$namaFrom = $this->config->item('appname');
$subjectMsg = 'Notifikasi';
// email ke anggota
send_email_smtp($emailFrom,$namaFrom,$pasien['baris']->email,$subjectMsg,$info,true);
// notifikasi ke superadmin
$link = 'admin/home/lihatrespon/' . $id_konsultasi;
$this->model_notifikasi_konsultasi->superadmin($idpasien, 'anggota', 'superadmin', 0, $info, $link);
// email ke superadmin
$superadmin = $this->superadmin_model->get_all_by_fasilitas(0);
send_email_smtp($emailFrom,$namaFrom,$superadmin,$subjectMsg,$info);
// notifikasi ke dokter
$link = 'konsultan/home/lihatrespon/' . $id_konsultasi;
$this->model_notifikasi_konsultasi->konsultan('single', $idpasien, 'anggota', $data['id_konsultan'], $info, $link);
// email ke dokter
$konsultan = $this->konsultan_model->getKonsultanDetail($data['id_konsultan']);
send_email_smtp($emailFrom,$namaFrom,$konsultan->email,$subjectMsg,$info,true);
// notifikasi ke fasilitas yang dikehendaki
$link = 'fasilitas/home/detailpasien/' . $id_konsultasi;
$this->model_notifikasi_konsultasi->fasilitas('single', $idpasien, 'anggota', $data['id_fasilitas'], $info, $link);
// email ke fasilitas yang dikehendaki
$superadmin = $this->superadmin_model->get_all_by_fasilitas($data['id_fasilitas']);
send_email_smtp($emailFrom,$namaFrom,$superadmin,$subjectMsg,$info);
$kota = $this->model_anggota->getIDKota($jadwal->id_fasilitas)->id_kota;
$fasilitas = $this->model_anggota->getFasilitasSekota($kota, $jadwal->id_fasilitas);
if ($fasilitas) {
foreach ($fasilitas as $id):
$data['id_fasilitas'] = $id->id_fasilitas;
$data['utama'] = '0';
$data['tampilkan'] = '0';
$this->model_anggota->manage_pasien('insert', null, $data);
// notifikasi ke se kota
$link = 'fasilitas/home/detailpasien/' . $this->db->insert_id();
$this->model_notifikasi_konsultasi->fasilitas('single', $idpasien, 'anggota', $data['id_fasilitas'], $info, $link);
// email ke fasilitas yang se kota
$superadmin = $this->superadmin_model->get_all_by_fasilitas($data['id_fasilitas']);
send_email_smtp($emailFrom,$namaFrom,$superadmin,$subjectMsg,$info);
endforeach;
}
$message = 'Permintaan konsultasi di klinik sudah diterima dan sedang diproses. Konfirmasi mengenai jadwal konsultasi yang diminta, akan dikirimkan secepat mungkin.';
} else {
$message = 'Maaf, ada kesalahan, mohon ulangi lagi isi data.';
$error = true;
}
$result = array(
'error' => $error,
'message' => $message
);
echo json_encode($result);
}
}
public function get_status_konsultasi()
{
$id_anggota = $this->input->post('id_anggota');
$jumlah = $this->model_anggota->countKonsultasiPending($id_anggota);
$data = $this->model_anggota->getKonsultasiPending($id_anggota);
$result = array(
'jumlah' => $jumlah,
'data' => $data
);
echo json_encode($result);
}
public function get_detail_konsultasi()
{
$id_konsultasi = $this->input->post('id_konsultasi');
$data = $this->model_anggota->lihatrespon($id_konsultasi);
echo json_encode($data);
}
public function accept_konsultasi()
{
$id_konsultasi = $this->input->post('id_konsultasi');
$data['respon_pasien'] = '1';
$this->model_anggota->manage_pasien('update', $id_konsultasi, $data);
// detail konsultasi
$detail_konsultasi = $this->model_anggota->manage_pasien('cek', $id_konsultasi, '');
$detail_konsultasi = $detail_konsultasi['baris'];
$id_anggota = $detail_konsultasi->id_pasien;
$id_konsultan = $detail_konsultasi->id_konsultan;
$id_fasilitas = $detail_konsultasi->id_fasilitas;
// detail pasien
$detail_pasien = $this->model_anggota->manage_anggota('cek', $id_anggota, '');
$detail_pasien = $detail_pasien['baris'];
// info notifikasi
$info = $detail_pasien->nama_anggota . 'menerima konsultasi';
$idpasien = $detail_pasien->id_anggota;
// init email
$this->load->plugin('phpmailer');
$emailFrom = $this->config->item('email');
$namaFrom = $this->config->item('appname');
$subjectMsg = 'Notifikasi';
// notifikasi ke superadmin
$link = 'admin/home/lihatrespon/' . $id_konsultasi;
$this->model_notifikasi_konsultasi->superadmin($idpasien, 'anggota', 'superadmin', 0, $info, $link);
// email ke superadmin
$superadmin = $this->superadmin_model->get_all_by_fasilitas(0);
send_email_smtp($emailFrom,$namaFrom,$superadmin,$subjectMsg,$info);
// notifikasi ke dokter
$link = 'konsultan/home/lihatrespon/' . $id_konsultasi;
$this->model_notifikasi_konsultasi->konsultan('single', $idpasien, 'anggota', $id_konsultan, $info, $link);
// email ke dokter
$konsultan = $this->konsultan_model->getKonsultanDetail($id_konsultan);
send_email_smtp($emailFrom,$namaFrom,$konsultan->email,$subjectMsg,$info,true);
// notifikasi ke fasilitas yang dikehendaki
$link = 'fasilitas/home/detailpasien/' . $id_konsultasi;
$this->model_notifikasi_konsultasi->fasilitas('single', $idpasien, 'anggota', $id_fasilitas, $info, $link);
// email ke fasilitas yang dikehendaki
$superadmin = $this->superadmin_model->get_all_by_fasilitas($id_fasilitas);
send_email_smtp($emailFrom,$namaFrom,$superadmin,$subjectMsg,$info);
$tgl = $this->db->query('select create_date from tbl_konsultasi where id_konsultasi="'.$id_konsultasi.'" ')->row()->create_date;
$idkonsultasi = $this->db->query('select id_konsultasi from tbl_konsultasi WHERE create_date="'.$tgl.'" and id_konsultasi <> "'.$id.'" ')->result();
foreach ($idkonsultasi as $row):
$this->db->query('UPDATE tbl_konsultasi SET status="Cancel", respon_pasien="0" WHERE id_konsultasi="'.$row->id_konsultasi.'" ');
endforeach;
$message = 'Jadwal Konsultasi berhasil ditambahkan.';
$error = false;
$result = array(
'message' => $message,
'error' => $error
);
echo json_encode($result);
}
public function get_konsultasi_terjadwal()
{
$id_anggota = $this->input->post('id_anggota');
$jumlah = $this->model_anggota->countKonsultasiAccept($id_anggota);
$data = $this->model_anggota->getKonsultasiAccept($id_anggota);
$result = array(
'jumlah' => $jumlah,
'data' => $data
);
echo json_encode($result);
}
public function get_pembatalan_klinik()
{
$id_konsultasi = $this->input->post('id_konsultasi');
$hasil = $this->model_anggota->manage_pasien('cek', $id, null);
$result = array(
'id' => $hasil['baris']->id_konsultasi,
'pesan' => $hasil['baris']->saran
);
echo json_encode($result);
}
public function proccess_pembatalan_konsultasi()
{
$id = $this->input->post('id_konsultasi');
$data['status'] = 'Reject';
$data['respon_pasien'] = '3';
$this->model_anggota->manage_pasien('update', $id, $data);
// MULAI NOTIFIKASI BATAL KONSULTASI
$id_konsultasi = $id;
// detail konsultasi
$detail_konsultasi = $this->model_anggota->manage_pasien('cek', $id, '');
$detail_konsultasi = $detail_konsultasi['baris'];
$id_anggota = $detail_konsultasi->id_pasien;
$id_konsultan = $detail_konsultasi->id_konsultan;
$id_fasilitas = $detail_konsultasi->id_fasilitas;
// detail pasien
$detail_pasien = $this->model_anggota->manage_anggota('cek', $id_anggota, '');
$detail_pasien = $detail_pasien['baris'];
// info notifikasi
$info = $detail_pasien->nama_anggota . 'membatalkan konsultasi';
$idpasien = $detail_pasien->id_anggota;
// init email
$this->load->plugin('phpmailer');
$emailFrom = $this->config->item('email');
$namaFrom = $this->config->item('appname');
$subjectMsg = 'Notifikasi';
// notifikasi ke superadmin
$link = 'admin/home/lihatrespon/' . $id_konsultasi;
$this->model_notifikasi_konsultasi->superadmin($idpasien, 'anggota', 'superadmin', 0, $info, $link);
// email ke superadmin
$superadmin = $this->superadmin_model->get_all_by_fasilitas(0);
send_email_smtp($emailFrom,$namaFrom,$superadmin,$subjectMsg,$info);
// notifikasi ke dokter
$link = 'konsultan/home/lihatrespon/' . $id_konsultasi;
$this->model_notifikasi_konsultasi->konsultan('single', $idpasien, 'anggota', $id_konsultan, $info, $link);
// email ke dokter
$konsultan = $this->konsultan_model->getKonsultanDetail($id_konsultan);
send_email_smtp($emailFrom,$namaFrom,$konsultan->email,$subjectMsg,$info,true);
// notifikasi ke fasilitas yang dikehendaki
$link = 'fasilitas/home/lihathistory/' . $id_fasilitas;
$this->model_notifikasi_konsultasi->fasilitas('single', $idpasien, 'anggota', $id_fasilitas, $info, $link);
// email ke fasilitas yang dikehendaki
$superadmin = $this->superadmin_model->get_all_by_fasilitas($id_fasilitas);
send_email_smtp($emailFrom,$namaFrom,$superadmin,$subjectMsg,$info);
$kota = $this->model_anggota->getIDKota($detail_konsultasi->id_fasilitas)->id_kota;
$fasilitas = $this->model_anggota->getFasilitasSekota($kota, $detail_konsultasi->id_fasilitas);
if ($fasilitas) {
foreach ($fasilitas as $id):
// notifikasi ke se kota
$link = 'fasilitas/home/lihathistory/' . $id->id_fasilitas;
$this->model_notifikasi_konsultasi->fasilitas('single', $idpasien, 'anggota', $id->id_fasilitas, $info, $link);
// email ke fasilitas yang se kota
$superadmin = $this->superadmin_model->get_all_by_fasilitas($id->id_fasilitas);
send_email_smtp($emailFrom,$namaFrom,$superadmin,$subjectMsg,$info);
endforeach;
}
// AKHIR NOTIFIKASI BATAL KONSULTASI
$message = 'Konsultasi telah dibatalkan';
$error = false;
$result = array(
'message' => $message,
'error' => $error
);
echo json_encode($result);
}
public function get_histori_konsultasi()
{
$id_anggota = $this->input->post('id_anggota');
$jumlah = $this->model_anggota->countKonsultasiHistori($id_anggota);
$data = $this->model_anggota->getKonsultasiHistori($id_anggota);
$result = array(
'jumlah' => $jumlah,
'data' => $data
);
echo json_encode($result);
}
public function get_detail_histori_konsultasi()
{
$id_konsultasi = $this->input->post('id_konsultasi');
$data = $this->model_anggota->detailpasien($id_konsultasi);
echo json_encode($data);
}
}
/* End of file anggota.php */
/* Location: ./application/controllers/remote/anggota.php */
kondisi khusus untuk yang konsultasi terjadwal
<?php $i=1;foreach($opt_pasien as $row):
if (date('Y-m-d', strtotime($row->tanggal)) >= date('Y-m-d', strtotime("Today"))) {?>
<tr>
<td><b>Fasilitas :</b> <?php echo $row->klinik;?><br>
<?php echo $row->hari . ' <b>|</b> ' . date("d-m-Y", strtotime($row->tanggal)) . ' <b>|</b> ' . $row->jam;?></td>
<td><?php echo $row->dokter;?><br>(<?php echo $row->spesialis;?>)</td>
<td><?php if($row->status=="FBatal"){ echo "dibatalkan oleh klinik"; } else { echo $row->status; }?></td>
<td>
<?php if ($row->respon_pasien=="2") { ?>
<a href="<?php echo base_url();?>index.php?/anggota/home/pembatalanklinik/<?php echo $row->id;?>" class="btn" rel="tooltip" title="" data-original-title="lihat pesan klinik"><i class="icon-list"></i></a>
<?php } elseif (date('Y-m-d', strtotime($row->tanggal)) > date('Y-m-d', strtotime("Today"))) { ?>
<a href="<?php echo base_url();?>index.php?/anggota/home/batalkonsultasi3/<?php echo $row->id;?>" class="btn" rel="tooltip" title="" data-original-title="Batalkan Konsultasi"><i class="icon-remove"></i></a>
<?php } ?>
</td>
</tr>
<?php } $i++;endforeach;?>
// ini yang list respon konsultasi
<tbody>
<?php
$tgl = $this->model_anggota->getTanggal($detail->id);
$klinik = $this->model_anggota->getKlinikSekota($tgl);
$i=1;
foreach($klinik as $row):?>
<?php if(($row->utama=="1" or $row->disetujui=="1" or $row->disetujui=="3") and $row->tampilkan=="1") { ?>
<tr>
<td><?php echo $i;?></td>
<td><b>Fasilitas :</b> <?php echo $row->klinik;?><br>
<?php echo $row->hari.' | '.date("d-m-Y", strtotime($row->tanggal));?> | Jam <?php echo $row->jam;?>
</td>
<td>
<?php
if ($row->disetujui=="0") {
echo "Belum direspon"; }
elseif ($row->disetujui=="1") {
echo "Accept"; }
elseif ($row->disetujui=="2") {
echo "Decline"; }
elseif ($row->disetujui=="3") {
echo "Alternative"; }
?>
</td>
<td>
<?php if ($row->keterangan == ''):?>
<?php echo '-';?>
<?php else:?>
<?php echo $row->keterangan;?>
<?php endif;?>
</td>
<td>
<?php if ($row->disetujui=="1") { ?>
<a href="<?php echo base_url();?>index.php?/anggota/home/terimakonsultasi/<?php echo $row->idkonsultasi .'/'. $this->uri->segment(4);?>" class="btn" rel="tooltip" title="" data-original-title="Accept"><i class="icon-ok"></i></a>
<?php } ?>
<?php if (date('Y-m-d', strtotime($row->tanggal)) > date('Y-m-d', strtotime("Today"))) { ?>
<a href="<?php echo base_url();?>index.php?/anggota/home/batalkonsultasi0/<?php echo $row->idkonsultasi;?>" class="btn" rel="tooltip" title="" data-original-title="Batalkan Konsultasi"><i class="icon-remove"></i></a>
<?php } ?>
</td>
</tr>
<?php } ?>
<?php $i++; endforeach;?>
</tbody>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment