HMO Tariffs vs Hospital Prices in Nigeria: How to Bill Each HMO Line Correctly (2027)
How to bill HMO lines at the agreed tariff in Nigeria: the cap at your own price, the co-payment and the gap you absorb, with illustrative naira examples.
By ClinikEHR Team
Duration
24 MINSTwo HMOs can pay different amounts for the same procedure, and neither may match the price on your own list. An HMO (health maintenance organisation) is the insurer that pays part of a member's bill. When a biller picks a price by guesswork, the claim, the patient's share and your books drift apart. This guide shows how to bill each HMO line correctly in Nigeria. You will see how the price list agreed with the HMO, your own price and the co-payment fit together, with worked examples in naira.
Quick Answer
Price each HMO line from the price list agreed with that HMO, cap it at your own price, and split it with one co-payment percent, in this order:
- Switch it on. The owner sets Settings, General, Insurance to Outside the US. HMO billing is then available on any plan.
- Load the price list. Add each HMO's agreed prices with their codes and dates, by CSV or by hand.
- Let Bill HMO price the line. It uses the HMO's price for the service day, times the quantity, and never goes above your own price.
- Split it on that same price. The patient pays their co-payment percent, and the HMO pays the rest.
- Know the gap. When the tariff is lower than your price, the difference is not billed to anyone. Your hospital absorbs it.
What Is an HMO Tariff, in Plain Words
A tariff is a price list agreed with an HMO. In ClinikEHR it is the insurer's agreed price for a service or a medicine. It is kept for each HMO and stays separate from your own price list. That is where the difference between two HMOs lives.
Your own price is the price on your standard service list. The co-payment is the share of the bill that the patient pays. In ClinikEHR it is a percentage set on the patient's plan, and the HMO covers the rest. A member is the patient the HMO covers. ClinikEHR's plan screens also say enrollee.
What Nigerian Law Says About Tariffs, and What It Leaves Out
The National Health Insurance Authority Act, 2022 was assented to on 19 May 2022. It repealed the National Health Insurance Scheme Act and sets out the duties of the National Health Insurance Authority (NHIA). Older pages and searches may still use the name NHIS, which is now NHIA.
The Act gives the Authority a few jobs that touch your prices. After consulting facilities, it approves the contract formats that HMOs propose for buying services from them. It also approves the capitation and other payments that HMOs owe facilities. Capitation is a regular payment, made in advance to a primary health care provider for the people registered with it, whether or not they use the service. An accredited provider is paid by capitation for each registered insured person, and by an approved fee for service. A fee for service is a payment for each service given.
The Act uses the word tariffs once, in a duty to review them:
"tariffs agreed with Health Care Facilities are reviewed on a three-yearly basis"
National Health Insurance Authority Act, 2022, section 3(aa)
- No definitions. The Act does not define tariff or co-payment, so this post uses the ClinikEHR meaning of each.
- Private plans. Any private plan an HMO markets needs the Authority's approval. The Act text, as read for this post, does not set out how a private HMO's agreed prices are fixed. Treat the price list you hold from that HMO as your working source.
- Disputes. The Act says a dispute between an HMO and a provider goes first to the Authority for mediation and conciliation. If that fails, the parties may go to arbitration.
NHIA's own page reports that capitation fees and fee-for-service payments were raised in a recent review. The page carries no date. Agreed prices do change, so keep your own lists dated.
NHIA's website also lists its 2023 operational guidelines, a claims procedure and a fee-for-service price list on its other resources page. As read on 14 October 2026, the text of the guidelines and the claims procedure could not be retrieved, and the price list's contents could not be read. So this post gives no NHIA tariff amount and no current co-payment rate. If you bill under an NHIA plan, read those files yourself.
ClinikEHR does not load NHIA's or any HMO's price list for you. It does not check lines against NHIA tariffs, and it does not connect to NHIA. You enter or import the prices you hold.
Set Up Your HMO Price Lists in ClinikEHR
These three steps happen once, and again when a price list or a plan changes. The Help Center covers them on its HMO setup page.
Step 1: Switch On HMO Billing and Set Naira
What to do. The hospital owner opens Settings, General and sets Insurance to Outside the US. Only the owner can change it, and new workspaces start on United States. Next, set the currency to naira under Settings, Billing before you record anything, because claims are recorded in that currency. Switch on the Insurance care area under Settings, Facility, so the Insurance pages appear.
What you need. The owner's login. HMO billing, including tariffs, is then available on any plan.
How you know it worked. The sidebar shows the HMO pages. On the other setting, the pages say so instead of opening.
The mistake people make. Leaving the setting on United States. It is a setting, not a location, so a Nigerian hospital still has to change it.
Step 2: Load Each HMO's Price List
What to do. Under Insurance, Pricing, select Import CSV, choose the HMO and choose the file. Download the template shows the columns. Prices with the same code, band and start date are updated, not duplicated. You can also add a price by hand. Each row carries:
- the tariff code and the item's name;
- the care type and the item;
- the HMO's agreed price for one unit;
- a tariff band, with valid-from and valid-until dates, which say which version of the list the price belongs to;
- an Active switch, where off keeps the price but never uses it.
Enter one row for each strength of a medicine. The same drug at two strengths is two rows. Tariff terms sets the band and the dates for every price in one list at once.
What you need. An owner or manager, because only they can change prices. Everyone else can read them. You also need the HMO already added as an insurer, and its price list in a file.
How you know it worked. Each row appears on the Pricing tab with its price and status. The import panel lists the first rows it could not import, so fix those and load again.
The mistake people make. Entering the price of a pack, or of a whole visit, where the row asks for one unit. The line is the unit price times the quantity, so the line comes out wrong.
Step 3: Record the Member's Cover and the Co-payment
What to do. At registration, or from a claim, staff record the patient's insurer, plan, insurance number and the date the cover is valid until. On the plan, fill in Patient pays (%). Leave it empty if you have not agreed a percentage. The co-payment is a percent only. It is not a flat amount or a per-visit fee. Primary cover is the one used first when a bill is split.
What you need. The plan set up, the member's number and the expiry date.
How you know it worked. The patient's billing type becomes Insurance once an insurer or plan is saved. Later, the Bill HMO sheet shows an amount against Insurer pays.
The mistake people make. Leaving Patient pays empty. ClinikEHR then treats the patient as paying in full, and the sheet tells you there is nothing to bill. A plan where the patient pays 100 percent also has nothing to bill.
One limit to know. The plan can also record a plan limit per enrollee, a coverage percentage and a maximum benefit. Those figures are shown, not applied. The Bill HMO split works from the price and the percentage only. It applies no plan limit, item coverage or benefit cap at billing, so check those terms against the HMO's own documents.
How a Line Is Priced and Split
Step 4: Bill the HMO at the Till
What to do. Open Bill HMO from the Payments page, from the Collect payment sheet on a pharmacy or laboratory row, or from an invoice's Actions menu. The Bill HMO page in the Help Center walks through the screens. The sheet shows each item with Price (the insurer's tariff where one applies), Insurer pays and Patient pays, with totals underneath. Confirm, and you are told which draft claim was created and what the patient pays.
For each line, ClinikEHR chooses the price like this:
- It looks for that HMO's price by tariff code first, and by item name if the code finds nothing. It considers only rows that are active, priced above zero and inside their dates on the day of service.
- If the same code has several versions, the version in force on the service day is the one used.
- When a tariff prices the line, the line is the tariff price times the quantity. It is never above your own price for that line.
- If the HMO has no matching price, the line stays at your own price.
What you need. The patient's insurer on file, a valid cover, and the Collect payments permission. Owners and managers can always bill the HMO.
How you know it worked. The price source on the sheet reads Insurer's tariff when the tariff priced the line. It reads Your price (the tariff is higher) when the tariff was above your own price.
The mistake people make. Treating the insurer's share as cash. It is never recorded as cash you have received. It is not income until you record the HMO's payment.
Worked Examples (Illustrative)
The numbers below are illustrative. They are invented to show the rules, not prices from any HMO. Every row uses a plan where the patient pays 20 percent.
| Case | Your price | HMO tariff | Line priced at | HMO pays | Patient pays | Gap you absorb |
|---|---|---|---|---|---|---|
| 1. Tariff lower | ₦1,500 | ₦1,200 | ₦1,200 | ₦960 | ₦240 | ₦300 |
| 2. Tariff higher | ₦1,500 | ₦1,800 | ₦1,500 | ₦1,200 | ₦300 | ₦0 |
| 3. No tariff | ₦1,500 | none | ₦1,500 | ₦1,200 | ₦300 | ₦0 |
| 4. Medicine, 3 units | ₦300 for 3 | ₦80 per unit | ₦240 | ₦192 | ₦48 | ₦60 |
In case 1, the tariff is lower, so the line is priced at ₦1,200. The patient pays 20 percent of ₦1,200, which is ₦240, not 20 percent of ₦1,500. The HMO pays the other ₦960. The ₦300 between your price and the tariff is not billed to anyone. Your hospital absorbs it.
In case 2, the tariff is above your own price, so it is not used and the line stays at ₦1,500. ClinikEHR never raises a price to the tariff, so a line from Bill HMO never goes above your own price.
In case 3, no tariff matches, so the line stays at your own price. In case 4, the tariff is a unit price. Three units at ₦80 make ₦240, which is below your ₦300, so the tariff is used and the gap is ₦60.
How the Co-payment Is Worked Out
For each line, the HMO pays the price less the patient's percentage, and never more than is still owed on the line. The patient pays the rest. Amounts are rounded to two decimal places. Both shares come off the line's price before any payment is counted. So it does not matter whether the patient paid their share in cash before or after you bill the HMO.
Tax, additional charges and fees stay with the patient. They are never billed to the HMO. Billing the same items again does not create a second claim. More items for the same patient and HMO on the same day join the same draft claim.
From the Sale to the Claim
Step 5: Check the Claim Lines Before You Save
What to do. A claim can start from the draft that Bill HMO created, or from a patient's invoice. When you start from an invoice, the lines arrive at the HMO's agreed prices. ClinikEHR also tells you which lines used your own price. Check every line before you save.
If the plan needs approval before treatment, raise a pre-authorization first. This is a request asking the HMO to agree in advance to pay. It fills the item's description, code and price from the HMO's price list where the item is on it, and otherwise staff type the price. The authorization code (the PA code) the HMO gives is recorded and goes onto the claim.
What you need. The HMO's price list loaded, a diagnosis on each item, and the PA code where one applies.
How you know it worked. The claim opens with the patient, the HMO and the lines at the amounts you expect. A claim started from an approved request also carries the authorization code. The claims page lists the statuses it moves through.
The mistake people make. Typing a different price over a line to make it match. Add or fix the row under Pricing instead. Overtyping fixes one claim and leaves the next one wrong.
Step 6: Deliver the Claim by the HMO's Channel
What to do. Prepare, price and track claims in ClinikEHR. Where the hospital has set up a channel for that HMO, deliver them by it. Each HMO has one channel, chosen once on the insurer record, and Submit to HMO on a claim uses it. The channels you can choose include:
- The ClinikEHR API (api.clinikehr.com). The claim becomes available to the HMO's connected organization, which reads it through the API. This is not ClinikAPI (clinikapi.com), a separate product built around FHIR R4, with its own site, keys and licence.
- A signed webhook. A webhook is a message one system posts to another's web address. ClinikEHR posts a signed message with the claim to the HMO's address, and the HMO checks the signature with a secret you share.
- An email with a secure link. The email carries no patient details. The link opens one claim only and expires after 7 days.
- The HMO's own portal. Nothing is sent from ClinikEHR. Staff submit on the HMO's site and record the reference.
A hospital that has chosen no channel for an HMO sends the claim by hand and records how. Nothing is sent twice. If a claim has already reached the HMO, Submit to HMO tells you so.
What you need. The owner or a manager chooses the channel. Anyone who can edit claims, with two-factor sign-in done, can send. The API channel needs API access on, an organization linked to that HMO, and the hospital on the Enterprise plan. That Enterprise gate belongs to the API channel only. HMO billing stays available on any plan, as in Step 1. The other requirements are listed in the API docs and on the API documentation page. An HMO needs its own approved workspace before it can connect, and each hospital chooses whether to link it. An HMO that wants to connect can start on the contact page. The channels page has the details.
How you know it worked. The claim shows how it was delivered, for example Sent via Signed webhook. A failed delivery says delivery failed - submit again.
The mistake people make. Expecting a claim to reach an HMO whose channel was never chosen. ClinikEHR tells you to choose one first.
Step 7: Know What the HMO Can Do With a Line
What to do. After the claim reaches the HMO, the HMO may vet it. Vetting means checking the claim before paying. An HMO that reads your claim through the ClinikEHR API can approve each line at the billed figures, adjust it, or decline it. In the API, a declined claim or line carries a reason. The HMO cannot approve more than you billed, for a quantity or for a price. The claim's status follows its lines.
| What the HMO did with the lines | Claim status the API sets |
|---|---|
| Every line approved exactly as billed | Approved |
| Every line declined | Denied |
| Anything else | Partially approved |
This describes what the API allows, not what any HMO does in practice. The HMO decides each line. If an HMO declines a claim, its items return to the patient's list at their full balance.
What you need. Nothing extra to bill. The API docs describe the HMO's side.
How you know it worked. When the HMO decides through the ClinikEHR API, the claim's status in the claims register moves on from Submitted, as in the table above.
The mistake people make. Expecting the API to compare your lines with tariffs. It does not. The price you billed is the price the HMO sees, so get it right in Steps 2 to 4.
After the Claim: Receivables and Write-Offs
HMO receivables lists each insurer that owes you money and how old the debt is. The receivables page explains how one transfer is shared across claims. A write-off closes an amount an HMO will not pay. It is permanent, it needs a reason, and it is recorded against the person who made it. An owner or manager can require a second person's approval above an amount. The write-offs page has the steps.
Keep Your Price Lists Current
Agreed prices change. Add a new version with its own start date. Here is an illustrative case, with one tariff code and two versions.
| Service date | Version used |
|---|---|
| 15 June | The version valid from 1 January |
| 15 July | The version valid from 1 July |
To retire a price, switch off Active or set a valid-until date. Do not assume a new list reprices claims you have already drafted. Open the draft and check it. Review each HMO's list on a set date, and file the document it came from.
Check One Real Bill
Use a sale you are billing anyway, because Bill HMO creates a real draft claim. Pick a patient with HMO cover and a plan that has Patient pays set.
- Check that the cover's valid-until date has not passed.
- Bill one line that has a row on the HMO's Pricing tab and one that does not.
- Compare Price, Insurer pays and Patient pays with the worked table above.
- Confirm the draft claim named in the message. Then open the patient's invoice. It should read HMO billed, and its balance should drop to the patient's share.
- Open the receipt. It should show a Billed to HMO section with the HMO's name and amount, and a Patient portion line.
Mistakes That Cost Hospitals Money
- Leaving a cover marked Needs review. A cover carried over from older fields that cannot be matched, or that repeats another person's number, shows Needs review until staff fix it. Select Fix, choose the right insurer or correct the number, and save before you bill.
- Expecting Pays within (days) to flag a late payer. It records the insurer's payment terms. ClinikEHR does not use it to flag a claim as overdue.
- Expecting an approval to guarantee payment. It does not. The claim still has to match the approval on items, amounts and dates, so do not bill above what the HMO approved.
- Skipping the diagnosis on a line. The Help Center warns that an item with no supporting diagnosis is a denial risk. A correct price does not rescue it.
- Borrowing a rule from another country or an old file. Ghana also has an authority called NHIA, under a different Act. Take a co-payment percent from the plan terms you hold, not from a page found online.
Frequently Asked Questions
What is an HMO tariff in Nigeria?
A tariff is a price list agreed with an HMO. In ClinikEHR it is the insurer's agreed price for a service or a medicine, kept for each HMO and separate from your own price list. The NHIA Act 2022 does not define the word, so this guide uses the ClinikEHR meaning.
How do I load an HMO price list into ClinikEHR?
Under Insurance, Pricing, select Import CSV, then choose the HMO and the file. Download the template to see the columns. Rows with the same code, band and start date are updated, not duplicated, and the panel lists the first rows it could not import. Owners and managers can change prices, and everyone else can read them.
Can I bill an HMO above my own price?
Not through Bill HMO. When an HMO's tariff is higher than your own price, ClinikEHR does not use it, and the line stays at your price. The Bill HMO sheet reads Your price (the tariff is higher). ClinikEHR never raises a price to the tariff.
What happens when the tariff is lower than my price?
The line is priced at the tariff, and both shares are worked out on it. The difference between your price and the tariff is not billed to anyone, so your hospital absorbs it. ClinikEHR does not recover that gap or remove it.
How is the co-payment worked out?
The co-payment is a percentage set on the patient's plan as Patient pays (%). The HMO covers the rest. When a tariff prices the line, both shares are worked out on the tariff, not on your own price. If no percentage is recorded, the patient pays in full and there is nothing to bill the HMO.
Does ClinikEHR apply a plan limit or benefit cap when billing?
No. A plan can record a plan limit per enrollee, a coverage percentage and a maximum benefit, but the Bill HMO split does not use them. It works from the price and the co-payment percentage only. Check those limits against the HMO's own terms.
Which plan do I need to bill HMOs in ClinikEHR?
HMO billing, including tariffs, is available on any plan once the clinic's Insurance setting is Outside the US, and that includes the Free plan. The owner sets it under Settings, General, Insurance. A clinic left on the United States setting does not get the HMO pages.
Does ClinikEHR supply NHIA tariffs or connect to NHIA?
No. ClinikEHR does not supply or update NHIA's or any HMO's price list, check lines against NHIA tariffs, or connect to NHIA. It prices a line from the HMO price list you enter or import. NHIA's current operational guidelines could not be retrieved for this guide, so it gives no NHIA tariff amount and no co-payment rate.
Conclusion
Billing an HMO line correctly comes down to one price and one percentage applied to it. Load each HMO's list with dates, record the percent on each plan, and read the Bill HMO sheet before you confirm.
To see how the sheet reads with your own price lists, you can try it on the Free plan. The pricing page lists the plans.
Price each HMO line from its own list
Related Articles
- Top 5 EMR for Hospitals in Nigeria 2026: Complete Guide to Hospital Management Software
- Getting Paid by HMOs in Nigeria: The Complete 2027 Guide for Hospital Owners and Billers
- 10 Checks Before You Send an HMO Claim in Nigeria (2027 Hospital Checklist)
- Best HMO Billing Software for Nigerian Hospitals (2027 Comparison)
- NHIA and Private HMOs in 2027: What Digital Claims Mean for Hospital and HMO Relationships in Nigeria
- Best EMR for Private Clinics in Nigeria 2027: Complete Guide to Private Practice Software
- ClinikEHR pricing
- ClinikEHR API documentation
- Insurance for HMOs and insurers (API docs)
Facts are as of the dates shown. Check the linked sources for updates. This is general information, not legal or professional advice.
Stay in the loop
Subscribe to our newsletter for the latest updates on healthcare technology, HIPAA compliance, and exclusive content delivered straight to your inbox.