Virginia Vaccine Record 2026: How to Request & Download

💉 Immunization Record Tools

Free interactive tools to find, verify, and plan your vaccine records — all data verified May 2026

🏛️State Finder
🔎Record Checker
🔬Titer Calculator
Emergency Guide

🏛️ Instant State IIS Record Finder

Select your state to get the official portal link, phone number, app availability, and exact turnaround time — all verified May 2026.

🔎 Where Should I Look for My Records?

Answer 4 quick questions and get a personalised ranked list of exactly which sources to check first for your situation.

Step 1 of 4
How old were you when you received the vaccines you need to find?
👶Child (under 18)
🧑Adult (18 or older)
🕗Both / Mixed
Approximately when were the vaccines administered?
📅Within last 5 years
🕐5–20 years ago
📷20+ years ago / Unknown
Do you know which state you were vaccinated in?
Yes, I know the state
🎥Multiple states
Not sure
What is this record for?
🏫School / College
🏥Healthcare Job
✈️Travel / Immigration
📄Personal / Other

🔬 Titer Test Need Calculator

Select your situation to see exactly which titer tests you need, accepted immunity thresholds, and current self-pay costs.

🏥Healthcare Worker
🏏Nursing / Med School
🏫College / University
📄Lost Records
✈️Travel / Abroad Vaccine
🔬Just Want to Check

⚡ Emergency Record Guide — How Long Do You Have?

Select your deadline and get a step-by-step, time-specific action plan to get your records as fast as possible.

💥Today / Right Now
📅Within 24 Hours
🕐2–5 Business Days
🕒1–2 Weeks
🕙Over 2 Weeks

#vavr26-pro section, #vavr26-pro nav, #vavr26-pro div, #vavr26-pro table, #vavr26-pro details, #vavr26-pro img, #vavr26-pro iframe{ max-width:100%; }

#vavr26-pro p{margin:0 0 11px}

#vavr26-pro ul, #vavr26-pro ol{ margin:8px 0 0; padding-left:21px; }

#vavr26-pro li{margin:6px 0} #vavr26-pro strong{font-weight:850}

#vavr26-pro a{ color:var(--blue); font-weight:800; overflow-wrap:anywhere; text-decoration-thickness:1.5px; text-underline-offset:3px; }

#vavr26-pro a:focus-visible, #vavr26-pro summary:focus-visible{ outline:3px solid var(--gold); outline-offset:3px; border-radius:8px; }

/* ================================================== HERO ================================================== */

#vavr26-pro .va-hero{ position:relative; min-height:455px; margin:18px 0; padding:39px 37px; overflow:hidden; border-radius:29px; color:#fff; background: radial-gradient(circle at 11% 10%,rgba(239,180,65,.30),transparent 28%), radial-gradient(circle at 90% 17%,rgba(73,207,196,.22),transparent 29%), linear-gradient(132deg,#071a2b 0%,#123d5b 51%,#085f61 100%); box-shadow:0 20px 43px rgba(16,54,80,.20); }

#vavr26-pro .va-hero-copy{ position:relative; z-index:5; max-width:740px; }

#vavr26-pro .va-kicker{ display:inline-flex; margin:0 0 14px; padding:7px 12px; border:1px solid rgba(255,255,255,.28); border-radius:999px; background:rgba(255,255,255,.11); color:#fff; font-size:13px; font-weight:850; line-height:1.4; }

#vavr26-pro .va-hero h2{ max-width:760px; margin:0 0 15px; color:#fff; font-size:clamp(33px,5vw,54px); line-height:1.06; letter-spacing:-.037em; }

#vavr26-pro .va-hero p{ max-width:760px; color:rgba(255,255,255,.95); font-size:17px; line-height:1.68; }

#vavr26-pro .va-hero-actions, #vavr26-pro .va-actions{ display:flex; flex-wrap:wrap; gap:9px; margin-top:17px; }

#vavr26-pro .va-btn, #vavr26-pro .va-action{ display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:10px 14px; border-radius:12px; background:var(--navy); color:#fff!important; font-weight:900!important; line-height:1.35; text-align:center; text-decoration:none!important; }

#vavr26-pro .va-btn{ min-height:48px; padding:11px 16px; background:var(--gold); color:#2d1e03!important; }

#vavr26-pro .va-btn.alt{ border:1px solid rgba(255,255,255,.34); background:rgba(255,255,255,.11); color:#fff!important; }

#vavr26-pro .va-action.light{ border:1px solid var(--line); background:#fff; color:var(--blue)!important; }

/* Unique VIIS / MyIR animated routing scene */

#vavr26-pro .va-scene{ position:absolute; right:18px; bottom:15px; z-index:2; width:min(342px,32vw); height:306px; pointer-events:none; }

#vavr26-pro .va-screen{ position:absolute; inset:6px 8px 48px; overflow:hidden; border:2px solid rgba(255,255,255,.27); border-radius:22px; background:rgba(3,20,33,.82); box-shadow:0 20px 38px rgba(0,0,0,.26); transform:perspective(800px) rotateY(-7deg); }

#vavr26-pro .va-screen-head{ display:flex; justify-content:space-between; gap:8px; padding:11px 13px; border-bottom:1px solid rgba(255,255,255,.14); color:#cef8f6; font-size:10px; font-weight:900; letter-spacing:.07em; }

