Calculating NHIF in Kenya (2023)<Code/>

Felix Ivance Runye
3 min readOct 12, 2023
Photo by Online Marketing on Unsplash

Welcome to this comprehensive guide on calculating the National Hospital Insurance Fund (NHIF) deductions in Kenya. Understanding how NHIF contributions work is essential for both employers and employees. In this article, we will delve into the NHIF calculation process, demystifying the complexities and making it easier to grasp.

The NHIF Calculator Function

NHIF is a mandatory health insurance scheme in Kenya that provides Kenyan residents with access to medical services. Both employees and employers contribute to this fund. Here, we present a PHP function called nhifCalculator that calculates the NHIF contribution based on an employee's salary.

Let’s explore the nhifCalculator PHP function:

public function nhifCalculator($salaryAmount) {

if ($salaryAmount >= 0 && $salaryAmount <= 5999) {
return 150;
} elseif ($salaryAmount >= 6000 && $salaryAmount <= 7999) {
return 300;
} elseif ($salaryAmount >= 8000 && $salaryAmount <= 11999) {
return 400;
} elseif ($salaryAmount >= 12000 && $salaryAmount <= 14999) {
return 500;
} elseif ($salaryAmount >= 15000 && $salaryAmount <= 19999) {
return 600;
} elseif ($salaryAmount >= 20000 && $salaryAmount <= 24999) {
return 750;
} elseif ($salaryAmount >= 25000 && $salaryAmount <= 29999) {
return 850;
} elseif ($salaryAmount >= 30000 && $salaryAmount <= 34999) {
return 900;
} elseif ($salaryAmount >= 35000 && $salaryAmount <= 39999) {
return 950;
} elseif ($salaryAmount >= 40000 && $salaryAmount <= 44999) {
return 1000;
} elseif ($salaryAmount >= 45000 && $salaryAmount <= 49999) {
return 1100;
} elseif ($salaryAmount >= 50000 && $salaryAmount <= 59999) {
return 1200;
} elseif ($salaryAmount >= 60000 && $salaryAmount <= 69999) {
return 1300;
} elseif ($salaryAmount >= 70000 && $salaryAmount <= 79999) {
return 1400;
} elseif ($salaryAmount >= 80000 && $salaryAmount <= 89999) {
return 1500;
} elseif ($salaryAmount >= 90000 && $salaryAmount <= 99999) {
return 1600;
} elseif ($salaryAmount >= 100000) {
return 1700;
}
}

And in Javascript:

function nhifCalculator(salaryAmount) {
const tiers = [
{ min: 0, max: 5999, contribution: 150 },
{ min: 6000, max: 7999, contribution: 300 },
{ min: 8000, max: 11999, contribution: 400 },
{ min: 12000, max: 14999, contribution: 500 },
{ min: 15000, max: 19999, contribution: 600 },
{ min: 20000, max: 24999, contribution: 750 },
{ min: 25000, max: 29999, contribution: 850 },
{ min: 30000, max: 34999, contribution: 900 },
{ min: 35000, max: 39999, contribution: 950 },
{ min: 40000, max: 44999, contribution: 1000 },
{ min: 45000, max: 49999, contribution: 1100 },
{ min: 50000, max: 59999, contribution: 1200 },
{ min: 60000, max: 69999, contribution: 1300 },
{ min: 70000, max: 79999, contribution: 1400 },
{ min: 80000, max: 89999, contribution: 1500 },
{ min: 90000, max: 99999, contribution: 1600 },
{ min: 100000, max: Infinity, contribution: 1700 }
];

for (const tier of tiers) {
if (salaryAmount >= tier.min && salaryAmount <= tier.max) {
return tier.contribution;
}
}
}

Thats It!

--

--

Felix Ivance Runye

I am a Software Engineer, and an Adventurer, who is passionate about cycling, biking, and reading. Always on the lookout for new challenges.