PharmaHubSignal.R

# PharmaHubSignal.R
# Open-source R script to signal pharmacist when shelves are empty / low stock
# For community pharmacies using simple inventory tracking (e.g. CSV from PharmaHub or manual)
# Date: February 2026

library(dplyr)
library(lubridate)
library(sendmailR)

# ——————— CONFIGURATION ———————
# Path to your inventory file (export from PharmaHub / Excel / etc.)
INVENTORY_FILE <- "pharma_inventory.csv" # Example: columns = drug_name, dosage, stock, min_stock, expiry_date, price # Thresholds CRITICAL_LOW_THRESHOLD <- 5 # Alert if stock <= this EMPTY_THRESHOLD <- 0 # Signal "EMPTY SHELF" if stock <= this # Pharmacist notification email (update these!) FROM_EMAIL <- "pharmahub_alerts@example.com" TO_EMAIL <- "pharmacist.yourname@gmail.com" SMTP_SERVER <- "smtp.gmail.com" # e.g. smtp.gmail.com for Gmail (use app password!) SMTP_PORT <- 587 SMTP_USERNAME <- "your.email@gmail.com" SMTP_PASSWORD <- "your-app-password-here" # NEVER commit real passwords! # Log file LOG_FILE <- "pharmahub_alerts_log.txt" # --------------------- FUNCTIONS --------------------- log_message <- function(msg) { timestamp <- now() %>% format(“%Y-%m-%d %H:%M:%S”)
full_msg <- paste0("[", timestamp, "] ", msg, "\n") cat(full_msg) # Print to console write(full_msg, LOG_FILE, append = TRUE) # Append to log } send_email_alert <- function(subject, body) { tryCatch({ sendmail( from = FROM_EMAIL, to = TO_EMAIL, subject = subject, msg = body, control = list( smtpServer = SMTP_SERVER, smtpPort = SMTP_PORT, smtpUsername = SMTP_USERNAME, smtpPassword = SMTP_PASSWORD, useSSL = TRUE ) ) log_message("Email alert sent successfully.") }, error = function(e) { log_message(paste("Email failed:", e$message)) }) } # --------------------- MAIN LOGIC --------------------- main <- function() { log_message("Starting PharmaHub empty/low stock check...") if (!file.exists(INVENTORY_FILE)) { log_message(paste("Error: Inventory file not found ->“, INVENTORY_FILE))
return()
}

# Read inventory (assume CSV with headers: drug_name, stock, min_stock, etc.)
inventory <- read.csv(INVENTORY_FILE, stringsAsFactors = FALSE) %>%
mutate(stock = as.numeric(stock),
min_stock = as.numeric(min_stock)) %>%
filter(!is.na(stock)) # Clean bad rows

# Find empty / critically low items
empty_shelves <- inventory %>%
filter(stock <= EMPTY_THRESHOLD) %>%
select(drug_name, dosage = dosage, current_stock = stock)

low_stock <- inventory %>%
filter(stock > EMPTY_THRESHOLD & stock <= CRITICAL_LOW_THRESHOLD) %>%
select(drug_name, dosage = dosage, current_stock = stock, min_stock)

# Report
if (nrow(empty_shelves) > 0) {
msg_empty <- paste0( "URGENT: EMPTY SHELVES DETECTED in PharmaHub!\n\n", "The following items have ZERO or negative stock:\n", paste0("- ", empty_shelves$drug_name, " (", empty_shelves$dosage, "): ", empty_shelves$current_stock, "\n", collapse = ""), "\nImmediate restock required!\n" ) log_message(msg_empty) send_email_alert("PharmaHub ALERT: EMPTY SHELVES!", msg_empty) } else { log_message("No empty shelves detected.") } if (nrow(low_stock) > 0) {
msg_low <- paste0( "Low Stock Warning from PharmaHub\n\n", "The following items are critically low (≤ ", CRITICAL_LOW_THRESHOLD, "):\n", paste0("- ", low_stock$drug_name, " (", low_stock$dosage, "): ", low_stock$current_stock, " (min: ", low_stock$min_stock, ")\n", collapse = ""), "\nConsider re-ordering soon.\n" ) log_message(msg_low) send_email_alert("PharmaHub ALERT: Low Stock Items", msg_low) } else { log_message("No low stock items detected.") } log_message("PharmaHub stock check completed.") } # Run the check main() # Optional: Add expiry check in future versions # Example: near_expiry <- inventory %>% filter(as.Date(expiry_date) <= today() + 30)

