Why gov’t should put breaks on livestock vaccination plan – Veterinary doctors
Why gov’t should put breaks on livestock vaccination plan – Veterinary doctors
Read this story aloud
Listen to the clean text version of this article
Ready
4 min listen
Audio reading is not supported on this browser.
The government plans to vaccinate approximately 22 million cattle and 50 million goats, sheep, and small livestock next year as part of its nationwide livestock vaccination campaign
The Kenya Veterinary Association (KVA) has urged the government to suspend its planned nationwide vaccination of 22 million cattle, which is set to begin in January next year.
The association has sharply criticised the programme, arguing that it was developed without consulting key stakeholders.
In a statement issued on Tuesday, KVA National Chairman Kelvin Osore expressed concerns over the lack of public involvement in the initiative. He said that despite the government’s focus on controlling greenhouse gas emissions, the priority should instead be to allow time for public sensitisation.
“There was no stakeholders’ engagement. We were only involved after the programme received controversy from the public. We were not involved in the conception and along the way. The government just rushed to us recently,” Osore said.
The association also raised concerns about the government’s failure to adequately inform the public, which has led to widespread resistance and misinformation among livestock keepers and the general public.
Osore warned that this lack of communication could hinder effective disease control and potentially lead to further outbreaks.
Latest Stories
- DCI arrests man accused of conning job seekers Sh8.6 million in fake KDF, NPS and PSC recruitment scam
- Wajir begins construction of Baitulmaal Level 4 Hospital to expand access to healthcare
- The world has the science to transform food systems: The next frontier is scaling it
- Nigeria demands probe after two citizens killed in South Africa amid rising xenophobia concerns
“The government’s failure to conduct adequate public sensitisation has fueled widespread resistance and misinformation among livestock keepers and the general public. This situation not only hampers disease control but also risks creating further outbreaks,” Osore added.
“Stakeholders, including farmers, veterinary professionals, and community leaders, were not sufficiently involved in planning, leading to mistrust and confusion, including in professional circles.”
KVA has also called on the government to avoid using forceful language to try to secure public support for the vaccination. The association insists that many crucial questions remain unanswered, including which diseases the programme aims to target, its duration, and the identities of its sponsors.
“There’s a lot of misinformation about the programme. We as the veterinary association have tried to get more information from the government – so far, nothing. We don’t know how long it will run,” Osore said.
The KVA further argues that some of the diseases that the government has identified as targets for vaccination are localised, suggesting that a national campaign may not be justified. Osore pointed out that diseases such as foot-and-mouth disease occur in specific regions and should be dealt with accordingly.
“A vaccination should be tailored for specific regions. You can’t vaccinate for foot and mouth across the whole country; there are specific areas. Let them vaccinate specific areas. These diseases are not widespread across the country,” he added.
“On greenhouse emissions, as an association, we cannot prove those allegations on curbing emissions.”
Despite their concerns, the KVA reiterated its support for efforts to control livestock diseases such as Foot-and-Mouth Disease (FMD) and Peste des Petits Ruminants (PPR) through targeted and strategic vaccination campaigns.
The association is now calling for the suspension of the programme and for the government to focus on other urgent issues facing the livestock sector before investing billions of shillings in the vaccination initiative.
“It’s a pity that even a professional organisation like ours doesn’t know what is happening. The government needs to stop lecturing people; the cow belongs to the people,” Osore said.
The government plans to vaccinate approximately 22 million cattle and 50 million goats, sheep, and small livestock next year as part of its nationwide livestock vaccination campaign.
Other Topics To Read
- Vaccinations
- livestock vaccination
- Kenya Veterinary Association
Top Stories Today
- Man arrested over Sh8.6 million fake KDF, police jobs scam
- Saba Saba organisers notify police of peaceful march to Parliament
- Wajir expands healthcare with new Baitulmaal Level 4 Hospital project
- Why scaling innovation is the missing link in global food security
- Abuja warns of diplomatic fallout after killing of Nigerians in South Africa
- Kenya’s Stephen Yiembe lands historic UEFA Super Cup officiating role
`;
}
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
Wajir begins construction of Baitulmaal Level 4 Hospital to expand access to healthcareNorthern Kenya
|Abdirahman Khalif
|6 hours ago
The world has the science to transform food systems: The next frontier is scaling itClimate Change
|The Conversation
|6 hours ago
Government announces final repatriation flight for Kenyans in South AfricaNews
|Rachael Mutabasi
|1 day ago
Government releases Sh4 billion to settle NHIF hospital claimsHealth
|Lucy Mumbi
|14 hours ago
Somali Embassy hosts Kenya leaders, diplomats for 66th Independence Day celebrationsSomalia
|Abdirahman Khalif
|16 hours ago
Zamzam fires warning over ODM nomination as Mombasa succession politics intensifyPolitics
|Farhiya Hussein
|7 hours ago
UN reviews impact as US ends support for AUSSOM logisticsSomalia
|Abdirahman Khalif
|16 hours ago
Cherotich, Odira shine as Kenya dominates Prefontaine Classic despite rare Kipyegon defeatSports
|Erick Kariuki
|21 hours ago
Slum residents urged to adopt ‘localised solutions’ to mitigate climate change effectsNews
|Hussein Hassan
|1 day ago
IGAD pushes regional action to tackle plastic pollutionNews
|Rachael Mutabasi
|1 day ago
