Live Webinar on Dec 4! Cut Through the AI Noise: A Framework for Canadian Clinicians. Register now
[searchwp_form id="1"]
Lyme Disease Recognition and Management: Clinical Insights for PharmacistsBeyond Benzodiazepines: The Pharmacist’s Role in Advancing Chronic Insomnia Treatment with DORAsCommon Ailments in Community Pharmacy: A Collaborative Approach to CareOptimizing Cardiovascular Care: Risk and Lifestyle Management for Older AdultsAcute Pain Management in Pharmacy Practice: Oral and Topical AnalgesicsLeveraging rtCGM Technology to Enhance the Pharmacist’s Impact on Diabetes Care
Puissance VAX : Rehausser la couverture vaccinale grâce à une approche rapide et factuelleAu-delà des benzodiazépines : le rôle du pharmacien dans l’avancement du traitement de l’insomnie chronique avec les ADROPrévention du VRS pour tous les nourrissonsTraitement de la douleur aiguë en pratique de la pharmacie : Analgésiques oraux et topiquesMobiliser la technologie SCGtr et rehausser l’impact du pharmacien dans les soins du diabèteOptions ajoutées : Traitements non-hormonaux pour les symptômes vasomoteurs de la ménopause

Find Your Next Course

Browse the latest pharmacy continuing education courses.

Categories

Professions

Regions

Accreditations

Unaccredited

New

Accredited

Popular

Type: Live Event

2024-05-30

Medication,Medication Management,Pharmacy

Pharmapod Safety Series for Busy Pharmacies – Episode 1: Creating Your Own Safety Net

45 min, 

$0

free

(function() { var ajaxurl = window.ajaxurl || (window.wp && wp.ajax && wp.ajax.settings && wp.ajax.settings.url) || '/wp-admin/admin-ajax.php'; var injecting = false; var lastInjectedAt = 0; var afterIndex = 3; // insert AFTER the 4th item → appears as #5 // Target this specific FacetWP results inside your wrapper function getContainer() { return document.querySelector('.coursesListWrapper .facetwp-template') || document.querySelector('.facetwp-template'); } function getItems(c) { return c ? c.querySelectorAll('.e-loop-item') : []; } function reflowGrid() { try { if (window.elementorFrontend?.elements?.$window) { elementorFrontend.elements.$window.trigger('resize'); } else if (typeof jQuery !== 'undefined') { jQuery(window).trigger('resize'); } else { window.dispatchEvent(new Event('resize')); } } catch (e) {} } // --- PURGE HELPERS --------------------------------------------------------- var PURGE_SELECTOR = '.rxbri-courses-rectangle-placement, .rxbri-course-ads-placement, .rxbri-blog-ads-placement, .mdbc2-carousel-ads-placement'; function purgeStrays(container) { if (!container) return; document.querySelectorAll(PURGE_SELECTOR).forEach(function(el) { if (container.contains(el) && !el.closest('.course-ads-slot')) el.remove(); }); } function purgeBurst(container) { purgeStrays(container); setTimeout(function(){ purgeStrays(container); }, 50); setTimeout(function(){ purgeStrays(container); }, 150); setTimeout(function(){ purgeStrays(container); }, 300); setTimeout(function(){ purgeStrays(container); }, 600); } // --------------------------------------------------------------------------- function injectAd() { // throttle in case 'facetwp-loaded' fires twice quickly var now = Date.now(); if (now - lastInjectedAt < 200) return; lastInjectedAt = now; if (injecting) return; injecting = true; var c = getContainer(); if (!c) { injecting = false; return; } // HARD CLEAN first purgeBurst(c); // Remove previously injected ad (ours) c.querySelectorAll('.course-ads-slot').forEach(function(el){ el.remove(); }); var it = getItems(c); var count = it.length; if (count === 0) { purgeBurst(c); injecting = false; return; } var targetEl = (count > afterIndex) ? it[afterIndex] : it[count - 1]; fetchAndInsert(c, targetEl); } function fetchAndInsert(container, afterEl) { var xhr = new XMLHttpRequest(); var data = new FormData(); data.append('action', 'my_get_advads_placement'); data.append('placement', 'courses-rectangle-placement'); // your placement slug xhr.onreadystatechange = function() { if (xhr.readyState === 4) { if (xhr.status === 200) { try { var resp = JSON.parse(xhr.responseText); if (resp && resp.success && resp.data) { // final sweep before inserting purgeBurst(container); var wrap = document.createElement('div'); wrap.className = 'e-loop-item course-ads-slot'; wrap.innerHTML = resp.data; // should contain .rxbri-courses-rectangle-placement if (afterEl) { afterEl.insertAdjacentElement('afterend', wrap); } else { container.appendChild(wrap); } purgeBurst(container); if (typeof jQuery !== 'undefined') { jQuery(document).trigger('advanced_ads_ready'); } reflowGrid(); } } catch(e) {} } injecting = false; } }; xhr.open('POST', ajaxurl, true); xhr.send(data); } // Bind to FacetWP loaded (initial + every facet change) if (typeof jQuery !== 'undefined') { jQuery(document).off('facetwp-loaded.coursesAds').on('facetwp-loaded.coursesAds', injectAd); } else if (window.FWP?.hooks?.addAction) { if (!window.__coursesAdsBound) { FWP.hooks.addAction('facetwp/loaded', injectAd); window.__coursesAdsBound = true; } } })();
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful. Our cookie policy is available here.