Free tool
ICD-10 claim checker
Paste the ICD-10 codes from one claim. This checks the structural rules South African medical schemes reject on — category headers sent in place of billable codes, injuries with no valid cause code, and cause codes that contradict each other. It runs in your browser; nothing you type is sent anywhere.
Separate with commas, spaces or new lines. First code is treated as the primary diagnosis.
The rules it applies
These are the structural rules, and they are worth knowing even without the tool, because they explain rejection messages that otherwise look arbitrary.
1. Code to the most specific level the record supports
ICD-10 is a tree. A three-character code is a broad category, four characters narrows it, and five characters is usually the specific codeable thing at the bottom. A vaguer code is not the safer choice; it is the more rejectable one.
2. In the external-cause chapter, three and four characters are headings
Codes beginning V, W, X or Y say how an injury happened. In that chapter the three and four-character forms are headings that group the real codes beneath them, not codes you can bill. Send one and the scheme answers NOT FOR CLINICAL USE POSITION n, where n is the ICD-10 slot on the claim — more helpful than it looks, because you do not have to hunt.
3. An injury needs a cause
Codes in the S and T range are injuries and poisonings, and schemes expect an external-cause code alongside them. If the only cause codes present are headings, the scheme sees no cause at all and answers NO CAUSE CODE SUPPLIED — a heading was never a usable code in the first place.
4. One mechanism, sequenced injury first
The injury leads and the cause follows. And pick a single mechanism: a patient either fell on the level or was in a vehicle, not both. Two contradictory cause codes read as less credible, not more complete.
This checks structure, not clinical appropriateness, and each scheme’s own validation is the authority. It also cannot tell you whether a five-character code exists — only whether the code you sent is in a billable form. Picking codes from a maintained list is what stops that problem at source.
A real rejection, taken apart
A patient falls and injures a hip. The claim goes out as S73.0 (dislocation of hip) as primary, W01.0 (fall on the same level) as the cause, and V49.9 (car occupant, unspecified event) also as a cause. It is rejected, and for two separate reasons at once:
- W01.0 and V49.9 are both headings, not billable codes. The billable form is the five-character leaf.
- The two causes contradict each other. The patient did not both fall on the level and travel in a car.
Load that example above and the checker names both problems. There is more on the wider set of rejection causes in why medical aid claims get rejected, and the tariff-code side is covered in how the discipline-prefixed codes work.
Frequently asked questions
What does "NOT FOR CLINICAL USE" mean on a rejected claim?
You sent an ICD-10 category header instead of a billable code. Codes like W01 and W01.0 are headings that group more specific codes beneath them; the billable code is the five-character one at the bottom of that tree, such as W01.00. The position number in the message tells you which ICD-10 slot on the claim to fix.
Why does my claim say "NO CAUSE CODE SUPPLIED"?
Injury codes in the S and T range need an external-cause code saying how the injury happened. If the only cause codes on the claim are category headers rather than billable five-character codes, the scheme sees no valid cause at all.
Can I put two external-cause codes on one claim?
You can, but you usually should not. Cause codes are a statement about mechanism, and two different mechanisms is not a more complete answer, it is a less credible one. Pick the cause that actually happened.
Does this tool check whether my code is clinically correct?
No. It checks structure only: whether a code is a billable form, whether an injury has a valid cause, and whether the combination contradicts itself. Whether the code describes what you actually treated is a clinical judgement, and the scheme’s own validation is always the authority.
Is anything I type here sent anywhere?
No. The check runs entirely in your browser. Nothing is transmitted, stored or logged.
Catch these before you submit, not after
NetPractice picks codes from a maintained list and gets the scheme’s verdict back in seconds, so a coding rejection is a two-minute fix on the day rather than a write-off four months later. R9.50 a claim, first 10 each month free.