Z Codes
Applies to FY 2026 ICD-10-CM
Foundational
Updated September 9, 2026
How Do I Code a Flu Shot or Other Immunization Visit? Z23 for the Encounter, Z28 When the Vaccine Is Not Given, Z28.3 for Underimmunization Status
Quick answer
A flu shot or any other vaccination visit is Z23, Encounter for immunization: first-listed when the vaccination is the reason for the visit, secondary when it is part of a routine well-child or preventive examination, which leads. Z23 records only that immunization was the purpose; the vaccine and its administration are procedure codes. A vaccine due but not given takes a Z28.0–Z28.9 reason code; underimmunization status is Z28.3-, secondary only.
Jump to the decision rule ↓What decides the answer?
- Whether the vaccination was the reason for the visit, or given during a routine examination that leads
- Whether the vaccine was actually given, or not carried out — and the documented reason
- Whether the encounter was for vaccine safety counseling rather than routine risk information (Z71.85)
- Documented underimmunization status, which is secondary only
Why it matters
What Z23 says, and what it deliberately does not
Z23, Encounter for immunization, is one code for every vaccine. The Guidelines define its job:
“Code Z23 is for encounters for inoculations and vaccinations. It indicates that a patient is being seen to receive a prophylactic inoculation against a disease. Procedure codes are required to identify the actual administration of the injection and the type(s) of immunizations given. Code Z23 may be used as a secondary code if the inoculation is given as a routine part of preventive health care, such as a well-baby visit.”
Two things follow. First, Z23 never identifies which vaccine: the tabular carries the note “procedure codes are required to identify the types of immunizations given,” and the vaccine product and its administration are reported outside ICD-10-CM. A claim for a flu shot, a tetanus booster and a shingles vaccine carries one Z23. Second, sequencing turns on the reason for the visit. When the patient came in for the shot, Z23 is first-listed — it is one of the encounter Z codes that can lead, as the Z-code-as-principal guide explains. When the shot was given during a routine examination, the examination leads: Z23 carries a Code First note for any routine childhood examination, so at a well-child visit Z00.129 (or Z00.121 with abnormal findings) is first and Z23 follows, exactly as the guideline’s well-baby example says. Z23 also carries a Code Also note for Z71.85, Encounter for immunization safety counseling — a code the Guidelines restrict to counseling “regarding the safety of a vaccine,” not the routine discussion of risks and side effects that accompanies an ordinary vaccination.
When the vaccine is not given. Category Z28, Immunization not carried out and underimmunization status (Includes: vaccination not carried out), records the reason: Z28.0- contraindication (acute illness Z28.01, chronic condition Z28.02, allergy to the vaccine Z28.04, other Z28.09), Z28.1 belief or group pressure, Z28.2- patient decision (Z28.21 refusal, Z28.20 unspecified reason, Z28.29 other reason), Z28.8- other reason (Z28.81 already had the disease, Z28.82 caregiver refusal, Z28.83 vaccine unavailable, Z28.89 other), and Z28.9 unspecified. These describe a decision or circumstance at this encounter; they are added to the code for whatever the visit was for.
Underimmunization as a status.Z28.3, Underimmunization status, with Z28.310 unvaccinated for COVID-19, Z28.311 partially vaccinated for COVID-19 and Z28.39 other underimmunization status, describes the patient rather than the visit. It carries a Use Additional Code note for the Z28.0-/Z28.1/Z28.2-/Z28.8- reason the immunization was not carried out, and the Guidelines place a sequencing limit on it in Section I.B.14: “codes for social determinants of health and underimmunization status should only be reported as secondary diagnoses.” The same section allows underimmunization status to be documented by clinicians other than the patient’s provider. The tabular adds, at the COVID-19 codes, that they “should not be used for individuals who are not eligible for the COVID-19 vaccines, as determined by the healthcare provider.”
A reaction to a vaccine is a different family: T88.0, Infection following immunization, and T88.1, Other complications following immunization, not elsewhere classified, are complication codes, reported when the provider documents a complication of the immunization itself.
How to apply it
How to apply the rule
- Establish why the patient came. For the vaccination itself → Z23 first-listed. For a routine examination during which a vaccine was given → the examination code (Z00.12- for a child, Z00.0- for an adult) first, Z23 secondary.
- Report the vaccine product and its administration with procedure codes; Z23 does not name the vaccine.
- If a due vaccine was not given, add the Z28.0–Z28.9 code that matches the documented reason.
- If the provider (or another clinician, per I.B.14) documents unvaccinated or partially vaccinated status, add Z28.3- as a secondary code, with the Z28.0-/.1/.2-/.8- reason code its Use Additional note asks for.
- Use Z71.85 only for counseling about vaccine safety as such — not for the routine risk information given with a shot.
- A documented complication of a vaccine is T88.0 or T88.1, not Z23.
Examples
Coding examples
- Adult walk-in for a seasonal flu shot; nothing else addressed.Z23, first-listed. The vaccine and its administration are procedure codes.
- Well-child visit at 12 months with scheduled vaccines, no abnormal findings.Z00.129 first, then Z23 — the guideline’s well-baby case, and Z23’s own Code First note.
- Flu shot offered at a chronic-disease visit; the patient declines it. The reason for the visit leads; Z28.21, Immunization not carried out because of patient refusal, is added.
- Visit for counseling about COVID-19 vaccine safety; no vaccine given; the provider documents that the patient is unvaccinated.Z71.85 for the counseling, with Z28.310 as a secondary status code and the Z28.2- reason code its note asks for.
Practice
Practice scenarios
Scenario 1
Well-child visit at 12 months with scheduled vaccines; no abnormal findings.
- Coding question
- Which code leads, the examination or Z23?
- Decision
- Z00.129 first, then Z23.
- Why
- Z23 carries Code First for any routine childhood examination, and Section I.C.21.c.2 says Z23 may be a secondary code when the inoculation is a routine part of preventive care such as a well-baby visit.
- Documentation check
- That the visit was the routine examination and the vaccines were part of it.
Scenario 2
Flu shot offered at a chronic-disease visit; the patient declines it.
- Coding question
- Is anything coded for the declined vaccine?
- Decision
- Yes: Z28.21 is added after the code for the reason for the visit.
- Why
- Category Z28 covers vaccination not carried out, and Z28.21 is the patient-refusal reason.
- Documentation check
- That the refusal is documented, and by the patient rather than a caregiver (Z28.82).
Each scenario restates one of the worked examples above in decision form; none adds a clinical fact or a code the example does not already assign.
Common mistakes
Common mistakes
- Expecting Z23 to tell the payer which vaccine was given — it does not; that is the procedure code’s job, and the tabular says so.
- Listing Z23 first at a well-child visit. Z23 carries Code First for the routine childhood examination.
- Reporting Z28.3- as the first-listed or principal diagnosis; the Guidelines make underimmunization status secondary only.
- Assigning Z71.85 for the routine risk-and-side-effects discussion at an ordinary vaccination visit.
- Coding a vaccine reaction to Z23 instead of the T88 complication codes.
- Reporting Z28.310 or Z28.311 for a patient the provider has determined is not eligible for the vaccine.
Documentation matters
Documentation that changes the coding
- The reason for the visit: the vaccination itself, or a routine examination during which it was given.
- Whether the vaccine was administered, and if not, the documented reason.
- Vaccine safety counseling as the subject of the encounter (Z71.85), as distinct from routine risk information.
- Unvaccinated or partially vaccinated status, which any clinician may document, and eligibility as determined by the provider for the COVID-19 status codes.
- A documented complication of the immunization.
Decision rule
Decision framework
| IF… | THEN… |
|---|---|
| Visit is for the vaccination | Z23 first-listed; vaccine and administration as procedure codes |
| Vaccine given during a routine child or adult examination | Z00.12- (or Z00.0-) first; Z23 secondary |
| Vaccine due but not given — patient decision | Add Z28.20 / Z28.21 (refusal) / Z28.29 |
| Not given — contraindication | Add Z28.01 / Z28.02 / Z28.04 / Z28.09 |
| Not given — other reason | Add Z28.1, Z28.81, Z28.82, Z28.83, Z28.89 or Z28.9 as documented |
| Documented unvaccinated or partially vaccinated status | Z28.3- as a secondary code, with the Z28.0-/.1/.2-/.8- reason code |
| Encounter for counseling about vaccine safety | Z71.85; add Z23 if the vaccine is then given, or Z28.- if not |
| Complication of the immunization | T88.0 (infection) or T88.1 (other) — not Z23 |
FAQ
Is a flu shot (influenza vaccine) visit coded Z23 or with the vaccine code?
Both, in different code sets. Z23, Encounter for immunization, is the ICD-10-CM diagnosis code for the visit; the vaccine product and its administration are reported with procedure codes, which the Guidelines say are required to identify the type of immunization given.
Does Z23 tell the payer which vaccine was given?
No. The tabular note at Z23 states that procedure codes are required to identify the types of immunizations given, so one Z23 covers a visit at which several vaccines are administered.
Which code comes first at a well-child visit that includes vaccines?
The routine child health examination code, Z00.129 or Z00.121, with Z23 as a secondary code. Z23 carries a Code First note for any routine childhood examination, and the Guidelines give the well-baby visit as their example.
How is a declined vaccine coded?
With a code from Z28.2-, Immunization not carried out because of patient decision — Z28.21 for refusal, Z28.20 for an unspecified reason, Z28.29 for another documented reason — added to the code for the reason for the visit. Caregiver refusal is Z28.82.
Can Z28.310, Unvaccinated for COVID-19, be the first-listed diagnosis?
No. Section I.B.14 of the Guidelines states that underimmunization status codes should only be reported as secondary diagnoses. Z28.3 also asks for an additional code for the reason the immunization was not carried out.
Code relationships
| Relationship | At | Names | Note |
|---|---|---|---|
| code-first | Z23 | any routine childhood examination (Z00.12-) | |
| code-also | Z23 | Z71.85 (encounter for immunization safety counseling), if applicable | |
| includes | Z28 | vaccination not carried out | |
| code-also | Z28 | Z71.85 (encounter for immunization safety counseling), if applicable | |
| use-additional | Z28.3 | Z28.0- (contraindication); Z28.1 (belief or group pressure); Z28.2- (patient decision); Z28.8- (other reason), if applicable — the reason the immunization was not carried out | |
| code-also | Z71.85 | Z23 (encounter for immunization); Z28.- (immunization not carried out), if applicable | |
| excludes1 | Z71.85 | Z71.84 (encounter for health counseling related to travel) | |
| sequencing | Z28.3 | secondary diagnosis only | Guidelines I.B.14: underimmunization status should only be reported as a secondary diagnosis |
Relationships are quoted from the FY tabular notes and Official Guidelines the guide cites; none are inferred.
Relationships are quoted from the tabular notes and Official Guidelines sections the guide cites; the wording of each row is MedCoder’s.
Compare these pairs
Each pair below is one the tabular notes link; its Compare page quotes the note and says whether the two can be reported together.
Authoritative sources
Applies to FY 2026 ICD-10-CM
Verified against the FY 2026 ICD-10-CM Official Guidelines (Sections I.C.21.c.2, I.C.21.c.3, I.C.21.c.16 and I.B.14) and the FY 2026 tabular notes at Z23, Z28, Z28.3, Z28.31-, Z71.85, Z00.12- and T88.0–T88.1.
- ICD-10-CM Official Guidelines for Coding and Reporting, FY 2026 (Section I.C.21.c.2, Inoculations and vaccinations)
- ICD-10-CM Official Guidelines for Coding and Reporting, FY 2026 (Section I.B.14, Documentation by clinicians other than the patient’s provider — underimmunization status)
- ICD-10-CM Official Guidelines for Coding and Reporting, FY 2026 (Section I.C.21.c.16, Z71.85 immunization safety counseling)
- FY 2026 ICD-10-CM Tabular List (Z23, Z28.0–Z28.9, Z28.3, Z28.310–Z28.39, Z71.85, Z00.121, Z00.129, T88.0, T88.1)
Official guidance cited
The Official Guidelines sections this guide quotes or applies, by heading. Passages set as quotations above are the sections’ own words; the surrounding text is MedCoder’s reading of them.
- Section I.B.14 — Documentation by Clinicians Other than the Patient's Provider
Passages set as quotations are verbatim official text from the sources listed. Surrounding explanation, decision tables and examples are MedCoder’s editorial reading of those sources and are not official statements. Examples are illustrative; they assign no code to any real patient.
Coder Takeaway: The visit for the shot is Z23 and leads, unless a routine examination is the reason and leads instead; the vaccine itself is a procedure code, not a Z code. Not given → Z28 by reason. Unvaccinated or partially vaccinated → Z28.3-, secondary only.
Coding questions
No community questions relate to this guide yet.
Ask a Coding Question about this guide.
Didn’t find your answer?
Ask a coding question and get help from the MedCoder community.
Ask a Coding QuestionApplicable code set: FY 2026. Published September 5, 2026; last updated September 9, 2026.