Schema Care

Immunization Record Extraction: Vaccine, Dose and Lot

By Schema CarePublished Updated

Immunization record extraction turns every vaccine dose written on a card, a registry printout or a school form into its own dated entry. Each entry holds the vaccine as written, the date given, and the lot, manufacturer, site, route and clinician when shown, plus the source page, so doses from different documents can be merged and checked.

The fields each immunization record dose needs

Each immunization record dose needs a vaccine name, a date given and a source page at minimum. When the document shows them, add the dose number as printed, the lot number, the manufacturer, the site, the route, the administering clinician and the clinic. One row per dose keeps every field tied to a single event.

Federal law sets out much of this list for the people who give vaccines. The CDC instructions for using Vaccine Information Statements (page dated May 29, 2025) summarize the requirement of 42 U.S.C. 300aa-25: providers who administer the covered vaccines must record "the name, address and title of the individual who administers the vaccine, the date of administration, and the vaccine manufacturer and lot number of the vaccine used." The same page adds a notation of "the edition date of the VIS distributed" and "the date the VIS was provided." A Vaccine Information Statement (VIS) is the CDC information sheet a patient receives with certain vaccines. The statute's text, at Cornell LII's copy of 42 U.S.C. 300aa-25, limits the rule to vaccines set forth in the Vaccine Injury Table.

The source documents an extractor receives rarely carry all of that. A clinic's own vaccine administration record usually does. A wallet card may show only the vaccine and the date. The extraction captures what each page shows and marks the rest "not on source" rather than leaving a blank that could mean anything.

A per-dose layout

FieldWhat to recordExample value
Vaccine as writtenThe exact words or abbreviation on the page"Tdap"
Vaccine, normalizedA standard name or code, added after reviewTdap, CVX 115
Date givenFull date, or the partial date as written2026-03-14
Dose number as printedOnly if the page prints one"#2"
Lot numberExactly as written, letters and digits"EX4471B" (example)
ManufacturerAs written"Example Bio" (fictional)
Site and routeAs written"L deltoid, IM"
Administered byName and title"P. Nakamura, RN" (example)
VIS edition date and date givenOnly if recordedNot on source
SourceDocument and pageRegistry printout, p. 1

The dose number deserves a warning. Record it only when the document prints it. Working out that a dose "must be" the second in a series means reading a vaccine schedule, which is clinical work and outside extraction.

Immunization record sources: cards, registry printouts and school forms

Immunization record sources come in three common forms: handwritten or stamped cards kept by the patient, printouts from a state or local registry, and school or child care forms filled in by a clinic or a parent. Each has a different layout, a different level of detail and a different way of going wrong.

Registry printouts

An immunization information system (IIS) is the registry behind most printouts. The CDC overview of immunization information systems (last updated March 30, 2026) describes them as "confidential, population-based, computerized databases" that record doses given by participating providers in a geographic area. At the point of care, CDC says, an IIS can provide consolidated immunization histories.

Printouts are typed and tabular, which makes them easy to read. Read the column headers on every page, because registries differ in which columns they print and in what order.

Cards

Patient-held cards are the least structured source. Dates are handwritten, sometimes in several hands across years. Lot numbers may be written in, stuck on as a peel-off label, or missing. Stamps from the clinic may overlap the handwriting. Cards from another country may use a different date order and vaccine names that do not match US product names.

School and child care forms

School forms usually list diseases down the side and dose columns across the top, with a date written in each box. The form may be filled in by a clinic, copied from a registry or written by a parent. A clinician signature or stamp at the bottom may certify the whole form, not each date. Capture the signature as a form-level field and keep each dose's source as the form page.

How should vaccine names be normalized in immunization record extraction?

Vaccine names should be normalized in immunization record extraction by keeping the name exactly as written and adding a standard code beside it, never replacing one with the other. Brand names, generic names, abbreviations and combination products all need mapping, and the CDC's CVX code set is the common reference for that mapping.

The CDC vaccine data code sets page (updated September 21, 2026) links the CVX table for vaccines administered and a separate MVX table for manufacturers. The CDC CVX code table (reviewed September 18, 2026) gives each code a short description, a full vaccine name, a status and notes.

Combination vaccines

A combination vaccine is one product that covers several diseases. The CVX table gives it a single code. For example, CVX 110 is "DTaP-Hep B-IPV", CVX 120 is "DTaP-Hib-IPV" and CVX 94 is "MMRV". Record the combination as one dose with one code. If the source lists it under three disease rows, as a school form may, it is still one injection on one date.

Unknown formulation

