Files
2024-04-19 14:04:41 +07:00

670 lines
31 KiB
PHP

<?php
require_once '../core/main.php';
require _DOCROOT_ . 'vendor/autoload.php';
use \Verot\Upload\Upload;
ini_set('upload_max_filesize', '8M');
ini_set('memory_limit', '1024M');
$sql_date = "select * from global_var where var_name = 'start_tarif_baru'";
$tmp_date_start = $db->query($sql_date);
$date_start = $tmp_date_start->fetchAll()[0];
$is_tarif_baru = false;
if ($tmp_date_start->numRows() >0){
$date_tarif_baru = $date_start['var_value'];
if ($date_tarif_baru >= '2024-02-01'){
$is_tarif_baru = true;
}
}
function file_save($file, $nomr, $noktp, $jenis)
{
// handle upload
$handle = new upload($file);
$handle->file_max_size = '8M';
$handle->file_new_name_body = $nomr . '_' . $jenis . '_' . $noktp;
$handle->allowed = array('application/pdf', 'image/jpeg', 'image/png');
if ($handle->uploaded) {
$base_upload_dir = '../dokumen/';
$nomr_dir = makeDir($base_upload_dir . $nomr . '/', 0777);
$date_dir = makeDir($base_upload_dir . $nomr . '/' . date('Ymd'), 0777);
$handle->process($base_upload_dir . $nomr . '/' . date('Ymd') . '/');
if ($handle->processed) {
$handle->clean();
// dd("Name : ".$handle->file_dst_name);
return $handle->file_dst_pathname;
} else {
return $handle->error;
}
} else {
return false;
}
}
$_error_msg = "";
$pasienbaru = $_POST['PASIENBARU'];
$status = $_POST['STATUS'];
$carabayar = $_POST['KDCARABAYAR'];
$ketemu = "0";
$arr_namevar = array('PASIENBARU', 'STATUSPASIEN', 'NOMR', 'SHIFT', 'POLIKLINIK', 'DOKTERJAGA', 'TGLREG', 'KDCARABAYAR', 'jns_peserta', 'nokartu', 'NK', 'strujukan', 'KETRUJUK', 'KDRUJUK', 'norujukan', 'tglrujuk', 'diagnosa', 'diagnosa_utama', 'kelas', 'NAMA', 'CALLER', 'TEMPAT', 'TGLLAHIR', 'umur', 'ALAMAT', 'ALAMAT_KTP', 'bahasa', 'kebangsaan', 'KDPROVINSI', 'KOTA', 'KDKECAMATAN', 'KELURAHAN', 'NOTELP', 'notelprumah1', 'notelprumah2', 'notelpkantor', 'no_hp', 'NOKTP', 'sim', 'paspor', 'SUAMI_ORTU', 'PEKERJAAN', 'nama_penanggungjawab', 'hubungan_penanggungjawab', 'alamat_penanggungjawab', 'phone_penanggungjawab', 'asal_masuk', 'JENISKELAMIN', 'STATUS', 'AGAMA', 'PENDIDIKAN', 'disabilitas', 'hambatan_komunikasi', 'kepercayaan');
$arr_url = array();
foreach ($arr_namevar as $l) {
$name = ($l == 'NOMR') ? 'xNOMR' : $l;
$value = (array_key_exists($l, $_POST)) ? $_POST[$l] : '';
$arr_url[] = $name . '=' . $value;
}
if ($pasienbaru == 1) {
foreach ($_POST as $key => $val) {
$$key = $val;
}
#if(strlen($_POST['NOMR'])!=6) $_error_msg = $_error_msg."No MR Belum Lengkap, ";
// if($_POST['KDRUJUK']=="") $_error_msg = $_error_msg."Asal Pasien Belum Dipilih, ";
if ($_POST['NOKTP'] == "") $_error_msg = $_error_msg . "No KTP Belum Diisi ";
if ($_POST['SHIFT'] == "") $_error_msg = $_error_msg . "Shift Belum Dipilih, ";
if ($_POST['NAMA'] == "") $_error_msg = $_error_msg . "Nama Pasien Belum Diisi, ";
if ($_POST['TEMPAT'] == "") $_error_msg = $_error_msg . "Tempat Lahir Belum Lengkap, ";
if ($_POST['TGLLAHIR'] == "") $_error_msg = $_error_msg . "Tanggal Lahir Belum Lengkap, ";
if ($_POST['JENISKELAMIN'] == "") $_error_msg = $_error_msg . "Jenis Kelamin Belum Dipilih, ";
if ($_POST['ALAMAT'] == "") $_error_msg = $_error_msg . "Alamat Belum Lengkap, ";
if ($_POST['kebangsaan'] == 'WNI') {
if ($_POST['KELURAHAN'] == "") $_error_msg = $_error_msg . "Kelurahan Belum Dipilih, ";
if ($_POST['KDKECAMATAN'] == "") $_error_msg = $_error_msg . "Kecamatan Belum Dipilih, ";
if ($_POST['KOTA'] == "") $_error_msg = $_error_msg . "Kota Belum Lengkap, ";
if ($_POST['KDPROVINSI'] == "") $_error_msg = $_error_msg . "Provinsi Belum Lengkap, ";
} else {
if ($_POST['paspor'] == "") $_error_msg = $_error_msg . "Paspor Belum Diisi, ";
}
if ($_POST['POLIKLINIK'] == "") $_error_msg = $_error_msg . "Poli Belum Dipilih, ";
// cek noktp
$tmp_cek = $db->query("SELECT nama from m_pasien where noktp = '" . $_POST['NOKTP'] . "'");
if ($tmp_cek->numRows() > 0) {
$data_pasien = $tmp_cek->fetchFirst();
$_error_msg .= 'No KTP tersebut sudah terdaftar dengan nama ' . $data_pasien['nama'];
}
}
if (!isset($_REQUEST['DOKTERJAGA'])) $_error_msg = $_error_msg . "Dokter Jaga Belum Ada, ";
if (strlen($_error_msg) > 0) {
$_error_msg = substr($_error_msg, 0, strlen($_error_msg) - 2) . ".";
echo json_encode(['message' => $_error_msg, 'type' => 'error']);
exit;
} else {
$str_url = implode("&", $arr_url);
if ((empty($_SESSION['register_nomr'])) && (empty($_SESSION['register_nama']))) {
$sqlrak = $db->query("SELECT * from m_maxnomr where status='1'");
$rsqlrak = $sqlrak->fetchAll();
$rowsqlrak = $rsqlrak[0];
$nomr_berikutnya = no_rm_billing($rowsqlrak['last2']);
$nomr_cari = trim($_POST['NOMR']);
if (array_key_exists('NOMR', $_POST) && trim($_POST['NOMR']) != '') {
$sqlsearchpasien = $db->query("SELECT NAMA from m_pasien WHERE NOMR = '" . trim($_POST['NOMR']) . "'");
if ($_POST['PASIENBARU'] == "1") {
if ($sqlsearchpasien->numRows() > 0) {
// jika nomr sudah ada pada m_pasien maka gunakan nomr tersebut
$ketemu = "1";
$nomr = trim($_POST['NOMR']);
$tglreg = $_POST['TGLREG'];
// cek kunjungan hari ini, apakah ada kunjungan dengan NOMR yang sama pada hari yang sama
$qu_kunjungan = $db->query("SELECT * from t_pendaftaran where NOMR = '{$nomr}' and TGLREG = '$tglreg' and status in (0,5,10,13,99,1) and st_asal_masuk = '{$_POST['asal_masuk']}'");
if ($qu_kunjungan->numRows() > 0) {
$data_kunjungan = $qu_kunjungan->fetchAll()[0];
$sel_poly = $db->query("SELECT no as kode,nama from m_ruang where subsistem like 'RAWAT JALAN%'");
$arr_poly = [];
foreach ($sel_poly->fetchAll() as $rowpoly) {
$arr_poly[$rowpoly['kode']] = $rowpoly['nama'];
}
if ($data_kunjungan['status'] == 5) {
$msg = 'Pasien dirujuk ke Poliklinik ' . $arr_poly[$data_kunjungan['keterangan_status']];
} else {
$msg = 'Pasien telah menerima pelayanan pada poliklinik ' . $arr_poly[$data_kunjungan['kdpoly']];
}
$type = 'warning';
// warning
// echo '<script>window.location.href="'._BASE_.'index.php?link=2&err=1";</script>';
echo json_encode(['message' => $msg, 'type' => $type]);
exit;
}
} else {
$ketemu = 0;
$nomr = $nomr_berikutnya;
execute("UPDATE m_maxnomr set last2='$nomr' where status='1'");
}
} else {
if ($sqlsearchpasien->numRows() > 0) {
$ketemu = "1";
$nomr = trim($_POST['NOMR']);
$tglreg = $_POST['TGLREG'];
// cek kunjungan hari ini, apakah ada kunjungan dengan NOMR yang sama pada hari yang sama
$qu_kunjungan = $db->query("SELECT * from t_pendaftaran where NOMR = '{$nomr}' and TGLREG = '$tglreg' and status in (0,5,10,13,99,1) and st_asal_masuk = '{$_POST['asal_masuk']}'");
if ($qu_kunjungan->numRows() > 0) {
$data_kunjungan = $qu_kunjungan->fetchAll()[0];
$sel_poly = $db->query("SELECT no as kode,nama from m_ruang where subsistem like 'RAWAT JALAN%'");
$arr_poly = [];
foreach ($sel_poly->fetchAll() as $rowpoly) {
$arr_poly[$rowpoly['kode']] = $rowpoly['nama'];
}
if ($data_kunjungan['status'] == 5) {
$msg = 'Pasien dirujuk ke Poliklinik ' . $arr_poly[$data_kunjungan['keterangan_status']];
} else {
$msg = 'Pasien telah menerima pelayanan pada poliklinik ' . $arr_poly[$data_kunjungan['kdpoly']];
}
$type = 'warning';
// warning
// echo '<script>window.location.href="'._BASE_.'index.php?link=2&err=1";</script>';
echo json_encode(['message' => $msg, 'type' => $type]);
exit;
} else {
// lanjut
}
} else {
//$nomr = $rowsqlrak['no_rak'].getLastNoM("1");
$nomr = $nomr_berikutnya;
}
}
} else {
$ketemu = 0;
$nomr = $nomr_berikutnya;
}
if (!empty($_POST['DOKTERJAGA'])) {
$dokter = trim($_POST['DOKTERJAGA']);
} else {
$dokter = "NULL";
}
#print_r($_REQUEST);
if (!empty($_POST['KDCARABAYAR'])) {
$KDCARABAYAR = trim($_POST['KDCARABAYAR']);
} else {
$KDCARABAYAR = 1;
}
if (empty($_POST['PENDIDIKAN'])) {
$pendidikan = "NULL";
} else {
$pendidikan = $_POST['PENDIDIKAN'];
}
if (empty($_POST['AGAMA'])) {
$agama = "NULL";
} else {
$agama = $_POST['AGAMA'];
}
if (empty($_POST['STATUS'])) {
$status = "0";
} else {
$status = $_POST['STATUS'];
}
// if(!empty($_POST['CALLER'])) {
// $NAMADATA=str_replace(',',' ',$_POST['NAMA']).', '.$_REQUEST['CALLER'];
// }else {
// $NAMADATA=str_replace(',',' ',$_POST['NAMA']);
// }
$NAMADATA = preg_replace("/\'/", '`', $_POST['NAMA']);
if (empty($_POST['minta_rujukan'])) {
$minta_rujukan = "0";
} else {
$minta_rujukan = "1";
}
$NOKTP = $_POST['NOKTP'];
$STTS = '';
if ($NOKTP == '0000000000000000') {
$STTS = '';
} elseif ($NOKTP == '1111111111111111') {
$STTS = '1111';
} elseif ($NOKTP == '2222222222222222') {
$STTS = '2222';
}
$tmpTGLLAHIR = date('Y-m-d', strtotime(str_replace('/', '-', $_POST['TGLLAHIR'])));
if ($ketemu == "1") {
$arr_pasien = [
'ALAMAT' => preg_replace("/\'/", '`', trim($_POST['ALAMAT'])),
'KELURAHAN' => ((trim($_POST['KELURAHAN']) != '') ? $_POST['KELURAHAN'] : 0),
'KDKECAMATAN' => ((trim($_POST['KDKECAMATAN']) != '') ? $_POST['KDKECAMATAN'] : 0),
'KOTA' => ((trim($_POST['KOTA']) != '') ? $_POST['KOTA'] : 0),
'KDPROVINSI' => ((trim($_POST['KDPROVINSI']) != '') ? $_POST['KDPROVINSI'] : 0),
'NOTELP' => trim($_POST['NOTELP']),
'NOKTP' => trim($NOKTP),
'ALAMAT_KTP' => preg_replace("/\'/", '`', trim($_POST['ALAMAT_KTP'])),
'JNS_PASIEN' => trim($_POST['jns_peserta']),
'st_disabilitas' => ['value' => (($_POST['st_disabilitas'] != '') ? $_POST['st_disabilitas'] : 0), 'type' => 'number'],
'disabilitas' => $_POST['disabilitas'],
'hambatan_komunikasi' => $_POST['hambatan_komunikasi'],
'NIP' => $_SESSION['NIP'],
'no_kartu' => $_POST['nokartu'],
'ktp_file' => (($_FILES['ktp_file']) ? file_save($_FILES['ktp_file'], $nomr_cari, trim($NOKTP), 'KTP') : ''),
'kk_file' => (($_FILES['kk_file']) ? file_save($_FILES['kk_file'], $nomr_cari, trim($NOKTP), 'KK') : '')
];
$sqlupdate_pasien = "UPDATE m_pasien " . bind_sql($arr_pasien, 1) . " WHERE NOMR = '$nomr'";
$save_pasien = execute($sqlupdate_pasien);
} else {
$m_provinsi = $db->query("SELECT * from m_provinsi where idprovinsi = {$_POST['KDPROVINSI']} ");
$dt_provinsi = $m_provinsi->fetchFirst()['namaprovinsi'];
$m_kota = $db->query("SELECT * from m_kota where idkota = {$_POST['KOTA']}");
$dt_kota = $m_kota->fetchFirst()['namakota'];
$m_kecamatan = $db->query('SELECT * from m_kecamatan where idkecamatan = ' . $_POST['KDKECAMATAN']);
$dt_kecamatan = $m_kecamatan->fetchFirst()['namakecamatan'];
$m_kelurahan = $db->query('SELECT * from m_kelurahan where idkelurahan = ' . $_POST['KELURAHAN']);
$dt_kelurahan = $m_kelurahan->fetchFirst()['namakelurahan'];
$m_status_pasien = $db->query('SELECT * from m_status_pasien where id_status = ' . $status);
$dt_status = $m_status_pasien->fetchFirst()['nama_status'];
$m_agama_pasien = $db->query('SELECT * from m_agama_pasien where id_agama = ' . $agama);
$dt_agama = $m_agama_pasien->fetchFirst()['nama_agama'];
$m_pendidikan_pasien = $db->query('SELECT * from m_pendidikan_pasien where id_pendidikan = ' . $pendidikan);
$dt_pendidikan = $m_pendidikan_pasien->fetchFirst()['nama_pendidikan'];
$arr_data_pasien = [
'nomr' => $_POST['NOMR'],
'nomr_baru' => $nomr,
'nama' => $NAMADATA,
'tempat' => preg_replace("/\'/", '`', $_POST['TEMPAT']),
'tgllahir' => $tmpTGLLAHIR,
'jeniskelamin' => $_POST['JENISKELAMIN'],
'alamat' => preg_replace("/\'/", '`', trim($_POST['ALAMAT'])),
'kelurahan' => ['value' => (($_POST['KELURAHAN'] == '') ? 0 : $_POST['KELURAHAN']), 'type' => 'number'],
'kdkecamatan' => ['value' => $_POST['KDKECAMATAN'], 'type' => 'number'],
'kota' => ['value' => $_POST['KOTA'], 'type' => 'number'],
'kdprovinsi' => ['value' => $_POST['KDPROVINSI'], 'type' => 'number'],
'notelp' => str_replace("_", '', $_POST['NOTELP']),
'noktp' => str_replace("_", '', $NOKTP),
'suami_ortu' => preg_replace("/\'/", '`', $_POST['SUAMI_ORTU']),
'pekerjaan' => $_POST['PEKERJAAN'],
'status' => ['value' => $status, 'type' => 'number'],
'agama' => ['value' => $agama, 'type' => 'number'],
'pendidikan' => ['value' => $pendidikan, 'type' => 'number'],
'kdcarabayar' => ['value' => $_POST['KDCARABAYAR'], 'type' => 'number'],
'nip' => $_SESSION['NIP'],
'tgldaftar' => $_POST['TGLREG'],
'alamat_ktp' => preg_replace("/\'/", '`', $_POST['ALAMAT_KTP']),
'title' => $_POST['CALLER'],
'penanggungjawab_nama' => preg_replace("/\'/", '`', $_POST['nama_penanggungjawab']),
'penanggungjawab_hubungan' => $_POST['hubungan_penanggungjawab'],
'penanggungjawab_alamat' => preg_replace("/\'/", '`', $_POST['alamat_penanggungjawab']),
'penanggungjawab_phone' => $_POST['phone_penanggungjawab'],
'no_kartu' => $_POST['nokartu'],
'jns_pasien' => $_POST['jns_peserta'],
'sim' => str_replace("_", '', $_POST['sim']),
'paspor' => str_replace("_", '', $_POST['paspor']),
'st_disabilitas' => ['value' => (array_key_exists('st_disabilitas', $_POST) ? $_POST['st_disabilitas'] : 0), 'type' => 'number'],
'disabilitas' => $_POST['disabilitas'],
'bahasa' => $_POST['bahasa'],
'hambatan_komunikasi' => $_POST['hambatan_komunikasi'],
'kebangsaan' => $_POST['kebangsaan'],
'notelprumah1' => str_replace("_", '', $_POST['notelprumah1']),
'notelprumah2' => str_replace("_", '', $_POST['notelprumah2']),
'notelpkantor' => str_replace("_", '', $_POST['notelpkantor']),
'no_hp' => str_replace("_", '', $_POST['no_hp']),
'kepercayaan' => $_POST['kepercayaan'],
'suku' => $_POST['suku'],
'agama_lain' => $_POST['agama_lain'],
'txt_kelurahan' => $dt_kelurahan,
'txt_kecamatan' => $dt_kecamatan,
'txt_kota' => $dt_kota,
'txt_provinsi' => $dt_provinsi,
'txt_status' => $dt_status,
'txt_agama' => $dt_agama,
'txt_pendidikan' => $dt_pendidikan,
'nama_ayah' => preg_replace("/\'/", '`', $_POST['nama_ayah_kandung']),
'nama_ibu' => preg_replace("/\'/", '`', $_POST['nama_ibu_kandung']),
'pendidikan_ayah' => $_POST['pendidikan_ayah'],
'pendidikan_ibu' => $_POST['pendidikan_ibu'],
'st_identitas_ortu' => ['value' => (array_key_exists('st_identitas_ortu', $_POST) ? $_POST['st_identitas_ortu'] : 0), 'type' => 'number'],
'ktp_file' => (($_FILES['ktp_file']) ? file_save($_FILES['ktp_file'], $nomr_cari, str_replace("_", '', $NOKTP), 'KTP') : ''),
'kk_file' => (($_FILES['kk_file']) ? file_save($_FILES['kk_file'], $nomr_cari, str_replace("_", '', $NOKTP), 'KK') : ''),
'created_at' => date('Y-m-d H:i:s')
];
$sqlinsert_pasien = "INSERT INTO m_pasien " . bind_sql($arr_data_pasien);
$save_pasien = execute($sqlinsert_pasien);
}
$html = '';
$type = 'error';
if (!$save_pasien) {
$msg = 'Gagal tambah/update pasien';
} else {
$NOJAMINAN = (array_key_exists('NOJAMINAN', $_POST)) ? $_POST['NOJAMINAN'] : NULL;
$KETBAYAR = (array_key_exists('KETBAYAR', $_REQUEST)) ? $_REQUEST['KETBAYAR'] : NULL;
$no_antri = get_antrian_poli($_POST['POLIKLINIK']);
$no_kunjung = get_no_kunjungan();
$kdrujuk = ($_POST['strujukan'] != 0) ? $_POST['KDRUJUK'] : 0;
$ketrujuk = ($_POST['strujukan'] != 0) ? $_POST['KETRUJUK'][$kdrujuk] : 'TR';
$tglrujuk = ($_POST['strujukan'] != 0) ? $_POST['tglrujuk'] : '0001-01-01';
$norujukan = ($_POST['strujukan'] != 0) ? $_POST['norujukan'] : '';
$arr_data_pendaftaran = [
'nomr' => $_POST['NOMR'],
'tglreg' => $_POST['TGLREG'],
'kddokter' => ['value' => $dokter, 'type' => 'number'],
'kdpoly' => ['value' => $_POST['POLIKLINIK'], 'type' => 'number'],
'strujukan' => ['value' => $_POST['strujukan'], 'type' => 'number'],
'kdrujuk' => ['value' => $kdrujuk, 'type' => 'number'],
'kdcarabayar' => ['value' => $_POST['KDCARABAYAR'], 'type' => 'number'],
'nojaminan' => $_POST['NOJAMINAN'],
'jamreg' => date('Y-m-d H:i:s'),
'masukpoly' => date('Y-m-d H:i:s'),
'minta_rujukan' => $minta_rujukan,
'shift' => ['value' => $_POST['SHIFT'], 'type' => 'number'],
'pasienbaru' => ['value' => $pasienbaru, 'type' => 'number'],
'nip' => $_SESSION['NIP'],
'ketrujuk' => preg_replace("/\'/", '`', $ketrujuk),
'tglrujukan' => $tglrujuk,
'penanggungjawab_nama' => preg_replace("/\'/", '`', $_POST['nama_penanggungjawab']),
'penanggungjawab_hubungan' => $_POST['hubungan_penanggungjawab'],
'penanggungjawab_alamat' => preg_replace("/\'/", '`', $_POST['alamat_penanggungjawab']),
'penanggungjawab_phone' => $_POST['phone_penanggungjawab'],
'status' => ['value' => 0, 'type' => 'number'],
'ketbayar' => $_REQUEST['KETBAYAR'],
'nokartu' => $_REQUEST['nokartu'],
'diagnosa_awal' => $_POST['diagnosa'],
'diagnosa_utama' => $_POST['diagnosa_utama'],
'kelas_daftar' => ['value' => $_POST['kelas'], 'type' => 'number'],
'nosep' => $_POST['NK'],
'nosipp' => $_POST['NSIIP'],
'st_asal_masuk' => $_POST['asal_masuk'],
'status_kecelakaan' => $_POST['status_kecelakaan'],
'catatan' => $_POST['catatan'],
'no_antrian' => $no_antri,
'stts_ktp' => $STTS,
'no_kunjung' => $no_kunjung,
'norujukan' => $norujukan,
'sep_file' => (($_FILES['sep_file']) ? file_save($_FILES['sep_file'], $nomr_cari, str_replace("_", '', $_POST['NK']), 'SEP') : ''),
'sipp_file' => (($_FILES['sipp_file']) ? file_save($_FILES['sipp_file'], $nomr_cari, str_replace("_", '', date('Ymd')), 'SIPP') : '')
];
if (array_key_exists('dialisis', $_POST) && $_POST['dialisis'] == 1) {
$arr_data_pendaftaran['subspesialis'] = $_POST['subspesialis'];
}
if ($_POST['POLIKLINIK'] == $_SESSION['poli_igd']) {
$sqlinsert_pendaftaran = "INSERT INTO t_pendaftaran " . bind_sql($arr_data_pendaftaran);
} else {
unset($arr_data_pendaftaran['masukpoly']);
$sqlinsert_pendaftaran = "INSERT INTO t_pendaftaran " . bind_sql($arr_data_pendaftaran);
}
if (_DBTYPE_ == 'mysqli') {
$save_daftar = execute($sqlinsert_pendaftaran);
$idx_daftar = $save_daftar->insertid;
} else {
$sqlinsert_pendaftaran .= " RETURNING idxdaftar";
$save_daftar = execute($sqlinsert_pendaftaran);
$result_daftar = $save_daftar->fetchFirst();
$idx_daftar = $result_daftar['idxdaftar'];
}
if (!$save_daftar) {
$msg = 'Gagal tambah kunjungan';
} else {
// if($_POST['POLIKLINIK']=="51") {
// $ins_operasi="INSERT INTO t_operasi(nomr, kdunit, idxdaftar, rajal, nip, tglorder) VALUES('".$nomr."', ".$_SESSION['KDUNIT'].", ".$idx_daftar.", 2, '".$_SESSION['NIP']."','".date('Y-m-d')."')";
// execute($ins_operasi);
// }
// kirim berkas rm
$rm['tgl_kirim'] = date('Y-m-d');
$rm['jam_kirim_rm'] = date('H:i:s');
$rm['idxdaftar'] = $idx_daftar;
$rm['kdpoly'] = $_POST['POLIKLINIK'];
$rm['pengirim'] = $_SESSION['NAMA_PEGAWAI'];
$sql_rm = "INSERT into t_rekammedik " . bind_sql($rm);
execute($sql_rm);
// GCU
if ($_POST['POLIKLINIK'] == $_SESSION['kd_klinik_gcu']) {
$tgllahir = date('Y-m-d', strtotime(str_replace('/', '-', $_POST['TGLLAHIR'])));
$a = datediff($tgllahir, date("Y-m-d"));
$umur = $a['years'] . " tahun " . $a['months'] . " bulan " . $a['days'] . " hari";
$arr_gcu = $_POST['gcu'];
if (is_array($arr_gcu['pemeriksaan']) && count($arr_gcu['pemeriksaan']) > 0) {
$gcu_data['pemeriksaan'] = implode(',', $arr_gcu['pemeriksaan']);
} else {
$gcu_data['pemeriksaan'] = $arr_gcu['pemeriksaan'];
}
$gcu_data['idxdaftar'] = $idx_daftar;
$gcu_data['nomr'] = $_POST['NOMR'];
$gcu_data['nama_pasien'] = $NAMADATA;
$gcu_data['alamat_pasien'] = preg_replace("/\'/", '`', $_POST['ALAMAT']);
$gcu_data['no_telp_pasien'] = $_POST['NOTELP'];
$gcu_data['umur_pasien'] = $umur;
$gcu_data['jenis_kelamin'] = $_POST['JENISKELAMIN'];
$gcu_data['pekerjaan'] = $_POST['PEKERJAAN'];
$gcu_data['tanggal'] = $_POST['TGLREG'];
$gcu_data['jam'] = date('H:i:s');
unset($arr_gcu['pemeriksaan']);
$insert_data = array_merge($arr_gcu, $gcu_data);
$insert_gcu = "INSERT INTO t_gcu " . bind_sql($insert_data);
execute($insert_gcu);
}
if (!empty($_POST['start_daftar']) && !empty($_POST['stop_daftar'])) {
$nomr_last = $_POST['NOMR'];
$start_daftar = $_POST['start_daftar'];
$stop_daftar = $_POST['stop_daftar'];
$sql_insert_time_daftar = "INSERT INTO t_pendaftaran_iso (idxdaftar, NOMR, start_daftar, stop_daftar) VALUES ($idx_daftar, '$nomr_last', '$start_daftar', '$stop_daftar')";
execute($sql_insert_time_daftar);
}
$db_igd = $db->query("SELECT no,nama FROM m_ruang where kelompok = 'IGD' and st_aktif = 1");
$arr_igd = $arr_nama_igd = [];
foreach ($db_igd->fetchAll() as $igd) {
$arr_igd[] = $igd['no'];
$arr_nama_igd[$igd['no']] = $igd['nama'];
}
$kode_tarif_konsul = '';
if (in_array($_POST['POLIKLINIK'], $arr_igd)) {
// tarif daftar IGD
$kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_igd_baru'] : $_SESSION['tarif_daftar_igd'];
if ($is_tarif_baru){
$kode_tarif_konsul = $_SESSION['tarif_konsul_igd_baru'];
}
} else {
// get tarif sesuai aturan
if ($_POST['strujukan'] == 0) {
// tarif daftar tanpa rujukan
$kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_tanpa_rujukan_baru'] : $_SESSION['tarif_daftar_tanpa_rujukan'];
} elseif ($_POST['strujukan'] == 1) {
// tarif daftar dengan rujukan
if ($_POST['KDRUJUK'] == 2) { // jika rujukan dari faskes swasta
$kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_dg_rujukan_baru'] : $_SESSION['tarif_daftar_dg_rujukan'];
} else {
$kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_dg_rujukan_baru'] : $_SESSION['tarif_daftar_dg_rujukan'];
}
}
if ($is_tarif_baru){
$kode_tarif_konsul = $_SESSION['tarif_konsul_klinik_baru'];
}
if (preg_match("/UTAMA|EKSEKUTIF/i", $_POST['asal_masuk'])) {
$kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_poli_utama_baru'] : $_SESSION['tarif_daftar_poli_utama'];
$kode_tarif_konsul = '';
}
}
$tarif_daftar = getTarifPendaftaran($kode_tarif_daftar, NULL, NULL);
$last_bill = getLastNoBILL(1);
$qty = 1;
$_SESSION['poly'] = $_POST['POLIKLINIK'];
$_SESSION['idx'] = $idx_daftar;
$_SESSION['status'] = $status;
$ip = getRealIpAddr();
$cek_kdunit = $db->query("SELECT kdunit FROM m_ruang where no = {$_REQUEST['POLIKLINIK']} ");
$data_kdunit = ($cek_kdunit->numRows() > 0) ? $cek_kdunit->fetchFirst()['kdunit'] : null;
$tmp_cartbayar = 'INSERT into tmp_cartbayar ' . bind_sql(['kodetarif' => $kode_tarif_daftar, 'qty' => 1, 'ip' => $ip, 'id' => $kode_tarif_daftar, 'poly' => $_REQUEST['POLIKLINIK'], 'kddokter' => $_REQUEST['DOKTERJAGA'], 'tarif' => $tarif_daftar['jumlah'], 'tottarif' => $tarif_daftar['jumlah'], 'jasa_pelayanan' => $tarif_daftar['jasa_pelayanan'], 'jasa_sarana' => $tarif_daftar['jasa_sarana'], 'unit' => $_REQUEST['POLIKLINIK']]);
if (_DBTYPE_ == 'mysqli') {
$tmp_query = execute($tmp_cartbayar);
$idx_tmp = $tmp_query->insertid;
} else {
$tmp_cartbayar .= ' RETURNING idxbayar';
$tmp_query = execute($tmp_cartbayar);
$idx_tmp = $tmp_query->fetchFirst()['idxbayar'];
}
$tmp_cartdetil = 'INSERT into tmp_cartbayar_detil ' . bind_sql([
'idxbayar' => $idx_tmp,
'kddokter' => $_REQUEST['DOKTERJAGA'],
'kode_tarif' => $kode_tarif_daftar,
'komponen' => 'JASA PELAYANAN',
'nilai' => $tarif_daftar['jasa_pelayanan']
]);
execute($tmp_cartdetil);
//TARIF KONSUL
if (!empty($kode_tarif_konsul)){
$tarif_konsul = getTarifPendaftaran($kode_tarif_konsul, NULL, NULL);
$_SESSION['poly'] = $_POST['POLIKLINIK'];
$_SESSION['idx'] = $idx_daftar;
$_SESSION['status'] = $status;
$tmp_cartbayar_konsul = 'INSERT into tmp_cartbayar ' . bind_sql(['kodetarif' => $kode_tarif_konsul, 'qty' => 1, 'ip' => $ip, 'id' => $kode_tarif_konsul, 'poly' => $_REQUEST['POLIKLINIK'], 'kddokter' => $_REQUEST['DOKTERJAGA'], 'tarif' => $tarif_konsul['jumlah'], 'tottarif' => $tarif_konsul['jumlah'], 'jasa_pelayanan' => $tarif_konsul['jasa_pelayanan'], 'jasa_sarana' => $tarif_konsul['jasa_sarana'], 'unit' => $_REQUEST['POLIKLINIK']]);
if (_DBTYPE_ == 'mysqli') {
$tmp_query_konsul = execute($tmp_cartbayar_konsul);
$idx_tmp_konsul = $tmp_query_konsul->insertid;
} else {
$tmp_cartbayar_konsul .= ' RETURNING idxbayar';
$tmp_query_konsul = execute($tmp_cartbayar_konsul);
$idx_tmp_konsul = $tmp_query_konsul->fetchFirst()['idxbayar'];
}
$tmp_cartdetil_konsul = 'INSERT into tmp_cartbayar_detil ' . bind_sql([
'idxbayar' => $idx_tmp_konsul,
'kddokter' => $_REQUEST['DOKTERJAGA'],
'kode_tarif' => $kode_tarif_konsul,
'komponen' => 'JASA PELAYANAN',
'nilai' => $tarif_konsul['jasa_pelayanan']
]);
execute($tmp_cartdetil_konsul);
}
// cek nobill sebelum tambah bill baru, apakah sudah ada di billing rajal?
$cek_nobill = duplikasi_bill($last_bill);
if ($cek_nobill == false) {
$save_nobill_temp = execute("INSERT INTO temp_nobill " . bind_sql(['nobill' => $last_bill, 'created_at' => date('Y-m-d H:i:s')]));
if ($save_nobill_temp) {
$bill_daftar = new Billing('irja', $_POST['NOMR'], $idx_daftar, date('Y-m-d'), 0, 0, $_POST['KDCARABAYAR'], $_POST['POLIKLINIK'], 0, $data_kdunit);
$nonota = $bill_daftar->simpanBill();
} else {
$m_maxnobill = 'UPDATE m_maxnobill set nomor = ' . ($last_bill + 1) . ' where type=\'bill_pasien\' and 1 = 1';
execute($m_maxnobill);
$bill_daftar = new Billing('irja', $_POST['NOMR'], $idx_daftar, date('Y-m-d'), 0, 0, $_POST['KDCARABAYAR'], $_POST['POLIKLINIK'], 0, $data_kdunit);
$nonota = $bill_daftar->simpanBill();
$last_bill = substr($nonota, 0, 8);
$save_nobill_temp = execute("INSERT INTO temp_nobill " . bind_sql(['nobill' => $last_bill, 'created_at' => date('Y-m-d H:i:s')]));
}
} else {
// $nobill_top = $db->query("SELECT distinct nobill from t_billranap
// union
// SELECT distinct nobill from t_billrajal
// order by nobill desc limit 1");
// if($nobill_top->numRows() > 0) {
// $data_nobill = $nobill_top->fetchFirst();
$data_nobill['nobill'] = getLastNoBILL(1);
// $m_maxnobill = 'UPDATE m_maxnobill set nomor = '.($data_nobill['nobill']).' where type=\'bill_pasien\' and 2 = 2';
// execute($m_maxnobill);
$new_nobill = ($data_nobill['nobill']);
// }
$save_nobill_temp = execute("INSERT INTO temp_nobill " . bind_sql(['nobill' => $new_nobill, 'created_at' => date('Y-m-d H:i:s')]));
if ($save_nobill_temp) {
$bill_daftar = new Billing('irja', $_POST['NOMR'], $idx_daftar, date('Y-m-d'), 0, 0, $_POST['KDCARABAYAR'], $_POST['POLIKLINIK'], 0, $data_kdunit);
$nonota = $bill_daftar->simpanBill();
} else {
// $m_maxnobill = 'UPDATE m_maxnobill set nomor = '.($new_nobill+1).' where type=\'bill_pasien\' and 3 = 3';
// execute($m_maxnobill);
$bill_daftar = new Billing('irja', $_POST['NOMR'], $idx_daftar, date('Y-m-d'), 0, 0, $_POST['KDCARABAYAR'], $_POST['POLIKLINIK'], 0, $data_kdunit);
$nonota = $bill_daftar->simpanBill();
$last_bill = substr($nonota, 0, 8);
$save_nobill_temp = execute("INSERT INTO temp_nobill " . bind_sql(['nobill' => $last_bill, 'created_at' => date('Y-m-d H:i:s')]));
}
}
# update maxnobill
// ganti update max nobill berdasarkan nobill di t_billrajal
// $nobill_top = $db->query("SELECT nobill from t_billrajal order by nobill desc limit 1");
// if($nobill_top->numRows() > 0) {
// $data_nobill = $nobill_top->fetchFirst();
// $m_maxnobill = 'UPDATE m_maxnobill set nomor = '.$data_nobill['nobill'];
// execute($m_maxnobill);
// }
// else {
// $m_maxnobill = 'UPDATE m_maxnobill set nomor = '.$last_bill;
// execute($m_maxnobill);
// }
if (!array_key_exists('NOMR', $_POST) || trim($_POST['NOMR']) == '') {
$m_maxnomr = "UPDATE m_maxnomr set last2='" . $nomr_berikutnya . "',nomor='" . $nomr_berikutnya . "' where status='1' ";
execute($m_maxnomr);
}
$_SESSION['register_nomr'] = $_POST['NOMR'];
$_SESSION['register_nama'] = $NAMADATA;
$msg = 'Pendaftaran Berhasil';
$type = 'success';
$html = '
<div style="margin-left:auto; margin-right:auto; text-align:center; margin-top:50px;">
<input type="hidden" id="idx" value="' . $_SESSION['idx'] . '">
<input type="hidden" id="poly" value="' . $_SESSION['poly'] . '">
<input type="hidden" id="status" value="' . $_SESSION['status'] . '">
<input type="hidden" id="nama_pasien" value="' . $NAMADATA . '">
<input type="hidden" id="nomr_pasien" value="' . $nomr . '">
<input type="hidden" id="alamat_pasien" value="' . $_POST['ALAMAT'] . '">
<input type="hidden" id="tgl_lahir" value="' . $_POST['TGLLAHIR'] . '">
<input type="hidden" id="jeniskelamin" value="' . $_POST['JENISKELAMIN'] . '">
<input type="hidden" id="nonota" value="' . $nonota . '">
<div style="font-size:14px;">Data Telah di Simpan.</div>
<div style="font-size:26px;">NOMR</div>
<div style="font-size:74px;">' . $_SESSION['register_nomr'] . '</div>
<div style="font-size:26px;">NAMA PASIEN</div>
<div style="font-size:74px;">' . $_SESSION['register_nama'] . '</div>
<div class="btn-group">
<input type="button" name="back" class="btn btn-secondary" onclick="daftarBaru()" value="Daftar Baru"/>
<input type="button" name="back" class="btn btn-info" onclick="cetakkartu()" value="Cetak Kartu" />
<input type="button" name="back" class="btn btn-primary" onclick="printtracer()" value="Print Tracer" />
<input type="button" name="back" class="btn btn-primary" data-idx="' . $_SESSION['idx'] . '" data-nonota="' . $nonota . '" data-nomr="' . $_POST['NOMR'] . '" onclick="printetiket(this)" value="Print Etiket" />
<!--<input type="button" name="back" class="btn btn-orange" onclick="" value="Simpan Ke Billing Lama" />
<input type="button" name="back" class="btn btn-success" onclick="printnota()" value="Print Nota" /> -->
</div>
</div>';
}
}
echo json_encode(['message' => $msg, 'type' => $type, 'html' => $html]);
exit;
} else {
echo json_encode(['message' => 'Session sebelumnya belum diberishkan', 'type' => 'error']);
exit;
}
}