Python-based prototype for a digital pharmacy + telepharmacy system

Here is a simple, open-source Python-based prototype for a digital pharmacy + telepharmacy system. It combines:

– Basic inventory management (medicines stock)
– Prescription handling (upload/view prescriptions — simulating telepharmacy)
– Patient & pharmacist authentication
– Simple dispensing / order processing
– Basic tele-consult note field (pharmacist can add advice after “review”)

This is a minimal viable example using Flask (lightweight web framework), SQLite (easy to run), and plain HTML/CSS/JS for the frontend. It is not production-ready (no proper encryption, no real file upload security, no video call integration, limited validation), but it’s open-source friendly and a good starting point to build upon.

You can extend it with:
– Real authentication (Flask-Login + bcrypt)
– File storage (e.g. AWS S3 or local secure folder)
– Video consultation (integrate Twilio, WebRTC, or Agora)
– Drug interaction checker API
– PDF prescription generation (ReportLab)
– NAFDAC/PCN compliance fields

“`python
# digital_pharmacy_telepharmacy.py
# Open-source prototype for Digital Pharmacy + Telepharmacy in Python (Flask + SQLite)
# MIT License – feel free to use, modify, and distribute
# Requirements: pip install flask flask-sqlalchemy werkzeug

from flask import Flask, render_template, request, redirect, url_for, flash, session, send_file
from flask_sqlalchemy import SQLAlchemy
from werkzeug.security import generate_password_hash, check_password_hash
from werkzeug.utils import secure_filename
from datetime import datetime
import os
import io

app = Flask(__name__)
app.secret_key = ‘super-secret-key-change-in-production-2026’
app.config[‘SQLALCHEMY_DATABASE_URI’] = ‘sqlite:///digital_pharmacy.db’
app.config[‘SQLALCHEMY_TRACK_MODIFICATIONS’] = False
app.config[‘UPLOAD_FOLDER’] = ‘uploads’
app.config[‘ALLOWED_EXTENSIONS’] = {‘pdf’, ‘jpg’, ‘png’}

# Create upload folder if not exists
os.makedirs(app.config[‘UPLOAD_FOLDER’], exist_ok=True)

db = SQLAlchemy(app)

# —————— MODELS ——————
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
password_hash = db.Column(db.String(200), nullable=False)
role = db.Column(db.String(20), nullable=False) # ‘patient’ or ‘pharmacist’
full_name = db.Column(db.String(100))

def set_password(self, password):
self.password_hash = generate_password_hash(password)

def check_password(self, password):
return check_password_hash(self.password_hash, password)

class Medicine(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), nullable=False)
dosage = db.Column(db.String(50))
price = db.Column(db.Float, nullable=False)
stock = db.Column(db.Integer, default=0)
expiry_date = db.Column(db.Date)

class Prescription(db.Model):
id = db.Column(db.Integer, primary_key=True)
patient_id = db.Column(db.Integer, db.ForeignKey(‘user.id’), nullable=False)
pharmacist_id = db.Column(db.Integer, db.ForeignKey(‘user.id’))
filename = db.Column(db.String(200))
upload_date = db.Column(db.DateTime, default=datetime.utcnow)
status = db.Column(db.String(20), default=’pending’) # pending, reviewed, dispensed, rejected
tele_note = db.Column(db.Text) # Pharmacist’s advice / tele-pharmacy note
dispensed_date = db.Column(db.DateTime)

# Create database tables
with app.app_context():
db.create_all()

# Helper: allowed file
def allowed_file(filename):
return ‘.’ in filename and filename.rsplit(‘.’, 1)[1].lower() in app.config[‘ALLOWED_EXTENSIONS’]

# —————— ROUTES ——————
@app.route(‘/’)
def home():
if ‘user_id’ not in session:
return redirect(url_for(‘login’))
return redirect(url_for(‘dashboard’))

@app.route(‘/register’, methods=[‘GET’, ‘POST’])
def register():
if request.method == ‘POST’:
username = request.form[‘username’]
password = request.form[‘password’]
role = request.form[‘role’]
full_name = request.form.get(‘full_name’, ”)

if User.query.filter_by(username=username).first():
flash(‘Username already exists!’, ‘danger’)
return redirect(url_for(‘register’))

user = User(username=username, role=role, full_name=full_name)
user.set_password(password)
db.session.add(user)
db.session.commit()
flash(‘Registration successful! Please login.’, ‘success’)
return redirect(url_for(‘login’))

return render_template(‘register.html’)

@app.route(‘/login’, methods=[‘GET’, ‘POST’])
def login():
if request.method == ‘POST’:
username = request.form[‘username’]
password = request.form[‘password’]
user = User.query.filter_by(username=username).first()

if user and user.check_password(password):
session[‘user_id’] = user.id
session[‘role’] = user.role
session[‘username’] = user.username
flash(‘Login successful!’, ‘success’)
return redirect(url_for(‘dashboard’))
else:
flash(‘Invalid credentials’, ‘danger’)

return render_template(‘login.html’)

@app.route(‘/logout’)
def logout():
session.clear()
flash(‘Logged out successfully’, ‘info’)
return redirect(url_for(‘login’))

@app.route(‘/dashboard’)
def dashboard():
if ‘user_id’ not in session:
return redirect(url_for(‘login’))

user = User.query.get(session[‘user_id’])

if user.role == ‘patient’:
prescriptions = Prescription.query.filter_by(patient_id=user.id).all()
medicines = Medicine.query.all()
return render_template(‘patient_dashboard.html’, prescriptions=prescriptions, medicines=medicines)

elif user.role == ‘pharmacist’:
pending = Prescription.query.filter_by(status=’pending’).all()
reviewed = Prescription.query.filter_by(status=’reviewed’).all()
medicines = Medicine.query.all()
low_stock = [m for m in medicines if m.stock < 10]
return render_template(‘pharmacist_dashboard.html’, pending=pending, reviewed=reviewed, low_stock=low_stock)

return “Unknown role”

# —————— PATIENT ROUTES ——————
@app.route(‘/upload_prescription’, methods=[‘POST’])
def upload_prescription():
if ‘user_id’ not in session or session.get(‘role’) != ‘patient’:
flash(‘Access denied’, ‘danger’)
return redirect(url_for(‘dashboard’))

if ‘file’ not in request.files:
flash(‘No file part’, ‘danger’)
return redirect(url_for(‘dashboard’))

file = request.files[‘file’]
if file.filename == ”:
flash(‘No selected file’, ‘danger’)
return redirect(url_for(‘dashboard’))

if file and allowed_file(file.filename):
filename = secure_filename(file.filename)
file_path = os.path.join(app.config[‘UPLOAD_FOLDER’], filename)
file.save(file_path)

pres = Prescription(
patient_id=session[‘user_id’],
filename=filename,
status=’pending’
)
db.session.add(pres)
db.session.commit()
flash(‘Prescription uploaded successfully!’, ‘success’)
else:
flash(‘Invalid file type (only pdf, jpg, png allowed)’, ‘danger’)

return redirect(url_for(‘dashboard’))

# —————— PHARMACIST ROUTES ——————
@app.route(‘/review_prescription/<int:pres_id>’, methods=[‘GET’, ‘POST’])
def review_prescription(pres_id):
if ‘user_id’ not in session or session.get(‘role’) != ‘pharmacist’:
flash(‘Access denied’, ‘danger’)
return redirect(url_for(‘dashboard’))

pres = Prescription.query.get_or_404(pres_id)
if request.method == ‘POST’:
action = request.form[‘action’]
tele_note = request.form.get(‘tele_note’, ”)

if action == ‘approve’:
pres.status = ‘reviewed’
pres.tele_note = tele_note
pres.pharmacist_id = session[‘user_id’]
flash(‘Prescription reviewed & approved. Tele-advice added.’, ‘success’)
elif action == ‘dispense’:
pres.status = ‘dispensed’
pres.dispensed_date = datetime.utcnow()
pres.tele_note = tele_note or pres.tele_note
flash(‘Prescription dispensed!’, ‘success’)
elif action == ‘reject’:
pres.status = ‘rejected’
pres.tele_note = tele_note
flash(‘Prescription rejected.’, ‘warning’)

db.session.commit()
return redirect(url_for(‘dashboard’))

return render_template(‘review_prescription.html’, prescription=pres)

@app.route(‘/view_prescription/<filename>’)
def view_prescription(filename):
if ‘user_id’ not in session:
flash(‘Please login’, ‘danger’)
return redirect(url_for(‘login’))

return send_file(os.path.join(app.config[‘UPLOAD_FOLDER’], filename), as_attachment=False)

@app.route(‘/add_medicine’, methods=[‘POST’])
def add_medicine():
if ‘user_id’ not in session or session.get(‘role’) != ‘pharmacist’:
return redirect(url_for(‘dashboard’))

name = request.form[‘name’]
dosage = request.form[‘dosage’]
price = float(request.form[‘price’])
stock = int(request.form[‘stock’])
expiry = datetime.strptime(request.form[‘expiry’], ‘%Y-%m-%d’).date()

med = Medicine(name=name, dosage=dosage, price=price, stock=stock, expiry_date=expiry)
db.session.add(med)
db.session.commit()
flash(‘Medicine added to inventory’, ‘success’)
return redirect(url_for(‘dashboard’))

# —————— TEMPLATES (save in templates/ folder) ——————
# You need to create these HTML files

# register.html, login.html (basic forms)
# patient_dashboard.html → list prescriptions + upload form + medicine list
# pharmacist_dashboard.html → pending/reviewed lists + low stock + add medicine form
# review_prescription.html → show image/pdf link + textarea for tele_note + approve/dispense/reject buttons

if __name__ == ‘__main__’:
print(“Digital Pharmacy & Telepharmacy Prototype”)
print(“Access: http://127.0.0.1:5000”)
app.run(debug=True)
“`