Many cards say only "DTaP" or "Hep B", with no product. The CVX table includes codes for this case. CVX 107 is "DTaP, unspecified formulation" and CVX 45 is "Hep B, unspecified formulation", each with the note "This CVX code allows reporting of a vaccination when formulation is unknown." The table lists both as Inactive, a status it defines to include "a historical record of a vaccine administered where the exact formulation is unknown." Use those codes when the card gives no more detail, instead of guessing a specific product.

Keep the original text

The written name is evidence. "DTaP" and "Tdap" use the same letters, yet the CVX table gives them different codes, 20 and 115. Only the original text lets a reviewer see what the page said. Store the code as an added field with who assigned it, so a later reader can tell the source's wording from the extractor's mapping.

Can handwritten immunization cards be extracted reliably?

Handwritten immunization cards can be extracted for most fields, but dates and lot numbers are the fields most often misread, and those should go to a person whenever the reading is uncertain. A wrong digit in a date or lot number looks perfectly valid, so no format check will catch it.

General handwriting limits for OCR are covered in whether OCR can read handwritten clinical notes. Immunization cards add a few problems of their own.

Dates

Short dates such as "3/4/26" can mean March 4 or April 3, depending on where the card was filled in. A "1" and a "7" are easy to swap, and so are a "4" and a "9". A two-digit year can point to the wrong century on a card held for decades. Send every handwritten date with any doubt to review, and record the date format the reviewer confirmed.

Lot numbers

Lot numbers mix letters and digits with no pattern a reader can predict. "O" and "0", "I" and "1", "S" and "5" swap freely. A peel-off label is usually printed and much easier to read than a handwritten lot. When the lot is unreadable, record "illegible" rather than a best guess. The statute lists the lot number among the facts a provider must record, so an invented one is worse than an honest "illegible".

Fields to send to a person

FieldWhy it needs review on a handwritten card
Date givenDigit swaps and day-month order change the date silently
Lot numberMixed letters and digits, no check digit
Vaccine nameAbbreviations vary and overlap
Dose numberSometimes written, sometimes inferred by whoever filled the card
Site and routeOften abbreviated or left out

Partial dates and duplicate doses in immunization records

Partial dates and duplicate doses are the two problems that appear when immunization records from several sources are merged. A partial date, such as a month and year with no day, should be stored exactly at the precision written. A duplicate dose, listed on both a card and a registry printout, should become one entry with both sources attached.

Recording a partial date

Store the date in parts: year, month and day, each filled only when the page shows it. "June 2019" becomes year 2019, month 06, day not given. Never fill the day with "01" or "15", because that invents a precision the source does not have. Some cards record only an age, such as "at 4 months". Keep that as text in its own field. Converting an age to a date requires a birth date and an assumption, and the result is not what the card says.

Merging duplicates

The same dose often appears on more than one source. Two entries are likely the same dose when the vaccine matches and the dates match or differ only by a plausible misreading. Merge them into one row and list every source. When the dates are clearly different, keep both rows and flag them for review, because the extraction cannot tell a duplicate with a wrong date from two separate doses.

The general method for merging repeated entries across documents is set out in duplicate medication entries across documents, and it carries over to vaccines.

A merged history, with example values

The history below is fictional. The patient, Ilse Varga, and every date, lot number and clinician are made up for this example.

Vaccine as writtenCodeDate givenLotAdministered bySources
"Hep B"CVX 45 (unspecified)2019-06 (day not given)Not on sourceNot on sourceCard, p. 1
"DTaP-Hep B-IPV"CVX 1102019-08-21KX20931"Clinic stamp, Elm St"Card, p. 1; Registry printout, p. 1
"MMR"CVX 032020-09-02Illegible on card; R55102 on registryNot on sourceCard, p. 2; Registry printout, p. 2
"Tdap"CVX 1152026-03-14EX4471BP. Nakamura, RNRegistry printout, p. 3

The MMR row shows the value of keeping both sources. The card's lot number could not be read, and the registry supplied it. A reviewer can see where each value came from and decide whether the merge is right.

Lot numbers also appear on surgical paperwork, where implants carry them; operative report extraction covers that case. Vaccines given in a clinic may also show up on a medication list, which follows the fields in medication list extraction from records. When immunization data is pulled for coding or reporting, the difference between abstracting data and assigning codes is explained in abstracting in medical coding.

Immunization records are not named among the document types in Schema Care's supported documents section, so read this post as a method. Handwritten dates and lot numbers are exactly the values a review step exists for. In general, Schema Care gives every field it reads a confidence score and a link to its place on the page, holds back anything below the threshold a customer sets, and logs who approved or corrected it; the human review steps show how that works.

All posts in Clinical Records and Abstraction