- Kompas.com
- Tekno
- Internet
Kompas.com - 15/03/2022, 13:15 WIB
Zulfikar Hardiansyah,
Wahyunanda Kusuma Pertiwi
Tim Redaksi
Lihat Foto
Ilustrasi Pcare BPJS Kesehatan(Kompas.com/Wahyunanda Kusuma)
KOMPAS.com -BPJS Kesehatan punya beberapa platform digital yang memudahkan masyarakat Indonesia untuk mengakses layanan jaminan kesehatan, salah satunya yakni Primary Care BPJS Kesehatan (PCare BPJS Kesehatan).
PCare BPJS Kesehatan merupakan platform berbasis situs web, yang disediakan BPJS Kesehatan untuk Fasilitas Kesehatan Tingkat Pertama (FKTP), seperti Puskesmas, Klinik Pratama, dan Dokter Praktik Mandiri.
PCare BPJS Kesehatan memiliki sistem informasi terintegrasi yang mencakup beberapa data, antara lain seperti data kepesertaan, riwayat pelayanan kesehatan, data rujukan, dan sebagainya.
Baca juga: 3 Cara Cek Saldo JHT BPJS Ketenagakerjaan via Website, Aplikasi JMO, dan SMS
Sementara itu, PCare BPJS Kesehatan juga punya beberapa fitur yang memudahkan penyediaan layanan kesehatan pada pasien, seperti adanya pendataan pendaftaran dan pelayanan pada pasien BPJS Kesehatan.
Dengan fitur tersebut, FKTP bisa mendapat berbagai kemudahan, misalnya pendataan pasien jadi lebih praktis, petugas FKTP hanya perlu menginput data pasien di kolom yang tersedia.
Artikel Kompas.id
`; document.querySelector('.kompasidRec').innerHTML = htmlString; } else { document.querySelector(".kompasidRec").remove(); } } else { document.querySelector(".kompasidRec").remove(); } }});xhr.open("GET", endpoint);xhr.send();
Kemudian, proses diagnosis pasien juga bisa dilakukan lebih cepat, akibat adanya data riwayat kesehatan yang terintegrasi di PCare BPJS Kesehatan.
Baca juga: Cara Daftar Antrean Online BPJS Kesehatan via Mobile JKN
Kendati PCare BPJS kesehatan punya beragam kemudahan seperti di atas, namun platform ini sejatinya belum bisa digunakan atau diakses secara umum. Dengan kata lain, tidak semua pengguna bisa menggunakan PCare BPJS Kesehatan.
Dilansir dari Indonesia.go.id, Senin (14/3/2022), orang atau pihak yang bisa daftar PCare BPJS Kesehatan adalah fasilitas kesehatan yang telah resmi mendaftarkan diri ke BPJS.
BPJS bakal memberi username dan password pada FKTP agar bisa mengakses layanan PCare BPJS kesehatan. Adapun cara daftar PCare BPJS Kesehatan perlu dilakukan secara offline atau mengunjungi langsung kantor BPJS terlebih dahulu.
Baca juga: Syarat dan Cara Klaim JHT BPJS Ketenagakerjaan Lewat Aplikasi JMO
Selengkapnya, simak cara daftar PCare BPJS Kesehatan berikut ini.
Cara daftar PCare BPJS Kesehatan
- Kunjungi kantor BPJS Kesehatan terdekat di wilayah Anda dan ajukan pendaftaran PCare BPJS Kesehatan
- Petugas bakal memandu Anda untuk menyelesaikan proses pendaftaran PCare BPJS Kesehatan, berikut dengan memberi username dan password-nya.
- Setelah mendapat username dan password tersebut, kunjungi situs resmi BPJS Kesehatan di tautan ini https://pcarejkn.bpjs-kesehatan.go.id/eclaim
- Di halaman awal, isi username dan password yang tadi telah diberikan, untuk login ke PCare BPJS Kesehatan
Baca juga: 2 Cara Cek Lokasi Vaksin Covid-19 Terdekat Secara Online via Google Maps dan Situs Resmi
Setelah berhasil login, Anda kini bisa mengakses layanan PCare BPJS Kesehatan dengan cara sebagai berikut:
Cara menggunakan PCare BPJS Kesehatan
- Untuk mendata pendaftaran pasien BPJS Kesehatan, caranya klik opsi “Pendaftaran Peserta” di menu bar “Entry Data”, pada halaman awal PCare BPJS Kesehatan
- Isi data pasien BPJS Kesehatan yang terdaftar di FKTP, meliputi jenis kunjungan, poli tujuan, hasil pemeriksaan fisik serta tekanan darah, dan sebagainya.
- Sementara untuk mendata pelayanan yang telah diberikan pada pasien, caranya klik opsi “Pelayanan Pasien”.
- Kemudian, masukkan data pasien BPJS Kesehatan sesuai dengan hasil pemeriksaan yang dilakukan oleh tenaga medis atau dokter, seperti diagnosa, jenis pelayanan yang diberikan (misalnya berobat jalan, rujuk lanjut, atau rawat inap), dan sebagainya.
Baca juga: Kasus Kebocoran Data 279 Juta WNI, BPJS Kesehatan Akan Digugat lewat PTUN
Pendataan ini berfungsi untuk mempermudah FKTP dalam klaim biaya pelayanan yang telah diberikan pada pasien pada BPJS.
Selain pendataan pendaftaran dan layanan pada pasien secara umum, kini PCare BPJS Kesehatan juga punya fitur yang dapat membantu pendataan terkait berjalannya program vaksinasi COVID-19.
Fitur PCare BPJS Kesehatan program vaksinasi ini dihadirkan secara khusus dengan format aplikasi. Dilansir dari tayangan video YouTube kanal Pusat Pelatihan SDM Kesehatan milik Kementerian Kesehatan, berikut cara mendata vaksinasi lewat PCare BPJS Kesehatan:
- Kunjungi laman berikut ini https://pcare.bpjs-kesehatan.go.id/vaksin
- Atau, bisa juga dengan mengunduh aplikasi PCare Vaksinasi melalui toko aplikasi Google Play Store
- Setelah itu, masukkan username dan password yang tadi telah didapatkan untuk login ke PCare Vaksinasi
- Untuk mulai mendata peserta vaksinasi, klik opsi “Pencatatan Pelaksanaan Vaksin” di menu bar “Entry Vaksinasi”
- Masukkan data peserta vaksinasi, seperti nama, NIK, profesi, dan sebagainya.
- Selanjutnya, Anda sebagai petugas registrasi vaksinasi bisa menyimpan data tersebut
- Lalu, klik opsi “pencatatan vaksinasi” dan cari peserta yang sedang menjalani skrining atau pemeriksaan kelayanan mendapat vaksin, dengan menginput identitasnya di kolom yang tersedia.
- Ubah status petugas jadi “Pencatatan dan Observasi” setelah sebelumnya adalah “Pre-Registrasi”
- Masukkan hasil skrining peserta, seperti suhu badan, tekanan darah, dan sebagainya.
- Setelah peserta selesai diregistrasi dan di-skrining, tambahkan data pemberian jenis vaksin dan klik opsi “simpan”.
Baca juga: Syarat dan Cara Klaim JHT BPJS Ketenagakerjaan Lewat Aplikasi JMO
Data vaksinasi PCare BPJS Kesehatan ini bakal tersimpan dan terintegrasi langsung dengan aplikasi PeduliLindungi. Untuk informasi selengkapnya, Anda bisa menghubungi Pusat Layanan Informasi BPJS Kesehatan di nomor “1500400”.
Perlu diketahui, PCare BPJS Kesehatan ini memang didesain untuk memudahkan petugas kesehatan, bukan pengguna biasa. Sedangkan pengguna biasa, bisa mengakses layanan digital BPJS Kesehatan lewat aplikasi Mobile JKN.
Demikian cara daftar dan menggunakan PCare BPJS Kesehatan, semoga bermanfaat.
Simak breaking news dan berita pilihan kami langsung di ponselmu. Pilih saluran andalanmu akses berita Kompas.com WhatsApp Channel : https://www.whatsapp.com/channel/0029VaFPbedBPzjZrk13HO3D. Pastikan kamu sudah install aplikasi WhatsApp ya.
- 6 Layanan Publik Wajibkan BPJS Kesehatan sebagai Syarat, Ini Cara Mendaftarnya secara Online
- 3 Cara Cek BPJS Kesehatan Masih Aktif atau Tidak secara Online
- Go-Jek Luncurkan Go-Bills, Bisa Bayar Listrik dan BPJS
- Disebut Sebagai Sumber Kebocoran Data 279 Juta Penduduk Indonesia, Ini Kata BPJS
Video rekomendasi
Video lainnya
Pilihan Untukmu
`); var wSpecStop = createElementFromHTML(`
Konten disembunyikan.
Muat ulang halaman untuk perbarui rekomendasi.
`); reactionPopup.querySelector('.buttonShare').setAttribute('data-title', item.title); reactionPopup.querySelector('.buttonShare').setAttribute('data-url', itemUrl); reactionPopup.querySelector('.buttonShare').setAttribute('data-campaign', 'AIML_Widget_Desktop'); let userFeedback = new UserFeedback(resultObj.engine['tracker_algsrc'], itemUrl + tracker_params, jxRecHelper, index); reactionPopup.querySelector('.buttonBookmark').addEventListener('click', function() { do_bookmark(itemUrl, index, userFeedback); }); reactionPopup.querySelector('.buttonShare').addEventListener('click', function() { userFeedback.event('share'); }); reactionPopup.querySelector('.buttonNotInterest').addEventListener('click', function() { if (getCookie('kmps_usrid')) { hideThisArt(this); userFeedback.event('not-interested'); } else { const parentAction = this.parentElement.parentElement.parentElement if (!!parentAction) { let indexElement = parentAction.getAttribute('data-index') if (indexElement != 'undefined') { localStorage.setItem('reaction_not_interest_temp', JSON.stringify({ urlpage: items[indexElement].url })) } } window.location.href = "https://account.kompas.com/login/a29tcGFz/" + btoa(window.location.href); } }); /** * trigger action "userFeedback" that user not interest item before, when not interest without login */ if (getCookie('kmps_usrid') && localStorage.getItem('reaction_not_interest_temp')) { const tempUrlNotInterest = JSON.parse(localStorage.getItem('reaction_not_interest_temp')) if (itemUrl == tempUrlNotInterest.urlpage) { userFeedback.event('not-interested'); localStorage.removeItem('reaction_not_interest_temp'); } } wSpecStop.querySelector('.wSpec-stop-undo').addEventListener('click', function() { showThisArt(this); userFeedback.event('un-not-interested'); }); recItem.appendChild(buttonOption); recItem.appendChild(reactionPopup); recItem.appendChild(wSpecStop); } var recItemWrapperA = createElement('a', null, null, null); recItemWrapperA.setAttribute('href', itemUrl + tracker_params); var titleDiv = createElement('h4', null, null, [cssClasses.title]); var titleTextNode = document.createTextNode(item.title); if (item.itemType == 'video') { var iconVideo = createElement('div', null, null, ['icoInline', 'icoVideo']); iconVideo.style.marginRight = '5px'; titleDiv.appendChild(iconVideo); } titleDiv.appendChild(titleTextNode); var sourceDiv = null; if (item.hasOwnProperty('method')) { sourceDiv = createElement('div', null, null, [cssClasses.source], resultObj.engine['type'] + ' . ' + item.method.toUpperCase()); } else { var sourceDiv = createElement('div', null, null, [cssClasses.source], resultObj.engine['type']); } var textWrapper = createElement('div', null, null, [cssClasses.text_wrapper]); textWrapper.appendChild(categoryDiv); textWrapper.appendChild(titleDiv); textWrapper.appendChild(sourceDiv); recItemWrapper.appendChild(imgWrapper); recItemWrapper.appendChild(textWrapper); recItemWrapperA.appendChild(recItemWrapper); recItem.appendChild(recItemWrapperA); widgetWrapper.appendChild(recItem); // hook up the click handler for this item // recItem.onclick = handleClick.bind(null, jxRecHelper, itemUrl + tracker_params, index); recItemWrapperA.onclick = handleClick.bind(null, jxRecHelper, itemUrl + tracker_params, index); }); } // end while var endDate = new Date(); var loadtime = (endDate.getTime() - startDate.getTime()); trackEventGa('AIML Article Recommendation', 'Content Loaded', 'algsrc='+algsrc+',site=TEKNO,device=desktop,loadtime=' + loadtime) let domain = window.location.hostname; if(domain=='www.kompas.com'){ var url=window.location.href.split("/"); domain=url[2]+'/'+url[3] } let user_subs_type = "Gues"; let subs_type = ""; let is_lgn = 0; let engine = algsrc; if(getCookie('kmps_usrid')){is_lgn=1}; let time_load = loadtime; resolve(); /*** * JXRECSDK NOTES 3 of 5 - * pass all the info about the items to the rec helper * each one is an object: ALL MANDATORY * div * id * pos */ jxRecHelper.items(widgetItemArr); /*** * JXRECSDK NOTES 4 of 5 - * Call the ready() of the helper object when the recommendation * results have been populated to the widget * (This will register the action=ready event) */ if (resultObj.engine['type'] == 'api-1') { jxRecHelper.ready(resultObj.options.algo + ":" + resultObj.options.version); } else { jxRecHelper.ready(resultObj.engine['type']); } } else { jxRecHelper.error(204); console.error("Error: no recommendation items"); return; } } catch (err) { jxRecHelper.error(901); console.log(err.stack); let domain = window.location.hostname; if(domain=='www.kompas.com'){ var url=window.location.href.split("/"); domain=url[2]+'/'+url[3] } let user_subs_type = "Gues"; let subs_type = "" let is_lgn = 0; let engine = algsrc; if(getCookie('kmps_usrid')){is_lgn=1}; let endDate = new Date(); let time_load = (endDate.getTime() - startDate.getTime()); } }); } const _jxRecSdkURL = 'https://scripts.jixie.media/jxrecsdk.1.0.min.js'; var startDate = new Date(); class OneWidget { constructor() { //this is also the one we will pass to the JX rec helper object when //we instantiate it: //In this implementation most of these come from the options obj //on the publisher page. this._options = { accountid: '9262bf2590d558736cac4fff7978fcb1', pageurl: 'https://tekno.kompas.com/read/2022/03/15/13150097/cara-daftar-dan-menggunakan-pcare-bpjs-kesehatan-serta-fitur-vaksinasi-covid-19', widget_id: '1000183-6xWeiWZFIM', type: 'pages', container: 'rekomendasi-konten-pilihan-untukmu-aiml', keywords: content_tags, title: title, customid: "7", count: 14, }; this._containerId = this._options.container; this._container = document.getElementById(this._containerId); this._engines = [{"url":"https:\/\/recommendation.jixie.media\/v1\/recommendation","method":"GET","pageurl":"https:\/\/tekno.kompas.com\/read\/2022\/03\/15\/13150097\/cara-daftar-dan-menggunakan-pcare-bpjs-kesehatan-serta-fitur-vaksinasi-covid-19","system":"jx","type":"api-1","tracker_params":"?source=widgetML","tracker_algsrc":"V","count":14,"page_status":"read","excludeitemids":"2022031513150097"}]; } kickOff() { startDate = new Date(); const rand = Math.floor(Math.random() * 1000); /*const randSystem = Math.floor(Math.random() * 3); this._engine = this._engines[randSystem] if (location.hostname.indexOf('lestari') != -1) { this._engine = this._engines[1] }*/ this._engine = this._engines[0]; this._options.system = this._engine['system'] trackEventGa('AIML Article Recommendation', 'Widget load', 'algsrc=' + this._engine['tracker_algsrc'] + ',site=TEKNO,device=desktop') let promJXSDK = fetchJSFileP(_jxRecSdkURL); let thisObj = this; // first we wait on the JX REC SDK to be loaded and initialized let recHelperObj = null; let recResults = null; promJXSDK .then(function() { /*** * JXRECSDK NOTES 1 of 5 - INSTANTIATION OF A JX REC HELPER OBJECT * Call this AFTER JX REC SDK is loaded but BEFORE you call your REC * backend. * * param: MANDATORY options object * options object must at a minimal have * accountid: get from jixie * widgetid: get from jixie * container: DIV ID of the destination div to house the widget * (for jixie widget this is just the options object passed from the page) * * (This will also register the action=load event) */ recHelperObj = jxRecMgr.createJxRecHelper(thisObj._options); let basicInfo = thisObj._options; basicInfo.engine = thisObj._engine if (basicInfo.engine.type == 'api-1') { var options = { count: basicInfo['count'], adpositions: "", keywords: basicInfo['keywords'], title: basicInfo['title'], date_published: "2022-03-15", pagecategory: "TEKNO", algo: "mixed" }; if(getCookie('kmps_usrid')){ var kg = { pagetype:basicInfo.engine.page_status, uid:getCookie('kmps_usrid'), ukid:getCookie('kmp_uid') } if(basicInfo.engine.page_status=='read'){ kg['excludeitemids'] = basicInfo.engine.excludeitemids; kg['multiFormat'] = true; } options['additional'] = { kg:kg }; } return recHelperObj.getJxRecommendations(options); } else { return fetchRecommendationsP(basicInfo, recHelperObj.getJxUserInfo()); } }) .then(function(resp) { if (thisObj._engine.type == 'api-3') { recResults = new Object recResults.items = resp.docs.result; } else { recResults = resp; } recResults.engine = thisObj._engine; if (!resp || !recResults.items || recResults.items.length == 0) { /*** * JXRECSDK NOTES 2 of 5 - * Call the error() function on the recHelper when either an error * has occured in the fetching or there are no recommended items * * (This will register the action=error event) */ recHelperObj.error(204); throw "no recommendation results"; } }) .then(function() { // everything is ready (recommendation results, css): document.getElementById("rekomendasi-konten-pilihan-untukmu-aiml").classList.remove("-loading"); document.querySelector('.wSpec-list').remove(); createDisplay(rand, thisObj._container, recResults, recHelperObj) .then(function() { toggleDropdown(); //observe lozad lozad('.lozad', { load: function(el) { el.src = el.dataset.src; el.onload = function() { el.classList.add('fade') } } }).observe() }) }) .catch(function(error) { console.log(`Unable to create recommendations widget ${error.stack} ${error.message}`); }); } } var limit_gtm_ready = 1; function check_gtm_ready() { if ('ga' in window) { // create a new instance of our widget based on the options const newW = new OneWidget(); newW.kickOff(); } else { const timeout_gtm_ready = setTimeout(check_gtm_ready, 500) limit_gtm_ready += 1; if (limit_gtm_ready > 10) { clearTimeout(timeout_gtm_ready); const newW = new OneWidget(); newW.kickOff(); } } } check_gtm_ready() document.querySelector('.wSpec-secret').addEventListener('click', function(e) { e.preventDefault(); let wSl = document.querySelectorAll('.wSpec-source'); if (wSl.length > 0) { for (let i = 0; i < wSl.length; i++) { wSl[i].classList.toggle('show') } } }) function trackEventGa(category, action, label) { if ("ga" in window) { ga(function() { tracker = ga.getAll()[0]; if (tracker) { tracker.send("event", category, action, label); console.log('track event ', category, action, label) } }) } } function formBody(obj) { let formBody = []; for (var property in obj) { let encodedKey = encodeURIComponent(property); let encodedValue = encodeURIComponent(obj[property]); formBody.push(encodedKey + "=" + encodedValue); } return formBody.join("&"); } function getCookie(name) { var name = name + '='; var cookies = decodeURIComponent(document.cookie).split(';'); for (var i = 0; i < cookies.length; i++) { var c = cookies[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } } function get_guid(url) { const videoPath = url.match(/\/watch\/(\d+)/); if (videoPath) { return `video.${videoPath[1]}`; } let arrayUrl = url.split('/'); let readPath = arrayUrl.indexOf('read'); if (arrayUrl[readPath + 1] == 'xml') { readPath += 1; } let year = arrayUrl[readPath + 1]; let month = arrayUrl[readPath + 2]; let date = arrayUrl[readPath + 3]; let id = arrayUrl[readPath + 4]; let guid = `.xml.${year}.${month}.${date}.${id}`; return guid; } function toggleDropdown() { let tdd = document.querySelectorAll('[data-dropdown]') if (!!tdd) { tdd.forEach((el) => { el.addEventListener('click', function() { el.parentElement.classList.toggle('-active') let saved = el.parentElement.getAttribute('data-saved') let kmps_usrid = getCookie('kmps_usrid'); if (kmps_usrid && !saved && el.parentElement.classList.contains('-active')) { let url = el.parentElement.getAttribute('data-url'); let guid = get_guid(url); check_bookmark( kmps_usrid, guid ).then(function(resp) { if (resp.hasOwnProperty('total_data')) { if (resp.total_data > 0) { el.parentElement.querySelector('.buttonBookmark').classList.add('-active'); el.parentElement.querySelector('.buttonBookmark').innerHTML = 'Hapus dari tersimpan'; el.parentElement.setAttribute('data-saved', 'true'); } else { el.parentElement.setAttribute('data-saved', 'false'); } } }) } }) document.addEventListener("click", function(e) { // console.log(e.target) if (el.contains(e.target)) { // console.log(tdd) } else { el.parentElement.classList.remove('-active') } }); }); } } function check_bookmark(kmps_usrid, guid) { let url = `https://api.kompas.com/2021/reaction/bookmark/list?kmps_usrid=${kmps_usrid}&guid=${guid}`; return new Promise(function(resolve, reject) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { resolve(JSON.parse(this.responseText)) } }; xmlhttp.open("GET", url, true); xmlhttp.send(); }); } function do_bookmark(pageurl, pos, userFeedback) { const wSpecItem = document.querySelector(`.wSpec-item[data-index="${pos}"]`); const btnBookmark = wSpecItem.querySelector('.buttonBookmark'); const kmps_usrid = getCookie('kmps_usrid'); const guid = get_guid(pageurl); const type = pageurl.match(/\/watch\/(\d+)/) ? 'video' : 'article'; if (kmps_usrid) { if (btnBookmark.classList.contains('-active')) { set_unbookmark({ guid: guid, kmps_usrid: kmps_usrid, type: type }).then(function(resp) { btnBookmark.classList.remove('-active'); btnBookmark.innerHTML = 'Simpan artikel'; reactionToast('Artikel berhasil dihapus dari list yang disimpan'); userFeedback.event('un-save'); }).catch(function(resp) { // message: "Data doesn't exists" if (resp.hasOwnProperty('message') && resp.message.includes('exist')) { btnBookmark.classList.remove('-active'); btnBookmark.innerHTML = 'Simpan artikel'; reactionToast('Artikel berhasil dihapus dari list yang disimpan'); } }) } else { const user_bookmark_url = "https://activity.kompas.com/saved?order=desc"; set_bookmark({ guid: guid, kmps_usrid: kmps_usrid, type: type, publisher: 'kompas', platform: 'desktop' }).then(function(resp) { btnBookmark.classList.add('-active'); btnBookmark.innerHTML = 'Hapus dari tersimpan'; reactionToast('Artikel berhasil disimpan', user_bookmark_url); userFeedback.event('save'); }).catch(function(resp) { // message: "Data already exist" if (resp.hasOwnProperty('message') && resp.message.includes('exist')) { btnBookmark.classList.add('-active'); btnBookmark.innerHTML = 'Hapus dari tersimpan'; reactionToast('Artikel berhasil disimpan', user_bookmark_url); } }) } } else { const login_url = "https://account.kompas.com/login/a29tcGFz/" + btoa(window.location.href); window.location.href = login_url; } } function set_bookmark(data) { const url = "https://api.kompas.com/2021/reaction/bookmark/add"; return new Promise(function(resolve, reject) { const xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 201) { resolve(JSON.parse(this.responseText)); } else if (this.readyState == 4 && this.status == 400) { reject(JSON.parse(this.responseText)); } }; xmlhttp.open("POST", url, true); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); xmlhttp.send(formBody(data)); }); } function set_unbookmark(data) { const url = "https://api.kompas.com/2021/reaction/bookmark/delete"; return new Promise(function(resolve, reject) { const xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { resolve(JSON.parse(this.responseText)); } else if (this.readyState == 4 && this.status == 400) { reject(JSON.parse(this.responseText)); } }; xmlhttp.open("POST", url, true); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); xmlhttp.send(formBody(data)); }); } class UserFeedback { constructor(engine, pageurl, jxRecHelper, pos) { this.engine = engine; this.pageurl = pageurl; this.jxRecHelper = jxRecHelper; this.pos = pos; } event(feedback) { if (this.engine == 'C') { const xmlhttp = new XMLHttpRequest(); let params = { domain: 'kompas.com', ce_userid: getCookie('kmps_usrid'), ce_sessionid: getCookie('ukid'), ce_pageurl: this.pageurl, engine: 'C', ce_feedback: feedback } xmlhttp.open("GET", 'https://apis.kgdata.dev/v1/aiml/feedback-widgetml' + formatParams(params)); xmlhttp.send(); } else if (this.engine == 'V') { if (feedback == 'share') { this.jxRecHelper.shared(this.pos); } else if (feedback == 'save') { this.jxRecHelper.bookmarked(this.pos); } else if (feedback == 'not-interested') { this.jxRecHelper.hidden(this.pos); } else if (feedback == 'un-not-interested') { this.jxRecHelper.unhidden(this.pos); } } } } function formatParams(params) { return "?" + Object .keys(params) .map(function(key) { return key + "=" + encodeURIComponent(params[key]) }) .join("&") } document.addEventListener("click", function(e){ let dx = document.querySelectorAll('[data-dropdown]') if(dx) { dx.forEach(function(el){ if(el.contains(e.target)) { el.parentElement.classList.toggle('-active') } else { el.parentElement.classList.remove('-active') } }) } })