### Quick Start Instructions
1. Save the code as `digital_pharmacy.py`
2. Install dependencies:
“`bash
pip install flask flask-sqlalchemy werkzeug
“`
3. Create `templates/` folder and add basic HTML files (use Bootstrap for nicer UI)
4. Run:
“`bash
python digital_pharmacy.py
“`
5. Register → login as patient/pharmacist → test flows

### Important Legal & Safety Notes (especially for Nigeria)
– Never use in real patient care without proper validation, NAFDAC/PCN approval, data protection (NDPR), and secure infrastructure.
– Prescription verification must involve licensed pharmacists.
– Add audit logs, HTTPS, input sanitization, and role-based access control before production use.

Feel free to fork, improve, and share — happy coding! 🚀

How to enhance patient safety in community pharmacy in Nigeria

Patient safety in community pharmacies in Nigeria faces unique challenges, including high rates of medication errors (self-reported around 47% among healthcare professionals in national surveys), dispensing inaccuracies, substandard/falsified medicines, poor documentation of errors, limited interprofessional collaboration, pressure to meet sales targets, overwork, inadequate regulation enforcement, and gaps in knowledge (e.g., medication reconciliation and pharmacovigilance). Studies show that while overall patient safety culture in some pharmacy settings is rated good or excellent, key weaknesses persist in areas like error reporting, shift communication, and handling of mistakes.