#vavr26-pro .va-secure{color:#73efad}

#vavr26-pro .va-flow{ position:absolute; left:20px; right:20px; display:grid; grid-template-columns:45px minmax(0,1fr) 27px; align-items:center; gap:8px; min-height:57px; padding:8px 10px; border:1px solid rgba(255,255,255,.14); border-radius:14px; background:rgba(255,255,255,.07); }

#vavr26-pro .va-flow.match{ top:59px; animation:vaMatch 6s ease-in-out infinite; }

#vavr26-pro .va-flow.verify{ top:128px; animation:vaVerify 6s ease-in-out infinite; }

#vavr26-pro .va-flow.download{ top:197px; animation:vaDownload 6s ease-in-out infinite; }

#vavr26-pro .va-code{ display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:var(--gold); color:#302002; font-size:9px; font-weight:950; }

#vavr26-pro .verify .va-code{ background:#56cec4; color:#052c29; }

#vavr26-pro .download .va-code{ background:#aaa0e1; color:#21164f; }

#vavr26-pro .va-flow strong{ display:block; color:#fff; font-size:13px; line-height:1.2; }

#vavr26-pro .va-flow small{ display:block; margin-top:3px; color:rgba(255,255,255,.68); font-size:9px; line-height:1.25; }

#vavr26-pro .va-arrow{ display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,.13); color:#fff; font-weight:950; }

#vavr26-pro .va-scan{ position:absolute; left:13px; right:13px; top:47px; height:3px; background:linear-gradient( 90deg, transparent, #65eadc 18%, #fff 50%, #65eadc 82%, transparent ); box-shadow:0 0 15px #65eadc; animation:vaScan 6s ease-in-out infinite; }

#vavr26-pro .va-file{ position:absolute; right:20px; bottom:3px; width:116px; height:80px; padding:26px 8px 8px; border-radius:11px; background:#fff; color:var(--navy); font-size:9px; font-weight:950; text-align:center; box-shadow:0 12px 24px rgba(0,0,0,.21); animation:vaFile 6s ease-in-out infinite; }

#vavr26-pro .va-file::before{ content:"PDF"; position:absolute; top:7px; right:7px; padding:2px 5px; border-radius:5px; background:var(--red); color:#fff; font-size:8px; }

@keyframes vaScan{ 0%,10%{ transform:translateY(0); opacity:0; }

18%{opacity:1}

74%{ transform:translateY(178px); opacity:1; }

91%,100%{ transform:translateY(178px); opacity:0; } }

@keyframes vaMatch{ 0%,100%{border-color:rgba(255,255,255,.14)} 24%,38%{border-color:rgba(239,180,65,.85)} }

@keyframes vaVerify{ 0%,100%{border-color:rgba(255,255,255,.14)} 44%,59%{border-color:rgba(86,206,196,.85)} }

@keyframes vaDownload{ 0%,100%{border-color:rgba(255,255,255,.14)} 66%,82%{border-color:rgba(170,160,225,.85)} }

@keyframes vaFile{ 0%,70%{ transform:translateY(7px); opacity:.55; }

82%,94%{ transform:translateY(0); opacity:1; }

100%{ transform:translateY(7px); opacity:.55; } }

/* ================================================== GENERAL COMPONENTS ================================================== */

#vavr26-pro .va-section, #vavr26-pro .va-card, #vavr26-pro .va-route, #vavr26-pro .va-mini, #vavr26-pro .va-term{ border:1px solid var(--line); background:#fff; box-shadow:0 8px 23px rgba(16,54,80,.055); }

#vavr26-pro .va-section{ margin:18px 0; padding:23px; border-radius:22px; }

#vavr26-pro .va-section h2{ margin:0 0 10px; color:var(--navy); font-size:clamp(24px,3.3vw,36px); line-height:1.16; letter-spacing:-.027em; }

#vavr26-pro .va-section h3{ margin:20px 0 8px; color:var(--navy); font-size:21px; line-height:1.25; }

#vavr26-pro .va-label{ display:inline-flex; margin-bottom:8px; padding:5px 10px; border-radius:999px; background:var(--blue-soft); color:var(--blue); font-size:12px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }

#vavr26-pro .va-alert, #vavr26-pro .va-note, #vavr26-pro .va-good, #vavr26-pro .va-source, #vavr26-pro .va-purple{ margin:14px 0; padding:15px 16px; border-radius:15px; }

#vavr26-pro .va-alert{ border-left:5px solid var(--red); background:var(--red-soft); }

#vavr26-pro .va-note{ border-left:5px solid var(--gold); background:var(--gold-soft); }

#vavr26-pro .va-good{ border-left:5px solid var(--green); background:var(--green-soft); }

#vavr26-pro .va-source{ border-left:5px solid var(--blue); background:var(--blue-soft); }

#vavr26-pro .va-purple{ border-left:5px solid var(--purple); background:var(--purple-soft); }

/* Quick facts */

#vavr26-pro .va-facts{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:16px 0; }

#vavr26-pro .va-card{ padding:15px; border-radius:17px; }

#vavr26-pro .va-card strong{ display:block; margin-bottom:5px; color:var(--navy); font-size:16px; }

#vavr26-pro .va-card p{ margin:0; color:var(--muted); font-size:14px; }

/* Task navigation */

