East African Forum calls for full integration of traditional medicine into national health systems
East African Forum calls for full integration of traditional medicine into national health systems
Read this story aloud
Listen to the clean text version of this article
Ready
3 min listen
Audio reading is not supported on this browser.
Despite its widespread use, global research funding for the sector remains extremely low. Experts emphasised the urgent need for stronger regulation, evidence-based research, and sustainable investment to support safe and effective practices
Traditional medicine should not be seen merely as an alternative when conventional healthcare falls short, but as a complementary pillar of integrated health systems, according to resolutions from the East African Forum on Traditional, Complementary and Integrative Medicine (TCIM) held in Nairobi.
The forum, organised by the Ministry of Health, Kenya, in partnership with the Traditional, Complementary, and Integrative Healthcare Coalition, brought together policymakers, regulators, researchers, and traditional medicine practitioners from across the East African Community. Representatives from several countries in the region attended, with some joining virtually.
“Traditional medicine is not a fallback; it is a vital part of our health systems. When properly integrated, it can help address chronic diseases and strengthen primary healthcare,” said a health official at the forum.
More To Read
- Kenya pushes for scientific validation and integration of traditional medicine into health system
- Ruto urges support for local health manufacturers to boost Kenya’s healthcare resilience
- Murang’a County to host Kenya’s inaugural indigenous knowledge investment conference
- Tormentil: Yellow wildflower that could be a breakthrough against drug-resistant infections
- Parliament petitioned to address high costs, specialised treatment for haemophilia patients
The discussions highlighted that traditional medicine already plays a major role in healthcare across East Africa, with a large majority of people relying on it for their health needs. Despite its widespread use, global research funding for the sector remains extremely low. Experts emphasised the urgent need for stronger regulation, evidence-based research, and sustainable investment to support safe and effective practices.
Participants resolved to formally recognise traditional, complementary, and integrative medicine in national health strategies, universal health coverage frameworks, and primary healthcare delivery models. They also committed to introducing standards for practitioners to ensure safety, quality, and professional recognition while safeguarding indigenous knowledge.
The forum called for harmonisation of product regulation, improved market surveillance, and robust registration pathways, along with greater investment in research to generate scientific evidence on the safety and effectiveness of traditional medicine practices and products. In addition, the East African Network on TCIM (EAN-TCIM) will be operationalised to coordinate policy, research, and regulation across the region.
Latest Stories
- Mandera anti-illicit alcohol drive intensifies as officers target brewing and distribution rings
- Treasury denies claims government plans to borrow Sh1 trillion from sacco savings for infrastructure fund
- Police to mount checkpoints across Nairobi ahead of 2026 Saba Saba commemoration, warn against unlawful acts
- Government to launch forceful disarmament in Tana River County after amnesty ends
“Remarkably, so many people depend on traditional medicine, yet so little research supports it. We must invest in studies and regulation to ensure these practices are safe and effective,” said a senior researcher.
The forum concluded with a commitment to translate resolutions into actionable national and regional plans, mobilise financing, strengthen regulatory systems, and integrate evidence-based, quality-assured traditional medicine into healthcare systems. “Our goal is to see traditional medicine fully integrated into health systems, benefiting people across East Africa,” said a regional health policy expert.
The forum marks a major step toward evidence-based integration of traditional medicine and reinforces East Africa’s commitment to universal health coverage and stronger, people-centred health systems.
Other Topics To Read
Top Stories Today
- Saba Saba 2026: Police announce checkpoints in Nairobi
- Government denies plan to tap sacco savings for National Infrastructure Fund
- Woman arrested as Mandera intensifies war on illicit alcohol trade
- Government warns Tana River gun holders as forceful disarmament looms
- Suspects held over Kisii Linda Mwananchi violence as court awaits case file
- Duale, Oduor accused of defying High Court order on KNDI appointments
`;
}
return “;
}
function commentActionsMarkup(comment, canComment) {
const likeLabel = comment.liked_by_me ? ‘Liked’ : ‘Like’;
const likeCount = Number(comment.like_count || 0) > 0
? “
: ”;
const likeButton = canComment && comment.status === ‘approved’
? “
: “;
const replyButton = canComment && comment.status === ‘approved’
? “
: ”;
return `
`;
}
function commentMarkup(comment, canComment, isReply = false) {
const pendingBadge = comment.status && comment.status !== ‘approved’
? “
: ”;
const edited = comment.is_edited
? “
: ”;
const repliesHtml = Array.isArray(comment.replies) && comment.replies.length
? `
`
: “;
return `
`;
}
function replyFormMarkup(commentId) {
return `
`;
}
function setNotice(widget, message, type = ‘info’) {
const notice = widget.querySelector(‘[data-role=”notice”]’);
if (!notice) return;
if (!message) {
notice.hidden = true;
notice.textContent = ”;
notice.classList.remove(‘is-error’);
return;
}
notice.hidden = false;
notice.textContent = message;
notice.classList.toggle(‘is-error’, type === ‘error’);
}
function setCount(widget, total) {
const count = widget.querySelector(‘[data-role=”count”]’);
if (!count) return;
const num = Number(total || 0);
count.textContent = num === 1 ? ‘1 comment’ : `${num} comments`;
}
function openReplyBox(widget, commentId) {
widget.querySelectorAll(‘[data-role=”reply-box”]’).forEach(box => {
box.hidden = true;
box.innerHTML = ”;
});
const targetItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
if (!targetItem) return;
const replyBox = targetItem.querySelector(‘[data-role=”reply-box”]’);
if (!replyBox) return;
replyBox.hidden = false;
replyBox.innerHTML = replyFormMarkup(commentId);
const textarea = replyBox.querySelector(‘textarea’);
if (textarea) textarea.focus();
}
function closeReplyBox(container) {
if (!container) return;
container.hidden = true;
container.innerHTML = ”;
}
async function initCommentsWidget(widget) {
const state = {
articleId: Number(widget.dataset.articleId),
loadUrl: widget.dataset.loadUrl,
storeUrl: widget.dataset.storeUrl,
commentsBaseUrl: widget.dataset.commentsBaseUrl,
canComment: widget.dataset.canComment === ‘1’,
page: 1,
perPage: 10,
sort: ‘newest’,
total: 0,
hasMore: false,
busy: false
};
const list = widget.querySelector(‘[data-role=”list”]’);
const loading = widget.querySelector(‘[data-role=”loading”]’);
const empty = widget.querySelector(‘[data-role=”empty”]’);
const loadMoreBtn = widget.querySelector(‘[data-role=”load-more”]’);
const sortSelect = widget.querySelector(‘[data-role=”sort”]’);
const composerForm = widget.querySelector(‘[data-role=”composer-form”]’);
async function loadComments(reset = true) {
if (state.busy) return;
state.busy = true;
setNotice(widget, ”);
loading.hidden = false;
if (reset) {
state.page = 1;
list.innerHTML = ”;
empty.hidden = true;
}
try {
const url = new URL(state.loadUrl, window.location.origin);
url.searchParams.set(‘page’, state.page);
url.searchParams.set(‘per_page’, state.perPage);
url.searchParams.set(‘sort’, state.sort);
const response = await requestJson(url.toString(), {
method: ‘GET’,
headers: {
‘Accept’: ‘application/json’,
‘X-Requested-With’: ‘XMLHttpRequest’
}
});
const items = Array.isArray(response.data) ? response.data : [];
const meta = response.meta || {};
state.total = Number(meta.total || 0);
state.hasMore = !!meta.has_more;
setCount(widget, state.total);
if (reset) {
list.innerHTML = ”;
}
if (!items.length && reset) {
empty.hidden = false;
} else {
empty.hidden = true;
list.insertAdjacentHTML(
‘beforeend’,
items.map(item => commentMarkup(item, state.canComment, false)).join(”)
);
}
loadMoreBtn.hidden = !state.hasMore;
} catch (error) {
if (!list.children.length) {
empty.hidden = false;
empty.textContent = ‘Unable to load comments right now.’;
}
setNotice(widget, error.message || ‘Unable to load comments.’, ‘error’);
} finally {
loading.hidden = true;
state.busy = false;
}
}
async function submitTopLevelComment(form) {
const textarea = form.querySelector(‘textarea[name=”content”]’);
const button = form.querySelector(‘[data-role=”submit-comment”]’);
if (!textarea) return;
const content = textarea.value.trim();
if (!content) return;
const originalText = button ? button.textContent : ”;
try {
if (button) {
button.disabled = true;
button.textContent = ‘Posting…’;
}
const response = await requestJson(state.storeUrl, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({
article_id: state.articleId,
content: content,
source_url: window.location.href
})
});
textarea.value = ”;
if (response?.data) {
list.insertAdjacentHTML(
‘afterbegin’,
commentMarkup(response.data, state.canComment, false)
);
empty.hidden = true;
if ((response.data.status || ”) === ‘approved’) {
state.total += 1;
setCount(widget, state.total);
}
}
setNotice(widget, response.message || ‘Comment posted successfully.’);
} catch (error) {
setNotice(widget, error.message || ‘Unable to post comment.’, ‘error’);
} finally {
if (button) {
button.disabled = false;
button.textContent = originalText || ‘Post comment’;
}
}
}
async function submitReply(form) {
const commentId = Number(form.dataset.commentId || 0);
const textarea = form.querySelector(‘textarea[name=”content”]’);
const button = form.querySelector(‘.ev-comments__reply-submit’);
if (!commentId || !textarea) return;
const content = textarea.value.trim();
if (!content) return;
const originalText = button ? button.textContent : ”;
try {
if (button) {
button.disabled = true;
button.textContent = ‘Posting…’;
}
const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/reply`, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({
article_id: state.articleId,
content: content,
source_url: window.location.href
})
});
if (response?.data) {
const parentItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
if (parentItem) {
const repliesWrap = parentItem.querySelector(‘.ev-comments__replies’);
if (repliesWrap) {
repliesWrap.insertAdjacentHTML(
‘beforeend’,
commentMarkup(response.data, state.canComment, true)
);
}
}
}
closeReplyBox(form.closest(‘[data-role=”reply-box”]’));
setNotice(widget, response.message || ‘Reply posted successfully.’);
} catch (error) {
setNotice(widget, error.message || ‘Unable to post reply.’, ‘error’);
} finally {
if (button) {
button.disabled = false;
button.textContent = originalText || ‘Post reply’;
}
}
}
async function toggleLike(button) {
const commentId = Number(button.dataset.commentId || 0);
if (!commentId) return;
const originalHtml = button.innerHTML;
try {
button.disabled = true;
button.innerHTML = ‘Working…’;
const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/like`, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({})
});
const liked = !!response?.data?.liked;
const likeCount = Number(response?.data?.like_count || 0);
button.classList.toggle(‘is-liked’, liked);
button.innerHTML = `${liked ? ‘Liked’ : ‘Like’} ${likeCount > 0 ? “ : ”}`;
} catch (error) {
button.innerHTML = originalHtml;
setNotice(widget, error.message || ‘Unable to update like.’, ‘error’);
} finally {
button.disabled = false;
}
}
if (composerForm) {
composerForm.addEventListener(‘submit’, function (e) {
e.preventDefault();
submitTopLevelComment(composerForm);
});
}
if (sortSelect) {
sortSelect.addEventListener(‘change’, function () {
state.sort = this.value || ‘newest’;
loadComments(true);
});
}
if (loadMoreBtn) {
loadMoreBtn.addEventListener(‘click’, function () {
if (state.busy || !state.hasMore) return;
state.page += 1;
loadComments(false);
});
}
widget.addEventListener(‘click’, function (e) {
const likeBtn = e.target.closest(‘[data-action=”toggle-like”]’);
if (likeBtn) {
e.preventDefault();
toggleLike(likeBtn);
return;
}
const replyBtn = e.target.closest(‘[data-action=”toggle-reply”]’);
if (replyBtn) {
e.preventDefault();
openReplyBox(widget, Number(replyBtn.dataset.commentId || 0));
return;
}
const cancelReplyBtn = e.target.closest(‘[data-action=”cancel-reply”]’);
if (cancelReplyBtn) {
e.preventDefault();
closeReplyBox(cancelReplyBtn.closest(‘[data-role=”reply-box”]’));
}
});
widget.addEventListener(‘submit’, function (e) {
const replyForm = e.target.closest(‘.ev-comments__reply-form’);
if (replyForm) {
e.preventDefault();
submitReply(replyForm);
}
});
loadComments(true);
}
document.addEventListener(‘DOMContentLoaded’, function () {
document.querySelectorAll(‘.ev-comments’).forEach(initCommentsWidget);
});
})();
Trending
Government to launch forceful disarmament in Tana River County after amnesty endsCoast
|Abdirahman Khalif
|5 hours ago
Peace team sounds alarm over gang attacks on worship centres and peaceful gatheringsNational
|Abdirahman Khalif
|5 hours ago
Mandera anti-illicit alcohol drive intensifies as officers target brewing and distribution ringsNorthern Kenya
|Abdirahman Khalif
|4 hours ago
Burkina Faso tightens grip on NGOs with new ban on exploitative humanitarian imagesAfrica
|Rachael Mutabasi
|18 hours ago
Cherotich, Odira shine as Kenya dominates Prefontaine Classic despite rare Kipyegon defeatSports
|Erick Kariuki
|1 day ago
CS Duale, Attorney General Oduor face contempt case over failure to implement KNDI court orderNews
|Carolyne Kubwa
|7 hours ago
Supreme Court rules public pension schemes don’t have to follow government procurement rulesNational
|Carolyne Kubwa
|10 hours ago
Eastern Africa ramps up cross-border disease preparedness after regional simulation exerciseRegional
|Farhiya Hussein
|11 hours ago
EU appoints new envoy to Kenya as Somalia ambassador moves to senior Africa role in major diplomatic reshuffleRegional
|Abdirahman Khalif
|15 hours ago
2026 FIFA World Cup fixtures (Round of 16)Infographics
|Charity Pancras
|12 hours ago