Community pharmacies, often the first point of contact for many Nigerians, play a critical role in dispensing, counseling, and basic care—but enhancing safety requires targeted, multi-level strategies aligned with Pharmacy Council of Nigeria (PCN) regulations, ethical codes, and global best practices adapted to local realities.

Key Strategies to Enhance Patient Safety

1. Strengthen Regulatory Compliance and Enforcement

Strictly adhere to PCN guidelines on premises standards, good pharmacy practice (GPP), registration, and ethical conduct. Regular PCN inspections can reduce risks from poor storage, clutter, or substandard drugs. Avoid dispensing antibiotics or prescription-only medicines without valid prescriptions, and source drugs only from NAFDAC-approved suppliers to combat falsified medicines.

2. Improve Staff Training and Continuous Professional Development

Provide regular training on medication safety, error prevention, medication reconciliation (poor knowledge noted in ~66% of community pharmacists), pharmacovigilance, and ethical decision-making. Incorporate PCN-mandated continuing education. Train pharmacy technicians and support staff in patient-centered tasks like empathy, confidentiality, and alerting pharmacists to drug therapy problems.

3. Enhance Dispensing and Verification Processes

Implement double-checking systems for prescriptions (e.g., screening for completeness, authenticity, interactions, allergies, and appropriateness). Use standardized protocols to reduce common errors like wrong drug, dose, or labeling. Leverage tools like electronic aids if available, though access remains limited.

4. Prioritize Patient Counseling and Education

Offer structured, private counseling on proper use, side effects, adherence, and storage—rated highly in some studies but needing consistency. Empower patients to ask questions and recognize issues, reducing risks from misuse.

5. Foster a Strong Patient Safety Culture and Error Reporting

Encourage non-punitive reporting of near-misses and errors (currently low, with fear of blame common). Adopt tools like the Agency for Healthcare Research and Quality (AHRQ) patient safety culture survey adapted locally to identify weaknesses (e.g., in documentation or shift handovers). Promote openness, staff training, and a “just culture.”

