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
| Field | What to record | Example value |
|---|---|---|
| Vaccine as written | The exact words or abbreviation on the page | "Tdap" |
| Vaccine, normalized | A standard name or code, added after review | Tdap, CVX 115 |
| Date given | Full date, or the partial date as written | 2026-03-14 |
| Dose number as printed | Only if the page prints one | "#2" |
| Lot number | Exactly as written, letters and digits | "EX4471B" (example) |
| Manufacturer | As written | "Example Bio" (fictional) |
| Site and route | As written | "L deltoid, IM" |
| Administered by | Name and title | "P. Nakamura, RN" (example) |
| VIS edition date and date given | Only if recorded | Not on source |
| Source | Document and page | Registry 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
| Field | Why it needs review on a handwritten card |
|---|---|
| Date given | Digit swaps and day-month order change the date silently |
| Lot number | Mixed letters and digits, no check digit |
| Vaccine name | Abbreviations vary and overlap |
| Dose number | Sometimes written, sometimes inferred by whoever filled the card |
| Site and route | Often 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 written | Code | Date given | Lot | Administered by | Sources |
|---|---|---|---|---|---|
| "Hep B" | CVX 45 (unspecified) | 2019-06 (day not given) | Not on source | Not on source | Card, p. 1 |
| "DTaP-Hep B-IPV" | CVX 110 | 2019-08-21 | KX20931 | "Clinic stamp, Elm St" | Card, p. 1; Registry printout, p. 1 |
| "MMR" | CVX 03 | 2020-09-02 | Illegible on card; R55102 on registry | Not on source | Card, p. 2; Registry printout, p. 2 |
| "Tdap" | CVX 115 | 2026-03-14 | EX4471B | P. Nakamura, RN | Registry 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.
Related clinical documents
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.