function proses_simpan() { $data = array('status' => FALSE, 'message' => NULL, 'idTrans' => NULL); if (!empty($_POST)) { $trans_kunjungan = array('tkunj_id' => !empty($_POST['idKunjungan']) ? $_POST['idKunjungan'] : '', 'mpas_id' => !empty($_POST['noRm']) ? $_POST['noRm'] : '', 'mpoli_id' => !empty($_POST['poli']) ? $_POST['poli'] : '', 'tkunj_tanggal' => !empty($_POST['tanggalPeriksa']) ? dateReverse($_POST['tanggalPeriksa']) : '', 'mdok_id' => !empty($_POST['dokter']) ? $_POST['dokter'] : '', 'mcb_id' => !empty($_POST['caraBayar']) ? $_POST['caraBayar'] : '', 'tkunj_no_peserta' => !empty($_POST['noPeserta']) ? $_POST['noPeserta'] : '', 'tkunj_keterangan' => !empty($_POST['keterangan']) ? $_POST['keterangan'] : ''); $send = $this->reg_poli_model->simpanData($trans_kunjungan); if ($send['status'] == TRUE) { $data['status'] = TRUE; $data['idTrans'] = $send['idTrans']; $data['message'] = 'Proses simpan berhasil'; } else { $data['status'] = FALSE; $data['message'] = 'Proses simpan gagal'; } } echo json_encode($data); }
public function getUrlGrouperIncbgSeverAsli() { $data = array('stringUrl' => NULL, 'message' => NULL, 'report' => ''); $strReport = ''; if (!empty($_POST['noReg'])) { $noReg = $_POST['noReg']; $isAdaPiutang = $this->input_diagnosa_jmn_model->cekAdaPiutangPerorangan($noReg); if ($isAdaPiutang == TRUE) { /* * cek apakah sesuai hak atau turun kelas, naik turun kelas jaminan */ $dataKelas = $this->input_diagnosa_jmn_model->kelasJaminanNaikTurunKelasKirimInacbg($noReg); if ($dataKelas['tingkatKelasHak'] >= $dataKelas['tingkatKelasJaminan']) { /* * jika kelas jaminan sesuai dengan kelas hak atau turun kelas * maka tetap boleh kirim grouping walau ada piutang */ $isAdaPiutang = FALSE; } } if ($isAdaPiutang == FALSE) { /* Ambil WS */ try { $WS = $this->input_diagnosa_jmn_model->getWS(KIRIM_INACBG); if ($WS != NULL) { $dataKunjPasien = $this->input_diagnosa_jmn_model->dataKunjunganPasienKirimGrouper($noReg); if ($dataKunjPasien != NULL) { $dataDiagPasien = $this->input_diagnosa_jmn_model->dataDiagnosaPasienInacbg($noReg); if ($dataDiagPasien != NULL) { $isAdaPrimary = FALSE; //harus ada diagnosa primary $isNotNullDiagnosa = TRUE; $messageNotNullDiagnosa = ''; //validasi diagnosa tidak boleh ada yang null/kosong for ($i = 0; $i < count($dataDiagPasien); $i++) { if (empty($dataDiagPasien[$i]['KODE_ICD10_INACBG'])) { $isNotNullDiagnosa = FALSE; $messageNotNullDiagnosa .= 'Diagnosa ' . $dataDiagPasien[$i]['KODE_ICD10'] . ' tidak terdapat dalam inacbg '; } //cek diagnosa primary if ($dataDiagPasien[$i]['JENIS_DIAGNOSA'] == '02') { $isAdaPrimary = TRUE; } } //cek diagnosa primary if ($isAdaPrimary == TRUE) { if ($isNotNullDiagnosa == TRUE) { $diag = ''; /* Ambil Diagnosa Pasien */ for ($y = 1; $y <= 30; $y++) { $diag .= '&diag' . $y . '=' . (!empty($dataDiagPasien[$y - 1]['KODE_ICD10_INACBG']) ? $dataDiagPasien[$y - 1]['KODE_ICD10_INACBG'] : ''); } /* Ambil Tindakan Pasien */ $dataTindPasien = $this->input_diagnosa_jmn_model->dataTindakanPasienInacbg($noReg); $proc = ''; for ($z = 1; $z <= 30; $z++) { $proc .= '&proc' . $z . '=' . (!empty($dataTindPasien[$z - 1]['KODE_ICD9_INACBG']) ? $dataTindPasien[$z - 1]['KODE_ICD9_INACBG'] : ''); } $procedure = ''; $drugs = ''; $investigasi = ''; $prosthesisi = ''; $dataCMG = $this->input_diagnosa_jmn_model->dataCMGByNoreg($noReg); if ($dataCMG != NULL) { if (!empty($dataCMG->KODE_PROCE)) { $procedure = $dataCMG->KODE_PROCE; } if (!empty($dataCMG->KODE_DRUGS)) { $drugs = $dataCMG->KODE_DRUGS; } if (!empty($dataCMG->KODE_INVESTIGASI)) { $investigasi = $dataCMG->KODE_INVESTIGASI; } if (!empty($dataCMG->KODE_PROSTESIS)) { $prosthesisi = $dataCMG->KODE_PROSTESIS; } } $user = ''; if ($WS['SWSSERV_USERNAME'] != NULL) { $user = $WS['SWSSERV_USERNAME']; } $pass = ''; if ($WS['SWSSERV_PASSWORD'] != NULL) { $pass = $WS['SWSSERV_PASSWORD']; } $noRm = ''; if ($dataKunjPasien['NORM'] != NULL) { $noRm = $dataKunjPasien['NORM']; } $noPeserta = ''; if ($dataKunjPasien['NO_PESERTA'] != NULL) { $noPeserta = $dataKunjPasien['NO_PESERTA']; } $noSep = ''; if ($dataKunjPasien['NO_PENJAMINAN'] != NULL) { $noSep = $dataKunjPasien['NO_PENJAMINAN']; } /* * jika cara bayar bridging sep * maka indentitas disesuaikan dengan data BPJS */ $namaPasien = ''; $jenisKelamin = ''; $tanggalLahir = ''; if ($dataKunjPasien['IS_BRIDGING_SEP'] == '1') { $strReport .= '#pasien sep'; //identitas dari cara bayar $NotNullIdentitas = TRUE; if ($dataKunjPasien['NAMA_PASIEN_SEP'] != NULL) { $namaPasien = $dataKunjPasien['NAMA_PASIEN_SEP']; $strReport .= '#ada nama sep'; } else { $NotNullIdentitas = FALSE; $strReport .= '#tidak ada nama sep'; } if ($dataKunjPasien['JENIS_KELAMIN_SEP'] != NULL) { $jenisKelamin = $dataKunjPasien['JENIS_KELAMIN_SEP']; $strReport .= '#ada jk sep'; } else { $NotNullIdentitas = FALSE; $strReport .= '#tidak ada jk sep'; } if ($dataKunjPasien['TGL_LAHIR_SEP'] != NULL) { $tanggalLahir = $dataKunjPasien['TGL_LAHIR_SEP']; $strReport .= '#ada tgl sep'; } else { $NotNullIdentitas = FALSE; $strReport .= '#tidak ada tgl sep'; } //ambil identitas from server BPJS karena identitas pasien $isDapatSEP = TRUE; if ($NotNullIdentitas == FALSE) { $strReport .= '#ambil data sep'; $dataSEP = $this->getDataSEPOnLine($noSep); if (!empty($dataSEP['message'])) { $strReport .= '#' . $dataSEP['message']; } if (!empty($dataSEP['report'])) { $strReport .= '#' . $dataSEP['report']; } if (!empty($dataSEP['data']['namaPasien'])) { $strReport .= '#dapat data sep'; $namaPasien = $dataSEP['data']['namaPasien']; $tanggalLahir = $dataSEP['data']['tanggalLahir']; $kodeJenisKelamin = strtoupper($dataSEP['data']['kodeJenisKelamin']); if ($kodeJenisKelamin == 'L') { $jenisKelamin = '1'; } else { $jenisKelamin = '2'; } //update identitas sep ke trans_cara bayar $dataUpdatePasienCaraBayar = array('TCBYR_GENDERPST' => $kodeJenisKelamin, 'TCBYR_NAMAPST' => str_replace("'", "''", $namaPasien)); if ($this->input_diagnosa_jmn_model->updateIdentitasPasienCarabayar($dataUpdatePasienCaraBayar, $tanggalLahir, $noSep, $noReg) == TRUE) { $strReport .= '#update pasien cara bayar berhasil'; } else { $strReport .= '#update pasien cara bayar gagal'; } } else { $isDapatSEP = FALSE; $strReport .= '#tidak dapat data sep'; } } //ambil identitas pasien dari mst pasien jika tidak dapat identitas SEP if ($isDapatSEP == FALSE) { if ($dataKunjPasien['NAMA_PASIEN'] != NULL) { $namaPasien = $dataKunjPasien['NAMA_PASIEN']; $strReport .= '#nama dari master'; } if ($dataKunjPasien['JENIS_KELAMIN'] != NULL) { $jenisKelamin = $dataKunjPasien['JENIS_KELAMIN']; $strReport .= '#jk dari master'; } if ($dataKunjPasien['TGL_LAHIR'] != NULL) { $tanggalLahir = $dataKunjPasien['TGL_LAHIR']; $strReport .= '#tgl dari master'; } } //end validasi identitas pasien } else { //ambil dari data master pasien $strReport .= '#bukan sep'; if ($dataKunjPasien['NAMA_PASIEN'] != NULL) { $namaPasien = $dataKunjPasien['NAMA_PASIEN']; $strReport .= '#nama dari master'; } if ($dataKunjPasien['JENIS_KELAMIN'] != NULL) { $jenisKelamin = $dataKunjPasien['JENIS_KELAMIN']; $strReport .= '#jk dari master'; } if ($dataKunjPasien['TGL_LAHIR'] != NULL) { $tanggalLahir = $dataKunjPasien['TGL_LAHIR']; $strReport .= '#tgl dari master'; } } $jenisBayar = ''; if ($dataKunjPasien['CARA_BAYAR_INACBG'] != NULL) { $jenisBayar = $dataKunjPasien['CARA_BAYAR_INACBG']; } $jenisPerawatan = ''; if ($dataKunjPasien['JENIS_PERAWATAN'] != NULL) { $jenisPerawatan = $dataKunjPasien['JENIS_PERAWATAN']; } $kelasPerawatan = ''; if ($jenisPerawatan == '2') { //jika jenis perawatan irj = 2 $kelasPerawatan = '3'; $strReport .= '#kelas perawatan 3 irj'; } else { if ($dataKunjPasien['KELAS_INACBG'] != NULL) { $kelasPerawatan = $dataKunjPasien['KELAS_INACBG']; } $strReport .= '#kelas perawatan ' . $kelasPerawatan; //cek naik turun kelas $naikTurunKelas = $this->input_diagnosa_jmn_model->getNaikTurunKelasKirimInacbg($noReg); if ($naikTurunKelas != NULL) { $kelasPerawatan = $naikTurunKelas; $strReport .= '#naik turun kelas ' . $naikTurunKelas; } else { $strReport .= '#naik turun kelas null'; } } $tglMasuk = dateReverse(tglsekarang()); if ($dataKunjPasien['TGL_REG'] != NULL) { $tglMasuk = $dataKunjPasien['TGL_REG']; } //cek registrasi hari sama $dataCekInacbg = $this->input_diagnosa_jmn_model->cekDataInacbgByRmTgl($noRm, $tglMasuk, 1); if ($dataCekInacbg['data'] != NULL) { $strReport .= $dataCekInacbg['report']; $isPernahKirim = FALSE; $tglPernahKirim = NULL; $tglMasukFull = $dataKunjPasien['TGL_JAM_REG']; foreach ($dataCekInacbg['data'] as $rowCek) { $cekNoReg = $rowCek->noReg; $tglRegFull = $rowCek->tglRegFull; if (!empty($cekNoReg)) { if ($noReg == $cekNoReg) { //jika ada no registrasi sama $isPernahKirim = TRUE; $tglPernahKirim = $tglRegFull; } } } if ($isPernahKirim == TRUE) { //tgl mengikuti tgl sebelumnya yang sudah dikirim $tglMasuk = $tglPernahKirim; $strReport .= ' tgl masuk = tgl masuk sebelumnya Y-m-d h:i:s'; } else { $tglMasuk = $tglMasukFull; $strReport .= ' tgl masuk = masuk full'; } } else { $strReport .= $dataCekInacbg['report']; $strReport .= ' tgl masuk = masuk Y-m-d'; } //end cek $tglKeluar = dateReverse(tglsekarang()); if ($dataKunjPasien['TGL_REG_KELUAR'] != NULL) { $tglKeluar = $dataKunjPasien['TGL_REG_KELUAR']; } $caraKeluar = '5'; if ($dataKunjPasien['KODE_CARA_KELUAR_INACBG'] != NULL) { $caraKeluar = $dataKunjPasien['KODE_CARA_KELUAR_INACBG']; } if ($jenisPerawatan == '2') { //jika jenis perawatan irj = 2 if ($this->input_diagnosa_jmn_model->isDiRujukKeIrna($noReg) == TRUE) { $caraKeluar = '2'; $strReport .= '#irj dirujuk irna - cara keluar transfer(2)'; } else { $caraKeluar = '1'; $strReport .= '#irj - cara keluar home(1)'; } } $dokterPJ = ''; if ($dataKunjPasien['DOKTER_PJ'] != NULL) { $dokterPJ = $dataKunjPasien['DOKTER_PJ']; } $beratLahir = '0'; if ($dataKunjPasien['BERAT_LAHIR'] != NULL) { $beratLahir = $dataKunjPasien['BERAT_LAHIR']; } $rujukan = ''; if ($dataKunjPasien['SURAT_RUJUKAN'] != NULL) { $rujukan = $dataKunjPasien['SURAT_RUJUKAN']; } $tarif = $dataKunjPasien['TARIF_RS_KLAIM']; if (!empty($jenisBayar)) { if (!empty($dokterPJ)) { $data_kirim = "user_nm=" . $user . "&user_pw=" . $pass . "&norm=" . $noRm . "&nm_pasien=" . $namaPasien . "&jns_kelamin=" . $jenisKelamin . "&tgl_lahir=" . $tanggalLahir . "&jns_pbyrn=" . $jenisBayar . "&no_peserta=" . $noSep . "&no_sep=" . $noPeserta . "&jns_perawatan=" . $jenisPerawatan . "&kls_perawatan=" . $kelasPerawatan . "&tgl_masuk=" . $tglMasuk . "&tgl_keluar=" . $tglKeluar . "&cara_keluar=" . $caraKeluar . "&dpjp=" . $dokterPJ . "&berat_lahir=" . $beratLahir . "&tarif_rs=" . $tarif . "&srt_rujukan=" . $rujukan . "&bhp=" . "" . "&severity=" . "0" . "&adl=" . "0" . "&spec_proc=" . $procedure . "&spec_dr=" . $drugs . "&spec_inv=" . $investigasi . "&spec_prosth=" . $prosthesisi . $diag . $proc; $stringUrl = $WS['SWSSERV_ALAMAT_SERVER'] . $data_kirim; $data['stringUrl'] = $stringUrl; } else { $data['message'] = 'Dokter Penanggung jawab belum di inputkan'; } } else { $data['message'] = 'Pasien tidak menggunakan cara bayar inacbg'; } } else { $data['message'] = $messageNotNullDiagnosa; } } else { $data['message'] = 'Belum ada Diagnosa Primary'; } } else { $data['message'] = 'Harus menginputkan data diagnosa terlebih dahulu'; } } else { $data['message'] = 'Data Pasien dengan No Registrasi ' . $noReg . ' tidak ditemukan atau belum diverifikasi'; } } else { $data['message'] = 'Setting servis tidak ditemukan'; } } catch (Exception $exc) { $data['report'] .= $exc->getMessage(); $data['report'] .= $exc->getTraceAsString(); } } else { $data['message'] = 'Pasien memiliki piutang, Batalkan piutang terlebih dahulu untuk melakukan grouping'; } } else { $data['message'] = 'No Registrasi kosong'; } $data['report'] = $strReport; echo json_encode($data); }