6. Improve Infrastructure and Workflow

Design pharmacies for better flow: good lighting, organized storage, clutter-free spaces, and private counseling areas to enhance privacy and reduce distractions. Adequate staffing helps mitigate time pressures and overwork.

7. Build Interprofessional Collaboration and Care Transitions

Strengthen pharmacist-physician communication for better referrals, medication reconciliation during transitions (e.g., hospital to community), and resolving drug-related issues. Advocate for integrated systems or shared records where feasible.

8. Address Systemic and Ethical Drivers

Tackle pressures like sales targets, poor remuneration, and patient demands through better management support, incentives for professionalism, and improved physician-pharmacist collaboration. Community pharmacists should advocate for recognition in national health policies.

 

Implementing these requires collaboration among pharmacists, PCN, NAFDAC, professional bodies (e.g., PSN), and policymakers. Studies emphasize that targeted education, better regulation, and systemic support can significantly reduce risks and improve outcomes in Nigeria’s community pharmacy setting. Progress is gradual, but consistent application of these measures can make community pharmacies safer access points for healthcare.

The Prohibited List

Please take note that the search results displayed here are categorized by Substance or Method. To ensure you find the specific information you need, we strongly encourage you to open the relevant category and review the complete list of Prohibited Substances and Methods.

A category may be displayed in the search results based on the similarities in the names of some Substances and Methods.

If you cannot find a Substance or Method listed, please verify its status with your Anti-Doping Organization for accurate and authoritative information.

 

READMORE

https://www.wada-ama.org/en/prohibited-list

 

Blacklisted Products

Blacklisted Products

This to inform the general public that the products listed below have been officially approved for withdrawal, suspension, or cancellation. As a result, these products are no longer authorized for manufacture, importation, exportation, distribution, advertisement, sale, or use within Nigeria.

Please note the following definitions:

  1. Withdrawal: A product’s Certificate of Registration is considered withdrawn when its use is discontinued at the request of the Market Authorization Holder.
  2. Suspension: A product’s Certificate of Registration may be suspended when the conditions under which the registration was granted are no longer met, pending further determination by NAFDAC.
  3. Cancellation: A product’s Certificate of Registration is deemed cancelled when NAFDAC formally revokes the registration license.

READ MORE:

5 Steps to Achieve Your Goals for the New Year

Welcome to the time of year when we set our goals for the new year.

If you haven’t started yet, don’t worry. There’s plenty of time. In fact, I’m about to share with you five steps you can take to set and achieve your goals for the new year.

I was inspired by a TEDx talk that I watched by Stephen Duneier called How to Achieve Your Most Ambitious Goals. And these five steps are a combination of my takeaways from his talk and some of the things that I found to be useful in setting and achieving goals in the past.

1. Set Big Goals

Step one is to set a big goal. One that you’re going to be really jazzed about. One where you feel like you got to rise to the occasion. One that captures your imagination. That’s going to be a lot more fun, and interesting, and motivating to work on than something that’s just incremental and unexciting.

In my case, instead of setting a goal of growing my business by 10 to 20%, I’m thinking instead, “maybe I could double my business this year”. In fact, I’m even thinking, “maybe I could 10x my business this year.”

Just by thinking in such a big, ambitious way about my goals, it’s causing me to make a step change in my thinking and in my actions.

2. Create a Success Path

Now, to make sure you’re not setting yourself up for failure, step two is to set up a success path. When you create a success path, that simply means chunking down your big goal into smaller manageable steps.

Stephen Duneier talks about it as even making “tiny tweaks” that nudge you in the right direction. This is the opposite of what some of us did back in school, which was cram for the exam. It’s about steady progress and taking regular steps.

3. Go with Your Grain, Not Against It

While you’re making those marginal improvements in the right direction, make sure that you’re doing it in a way that goes with your grain and not against your grain. Going with your grain will make it so much more fun and easy, and more likely for you to achieve your goals.

For example, if you’re not a morning person, but your goal is to start an exercise habit in the new year, then don’t make yourself get up at 5:00 AM and do your workout before you commute to work. Choose a different time, one that suits you better like after work or during lunch.

4. Leverage Your Time

Then, the fourth step is to leverage your time. What I mean by this is we all have downtimes. Times that are lost, or what I call “up for grabs” times.