#vavr26-pro .va-menu{ border-color:#17455f; color:#fff; background:linear-gradient(135deg,#0a2033,#164b65); }

#vavr26-pro .va-menu h2{color:#fff} #vavr26-pro .va-menu p{color:rgba(255,255,255,.85)}

#vavr26-pro .va-nav{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:14px; }

#vavr26-pro .va-nav a{ display:flex; align-items:center; min-height:48px; padding:10px 12px; border:1px solid rgba(255,255,255,.15); border-radius:12px; background:rgba(255,255,255,.08); color:#fff!important; line-height:1.35; text-decoration:none; }

/* General grids */

#vavr26-pro .va-grid-2, #vavr26-pro .va-grid-3, #vavr26-pro .va-route-grid, #vavr26-pro .va-check-grid, #vavr26-pro .va-problem-grid, #vavr26-pro .va-glossary{ display:grid; gap:12px; margin-top:13px; }

#vavr26-pro .va-grid-2, #vavr26-pro .va-route-grid, #vavr26-pro .va-check-grid, #vavr26-pro .va-problem-grid, #vavr26-pro .va-glossary{ grid-template-columns:repeat(2,minmax(0,1fr)); }

#vavr26-pro .va-grid-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }

#vavr26-pro .va-mini, #vavr26-pro .va-term{ padding:17px; border-radius:17px; }

#vavr26-pro .va-mini strong{ display:block; margin-bottom:5px; color:var(--navy); font-size:18px; }

/* Route cards */

#vavr26-pro .va-route{ position:relative; padding:20px; overflow:hidden; border-radius:19px; }

#vavr26-pro .va-route::before{ content:""; position:absolute; top:0; left:0; width:100%; height:5px; background:linear-gradient(90deg,var(--blue),#4fc9c9); }

#vavr26-pro .va-route.child::before{ background:linear-gradient(90deg,#d98f15,var(--gold)); }

#vavr26-pro .va-route.school::before{ background:linear-gradient(90deg,var(--green),#65bd88); }

#vavr26-pro .va-route.backup::before{ background:linear-gradient(90deg,var(--purple),#a89be0); }

#vavr26-pro .va-route-tag{ display:inline-flex; margin-bottom:8px; padding:5px 9px; border-radius:999px; background:var(--blue-soft); color:var(--blue); font-size:11px; font-weight:900; }

#vavr26-pro .va-route strong{ display:block; margin-bottom:6px; color:var(--navy); font-size:20px; }

/* Numbered steps */

#vavr26-pro .va-steps{ counter-reset:vaStep; display:grid; gap:10px; margin-top:13px; }

#vavr26-pro .va-step{ position:relative; min-height:70px; padding:14px 14px 14px 61px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(180deg,#fff,#f8fbfd); }

#vavr26-pro .va-step::before{ counter-increment:vaStep; content:counter(vaStep); position:absolute; left:14px; top:15px; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--navy); color:#fff; font-weight:950; }

#vavr26-pro .va-step strong{ display:block; margin-bottom:3px; color:var(--navy); font-size:18px; }

/* Checklists */

#vavr26-pro .va-check{ position:relative; min-height:47px; padding:11px 12px 11px 43px; border:1px solid var(--line); border-radius:14px; background:#fff; }

#vavr26-pro .va-check::before{ content:"✓"; position:absolute; left:12px; top:12px; display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--green-soft); color:var(--green); font-weight:950; }

/* Problems */

#vavr26-pro .va-problem{ position:relative; padding:15px 15px 15px 50px; border:1px solid var(--line); border-radius:16px; background:#fff; }

#vavr26-pro .va-problem::before{ content:"→"; position:absolute; left:14px; top:16px; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:var(--gold-soft); color:#93620b; font-weight:950; }

#vavr26-pro .va-problem strong{ display:block; margin-bottom:3px; color:var(--navy); }

/* Tables */

#vavr26-pro .va-table-wrap{ width:100%; margin:14px 0; overflow-x:auto; border:1px solid var(--line); border-radius:17px; -webkit-overflow-scrolling:touch; }

#vavr26-pro .va-table{ width:100%; min-width:740px; border-collapse:collapse; background:#fff; }

#vavr26-pro .va-table caption{ padding:12px 13px; background:#f3f8fa; color:var(--navy); font-weight:900; text-align:left; }

#vavr26-pro .va-table th{ padding:12px 13px; background:var(--navy); color:#fff; text-align:left; font-size:14px; }

#vavr26-pro .va-table td{ padding:12px 13px; border-top:1px solid var(--line); vertical-align:top; }

#vavr26-pro .va-table td:first-child{ color:var(--navy); font-weight:850; }

/* Scripts */

#vavr26-pro .va-script{ position:relative; margin:14px 0; padding:18px 18px 18px 57px; border:1px dashed #8fb8ca; border-radius:17px; background:linear-gradient(135deg,#edf8fc,#fff); }

#vavr26-pro .va-script::before{ content:"☎"; position:absolute; left:15px; top:17px; display:grid; place-items:center; width:31px; height:31px; border-radius:50%; background:var(--blue); color:#fff; font-weight:900; }

#vavr26-pro .va-script strong{ display:block; margin-bottom:4px; color:var(--navy); }

/* Glossary */

#vavr26-pro .va-term dt{ margin:0 0 5px; color:var(--navy); font-size:17px; font-weight:950; }

