',{value:'',text:'.:Pilih Provinsi:.'}));$.each(data.result,function(index,val){$('#provinsi').append($('',{value:val.id,text:val.text}))})}})};const getKlinik=(jenis)=>{$.ajax({url:'https://balkesambarawa.dinkesjatengprov.go.id/bpjs/referensi-poli?klinik='+jenis,method:'get',dataType:"json",beforeSend:function(xhr,options){$('#klinik, #klinik_lama').find('option').remove()},success:function(data){$('#klinik, #klinik_lama').append($('',{value:'',text:'.:Pilih Poli Klinik:.'}));$.each(data,function(index,val){$('#klinik, #klinik_lama').append($('',{value:'',text:'.:Pilih Dokter:.'}));$.each(data,function(index,val){$('#dokter, #dokter_lama').append($('',{value:val.kode+"#"+val.dokter,text:val.dokter}))})}})};const getDokter=()=>{$.ajax({url:'https://balkesambarawa.dinkesjatengprov.go.id/bpjs/referensi-dokter',method:'post',dataType:"json",data:{_token:$('meta[name="csrf-token"]').attr('content'),kode_poli:$("#klinik :selected").val(),tanggal:$("#app_date").val()},beforeSend:function(xhr,options){$('#dokter').find('option').remove()},success:function(data){$('#dokter, #dokter_lama').append($('',{value:'',text:'.:Pilih Dokter:.'}));$.each(data,function(index,val){$('#dokter, #dokter_lama').append($('',{value:val.kodedokter+"#"+val.namadokter,text:val.namadokter}))})}})};getKlinik();provinsi();$("#dokter").select2({theme:"bootstrap-5",width:$(this).data('width')?$(this).data('width'):$(this).hasClass('w-100')?'100%':'style',placeholder:'Pilih Dokter',minimumInputLength:0,allowClear:true,multiple:false,debug:true,ajax:{dataType:"JSON",url:"https://balkesambarawa.dinkesjatengprov.go.id/bpjs/referensi-dokter",type:"POST",data:function(params){return{_token:$('meta[name="csrf-token"]').attr('content'),params:params.term,kode_poli:$("#klinik :selected").val(),tanggal:$("#app_date").val()}},processResults:function(data,params){return{results:$.map(data,function(item){return{text:item.namadokter,list:"Dokter : "+item.namadokter+"
"+"Spesialis : "+item.namasubspesialis,id:item.kodedokter+"#"+item.namadokter,}})}},cache:true},escapeMarkup:function(markup){return markup},templateResult:function(data){return data.list},templateSelection:function(data){return data.text}});$("#dokter_lama").select2({theme:"bootstrap-5",width:$(this).data('width')?$(this).data('width'):$(this).hasClass('w-100')?'100%':'style',placeholder:'Pilih Dokter',minimumInputLength:0,allowClear:true,multiple:false,debug:true,ajax:{dataType:"JSON",url:"https://balkesambarawa.dinkesjatengprov.go.id/bpjs/referensi-dokter",type:"POST",data:function(params){return{_token:$('meta[name="csrf-token"]').attr('content'),params:params.term,kode_poli:$("#klinik_lama :selected").val(),tanggal:$("#app_date_lama").val(),}},processResults:function(data,params){return{results:$.map(data,function(item){return{text:item.namadokter,list:"Dokter : "+item.namadokter+"
"+"Spesialis : "+item.namasubspesialis,id:item.kodedokter+"#"+item.namadokter,}})}},cache:true},escapeMarkup:function(markup){return markup},templateResult:function(data){return data.list},templateSelection:function(data){return data.text}});$("#jadwal_dokter").select2({theme:"bootstrap-5",width:$(this).data('width')?$(this).data('width'):$(this).hasClass('w-100')?'100%':'style',placeholder:'Pilih Jadwal Dokter',minimumInputLength:0,allowClear:true,multiple:false,debug:true,ajax:{dataType:"JSON",url:"https://balkesambarawa.dinkesjatengprov.go.id/bpjs/referensi-jadwal-dokter",type:"POST",data:function(params){return{_token:$('meta[name="csrf-token"]').attr('content'),params:params.term,kode_poli:$("#klinik :selected").val(),tanggal:$("#app_date").val(),dokter:$("#dokter :selected").val()}},processResults:function(data,params){return{results:$.map(data,function(item){if(item.namadokter===$("#dokter :selected").text()){return{text:item.namasubspesialis+" ("+item.jadwal+")",list:"Dokter : "+item.namadokter+"
"+"Jadwal : "+item.jadwal+"
"+"Spesialis : "+item.namasubspesialis,id:item.jadwal}}})}},cache:true},escapeMarkup:function(markup){return markup},templateResult:function(data){return data.list},templateSelection:function(data){return data.text}});$("#jadwal_dokter_lama").select2({theme:"bootstrap-5",width:$(this).data('width')?$(this).data('width'):$(this).hasClass('w-100')?'100%':'style',placeholder:'Pilih Jadwal Dokter',minimumInputLength:0,allowClear:true,multiple:false,debug:true,ajax:{dataType:"JSON",url:"https://balkesambarawa.dinkesjatengprov.go.id/bpjs/referensi-jadwal-dokter",type:"POST",data:function(params){return{_token:$('meta[name="csrf-token"]').attr('content'),params:params.term,kode_poli:$("#klinik_lama :selected").val(),tanggal:$("#app_date_lama").val(),dokter:$("#dokter_lama :selected").val()}},processResults:function(data,params){return{results:$.map(data,function(item){if(item.namadokter===$("#dokter_lama :selected").text()){return{text:item.namasubspesialis+" ("+item.jadwal+")",list:"Dokter : "+item.namadokter+"
"+"Jadwal : "+item.jadwal+"
"+"Spesialis : "+item.namasubspesialis,id:item.jadwal}}})}},cache:true},escapeMarkup:function(markup){return markup},templateResult:function(data){return data.list},templateSelection:function(data){return data.text}});$('#provinsi').change(function(params){const id=$(this).val();$.ajax({url:"https://balkesambarawa.dinkesjatengprov.go.id/pendaftaran/get-kabkota"+'/'+id,method:"get",dataType:"json",beforeSend:function(xhr,options){$('#kabkota').find('option').remove()},success:function(data){$('#kabkota').append($('',{value:'',text:'.:Pilih Kabupaten/Kota:.'}));$.each(data.result,function(index,val){$('#kabkota').append($('',{value:val.id,text:val.text}))})}})});$('#kabkota').change(function(params){const id=$(this).val();$.ajax({url:"https://balkesambarawa.dinkesjatengprov.go.id/pendaftaran/get-kecamatan"+'/'+id,method:"get",dataType:"json",beforeSend:function(xhr,options){$('#kecamatan').find('option').remove()},success:function(data){$('#kecamatan').append($('',{value:'',text:'.:Pilih Kacamatan:.'}));$.each(data.result,function(index,val){$('#kecamatan').append($('',{value:val.id,text:val.text}))})}})});$('#kecamatan').change(function(params){const id=$(this).val();$.ajax({url:"https://balkesambarawa.dinkesjatengprov.go.id/pendaftaran/get-desa"+'/'+id,method:"get",dataType:"json",beforeSend:function(xhr,options){$('#desa').find('option').remove()},success:function(data){$('#desa').append($('',{value:'',text:'.:Pilih Desa:.'}));$.each(data,function(index,val){$('#desa').append($('',{value:val.id,text:val.name}))})}})});$('#jenis_pasien').change(function(params){const jenis=$(this).val();getKlinik(jenis);$('#dokter').val(null).trigger('change');$('#jadwal_dokter').val(null).trigger('change');if(jenis==="bpjs"){$("#no_bpjs").prop("disabled",false).prop("required",true);$("#reference").prop("disabled",false).prop("required",true);$("#reference option:first").text("Perujuk Wajib Dipilih");$("#reference").show();$("#ref_no").prop("disabled",false).prop("required",true);$("#btnCekPeserta").show();$("#no_bpjs").attr("placeholder","Nomor BPJS Wajib Diisi");$("#dokter").prop("disabled",false).prop("required",true);$("#jadwal_dokter").prop("disabled",false).prop("required",true)}else{$("#no_bpjs").prop("disabled",true).prop("required",false);$("#reference").prop("disabled",true).prop("required",false);$("#reference").hide();$("#reference option:first").text("");$("#ref_no").prop("disabled",true).prop("required",false);$("#btnCekPeserta").hide();$("#no_bpjs").attr("placeholder","Nomor BPJS Tidak Perlu Diisi");if($("#klinik").val()=='UMU#UMUM'){$("#dokter").prop("disabled",true).prop("required",false);$("#jadwal_dokter").prop("disabled",true).prop("required",false)}}});$('#klinik').change(function(e){$('#dokter').val(null).trigger('change');$('#jadwal_dokter').val(null).trigger('change')});$('#jenis_pasien_lama').change(function(params){const jenis=$(this).val();getKlinik(jenis);$('#dokter_lama').val(null).trigger('change');$('#jadwal_dokter_lama').val(null).trigger('change');if(jenis==="bpjs"){$("#no_bpjs_lama").prop("disabled",false).prop("required",true);$("#reference_old").prop("disabled",false).prop("required",true);$("#reference_old option:first").text("Perujuk Wajib Dipilih");$("#reference_old").show();$("#ref_no_lama").prop("disabled",false).prop("required",true);$("#no_bpjs_lama").attr("placeholder","Nomor BPJS Wajib Diisi");$("#dokter_lama").prop("disabled",false).prop("required",true);$("#jadwal_dokter_lama").prop("disabled",false).prop("required",true)}else{$("#no_bpjs_lama").prop("disabled",true).prop("required",false);$("#reference_old").prop("disabled",true).prop("required",false);$("#reference_old").hide();$("#reference_old option:first").text("");$("#ref_no_lama").prop("disabled",true).prop("required",false);$("#no_bpjs_lama").attr("placeholder","Nomor BPJS Tidak Perlu Diisi");if($("#klinik_lama").val()=='UMU#UMUM'){$("#dokter_lama").prop("disabled",true).prop("required",false);$("#jadwal_dokter_lama").prop("disabled",true).prop("required",false)}}});$('#klinik_lama').change(function(e){$('#dokter_lama').val(null).trigger('change');$('#jadwal_dokter_lama').val(null).trigger('change')});$('#daftarOnlineBaru').on('submit',function(f){f.preventDefault();$('#btnSubmit').prop('disabled',true);let link_verifikasi=`https://balkesambarawa.dinkesjatengprov.go.id/pendaftaran/verifikasi`;let link_register=`https://balkesambarawa.dinkesjatengprov.go.id/bpjs/register-baru`;$.ajax({url:link_verifikasi,data:$('#daftarOnlineBaru').serialize(),dataType:'JSON',method:"POST",headers:{'X-CSRF-TOKEN':$('meta[name="csrf-token"]').attr('content')},beforeSend:function(e){$("#btnSubmit").prop("disabled",true);Swal.showLoading()},success:function(data){if(data.status==='success'){$("#faskes_perujuk").val(data.faskesPerujuk);$.ajax({url:link_register,type:"POST",dataType:"JSON",data:$('#daftarOnlineBaru').serialize(),headers:{'X-CSRF-TOKEN':$('meta[name="csrf-token"]').attr('content')},beforeSend:function(){$("#btnSubmit").prop("disabled",true);Swal.showLoading()},success:function(data){Swal.hideLoading();if(data.response==='success'){Swal.fire({title:'Berhasil!',text:"Pendaftaran pasien berhasil, silahkan cetak kartu pendaftaran!",icon:'success',confirmButtonColor:'#3085d6',cancelButtonColor:'#d33',confirmButtonText:'Print Kartu',showDenyButton:true,showCancelButton:false,denyButtonText:`Download kartu`,}).then((result)=>{if(result.isConfirmed){window.open(data.url,'Cetak Kartu Pendaftaran','directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=800,height=800');window.location.reload()}else if(result.isDenied){window.open(data.pdf,'_blank').focus();window.location.reload()}})}else if(data.response==='failed'){if(data.msg){Swal.fire('Gagal melakukan registrasi!',data.msg,'error')}else{Swal.fire('Gagal melakukan registrasi!','Register pasien gagal, silahkan coba lagi!','error')}}else{Swal.fire('Gagal disimpan!','Register pasien gagal, silahkan coba lagi!','error')}},error:function(x,t,m){if(t==='timeout'){}else{};setTimeout(function(){},3000)}})}else{$("#btnSubmit").prop("disabled",false);Swal.fire({title:'Perhatian!',icon:'warning',html:data.msg,})}},error:function(x,t,m){if(t==='timeout'){}else{};setTimeout(function(){},3000)}}).done(function(data){$('#btnSubmit').prop('disabled',false);$("#btnSubmit").addClass("active")})});$("#jenis_filter").on("change",()=>{let filter=$("#jenis_filter :selected").val();let placeholder=filter.replace("_"," ");$("#cari_pasien_lama").Select2UpdatePlaceholder(`Masukkan ${placeholder}`)});$("#cari_pasien_lama").select2({theme:"bootstrap-5",placeholder:'<< Pilih Kategori Pencarian Pasien',minimumInputLength:3,dropdownParent:$("#daftarOnlineLama"),allowClear:true,multiple:false,debug:true,ajax:{dataType:"JSON",url:"https://balkesambarawa.dinkesjatengprov.go.id/pendaftaran/get-pasien-lama",delay:1000,type:"POST",data:function(params){return{_token:$('meta[name="csrf-token"]').attr('content'),params:params.term,jenis:$("#jenis_filter :selected").val()}},processResults:function(data,params){return{results:$.map(data,function(item){const mobile=item.mobileno?item.mobileno:"-";const noktp=item.id_number.length==16?item.id_number:"";const bpjs=item.reference_no;return{text:''+item.patient_name+"",no_rm:item.patient_unique_id,nama:item.patient_name,dob:item.dob,mobileno:(mobile!="-"?mobile.replace(/\d(?=\d{4})/g,"*"):""),no_ktp:(noktp!=""?noktp.replace(/\d(?=\d{4})/g,"*"):""),ktp_hide:noktp,alamat:item.address+", "+item.village,no_bpjs:bpjs,bpjs_id:bpjs,list:'Nama : '+item.patient_name+'
Tanggal Lahir : '+item.dob+'
Alamat : '+item.address+", "+item.village,id:item.patient_unique_id}})}},cache:true},escapeMarkup:function(markup){return markup},templateResult:function(data){return data.list},templateSelection:function(data){return data.text}});$("#ktp_pasien_lama").keyup(function(){$("#ktp_hide").val($("#ktp_pasien_lama").val())});$('#cari_pasien_lama').on("select2:select",function(e){let data=e.params.data;$("#id_pasien_lama").val(data.id);$("#nama_pasien_lama").val(data.nama);$("#dob_pasien_lama").val(data.dob);$("#alamat_pasien_lama").val(data.alamat);if(data.no_bpjs==""){$("#jenis_pasien_lama").val("umum").change();$("#dokter_lama").prop("disabled",true).prop("required",false);$("#jadwal_dokter_lama").prop("disabled",true).prop("required",false);$("#no_bpjs_lama").val("")}else{$("#jenis_pasien_lama").val("bpjs").change();$("#dokter_lama").prop("disabled",false).prop("required",true);$("#jadwal_dokter_lama").prop("disabled",false).prop("required",true);$("#no_bpjs_lama").val(data.no_bpjs);$("#no_bpjs_lama").prop("readonly",false)};$("#ktp_hide").val(data.ktp_hide);$("#ktp_pasien_lama").val(data.no_ktp);if(data.no_ktp.length!=16){$("#ktp_pasien_lama").attr("placeholder","Silahkan isi nomer KTP");$("#ktp_pasien_lama").prop("readonly",false);$("#ktp_pasien_lama").prop("required",true);$("#ktp_pasien_lama").val("")}else{};if(data.mobileno==""){$("#mobileno_pasien_lama").attr("placeholder","Silahkan isi nomer hp");$("#mobileno_pasien_lama").prop("readonly",false);$("#mobileno_pasien_lama").val("")}else{$("#mobileno_pasien_lama").val(data.mobileno);$("#mobileno_pasien_lama").prop("readonly",false)};calculateAge("dob_pasien_lama","umur_lama")});$('#jenis_pasien_lama').change(function(params){const jenis=$(this).val();if(jenis==="bpjs"){$("#no_bpjs_lama").prop("readonly",false).prop("required",true);$("#no_bpjs_lama").attr("placeholder","Nomor BPJS Wajib Diisi")}else{$("#no_bpjs_lama").val("");$("#no_bpjs_lama").prop("readonly",true).prop("required",false);$("#no_bpjs_lama").attr("placeholder","Nomor BPJS Tidak Perlu Diisi")}});$('#cari_pasien_lama').on("select2:clear",function(e){let filter=$("#jenis_filter :selected").val();let placeholder=filter.replace("_"," ");$("#cari_pasien_lama").Select2UpdatePlaceholder(`Masukkan ${placeholder}`);$("#nama_pasien_lama").val("");$("#dob_pasien_lama").val("");$("#alamat_pasien_lama").val("");$("#ktp_pasien_lama").val("");$("#mobileno_pasien_lama").val("");$("#umur_lama").html("");$("#id_pasien_lama").val("");$("#no_bpjs_lama").val("");$("#no_kk_lama").val("");$("#no_ref_lama").val("");$("#mobileno_pasien_lama").prop("readonly",true);$("#ktp_pasien_lama").prop("readonly",true);$("#ktp_pasien_lama").prop("required",false)});$('#daftarOnlineLama').on('submit',function(f){f.preventDefault();$('#btnSubmitLama').prop('disabled',true);if($("#id_pasien_lama").val()===""){Swal.fire("Terjadi Kesalahan","Silahkan pilih data pasien lama dulu!","warning");$('#btnSubmitLama').prop('disabled',false);return false};let link_verifikasi=`https://balkesambarawa.dinkesjatengprov.go.id/pendaftaran/verifikasi`;let link_register=`https://balkesambarawa.dinkesjatengprov.go.id/bpjs/register-pasien-lama`;$.ajax({url:link_verifikasi,data:$('#daftarOnlineLama').serialize(),dataType:'JSON',method:"POST",headers:{'X-CSRF-TOKEN':$('meta[name="csrf-token"]').attr('content')},beforeSend:function(e){$("#btnSubmit").prop("disabled",true);Swal.showLoading()},success:function(data){$("#faskes_perujuk_lama").val(data.faskesPerujuk);if(data.status==='success'){$.ajax({url:link_register,type:"POST",dataType:"JSON",data:$('#daftarOnlineLama').serialize(),headers:{'X-CSRF-TOKEN':$('meta[name="csrf-token"]').attr('content')},beforeSend:function(){$("#btnSubmitLama").prop("disabled",true);Swal.showLoading()},success:function(data){Swal.hideLoading();if(data.response==='success'){Swal.fire({title:'Berhasil!',text:"Pendaftaran pasien berhasil, silahkan cetak kartu pendaftaran!",icon:'success',confirmButtonColor:'#3085d6',cancelButtonColor:'#d33',confirmButtonText:'Print Kartu',showDenyButton:true,showCancelButton:false,denyButtonText:`Download kartu`,}).then((result)=>{if(result.isConfirmed){window.open(data.url,'Cetak Kartu Pendaftaran','directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=800,height=800');window.location.reload()}else if(result.isDenied){window.open(data.pdf,'_blank').focus();window.location.reload()}})}else{Swal.fire('Gagal disimpan!','Register pasien gagal, silahkan coba lagi!','error');$("#btnSubmitLama").prop("disabled",false)}},error:function(x,t,m){if(t==='timeout'){}else{};setTimeout(function(){},3000)}})}else{$("#btnSubmit").prop("disabled",false);Swal.fire({title:'Perhatian!',icon:'warning',html:data.msg,})}},error:function(x,t,m){if(t==='timeout'){}else{};setTimeout(function(){},3000)}}).done(function(data){$('#btnSubmitLama').prop('disabled',false);$("#btnSubmitLama").addClass("active")})});$("#btnCekPeserta").click(function(){if($("#no_bpjs").val().length==13){Swal.showLoading();$.getJSON(`https://balkesambarawa.dinkesjatengprov.go.id/pendaftaran/get-peserta/${$("#no_bpjs").val()}`,function(data){console.log(data);if(data&&data.response){if(data.response.peserta.statusPeserta.kode=="0"){$("#nama_pasien").val(data.response.peserta.nama);$("#date_of_birthday").val(data.response.peserta.tglLahir);$("#mobileno").val(data.response.peserta.mr.noTelepon);$("#ktp_id").val(data.response.peserta.nik);if(data.response.peserta.sex=="L"){$("#male").prop("checked",true)}else if(data.response.peserta.sex=="P"){$("#female").prop("checked",true)};Swal.fire({title:'Sukses!',icon:'success',html:`Data kepesertaan ditemukan. Status peserta: ${data.response.peserta.statusPeserta.keterangan}`,})}else{Swal.fire({title:'Perhatian!',icon:'warning',html:`Status peserta: ${data.response.peserta.statusPeserta.keterangan}
Mohon hubungi kantor BPJS Terdekat.`,})}}else{Swal.fire({title:'Perhatian!',icon:'warning',html:`Response: ${data.metaData.message}`,})}}).fail(function(jqxhr,textStatus,error){Swal.fire({title:'Perhatian!',icon:'warning',html:`Request Failed: ${textStatus}, karena ${error}`,})}).always(function(){Swal.hideLoading()})}else{Swal.fire({title:'Perhatian!',icon:'warning',text:"Nomor BPJS Tidak Sesuai!",})}})});