Like when you’re standing in line waiting, when you’re commuting to work, or those times you’re listening to music when you could just as easily be listening to an audio tape or podcast where you learn something or reading a book. You want to use those times wisely.

5. Use the Buddy System

Then, the fifth step is to use the buddy system. That means teaming up with someone who’s going to help hold you accountable. It’ll also make it more fun.

In my case, when I wanted to swim three nights a week as my exercise, I agreed with my friend, Wendy, that we would meet at the pool at 9:00 PM three nights a week. It was winter. It was cold. It was dark. When you leave the building, your hair is wet going into the parking lot. Not a lot of fun. But because I knew my friend was going to be there, I didn’t want to let her down. I showed up because I didn’t want her to be doing this all by herself.

On the other hand, if you happen to be somebody who’s very competitive, then go and challenge somebody else. You guys can compete and egg each other on that way.

Whatever you do, get a buddy. That makes it so much more likely that you’re going to have fun doing this and therefore achieve your goals.

So, those are five steps you can take to set and achieve your goals next year.

Putting the steps together

How will you achieve your goals in the new year? Will you wing it and hope for the best or will you do what every successful person has done, and that’s to have a clear plan and strategy?

If you’re not sure how to put together your plan for your new year goals, then I have something special coming soon that will make it simple, easy and fun for you.

I’m going to give you my proven framework for free that helps busy working professionals reach their career aspirations and potential. I teach this simple and effective framework in my corporate workshops and I’m going to share it with you. So, watch out for my announcement in early January.

For now, I’d love to know:

What is your big ambitious goal going to be for the new year and what would it mean for you when you achieve it?

Leave a comment and let me know. I would love to hear from you.

How to Have Healthier Holidays in 1-2-3!

Stay active

Even a few minutes of moderate-intensity physical activity can deliver some health benefits and count toward reaching the recommendations. For adults, the many benefits of physical activity include reduced short-term feelings of anxiety and better sleep.

Some tips for staying active during the holidays include:

  • When shopping, walk a few laps around the shopping center before going into stores.
  • Take the stairs at every opportunity. If you can’t climb all the stairs, take the stairs part way, then the elevator.
  • Rather than hunting for the closest parking spot, park farther away and walk briskly to your destination.
  • When friends and family gather, go for a group walk. You can make the walk more fun by turning it into a scavenger hunt.
  • Play an active group game in your yard or local park.
  • Bundle up and take a walk instead of a drive to see holiday lights.

Eat healthy

Eating well supports muscles and bones, boosts immunity, helps the digestive system, and aids in weight management, among other health benefits for children and adults. Good nutrition involves eating a variety of healthy foods. To do that during the holidays:

  • If you eat foods that are high in calories, saturated fat, or added sugars, choose small portions and only eat them once in a while. Opt for healthier foods most of the time.
  • At parties and other gatherings, fill your plate with your favorite fruits and vegetables first, then add small portions of less healthy items.
  • If you are taking food to a party, make it your favorite healthy dish. Then you’ll be sure that at least one item at the party will be a healthy choice that you enjoy.
  • Make healthier versions of your traditional recipes by using ingredients with less fat and salt.
  • Spice up baked fish or chicken by adding salsa or black bean sauce.
  • Consider beans in place of higher-fat meats.
A plate of salmon on top of roasted peppers, tomatoes, and asparagus.
Fill your plate with vegetables and lean protein.

Plan activities that don’t involve eating

Here are some ideas for shifting the focus away from food during the holiday season:

  • Volunteer in your community.
  • Try a seasonal activity such as ice skating or winter hiking.
  • Go on a walk and explore a new area with a friend or family member.
  • Visit that museum or exhibit you’ve been wanting to see.

Consider what new healthy traditions you can start this year. The possibilities are endless!

People volunteering at a food pantry.
Volunteering during the holidays might become something you enjoy year-round.

Resources

 

 

World Diabetes Day – Know more and do more for diabetes at work