#vavr26-pro .va-term dd{ margin:0; color:var(--muted); }

/* FAQ */

#vavr26-pro .va-faq details{ margin:10px 0; padding:14px 16px; border:1px solid var(--line); border-radius:15px; background:#fff; }

#vavr26-pro .va-faq summary{ cursor:pointer; color:var(--navy); font-weight:900; line-height:1.4; }

#vavr26-pro .va-faq details p{ margin:9px 0 0; }

/* Final independent disclaimer */

#vavr26-pro .va-footer{ margin-top:20px; padding:19px; border:2px solid #bc4b46; border-left-width:6px; border-radius:19px; background:var(--red-soft); }

#vavr26-pro .va-footer h2{ margin:0 0 8px; color:#762925; font-size:23px; line-height:1.25; }

/* Tablet */

@media(max-width:980px){ #vavr26-pro .va-facts{ grid-template-columns:repeat(3,minmax(0,1fr)); }

#vavr26-pro .va-nav{ grid-template-columns:repeat(2,minmax(0,1fr)); }

#vavr26-pro .va-scene{ right:2px; width:300px; opacity:.56; } }

/* GeneratePress-safe mobile full width */

@media(max-width:760px){ #vavr26-pro{ width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding-left:10px; padding-right:10px; overflow-x:hidden; }

#vavr26-pro .va-hero{ min-height:auto; padding:26px 15px 210px; border-radius:20px; }

#vavr26-pro .va-hero h2{ font-size:30px; line-height:1.15; letter-spacing:-.018em; }

#vavr26-pro .va-hero p{ font-size:16px; }

#vavr26-pro .va-scene{ right:50%; bottom:5px; width:289px; height:197px; opacity:.8; transform:translateX(50%); }

#vavr26-pro .va-screen{ inset:3px 6px 26px; }

#vavr26-pro .va-flow{ left:14px; right:14px; grid-template-columns:38px minmax(0,1fr) 24px; min-height:48px; }

#vavr26-pro .va-flow.match{top:49px} #vavr26-pro .va-flow.verify{top:107px} #vavr26-pro .va-flow.download{display:none}

#vavr26-pro .va-code{ width:36px; height:36px; }

#vavr26-pro .va-file{ display:none; }

#vavr26-pro .va-hero-actions, #vavr26-pro .va-actions{ flex-direction:column; }

#vavr26-pro .va-btn, #vavr26-pro .va-action{ width:100%; }

#vavr26-pro .va-facts, #vavr26-pro .va-nav, #vavr26-pro .va-grid-2, #vavr26-pro .va-grid-3, #vavr26-pro .va-route-grid, #vavr26-pro .va-check-grid, #vavr26-pro .va-problem-grid, #vavr26-pro .va-glossary{ grid-template-columns:1fr; }

#vavr26-pro .va-section{ padding:18px 14px; border-radius:18px; }

#vavr26-pro .va-step{ padding:14px 12px 14px 58px; } }

/* Mobile table cards */

@media(max-width:680px){ #vavr26-pro .va-table-wrap{ overflow:visible; border:0; }

#vavr26-pro .va-table{ min-width:0; background:transparent; }

#vavr26-pro .va-table thead{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

#vavr26-pro .va-table, #vavr26-pro .va-table tbody, #vavr26-pro .va-table tr, #vavr26-pro .va-table td{ display:block; width:100%; }

#vavr26-pro .va-table caption{ display:block; margin-bottom:9px; border:1px solid var(--line); border-radius:14px; }

#vavr26-pro .va-table tr{ margin:0 0 11px; overflow:hidden; border:1px solid var(--line); border-radius:15px; background:#fff; }

#vavr26-pro .va-table td{ padding:10px 12px; border-top:1px solid var(--line); }

#vavr26-pro .va-table td:first-child{ border-top:0; }

#vavr26-pro .va-table td::before{ content:attr(data-label); display:block; margin-bottom:4px; color:var(--navy); font-size:11px; font-weight:900; letter-spacing:.03em; text-transform:uppercase; } }

@media(max-width:390px){ #vavr26-pro .va-hero{ padding-left:13px; padding-right:13px; }

#vavr26-pro .va-hero h2{ font-size:28px; }

#vavr26-pro .va-scene{ width:270px; }

#vavr26-pro .va-section{ padding-left:12px; padding-right:12px; } }

@media(prefers-reduced-motion:reduce){ #vavr26-pro .va-flow, #vavr26-pro .va-scan, #vavr26-pro .va-file{ animation:none!important; }

#vavr26-pro .va-scan{ top:125px; opacity:.45; } }

Virginia · MyIR, VIIS, record matching and school-document help

Request, Match and Download Your Virginia Immunization Record

Virginia residents can use secure electronic record services linked by the Virginia Department of Health to view, download and print available immunization records for themselves and family members. For a broad vaccination history, start with MyIR and connect it to Virginia’s immunization registry, VIIS.

A separate Virginia portal retrieves only COVID-19 and MMR records. This guide explains which system to use, how MyIR’s exact-match verification works, how parents retrieve child records, how to fix missing vaccinations and how a Virginia record connects with school, childcare, college and work documentation.

State registry

VIIS — Virginia Immunization Information System.

Main resident portal

MyIR for broader official immunization-record access.

Narrow portal

Separate VDH search for COVID-19 and MMR only.

Child access

Children under 18 can be added to an adult MyIR account.

VIIS Help Desk

804-773-7250.

2026 system status:
Virginia’s newer VIIS platform launched in June 2025, and VDH’s current resident record page was updated in July 2026. Use current VDH/MyIR instructions rather than an old screenshot, saved tutorial or provider-login page.

Choose the Virginia vaccine-record task you need

Jump to the task that matches your situation instead of repeating portal searches that cannot solve the underlying problem.

Decision 1

Use MyIR for the broad record and the COVID/MMR portal only for those vaccines

Most users

MyIR Portal

Use MyIR when you need the available Virginia immunization history for personal records, school preparation, college, employment, healthcare review or another general proof request.

Specific vaccines

COVID-19 / MMR Portal

Use Virginia’s separate VDH search when you specifically need a COVID-19 or measles-mumps-rubella record. It does not retrieve every vaccine type.

Parent / guardian

Child younger than 18

Create the adult MyIR account first and use Add a Child. Adults age 18 or older must use their own MyIR account.

School entrance

MyIR/VIIS record + MCH 213G workflow

Retrieve the vaccine history, then complete the Virginia school certification requirements rather than assuming an unsigned portal printout alone finishes the school form.

Best retrieval order

How to request and download a Virginia vaccine record step by step

Ask which document is required
Confirm whether the receiving office needs a complete vaccine history, school certification, MMR proof, COVID-19 proof, provider-signed record or another specific document.
Open VDH’s current Request Immunization Record page
Use it as the official starting point because VDH can change resident-access portals over time.
Use MyIR for the broader record
Register or sign in with a valid email address and create your account profile.
Prepare information that can match VIIS
Think about legal name, former name, date of birth, current or previous address and phone numbers used by your healthcare providers.
Enter possible registry phone numbers
MyIR allows up to four phone numbers during record matching. Only one has to match the immunization registry.
Complete the two-step verification
If MyIR finds an exact match, it sends a code to the matching registry phone number.
Open the Immunizations section
Confirm the linked record belongs to the correct person and review the available history.
Download the complete printable record
Save the full PDF rather than a screenshot of only one vaccine line.
Compare the record with known vaccinations
Check recent provider, pharmacy, school, military and out-of-state history.
Correct missing doses through the provider
MyIR directs record corrections to the healthcare provider rather than allowing the patient to edit registry history.
Use other jurisdictions when necessary
Search another state’s registry or federal/military health records for vaccinations administered outside Virginia’s ordinary registry network.
Save a secure permanent copy
Keep one readable PDF plus a private backup for later school, employment and healthcare requests.

Main consumer route

How MyIR connects your account to VIIS

1. Register

A valid email address is required to register for MyIR. Your email is also your MyIR username.

2. Exact match

MyIR compares your registration/profile information with the state immunization registry.

3. Verify

When an exact match is found, MyIR sends a verification code to the matching phone number in the registry.

Security design:
your record is not linked merely because a name and date of birth look similar. MyIR intentionally uses an exact-match process before confidential vaccine information is connected with an account.
Exact-match preparation

Try these details before assuming VIIS has no record

Current legal name
Former or maiden surname
Hyphenated or changed surname
Exact date of birth
Current home address
Previous address used with provider
Current mobile number
Previous mobile number
Parent phone used during childhood
Provider’s current demographic record
Pharmacy contact information
Valid email for MyIR account

You can enter up to four phone numbers.
MyIR searches the immunization registry using all four; only one must match. A useful starting point is any phone number currently or previously used by your primary healthcare provider.
Do not repeatedly invent demographic variations.
If you have checked the plausible information and still cannot match, contact the provider or VIIS support so the stored demographics can be reviewed.
Verification-code problems

What to do when MyIR sends the code to an old number

The verification code goes to the phone number that matches the immunization registry. MyIR cannot simply redirect that security code to a different number you prefer.

Old mobile number
Ask your healthcare provider or state-health route to review the phone number stored with the registry record.
Parent’s former number
A childhood immunization record may still be linked to a number used by a parent years ago.
Code never arrives
Confirm the phone can receive a text or automated call from an outside number.
Wrong MyIR profile information
Update your own Profile page and attempt matching again.

Never send your verification code by email or post it online.
Treat it like a temporary account-security credential.
Provider phone-update script
“I am trying to link my immunization history through MyIR. The verification code is going to a phone number I can no longer access. Can you verify the phone number and demographic information associated with my immunization record and tell me how it can be corrected in VIIS?”
Avoid the wrong login

MyIR public access is different from the professional VIIS username/password system

Virginia resident / family

Start with the VDH resident record page and MyIR. This is the public-facing record-retrieval route.

Healthcare provider / authorized organization

Professional VIIS access requires organization registration, individual credentials, security agreements and authorized job-related access.

If a page asks for a professional VIIS Username and Password, stop.
A regular resident does not need to register an organization or obtain a provider VIIS account simply to get a personal vaccine record.
Printable copy

How to download and save your Virginia record from MyIR

Open the linked profile
Confirm the correct person before opening immunization information.
Open Immunizations / available record documents
Review the vaccination history shown after successful linkage.
Download the printable PDF
MyIR provides a printable version of the vaccination record for linked users.
Open the downloaded file
Confirm the PDF actually saved and every page is readable.
Keep a private master copy
Upload or send only the record required by the receiving organization.

Better than screenshots:
retain the full PDF whenever available. Screenshots may cut off vaccine dates, identifying information or additional pages.
After a new vaccination

Your old MyIR PDF does not automatically update

MyIR instructs users who receive a new vaccination to sign in again and use Check for Updates under the Immunizations section.

Sign back into MyIR
Open the already-linked person.
Open Immunizations
Locate the Check for Updates control.
Select Check for Updates
MyIR attempts to pull updated information from the connected state registry.
Review the newly displayed dose
Confirm the administration date and vaccine are correct.
Generate a new PDF
Replace the old personal copy only after the new record has been reviewed.

Parents and guardians

How to add a child to MyIR

MyIR permits an adult account holder to add children younger than 18. Someone who is already 18 or older is treated as an adult and must have a separate account.

Register and sign into the adult account
Start as the parent/guardian rather than creating an adult account in the child’s name.
Select Add a Child
Use MyIR’s family-member workflow.
Enter the child’s information accurately
MyIR attempts to link the child’s registry record using the child’s information and the primary registrant’s phone information.
Review the matched child carefully
Confirm name and date of birth before viewing or downloading the record.
Save the complete child record
Keep it for school, childcare, camp and future healthcare use.

After age 18:
the adult child should create their own MyIR account rather than remaining dependent on the parent’s account.
Separate VDH search

The Virginia COVID/MMR portal is not a complete immunization-record search

Virginia maintains a separate VDH search that retrieves available VIIS records specifically for COVID-19 or Measles, Mumps and Rubella.

Current search information

Select COVID-19 or MMR
First name
Last name
Date of birth
Residential ZIP code
Phone number associated with VIIS record

Important limitation:
the portal explicitly says it cannot currently pull records for other vaccine types.
The portal also warns that vaccinations administered outside Virginia are unlikely to appear and vaccinations administered before 2017 are less likely to be in VIIS.
No match / incomplete record

Why MyIR may not find your Virginia vaccine record

Old phone number
VIIS may contain a number previously used by your healthcare provider.
Former name
A maiden name, previous surname or spelling difference may prevent an exact match.
Old address
The immunization registry may reflect an earlier address.
Parent contact information
Childhood records may be connected with a parent’s historical phone number.
Vaccination occurred outside Virginia
Another state’s IIS or original provider may hold it.
Very old vaccine
Historical information may exist only in provider, school, paper or archived files.
Source reporting problem
The administering provider may have the dose even if the registry does not.
Military / VA vaccination
A federal healthcare system may hold records separately.

Use this escalation order

Check plausible profile information once
Correct known name, address or phone discrepancies in your MyIR profile.
Try up to four real phone numbers
Use numbers genuinely associated with your provider history; do not invent numbers.
Ask the provider to review its demographic record
Confirm what was submitted with the vaccination.
Ask whether the dose exists in VIIS
A provider or VIIS support route can help distinguish a portal-match problem from a missing registry entry.
Search other record holders
Use pharmacies, old schools, previous states and federal/military sources when applicable.

No online match does not prove that no vaccination occurred.
Treat it as a record-location or identity-matching issue until the likely sources have been checked.
Missing / incorrect vaccination

Fix the underlying VIIS record—not the downloaded PDF

MyIR instructs users with missing or incorrect vaccinations to work with their healthcare provider. Patients cannot independently rewrite the official registry history.

Information to collect before asking for a correction
Detail Possible source Why it helps
Vaccine name Provider portal, pharmacy history or vaccine card. Identifies the exact event that is missing.
Administration date Medical or pharmacy record. Helps the provider locate the source encounter.
Administering location Clinic, pharmacy, hospital or military documentation. Identifies the organization responsible for verifying the source record.
Lot / manufacturer Clinical administration record when available. Provides additional supporting vaccine detail.
Identity at the visit Patient profile or appointment record. Can reveal an old name, address or duplicate-profile problem.
Provider correction script
“My Virginia immunization record is missing the [vaccine] administered at your location around [date]. Please verify the original administration record, check the demographic information associated with that encounter and confirm whether the dose is correctly reflected in VIIS.”
Reporting context:
VDH says Virginia’s vaccine-reporting/VIIS participation mandate for healthcare providers who administer vaccines took effect January 1, 2022.
Virginia 2026–27 school use

How your vaccine record works with MCH 213G

Virginia’s Commonwealth School Entrance Health Form is MCH 213G. Part II is the Certification of Immunization.

You do not always have to rewrite every vaccine date onto Part II.
The current form allows a copy of an immunization record to be attached when it is signed or stamped by an authorized physician/designee, registered nurse or health-department official and shows complete month/day/year dates for the required vaccinations.
An unsigned MyIR printout is not automatically the completed school certification.
The current MCH 213G states that the Certification of Immunization must be signed and dated by the appropriate medical provider or health-department official.

What to prepare

Child’s immunization history
Month/day/year vaccine dates
MCH 213G Part II
Provider or health-department certification
School deadline
Foreign records when applicable
Conditional-enrollment documentation when applicable
Separate exemption documentation when applicable

Conditional enrollment

The current form states that a qualifying child may be certified for conditional enrollment after receiving at least one dose of each required vaccine and having a plan to complete the requirements within the next 90 calendar days, or 180 days for Hepatitis B.

Medical and religious exemptions

Medical exemption

MCH 213G contains a separate medical-exemption section that must be completed by an appropriately qualified licensed medical professional.

Religious exemption

Virginia uses a separate Certificate of Religious Exemption, Form CRE-1, rather than treating the vaccination record itself as an exemption document.

2026–27 status:
VDH currently publishes separate parent letters for rising kindergarteners, 7th graders and 12th graders. VDH also stated in August 2026 that Virginia’s school immunization requirements remain unchanged.
School nurse script
“I have my child’s Virginia immunization record. Please tell me whether you need an authorized signed/stamped record attached to MCH 213G, which vaccine date is missing if the record is incomplete, and the deadline for correcting the documentation.”
School and VIIS access

Some Virginia schools can look up and print student VIIS records

VDH says schools with an appropriately licensed healthcare professional can obtain VIIS access.

Registered Nurse

VDH says an RN can sign an immunization record under the applicable Virginia school rule.

Licensed Practical Nurse

VDH’s school guidance says an LPN cannot sign the immunization record and instead returns it for the required authorized signature/stamp.

FERPA note:
VDH says immunization records held by FERPA-covered schools are part of the student’s education record. Parental permission is required before those schools update student immunization information in VIIS.
College, training and employment

Ask which record format is accepted before sending your entire history

College / university

Start with the MyIR/VIIS record, then follow the institution’s student-health upload requirements.

Healthcare training

Clinical programs may require exact vaccine dates, provider certification or separate laboratory evidence.

Employment

Ask occupational health which vaccinations and proof format it needs before sharing unrelated health information.

Recipient script
“I have a Virginia immunization record available through MyIR/VIIS. Which vaccines and document format do you require, and will the registry printout satisfy your documentation requirement?”
Adult record recovery

VIIS can contain historical information, but it may not be a complete lifetime archive

VDH says VIIS contains historical immunization information and can be updated with historical data. That does not guarantee every childhood or out-of-state vaccination is already present.

MyIR / VIIS record
Current primary-care provider
Previous providers
Pharmacy vaccination history
Former school records
College/student-health record
Employer occupational-health file
Military / Veterans Affairs health record

Never invent missing childhood dates.
Recover reliable documentation and work with a healthcare professional when the historical record remains uncertain.
Pharmacy-administered vaccines

How to fix a pharmacy vaccination missing from MyIR

Check the pharmacy’s own patient record
Look for immunization or vaccination history, not only a purchase receipt.
Contact the exact pharmacy location if needed
Request the clinical vaccine-administration record.
Verify the demographic information used
Confirm name, date of birth, address and phone number.
Ask whether the vaccination was transmitted to VIIS
The pharmacy should review the source/reporting problem when the administration record exists but the state record does not.
Run MyIR Check for Updates afterward
Generate a fresh record after the source data has been corrected.

Older / lost records

Where to look when Virginia’s registry does not contain an old dose

Backup Virginia vaccine-record sources
Source What to check What to request
Previous healthcare provider Patient portal, records department, successor practice. Complete immunization history.
Closed practice Old phone recording, hospital affiliation, record custodian. Archived immunization records or custodian contact.
Pharmacy Chain account and exact store location. Complete vaccine-administration history.
Former school School nurse, registrar or district records office. Previously submitted immunization documentation.
College Student-health or medical-clearance office. Previously accepted vaccination record.
Employer Occupational-health record. Copy of verified vaccine documentation.
Military / VA Federal or service healthcare system. Complete service-related immunization history.
Virginia vs Veterans Affairs

“VA vaccine record” can mean two completely different systems

Virginia state vaccination history

Use Virginia Department of Health, VIIS and MyIR.

U.S. Department of Veterans Affairs / military vaccinations

Check Veterans Affairs, TRICARE, military clinic or service-treatment records when the vaccination was administered through a federal system.

Check both when your history crosses systems.
A federal military or VA vaccination should not be assumed to appear automatically in the Virginia state record.
Moved states

How to handle vaccinations administered outside Virginia

You moved into Virginia

Obtain the official record from the previous provider or state registry. MyIR says a healthcare provider or health-department official should verify historical vaccinations before they are added to a state registry.

You moved out of Virginia

MyIR says linked records remain accessible. Print the Virginia record and provide it to the new healthcare provider so the new jurisdiction can document verified history when appropriate.

The specific VDH COVID/MMR search warns about this directly:
vaccines administered outside Virginia are unlikely to be available through that portal.
Privacy and opt-out

How Virginia protects VIIS information

VDH describes VIIS as a confidential immunization system with authorized access, audit trails, encrypted data transfer and user confidentiality/security requirements.

Authorized access only

Professional access is tied to job responsibilities and users are required to protect confidentiality.

Audit and encryption

VDH says VIIS maintains access auditing and encrypts data during transfer.

VIIS opt-out

VDH’s current VIIS Security page continues to provide an official VIIS Opt Out Form and says providers/users must act on an individual’s request to opt out.
Understand the consequences before opting out.
Opting out affects how your immunization information is retained/shared through VIIS and can affect future registry retrieval. Read the current VDH instructions and form before submitting the request.
Official contact routes

Who should you contact for each Virginia vaccine-record problem?

Virginia record-help decision table
Problem Best route Prepare first
MyIR / VIIS record or matching problem VIIS Help Desk: 804-773-7250. Explain whether it is a no-match, phone-verification or missing-record issue.
VIIS email help VAIIS.HELPDESK@stchome.com. Describe the problem without sending unnecessary private health data.
General Virginia vaccination help 877-VAX-IN-VA / 877-829-4682. County, provider and type of assistance needed.
School requirement question School nurse / local health department / Division of Immunization. MCH 213G, current record and exact school question.
Missing provider dose Provider or pharmacy that administered it. Vaccine name, approximate date and location.
Foreign vaccine record Local Virginia health department. Original record plus any available translation.
Vaccination administered in another state Previous provider / other state’s IIS. State, provider and approximate dates.
VIIS Help Desk hours:
the current professional VIIS page lists Help Desk staffing from 8:30 a.m. to 5:00 p.m., Monday through Friday.
VDH general call center:
VDH lists the 877-VAX-IN-VA line as available Monday through Friday from 8 a.m. to 5 p.m., with assistance in English, Spanish and more than 100 additional languages.
Before calling

Prepare this Virginia record-recovery worksheet

Current legal name
Former / maiden name
Date of birth
Current address
Previous address
Current phone number
Previous phone numbers
Parent’s former phone when relevant
Current email address
Healthcare-provider names
Pharmacy locations
Approximate vaccine dates
Previous schools / colleges
Other states where vaccines were given
Military / VA source when relevant
Deadline and required document format

Universal record-location script
“I need a complete Virginia immunization record for [purpose]. MyIR is [not finding a match / sending the verification code to an old number / missing a vaccination]. Vaccines may have been administered by [provider/pharmacy] around [date/year]. Can you verify the demographic information and record source and tell me the correct next step?”
Final privacy and quality check

Before sending your Virginia vaccine record

Record belongs to the correct person
Name is correct
Date of birth is correct
Current doses were refreshed with Check for Updates
Known pharmacy vaccines were compared
Missing doses were investigated at source
Out-of-state history was checked
Military / VA history was checked when relevant
All PDF pages are present
School certification is signed when required
Recipient accepts the document format
Verification codes remain private

Plain-English terminology

Virginia vaccine-record glossary

VIIS
Virginia Immunization Information System, Virginia’s statewide immunization registry.

MyIR
The consumer-facing immunization-record service currently linked by VDH for broader Virginia resident record access.

Exact Match
MyIR’s process of comparing registration/profile information with the state registry before linking confidential vaccination records.

Verification Code
A temporary code sent to the phone number that matches the state immunization record.

Check for Updates
The MyIR action used after a new vaccination to request updated immunization information from the connected registry.

COVID/MMR Portal
Virginia’s separate VDH search for available COVID-19 or Measles, Mumps and Rubella records only.

MCH 213G
Commonwealth of Virginia School Entrance Health Form containing Part II, Certification of Immunization.

Conditional Enrollment
A school-certification route for qualifying children who have started the required vaccine series and have an approved documented completion plan.

CRE-1
Virginia’s separate Certificate of Religious Exemption referenced by the school entrance form.

VIIS Opt Out
Virginia’s official process for requesting removal/limitation of participation in the immunization registry under VDH procedures.

Frequently asked questions

Virginia vaccine record FAQs

How do I get my Virginia vaccine record online?

Start with the Virginia Department of Health Request Immunization Record page. For the broader available immunization history, use MyIR, register or sign in, match your account with VIIS, complete phone verification and download the printable record.

What is VIIS?

VIIS is the Virginia Immunization Information System. VDH describes it as Virginia’s statewide immunization registry combining immunization histories for people of all ages from public and private healthcare sources.

Is MyIR the same thing as VIIS?

No. VIIS is the state immunization registry. MyIR is the public-facing service currently linked by VDH that allows eligible users to connect with and view available registry records.

How many phone numbers can I try in MyIR?

MyIR currently allows up to four phone numbers that may be associated with your immunization record. The matching process checks all four, but only one must match the state registry.

What if the MyIR verification code goes to an old phone number?

MyIR sends the code to the number that matches the immunization registry and cannot simply redirect that code to a different phone. Ask your healthcare provider or appropriate state-health support route to review the phone number stored with the registry record.

Can I access my child’s Virginia vaccine record?

Yes. MyIR allows an adult account holder to use Add a Child for children under age 18. Someone age 18 or older needs a separate adult MyIR account.

Why is a vaccination missing from MyIR?

A missing vaccine can result from provider reporting, old demographic information, an out-of-state vaccination or an older record that is not yet in VIIS. MyIR says corrections to immunization history must be handled through the healthcare provider.

How do I make a newly received vaccine appear in MyIR?

Sign into MyIR, open the Immunizations section and use Check for Updates. MyIR says this should be done after receiving a new vaccine because an older record does not automatically refresh itself.

Can a MyIR printout be used for Virginia school enrollment?

It can provide useful immunization-history evidence, but Virginia’s MCH 213G certification requirements still apply. The current form permits an attached immunization record when it has the required dates and authorized signature/stamp, and the Certification of Immunization must be signed and dated as required.

Who should I contact if I still cannot get my Virginia immunization record?

For missing doses, start with the provider or pharmacy that administered the vaccine. For VIIS record or matching help, VDH currently lists the VIIS Help Desk at 804-773-7250 and VAIIS.HELPDESK@stchome.com. A local Virginia health district can also help when appropriate.