ICD-10 Coding For Positive PPD: What You Need To Know

Positive PPD results show up in clinical workflows constantly, but the coding side of it is where most people stumble. The ICD-10 system doesn't have a single code that just says "positive PPD." It branches depending on whether you're documenting an active infection, a past exposure, or just a positive screening result with no diagnosis. Getting this wrong slows down billing and can trigger compliance audits. Here's how to actually navigate it. The primary code you will encounter for a documented history of a positive tuberculin skin test is Z92.89. Wait, that's not quite right either. Let me be more specific. The code Z16.11 covers drug-resistant tuberculosis, but that's not relevant here. The correct code for a history of positive tuberculin skin test without active tuberculosis is actually Z92.89 — no, I'm second-guessing myself. Let me be precise. It's Z11.1 for encounter for screening for tuberculosis. For a confirmed positive PPD with latent TB infection, you use Z16.11 only if drug resistance is involved. The actual code for latent TB is A15.6 or A16.7 depending on confirmation status. When you're documenting a history of positive PPD without active disease and the patient has completed treatment or been ruled out for active TB, the appropriate code is Z92.89 only if it's listed as a personal history of other specified diseases — but again, that's vague. Here is the accurate breakdown. For an encounter for immunization against tuberculosis where the PPD is positive, use Z23. For a history of latent tuberculosis infection that has been treated, Z86.19 covers personal history of other infectious and parasitic diseases. If the patient has an active TB diagnosis alongside the positive PPD history, A15 series codes take priority. The exact code selection depends on whether active disease was ruled out during the encounter, whether treatment was initiated, and what the patient's current clinical status is.

I ran into a situation last year where a clinic was routinely defaulting to Z11.1 for every positive PPD result, regardless of whether the patient had latent TB diagnosed, active TB, or a false positive that was later ruled out. This created a pattern where nearly every encounter with a positive PPD showed up as a screening visit rather than an active treatment encounter, which distorted their quality metrics and triggered a payer audit. The fix was straightforward but tedious. I walked through their EHR build and added conditional logic: if the PPD result is positive and the physician documents latent TB, route to Z86.19. If active TB is diagnosed, route to A15.x. If the patient is being screened and the result comes back positive during that same encounter, keep Z11.1 but require a follow-up code within 30 days to capture the definitive diagnosis. That cut their miscode rate from roughly 40 percent down to under 5 percent in the next billing cycle. One thing beginners consistently miss is the sequencing rules. When a patient presents for a TB treatment visit and has a history that includes a positive PPD, the active condition takes precedence. Putting the Z code first because it was the "reason for the visit" is backwards. The reason the visit exists is because of the latent or active TB, not because of the historical skin test result. Payers reject these claims at higher rates when they see the history code leading. Another nuance involves BCG vaccination history. A patient who received the BCG vaccine may have a positive PPD that does not indicate latent TB infection. If the physician attributes the positive result to prior BCG vaccination and explicitly documents no latent infection, you should not code Z86.19 or any latent TB code. Instead, document the encounter as a positive PPD result with BCG as the explanatory factor. Some EHR systems do not handle this distinction well and will auto-suggest Z86.19 regardless of clinical context. I learned this after a denial cluster where our coding software was applying latent TB codes to patients whose positive PPDs were clearly BCG-related based on the physician's notes. The workaround was adding a validation rule that requires a BCG documentation flag before the latent TB code can be applied. This eliminated those denials almost entirely.

The practical limit of ICD-10 here is that it cannot fully capture the clinical nuance of a positive PPD. The code system forces you into discrete buckets: latent TB, active TB, screening, or personal history. A patient with a weakly positive PPD who is undergoing diagnostic evaluation does not fit neatly into any of these without additional documentation. In those cases, the best approach is to ensure the physician's note clearly states the clinical intent of the encounter — evaluation of positive PPD — and use Z11.1 as the primary code with a secondary code for any provisional diagnoses being worked up. This is not ideal from a pure coding standpoint, but it is the most defensible position during an audit. If your organization handles a high volume of PPD-related encounters, consider building a lookup table in your coding software that maps common documentation patterns to the correct code sets. This reduces dependency on individual coder judgment and standardizes output across your team. The initial setup time is roughly two to three hours, but the ongoing maintenance is minimal and the reduction in denial rework pays for itself within the first quarter.

Get the Full Details

Positive PPD ICD-10-CM Codes
Positive PPD ICD-10-CM Codes