World Diabetes Day takes place on the 14th November every year. It has grown from humble beginnings to become a globally-celebrated event which increases awareness about diabetes. Comprising hundreds of campaigns, activities, screenings, lectures, meetings, and more, World Diabetes Day is proving internationally effective in spreading the message about diabetes and raising awareness for the condition. World Diabetes Day is internationally recognized and is an official United Nations Day.
The primary dangers of diabetes in the workplace stem from acute blood sugar fluctuations (hypoglycemia and hyperglycemia) which can lead to sudden impairment or incapacitation, and long-term complications that develop over time, potentially affecting job performance and safety. Discrimination and lack of workplace support also pose significant challenges. 
Immediate Health & Safety Dangers:
The most immediate and severe risks are related to blood glucose levels: 
  • Hypoglycemia (low blood sugar): This is a key safety concern, as symptoms can appear suddenly and include dizziness, shakiness, sweating, confusion, poor concentration, slurred speech, and in severe cases, seizures or loss of consciousness. In safety-sensitive jobs like operating heavy machinery or driving, an episode of severe hypoglycemia poses a significant risk of harm to the employee and others.
  • Hyperglycemia (high blood sugar): While symptoms typically develop over hours or days and do not cause sudden incapacitation, acute episodes can still impair cognitive function, processing speed, and memory. Symptoms include fatigue, increased thirst and urination, and blurred vision, all of which can affect focus and performance. 
Productivity and Economic Impact:
Diabetes can also impact an individual’s work ability and the employer’s operations: 
  • Absenteeism: Employees with diabetes may require more time off for medical appointments, illness, or recovery from severe blood sugar episodes.
  • Presenteeism: This occurs when an employee is physically at work but their performance is impaired due to symptoms like fatigue or concentration issues, leading to reduced output and efficiency.
  • Early Retirement: Diabetes and its complications can lead to an earlier exit from the workforce for some individuals, resulting in a loss of skilled workers. 
Long-Term Complications:
Over years, poorly managed diabetes can lead to complications that affect job performance if they are established and interfere with specific job functions: 
  • Vision Impairment: Retinopathy and other eye issues can affect the ability to perform visually demanding tasks.
  • Nerve Damage (Neuropathy): Can lead to numbness or tingling in hands and feet, which could affect dexterity or require accommodations like specific protective footwear.
  • Cardiovascular Issues: Increased risk of heart attacks and strokes, which can lead to disability and time off work. 
Discrimination and Stigma:
Employees with diabetes may also face non-health-related dangers, such as: 
  • Discrimination: This can include failure to hire or promote, or termination based on employer myths or stereotypes about the condition.
  • Lack of Accommodation: Refusal to provide reasonable accommodations, such as breaks for blood glucose testing and medication administration, access to food/drink, or flexible schedules, makes managing the condition at work difficult and can lead to health risks. 
Employers are legally obligated to provide reasonable accommodations under laws like the Americans with Disabilities Act (ADA) in the U.S., which the American Diabetes Association provides resources about. The Job Accommodation Network offers ideas for accommodations. 
https://worlddiabetesday.org/

 

 

6 Tips That Can Help You Avoid a Yeast Infection

Yeast infections are common and rarely serious, but they can be very unpleasant.

The vagina usually has a healthy balance of bacteria and yeast. When there is an overabundance of yeast cells in the vagina or vulva, a yeast infection is the result. Women with yeast infections may experience itching, irritation, burning, soreness and a thick discharge.

1. Remove wet swimsuits.

Wearing a wet suit leaves a residue of pool chemicals on your skin and promotes the imbalance of bacteria in the vagina and vulva, Dr. Schleckman says.

“Don’t sit around in a wet bathing suit,” she says. “Rinse off with water and change immediately.”

The same goes for exercise. Rather than walking around in your sweaty clothes post-workout, hop in the shower and put on fresh clothes.

2. Skip strong cleansers.

Douches, antibacterial soaps and feminine sprays and powders promise a squeaky clean body. But Dr. Schleckman warns that these chemical-based products can alter a woman’s bacterial balance and cause chemical dermatitis.

“I call it overzealous hygiene,” Dr. Schleckman says. “You end up washing away the good bacteria, too.”

She recommends that women use paraben-free, dye-free hypoallergenic soaps or even gentle cleansers meant for babies. If your skin is irritated you can use an ointment like Vaseline or Aquaphor to soothe the area.

3. Cut back on sugars.

Diets high in sugar may be associated with a greater occurrence of yeast infections, Dr. Schleckman says. Swap foods and drinks made with sugars, such as soda and pastries, for healthier treats, like unsweetened iced tea or fresh fruit salad.

4. Consider a probiotic.

Lactobacillus is a bacteria that is part of a healthy vaginal flora. It can be found in supplements on its own or in some food such as yogurt.

“We don’t have consistent studies that say taking a probiotic or eating foods that contain probiotics, such as yogurt, prevent yeast infections,” says Dr. Schleckman “But these lifestyle changes may help and don’t cause any harm.”

