Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?Php
- use phpDocumentor\Reflection\Types\Object_;
- require_once APPPATH . 'core/API_Controller.php';
- class Antrean extends API_Controller
- {
- var $unit;
- var $dokter;
- var $base_url = 'https://apijkn.bpjs-kesehatan.go.id/antreanrs';
- public function __construct()
- {
- parent::__construct();
- $this->load->model('Api_m');
- }
- public function pasien_baru_post()
- {
- $data["nomor_rm"] = $this->Api_m->get_nomor_rm();
- $data["nik"] = $this->post("nik");
- $data["nama_lengkap"] = $this->post("nama");
- $data["nomor_asuransi"] = $this->post("nomorkartu");
- $data["nama_keluarga"] = '';
- $data["tempat_lahir"] = '';
- $data["tgl_lahir"] = $this->post('tanggallahir');
- $data["jk"] = $this->post("jeniskelamin") == 'L' ? 1 : 2;
- $data["alamat"] = $this->post("alamat");
- $data["kd_desa"] = $this->post("kodekel");
- $data["kd_kecamatan"] = $this->post("kodekec");
- $data["kd_kabupaten"] = $this->post("kodedati2");
- // $data["kd_provinsi"] = $this->post("kodeprop");
- $data["telp"] = $this->post("nohp");
- $data["id_agama"] = 1;
- $data["id_status_nikah"] = 1;
- $data["id_pendidikan"] = 1;
- $data["id_pekerjaan"] = 1;
- $data["id_suku_bangsa"] = 1;
- $data["kewarganegaraan"] = 'WNI';
- $data["id_jenis_pasien"] = 2;
- $data["tanggal"] = date("Y-m-d");
- $data['created_by'] = 2;
- $data['created_at'] = date('Y-m-d H:i:s');
- $data['updated_by'] = 1;
- $data['deleted_by'] = 1;
- $this->no_validation($data["nomor_asuransi"], 'Nomor Kartu', 13, 'Format Nomor Kartu Tidak Sesuai');
- $this->no_validation($data["nik"], 'NIK', 16, 'Format NIK Tidak Sesuai');
- $this->check_if_empty($data["nama_lengkap"], 'Nama');
- $this->check_if_empty($this->post("nomorkk"), 'Nomor KK');
- $this->check_if_empty($this->post("jeniskelamin"), 'Jenis Kelamin');
- $this->check_if_empty($this->post("tanggallahir"), 'Tanggal Lahir');
- $this->check_if_empty($this->post("alamat"), 'Alamat');
- $this->check_if_empty($this->post("kodeprop"), 'Kode Provinsi');
- $this->check_if_empty($this->post("namaprop"), 'Nama Provinsi');
- $this->check_if_empty($this->post("kodedati2"), 'Kode Dati2');
- $this->check_if_empty($this->post("namadati2"), 'Dati2');
- $this->check_if_empty($this->post("kodekec"), 'Kode Kecamatan');
- $this->check_if_empty($this->post("namakec"), 'Kecamatan');
- $this->check_if_empty($this->post("kodekel"), 'Kode Kelurahan');
- $this->check_if_empty($this->post("namakel"), 'Kelurahan');
- $this->check_if_empty($this->post("rt"), 'RT');
- $this->check_if_empty($this->post("rw"), 'RW');
- if (!$this->date_validation($data["tgl_lahir"])) {
- $this->send_response(null, 201, "Format Tanggal Tidak Sesuai");
- }
- $pasien = $this->Api_m->get_data('data_pasien', '*', [
- 'nik' => $data["nik"],
- 'nomor_asuransi' => $data["nomor_asuransi"]
- ])->row();
- if ($pasien) {
- $this->send_response(null, 201, "Data Peserta Sudah Pernah Dientrikan");
- }
- $kecamatan = $this->Api_m->get_data('master_kecamatan', '*', [
- 'kd_kecamatan' => $data["kd_kecamatan"]
- ])->row();
- if ($kecamatan == null) {
- $this->send_response(null, 201, "kode kecamatan tidak sesuai referensi sistem");
- }
- $kabupaten = $this->Api_m->get_data('master_kabupaten', '*', [
- 'kd_kabupaten' => $data["kd_kabupaten"]
- ])->row();
- if ($kabupaten == null) {
- $this->send_response(null, 201, "kode kabupaten tidak sesuai referensi sistem");
- }
- $desa = $this->Api_m->get_data('master_desa', '*', [
- 'kd_desa' => $data["kd_desa"]
- ])->row();
- if ($desa == null) {
- $this->send_response(null, 201, "kode desa tidak sesuai referensi sistem");
- }
- if ($this->Api_m->tambah_data('data_pasien', $data)) {
- $this->send_response(['norm' => $data["nomor_rm"]], 200, "Harap datang ke admisi untuk melengkapi data rekam medis");
- } else {
- $eror = $this->Api_m->get_db_error();
- $this->send_response(null, 201, $eror);
- }
- }
- public function status_antrean_post()
- {
- $kode_poli = $this->post('kodepoli');
- $kode_dokter = $this->post('kodedokter');
- $tanggal_periksa = $this->post('tanggalperiksa');
- $jam_praktek = $this->post('jampraktek');
- if ($tanggal_periksa == null)
- $this->send_response(null, 201, 'Tanggal tidak boleh kosong.');
- if (!$this->date_validation($tanggal_periksa)) {
- $this->send_response(null, 201, "Format Tanggal Tidak Sesuai, format yang benar adalah yyyy-mm-dd");
- }
- $d = date('Y-m-d', strtotime($tanggal_periksa));
- if ($d < date("Y-m-d")) {
- $this->send_response(null, 201, 'Tanggal periksa tidak berlaku.');
- }
- $this->unit_validation($kode_poli); //validate kode_unit bpjs
- $this->dokter_validation($kode_dokter); // validasi kode dokter bpjs
- $antrean = $this->Api_m->status_antrean($this->unit->kd_bpjs, $this->dokter->kd_dokter_bpjs, $tanggal_periksa, $jam_praktek);
- // echo json_encode($antrean); exit;
- // $this->send_response($antrean,200,"ok");
- if ($antrean == null) {
- $antrean = new Object_();
- $antrean->totalantrean = 0;
- $antrean->sisaantrean = 0;
- $antrean->antreanpanggil = null;
- $antrean->kuota_mjkn = $this->unit->kuota_mjkn ?: 30;
- }
- $result = array(
- 'namapoli' => $this->unit->nama_unit,
- 'totalantrean' => intval($antrean->totalantrean),
- 'sisaantrean' => intval($antrean->sisaantrean),
- 'antreanpanggil' => $antrean->antreanpanggil != null ? $antrean->kd_bpjs . '-' . str_pad($antrean->antreanpanggil, 3, '0', STR_PAD_LEFT) : '-',
- "namadokter" => $this->dokter->nama_pegawai,
- "sisakuotajkn" => $antrean->kuota_mjkn - intval($antrean->totalantrean),
- "kuotajkn" => $antrean->kuota_mjkn,
- "sisakuotanonjkn" => 999,
- "kuotanonjkn" => 999,
- "keterangan" => ""
- );
- $this->send_response([$result], 200, "ok");
- }
- public function antrean_post()
- {
- try {
- $this->db->trans_begin();
- $nomorkartu = $this->post("nomorkartu");
- $nik = $this->post("nik");
- $nohp = $this->post("nohp");
- $kodepoli = $this->post("kodepoli");
- $norm = $this->post("norm");
- $tanggalperiksa = $this->post("tanggalperiksa");
- $kodedokter = $this->post("kodedokter");
- $jampraktek = $this->post("jampraktek");
- $jeniskunjungan = $this->post("jeniskunjungan");
- $nomorreferensi = $this->post("nomorreferensi");
- // $this->response([
- // 'nomor_rm' => $norm,
- // 'nik' => $nik,
- // 'nomor_asuransi' => $nomorkartu
- // ],200);
- $this->unit_validation($kodepoli); //validate kode_unit bpjs
- $this->dokter_validation($kodedokter); // validasi kode dokter bpjs
- if (!$this->date_validation($tanggalperiksa)) {
- $this->send_response(null, 201, "Format Tanggal Tidak Sesuai, format yang benar adalah yyyy-mm-dd");
- }
- $tanggal = date('Y-m-d', strtotime($tanggalperiksa));
- if ($tanggal < date("Y-m-d")) {
- $this->send_response(null, 201, 'Tanggal periksa tidak berlaku.');
- }
- $this->no_validation($nomorkartu, 'Nomor Kartu', 13, 'Format Nomor Kartu Tidak Sesuai');
- $this->no_validation($nik, 'NIK', 16, 'Format NIK Tidak Sesuai');
- $this->load->helper('bpjs_antrol');
- $header = $this->input->request_headers();
- $headers[] = "Content-Type: application/json; charset=utf-8";
- $headers[] = "x-username: " . $header['x-username'];
- $headers[] = "x-token: " . $header['x-token'];
- $endpoint = '/jadwaldokter/kodepoli/' . $this->unit->kd_bpjs . '/tanggal/' . $tanggal;
- $url = $this->base_url . $endpoint;
- $req_method = 'GET';
- // echo vclaim_request($req_method, $url, $headers);
- $decoded_response = vclaim_request($req_method, $url, $headers);
- // $this->send_response($decoded_response, 200, 'OK');
- if ($decoded_response->metadata->code != 200) {
- $this->send_response(null, 201, 'Pendaftaran ke Poli Ini Sedang Tutup');
- }
- $jadwal_dokter = null;
- foreach ($decoded_response->response as $jadwal) {
- if ($this->dokter->kd_dokter_bpjs == $jadwal->kodedokter) {
- $jadwal_dokter = $jadwal;
- }
- }
- if ($jadwal_dokter == null) {
- $this->send_response(
- null,
- 201,
- 'Jadwal Dokter ' . $this->dokter->nama_pegawai . ' Tersebut Belum Tersedia, Silahkan Reschedule Tanggal dan Jam Praktek Lainnya'
- );
- }
- $jam = explode('-', $jadwal_dokter->jadwal);
- $jam_mulai = strtotime($tanggal . ' ' . $jam[0]);
- $jam_selesai = strtotime($tanggal . ' ' . $jam[1]);
- $jam_sekarang = time();
- if ($jam_sekarang > $jam_selesai) {
- $this->send_response(
- null,
- 201,
- 'Pendaftaran Ke Poli (' . $this->unit->nama_unit . ') Sudah Tutup Jam ' . $jam[1]
- );
- }
- $pasien = $this->Api_m->get_data('data_pasien', '*', [
- 'nomor_rm' => $norm,
- 'nik' => $nik,
- 'nomor_asuransi' => $nomorkartu
- ])->row();
- // $this->response($pasien,200);
- if ($pasien == null) {
- $this->send_response(null, 202, "Data pasien ini tidak ditemukan, silahkan Melakukan Registrasi Pasien Baru");
- }
- $kunjungan = $this->Api_m->get_data('kunjungan', '*', [
- 'tanggal' => $tanggal,
- 'nomor_rm' => $pasien->nomor_rm,
- 'kd_unit' => $this->unit->kd_unit,
- 'deleted' => "0"
- ])->row();
- if ($kunjungan != null) {
- $this->send_response(null, 201, "Nomor Antrean Hanya Dapat Diambil 1 Kali Pada Tanggal Yang Sama");
- }
- $ym = date('ym', strtotime($tanggalperiksa));
- $nourut = $this->Api_m->get_new_notran($ym);
- $kd_kunjungan = $ym . STR_PAD(++$nourut, 4, '0', STR_PAD_LEFT);
- $ym = date('ymd', strtotime($tanggalperiksa));
- $params = [
- 'kd_unit' => $this->unit->kd_unit,
- 'tanggal' => $tanggalperiksa,
- 'kd_kunjungan' => $kd_kunjungan,
- 'kd_pegawai' => $this->dokter->kd_pegawai
- ];
- // $nourut_poli = $this->Api_m->get_no_antrean($ym . $this->dokter->kd_pegawai);
- $nourut_poli = $this->Api_m->getNoAntreanV2($params);
- $kdKunjunganRj = $this->Api_m->getKdKunjunganRJ($params);
- list($kode, $urutan) = explode("-", $nourut_poli);
- $urutanAngka = (int)$urutan;
- $birthDt = new DateTime($pasien->tgl_lahir); //tanggal lahir
- $today = new DateTime("today"); //tanggal hari ini
- $y = $today->diff($birthDt)->y;
- $m = $today->diff($birthDt)->m;
- $d = $today->diff($birthDt)->d;
- $kabupaten = $this->Api_m->get_data('master_kabupaten', '*', ['kd_kabupaten' => $pasien->kd_kabupaten, 'deleted' => 0])->row();
- $kunjungan = array(
- 'kd_kunjungan' => $kd_kunjungan,
- 'tanggal' => $tanggal,
- 'waktu' => date("H:i:s"),
- 'nomor_rm' => $pasien->nomor_rm,
- 'nama_pasien' => $pasien->nama_lengkap,
- 'jk' => $pasien->jk,
- 'tgl_lahir' => $pasien->tgl_lahir,
- 'umur_thn' => $y,
- 'umur_bln' => $m,
- 'umur_hari' => $d,
- 'alamat' => $pasien->alamat,
- 'kd_desa' => $pasien->kd_desa,
- 'kd_kecamatan' => $pasien->kd_kecamatan,
- 'kd_kabupaten' => $pasien->kd_kabupaten,
- 'kd_provinsi' => $kabupaten->kd_provinsi,
- 'minggu_ke' => 0,
- 'status_kunjungan' => "Lama",
- 'kd_unit' => $this->unit->kd_unit,
- 'kd_unit_ri' => 00,
- 'kd_pegawai' => $this->dokter->kd_pegawai,
- 'id_jenis_pasien' => 2,
- 'nomor_asuransi' => $pasien->nomor_asuransi,
- 'nomor_sep' => '',
- 'antrian' => $nourut_poli,
- 'jenis_kunjungan' => $jeniskunjungan,
- 'nomor_referensi' => $nomorreferensi,
- 'sumber' => "online jkn",
- 'status' => "mendaftar",
- 'kd_pembiayaan' => '00',
- 'waktu_checkin' => null,
- 'created_by' => 4,
- 'created_at' => date('Y-m-d H:i:s'),
- 'updated_by' => 1,
- 'updated_at' => date('0000-00-00 00:00:00'),
- 'deleted_by' => 1,
- 'deleted_at' => date('0000-00-00 00:00:00'),
- );
- $kunjungan_rj = [
- 'kd_kunjungan_rj' => $kdKunjunganRj,
- 'tanggal' => $tanggal,
- 'waktu' => date("H:i:s"),
- 'kd_kunjungan' => $kd_kunjungan,
- 'nomor_rm' => $pasien->nomor_rm,
- 'nomor_asuransi' => $pasien->nomor_asuransi,
- 'nama_pasien' => $pasien->nama_lengkap,
- 'jk' => $pasien->jk,
- 'tgl_lahir' => $pasien->tgl_lahir,
- 'umur_thn' => $y,
- 'umur_bln' => $m,
- 'umur_hari' => $d,
- 'id_jenis_pasien' => 2,
- 'kd_unit' => $this->unit->kd_unit,
- 'kd_dokter' => $this->dokter->kd_pegawai,
- 'created_by' => 4,
- 'created_at' => date('Y-m-d H:i:s'),
- 'updated_by' => 4,
- 'updated_at' => date('Y-m-d H:i:s'),
- 'deleted' => 0,
- 'urutan' => 0
- ];
- $daftar = $this->Api_m->register($kunjungan);
- $this->Api_m->insertKunjunganRJ($kunjungan_rj);
- // $biaya_pendaftaran = $this->Api_m->get_biaya_pendaftaran($this->unit->kd_unit);
- $jenis_pasien = $this->Api_m->get_jenis_pasien_by(2);
- // foreach ($biaya_pendaftaran as $key => $row) {
- // $data_biaya_pendaftaran[$key]['kd_kunjungan'] = $kd_kunjungan;
- // $data_biaya_pendaftaran[$key]['nomor_rm'] = $pasien->nomor_rm;
- // $data_biaya_pendaftaran[$key]['id_tarif'] = $row['id_tarif'];
- // $data_biaya_pendaftaran[$key]['nama_tarif'] = $row['nama_tarif'];
- // $data_biaya_pendaftaran[$key]['jasa_sarana'] = $row['jasa_sarana'];
- // $data_biaya_pendaftaran[$key]['jasa_pelayanan'] = $row['jasa_pelayanan'];
- // $data_biaya_pendaftaran[$key]['bayar'] = $jenis_pasien['bayar'];
- // $data_biaya_pendaftaran[$key]['status_bayar'] = 'Belum';
- // $data_biaya_pendaftaran[$key]['tunggakan'] = 'Tidak';
- // $data_biaya_pendaftaran[$key]['created_by'] = '09';
- // $data_biaya_pendaftaran[$key]['created_at'] = date('Y-m-d H:i:s');
- // $data_biaya_pendaftaran[$key]['updated_by'] = 1;
- // $data_biaya_pendaftaran[$key]['updated_at'] = date('0000-00-00 00:00:00');
- // $data_biaya_pendaftaran[$key]['deleted_by'] = 1;
- // $data_biaya_pendaftaran[$key]['deleted_at'] = date('0000-00-00 00:00:00');
- // }
- // $this->Api_m->store_biaya_pendaftaran($data_biaya_pendaftaran);
- if (!$daftar) {
- $this->send_response(null, 201, "Registrasi gagal");
- }
- $antrean = $this->Api_m->status_antrean($this->unit->kd_bpjs, $this->dokter->kd_dokter_bpjs, $tanggalperiksa, $jampraktek);
- // $this->send_response($antrean,200,"ok");
- if ($antrean == null) {
- $antrean = new Object_();
- $antrean->totalantrean = 0;
- $antrean->sisaantrean = 0;
- $antrean->antreanpanggil = null;
- $antrean->kuota_mjkn = $this->unit->kuota_mjkn ?: 30;
- }
- $timeStampAntrol = 0;
- if ($antrean->antreanpanggil < $urutanAngka) {
- $selectedTime = $jam[0] . ":30";
- if ($antrean->antreanpanggil <= 1) {
- $minutes = 7;
- } else {
- $minutes = 7 * $antrean->antreanpanggil;
- }
- $minuterProcess = "+" . $minutes . "minutes";
- $endTime = strtotime($minuterProcess, strtotime($selectedTime));
- $newDate = $tanggalperiksa . " " . date('H:i:s', $endTime);
- $convertToMicrotime = $this->convertToMilisecond($newDate);
- list($jamNew, $menitNew, $detikNew) = explode(":", $newDate);
- // $dt = new DateTime($formatingNew);
- // $timeStampAntrol = $dt->getTimestamp();
- // $jam = intdiv((($urutanAngka - ($antrean->antreanpanggil ?: 0)) * 7), 60);
- // $menit = (($urutanAngka - ($antrean->antreanpanggil ?: 0)) * 7) % 60;
- // $menit = str_pad($menit, 2, '0', STR_PAD_LEFT);
- // $jam = str_pad(8 + $jam, 2, '0', STR_PAD_LEFT);
- $estimasi_dilayani = $tanggal . ' ' . $jamNew . ':' . $menitNew . ':' . $detikNew;
- }
- $kuotaJKN = $antrean->kuota_mjkn - intval($antrean->totalantrean);
- $response = array(
- "nomorantrean" => $nourut_poli,
- // "antreanterpanggil" => $antrean->antreanpanggil == null ? 0 : $antrean->antreanpanggil,
- "angkaantrean" => $urutanAngka,
- "kodebooking" => $kd_kunjungan,
- "norm" => $norm,
- "namapoli" => $this->unit->nama_unit,
- "namadokter" => $this->dokter->nama_pegawai,
- "estimasidilayani" => $convertToMicrotime,
- // "estimasidilayani" => strtotime($estimasi_dilayani) * 1000,
- "sisakuotajkn" => $kuotaJKN < 0 ? 0 : $kuotaJKN,
- "kuotajkn" => (int)$antrean->kuota_mjkn,
- "sisakuotanonjkn" => 0,
- "kuotanonjkn" => 0,
- "keterangan" => "Peserta harap 60 menit lebih awal guna pencatatan administrasi."
- );
- $this->db->trans_commit();
- $postLog = [
- 'data' => json_encode($antrean),
- 'respon' => json_encode($response)
- ];
- $this->Api_m->storeLogAntrol($postLog);
- $this->send_response($response, 200, "Ok");
- } catch (\Exception $e) {
- $this->db->trans_rollback();
- $data = [
- 'nomorkartu' => $this->post("nomorkartu"),
- 'nik' => $this->post("nik"),
- 'nohp' => $this->post("nohp"),
- 'kodepoli' => $this->post("kodepoli"),
- 'norm' => $this->post("norm"),
- 'tanggalperiksa' => $this->post("tanggalperiksa"),
- 'kodedokter' => $this->post("kodedokter"),
- 'jampraktek' => $this->post("jampraktek"),
- 'jeniskunjungan' => $this->post("jeniskunjungan"),
- 'nomorreferensi' => $this->post("nomorreferensi")
- ];
- $post = [
- 'data' => json_encode($data),
- 'respon' => json_encode($e)
- ];
- $this->Api_m->storeLogAntrol($post);
- $this->send_response(null, 201, "Terjadi Kesalahan pada server");
- }
- }
- public function sisa_antrean_post()
- {
- $kode_booking = $this->post("kodebooking");
- $data_antrean = $this->Api_m->sisa_antrean($kode_booking);
- if ($data_antrean == null) {
- $this->send_response(null, 201, "Antrean tidak ditemukan");
- }
- $response = array(
- "nomorantrean" => $data_antrean->kd_unit_bpjs . '-' . $data_antrean->antrian,
- "namapoli" => $data_antrean->namapoli,
- "namadokter" => $data_antrean->namadokter,
- "sisaantrean" => $data_antrean->sisaantrean,
- "antreanpanggil" => $data_antrean->antreanpanggil ?: '-',
- "waktutunggu" => $data_antrean->sisaantrean * 1000 * 60 * 60 * 15,
- "keterangan" => ""
- );
- $this->send_response($response, 200, "OK");
- }
- public function batal_antrean_post()
- {
- $kode_booking = $this->post("kodebooking");
- $keterangan = $this->post("keterangan");
- $kunjungan = $this->Api_m->get_kunjungan($kode_booking);
- if ($kunjungan == null) {
- $this->send_response(null, 201, "Antrean tidak ditemukan");
- }
- if ($kunjungan->status == "terlayani") {
- $this->send_response(null, 201, "Antrean sudah dilayanai, antrean tidak dapat dibatalkan");
- }
- if ($kunjungan->deleted == 1) {
- $this->send_response(null, 201, "Antrean tidak ditemukan atau sudah dibatalkan");
- }
- $delete_kunjungan = $this->Api_m->batal_antrean($kode_booking, $this->user->user_id);
- $this->Api_m->batalAntreanPoli($kode_booking);
- if ($delete_kunjungan) {
- $this->send_response(null, 200, "OK");
- } else {
- $this->send_response(null, 201, "Gagal batal antrean");
- }
- }
- public function checkin_post()
- {
- $kodebooking = $this->post("kodebooking"); // kodebookin = kd_kunjungan
- $kunjungan = $this->Api_m->get_kunjungan($kodebooking);
- if ($kunjungan == null) {
- $this->send_response(null, 201, "Antrean tidak ditemukan");
- }
- $waktu = $this->post("waktu"); // in miliseconds
- $seconds = $waktu / 1000;
- $waktu_checkin = date("Y-m-d H:i:s", $seconds);
- $check_in = $this->Api_m->check_in($kodebooking, $waktu_checkin);
- if ($check_in) {
- $this->send_response(null, 200, "OK");
- }
- $this->send_response(['kodebooking' => $kodebooking, 'waktu' => $waktu], 201, "Checkin Gagal");
- }
- function jadwal_operasi_rs_post()
- {
- $tanggalawal = date('Y-m-d', strtotime($this->post("tanggalawal")));
- $tanggalakhir = date('Y-m-d', strtotime($this->post("tanggalakhir")));
- if (!$this->date_validation($tanggalawal)) {
- $this->send_response(null, 201, "Format Tanggal Tidak Sesuai, format yang benar adalah yyyy-mm-dd");
- }
- if (!$this->date_validation($tanggalawal)) {
- $this->send_response(null, 201, "Format Tanggal Tidak Sesuai, format yang benar adalah yyyy-mm-dd");
- }
- if ($tanggalakhir < $tanggalawal) {
- $this->send_response(null, 201, "Tanggal akhir tidak boleh lebih kecil dari tanggal awal");
- }
- $jadwal_operasi = $this->Api_m->get_jadwal_operasi([
- 'tanggaloperasi >= ' => $tanggalawal,
- 'tanggaloperasi <=' => $tanggalakhir
- ])->result();
- $data = array("list" => $jadwal_operasi);
- $this->send_response($data, 200, "OK");
- }
- function jadwal_operasi_pasien_post()
- {
- $nopeserta = $this->post("nopeserta");
- $pasien = $this->Api_m->get_data('data_pasien', '*', ['nomor_asuransi' => $nopeserta, 'deleted' => 0])->row();
- if ($pasien == null) {
- $this->send_response(null, 201, "Data pasien ini tidak ditemukan, silahkan Melakukan Registrasi Pasien Baru");
- }
- $jadwal_operasi = $this->Api_m->jadwal_operasi_pasien($pasien->nomor_rm)->result();
- foreach ($jadwal_operasi as $jadwal) {
- $jadwal->terlaksana = $jadwal->status_operasi == 'selesai' ? 1 : 0;
- unset($jadwal->status_operasi);
- }
- $jadwal = array(
- array(
- "kodebooking" => "123456ZXC",
- "tanggaloperasi" => "2019-12-11",
- "jenistindakan" => "operasi gigi",
- "kodepoli" => "001",
- "namapoli" => "Poli Bedah Mulut",
- "terlaksana" => 0
- ),
- array()
- );
- $this->send_response($jadwal_operasi, 200, "OK");
- }
- public function setdilayani_post()
- {
- $kd_kunjungan = $this->post("kodebooking");
- $this->Api_m->set_dilayani($kd_kunjungan);
- $this->send_response(null, 200, "OK");
- }
- public function no_validation($no, $whatnumber, $length, $not_valid_message)
- {
- if (empty(trim($no))) {
- $this->send_response(null, 201, $whatnumber . ' Belum Diisi');
- }
- if (!ctype_digit($no) or strlen($no) != $length) {
- $this->send_response(null, 201, $not_valid_message);
- }
- }
- public function check_if_empty($var, $whatvar, $ifemptymessage = null)
- {
- if (empty(trim($var))) {
- $this->send_response(null, $whatvar . ($ifemptymessage ?? ' Belum Diisi'), 201);
- }
- }
- public function date_validation($date, $format = 'Y-m-d')
- {
- $date_temp = DateTime::createFromFormat($format, $date);
- return $date_temp && $date_temp->format($format) === $date;
- }
- public function unit_validation($kode_unit)
- {
- if ($kode_unit == null) {
- $this->send_response(null, 201, 'Poli tidak boleh kosong');
- }
- $this->unit = $this->Api_m->get_unit($kode_unit);
- if ($this->unit == null) {
- $this->send_response(null, 201, 'Poli tidak ditemukan');
- }
- }
- public function dokter_validation($kode_dokter)
- {
- if ($kode_dokter == null) {
- $this->send_response(null, 201, 'Dokter tidak boleh kosong');
- }
- $this->dokter = $this->Api_m->get_dokter($kode_dokter);
- if ($this->dokter == null) {
- $this->send_response(null, 201, 'Dokter tidak ditemukan');
- }
- }
- public function send_response($data, $kode, $message)
- {
- $this->response(array(
- "response" => $data,
- "metadata" => array(
- "message" => $message,
- "code" => $kode
- )
- ), 200);
- }
- public function referensi_poli_get()
- {
- $this->load->helper('bpjs_antrol');
- $headers[] = "Content-Type: application/json; charset=utf-8";
- $endpoint = '/ref/poli';
- $url = $this->base_url . $endpoint;
- $req_method = 'GET';
- // echo vclaim_request($req_method, $url, $headers);
- $decoded_response = vclaim_request($req_method, $url, $headers);
- $this->send_response($decoded_response, 200, 'OK');
- }
- public function referensi_dokter_get()
- {
- $this->load->helper('bpjs_antrol');
- $headers[] = "Content-Type: application/json; charset=utf-8";
- $unit = $this->input->get('unit');
- $tanggal = $this->input->get('tanggal');
- $endpoint = '/jadwaldokter/kodepoli/' . $unit . '/tanggal/' . $tanggal;
- $url = $this->base_url . $endpoint;
- $req_method = 'GET';
- // echo vclaim_request($req_method, $url, $headers);
- $decoded_response = vclaim_request($req_method, $url, $headers);
- $this->send_response($decoded_response, 200, 'OK');
- }
- public function pasien_baru()
- {
- $this->load->helper('bpjs_antrol');
- $headers[] = "Content-Type: application/json; charset=utf-8";
- $endpoint = '/jadwaldokter/kodepoli/' . $unit . '/tanggal/' . $tanggal;
- $url = $this->base_url . $endpoint;
- $req_method = 'GET';
- // echo vclaim_request($req_method, $url, $headers);
- $decoded_response = vclaim_request($req_method, $url, $headers);
- $this->send_response($decoded_response, 200, 'OK');
- }
- public function convertToMilisecond($time)
- {
- date_default_timezone_set('Asia/Bangkok');
- if (!preg_match('/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/', $time)) {
- throw new Exception("Invalid date-time format. Please use YYYY-MM-DD HH:II:SS");
- }
- // The date and time string
- $date_string = $time;
- // Create a DateTime object from the date and time string
- $date = new DateTime($date_string);
- // Get the Unix timestamp in seconds
- $timestamp_seconds = $date->getTimestamp();
- // Convert the Unix timestamp to milliseconds
- $timestamp_milliseconds = $timestamp_seconds * 1000;
- // Output the timestamp in milliseconds
- return $timestamp_milliseconds;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement