예제 #1
0
 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);
 }
예제 #2
0
 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);
 }