Make sure to avoid any yogurts high in sugar or added sweeteners.

5. Don’t self-diagnose.

Many women make the mistake of trying to self-diagnose – and self-treat – yeast infections, Dr. Schleckman says.

“Many women who think they have a yeast infection actually do not,” she says.

These phantom infections may simply be skin discomfort due to a chemical irritant or a change in discharge before menstruation. Women who frequently purchase over-the-counter yeast infection treatment may actually disrupting the balance of their vaginal flora.

“This may cause an increasing rate of yeast that resists treatment,” Dr. Schleckman says. If you experience vaginal irritation, leave it up to your doctor to identify the source of your irritation. They may diagnose a different type on infection or a skin condition of the vulva.

6. Pay attention to preexisting health conditions.

Certain conditions may make you more prone to yeast infections. Women with diabetes, women with compromised immune systems and women who are pregnant are all at a greater risk for yeast infections. Certain diabetes medications can also increase your risk of getting a yeast infection.

“Managing your medical issues may help in reducing your yeast infection risk,” Dr. Schleckman says.

How do I prevent vaginitis?

Avoiding things that can change the natural balance of your vagina or cause irritation is the best way to keep your vagina healthy.

Think you may have a yeast infection or vaginitis?

Everyone’s body is different, so the things that lead to vaginitis for some people don’t always cause problems for others. But in general, anything that changes the chemical balance in your vagina can lead to vaginitis.

Allergic reactions or sensitivity to different products, materials, or activities can also cause vaginitis. Here are a few ways to keep your vulva and vagina healthy:

  • Don’t use scented tampons and pads, vaginal deodorants, and perfumed “feminine hygiene” products. (If you’re worried about the way your vagina smells, your doctor can let you know if it’s normal or not).
  • Stop using any perfumed bath products (like soap or bubble bath), laundry products, and scented or colored toilet paper if they irritate your skin.
  • Don’t douche — douching washes away the good, healthy stuff in your vagina and throws off your vagina’s natural balance. And if you already have an infection, douching can make it worse. Vaginas are self-cleaning, so you don’t need to clean the inside of your vagina. Washing your vulva with mild, unscented soap or just plain water is the healthiest way to clean your genitals. Vaginitis has nothing to do with how clean you are, so bathing or douching won’t cure vaginitis.
  • Vaginitis develops more quickly when your vulva is moist, so keep your genital area as dry as possible. Don’t sit around in a wet bathing suit or damp clothes, and don’t wear pants that are uncomfortably tight.
  • Rinse your vulva with mild soap and water when you shower, and dry after. Wear cotton or cotton-crotch underwear — they breathe better and can help keep your vulva dry. And change your underwear daily.
  • Change your tampons and pads every 4-8 hrs. Wash menstrual cups and sex toys carefully according to their instructions.
  • If germs from your anus get into your vagina, they can cause an infection. Wipe carefully after pooping to avoid spreading germs to your vulva. If a finger, sex toy, or penis goes into your butt, wash it carefully before it touches your vagina (or use a new condom over it).
  • Certain types of lubricants and spermicide may cause irritation for some people — stop using them or try a different brand if you have a reaction. If you’re allergic to latex, you can use polyurethane, polyisoprene, or nitrile condoms (they’re made from soft plastics and are latex-free).
  • Get to know your genitals. Look at your vulva with a mirror, and pay attention to your regular smells and vaginal discharge. It’s normal for discharge to change a little bit throughout your menstrual cycle. But knowing your body well is the best way to tell if something’s wrong, so you can get treatment as soon as possible if you need it.

Can you get vaginitis from having sex?

Most of the time vaginitis isn’t spread through sex. But sometimes vaginitis is caused by a sexually transmitted infection — trich is a very common STD that’s passed easily during sexual contact and often causes vaginitis.

Bacterial vaginosis and yeast infections aren’t sexually transmitted. But sometimes your body chemistry can have a bad reaction to another person’s semen or natural genital yeast and bacteria, which can mess up the normal balance in your vagina. And studies have shown that having sex with a new partner, or multiple partners, may make you more likely to get BV.

Sex can also lead to vaginitis if you have an allergy or sensitivity to certain types of lubes, condoms, or sex toy materials. (If you’re allergic to latex, you can use polyurethane, polyisoprene, or nitrile condoms.) And lots of friction or roughness during vaginal sex may cause inflammation and discomfort if the lining of your vagina gets irritated.

Add to cart