This site is intended for health professionals only

QOF coding tips: Urine protein testing

Dr Simon Clay looks at how to code patients with diabetes, CKD or both

There are two disease area indicators which require urine tests in the QOF as of 2010 onwards, but they do not work in the same way.

This article will look in detail at CKD6 (test urine for ACR or PCR annually) and DM13 (test urine annually for microalbumin) and assess what coding your practice should be using.

The first code has no exceptions, whereas the second is used unless the patient is already documented as proteinuric, in which cases they’re exempted.

Where a patient has both diabetes and CKD, both of these tests can be done together by requesting a ‘microalb’ on a plain urine specimen annually.

The local lab should routinely do an ACR if there is sufficient microalbumin in the specimen to warrant doing the assay.


In the CKD ruleset, there are two indicators where the urine protein state is relevant:

1) CKD5 (patients with hypertension and proteinuria should be offered an ACE inhibitor or angiotensin receptor blocker)

2) CKD6 requires us to test the ACR of every CKD patient annually

For the first code the proteinuria code needs to be added manually if it is considered that the ACR result requires it. In other words, the presence of an ACR result, whatever the level of the numeric that might be attached to it, does not, in itself, put the hypertensive patient into the denominator for CKD5.

Within the CKD ruleset, NICE suggests that, in patients without diabetes, an ACR of 30 mg/mMol should be regarded as ‘clinically significant proteinuria’. I take this to mean that we could reasonably define and read code those patients as having ‘proteinuria’. This is equivalent to a PCR of 50 mg/mMol.

For patients with diabetes, however, NICE recommends that the threshold for defining the patient as having as ‘clinically significant proteinuria’ should be an ACR of only 2.5mg / mMol or greater (equivalent to a PCR of 3.5mg/mMol).

The trigger read codes to define the patient as being proteinuric for CKD are a cut down list of the proteinuria and microalbuminuria codes used in the diabetes ruleset:

• R110. [D]Proteinuria (v12)

• R1100 [D]Albuminuria (v12)

• R110z [D]Proteinuria NOS (v12)

(these three also count if the patient has diabetes, see below)

• R1103 [D]Microalbuminuria (v12)

• 1Z1B. Chronic kidney disease stage 3 with proteinuria (v14)

• 1Z1D. Chronic kidney disease stage 3A with proteinuria (v14)

• 1Z1F. Chronic kidney disease stage 3B with proteinuria (v14)

• 1Z1H. Chronic kidney disease stage 4 with proteinuria (v14)

• 1Z1K. Chronic kidney disease stage 5 with proteinuria (v14)


DM13 (test urine annually for microalbumin) requires all patients with diabetes to have a urine test for microalbuminuria annually.

DM15 also requires that any patients who have ever been coded as having either proteinuria or microalbuminuria should be on an ACE-inhibitors or angiotensin-receptor blockers.

In DM13, the codes used to document the annual microalbumin urine tests are different to the codes that DM15 uses to look for the presence of microalbuminuria/ proteinuria.

Hence, even if the patient is found to be abnormally microalbuminuric (urine albumin of ?20mg/l), this result will not, in itself, put the patient in the denominator group for an ACE inhibitor under indicator DM15.

This will only occur if a separate microalbuminuria code is added. See below for valid codes.

The presence of any previous proteinuria code – but not just a microalbuminuria code – exempts the patient from further annual microalbuminuria testing in the indicator DM13. Although the same does not apply in the CKD ruleset for patients with CKD, rather illogically.

In DM15, if the patient has either a proteinuria code or a microalbuminuria code ever recorded, then they are required to be on an ACE or angiotensin-receptor blocker.

The diabetes ruleset lists two different sets of valid codes to define the patient as having either proteinuria or microalbuminuria:

1) Microalbumin test codes for patients with diabetes (none of which make the patient officially microalbuminuric)

• 467A. 24 hour urine protein output

• 467E. Urine protein level

• 467H. Random urine protein level

• 46W.. Urine microalbumin

• 46W0. Urine microalbumin positive

• 46W1. Urine microalbumin negative

• 46W2. Microalbumin excretion rate

• 46TC. Urine albumin:creatinine ratio

• 46N3. Urine total protein

• 46N4. Urine albumin

• 46N5. 24 hour urine protein excretion test

• 46N6. 24 hour urine albumin output

• 46N7. Urine protein/creatinine index

• 46N8. Urine microalbumin profile

• 44lD. Urine protein/creatinine ratio (v15)

2) Valid urine proteinuria codes for patients with diabetes

• R110. [D]Proteinuria

• R1100 [D]Albuminuria

• R110z [D]Proteinuria NOS

• C10EK Type 1 diabetes mellitus with persistent proteinuria

• C10FL Type 2 diabetes mellitus with persistent proteinuria

• K190X Persistent proteinuria, unspecified

• Kyu5G [X]Persistent proteinuria, unspecified

The valid microalbuminuria codes are:

• R1103 [D]Microalbuminuria

• C10EL Type 1 diabetes mellitus with persistent microalbuminuria

• C10FM Type 2 diabetes mellitus with persistent microalbuminuria

Dr Simon Clay is a GP in Erdington, Birmingham

QOF coding tips: Urine protein testing To summarise

1. If a patient has either diabetes, (unless they have a previous proteinuria code added), or if they have CKD ≥ Grade 3 (even if they have been coded as having proteinuria / microalbuminuria previously), or if the patient has both diseases; do a urine microalb and ACR test annually (or every two years if done between January and March).

2. For CKD pts, if the ACR is ≥ 30 (or ≥ 2.5 if they also have diabetes), add a proteinuria code (see below for list of valid codes). In addition, if the pt also has hypertension, then start or continue to prescribe an ACE-inhibitor or an angiotensin receptor blocker.

3. For patients with diabetes, if urine albumin (microalbumin) is ≥ 20mg/l, ensure a valid microalbuminuria code has been added. See Make sure it is a valid code (see above). If you do define the patient as proteinuric or microalbuminuric, or they’ve ever been so defined in the past, ensure they’re on an ACE-inhibitor or an angiotension receptor blocker.

More on QOF coding

Click here for Dr Simon Clay’s tips on ten common QOF coding errors that could be costing you cash.