Virginia Department Of Health Vaccination Records 2026 Guide

💉 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

#vadh26 p{margin:0 0 11px}

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

#vadh26 li{margin:6px 0}

#vadh26 strong{font-weight:850}

#vadh26 address{font-style:normal}

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

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

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

#vadh26 .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 10% 10%,rgba(237,177,68,.28),transparent 28%), radial-gradient(circle at 89% 17%,rgba(79,205,192,.22),transparent 29%), linear-gradient(133deg,#071a2b,#113f5c 52%,#075f62); box-shadow:0 20px 43px rgba(18,53,77,.2); }

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

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

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

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

#vadh26 .va-hero-actions, #vadh26 .va-actions{ display:flex; flex-wrap:wrap; gap:9px; margin-top:16px; }

#vadh26 .va-hero-btn, #vadh26 .va-action{ display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:10px 14px; border-radius:12px; font-weight:900!important; line-height:1.35; text-align:center; text-decoration:none!important; }

#vadh26 .va-hero-btn{ background:var(--gold); color:#2b1c03!important; }

#vadh26 .va-hero-btn.alt{ border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.1); color:#fff!important; }

/* --------------------------------------------------------- HERO ANIMATION — VDH → MYIR → RECORD --------------------------------------------------------- */

#vadh26 .va-scene{ position:absolute; right:17px; bottom:15px; z-index:2; width:min(345px,31vw); height:308px; pointer-events:none; }

#vadh26 .va-terminal{ position:absolute; inset:7px 7px 42px; overflow:hidden; border:2px solid rgba(255,255,255,.25); border-radius:21px; background:rgba(3,20,33,.81); box-shadow:0 18px 35px rgba(0,0,0,.25); transform:perspective(800px) rotateY(-7deg); }

#vadh26 .va-terminal-head{ display:flex; justify-content:space-between; align-items:center; gap:8px; padding:10px 12px; border-bottom:1px solid rgba(255,255,255,.14); color:#cef6f4; font-size:9px; font-weight:900; letter-spacing:.08em; }

#vadh26 .va-live{ display:inline-flex; align-items:center; gap:5px; color:#76efad; }

#vadh26 .va-live::before{ content:""; width:7px; height:7px; border-radius:50%; background:#63e49e; box-shadow:0 0 9px #63e49e; animation:vaPulse 1.6s ease-in-out infinite; }

#vadh26 .va-route{ position:absolute; left:17px; right:17px; display:grid; grid-template-columns:44px minmax(0,1fr) 27px; align-items:center; gap:9px; min-height:59px; padding:8px 9px; border:1px solid rgba(255,255,255,.13); border-radius:13px; background:rgba(255,255,255,.07); }

#vadh26 .va-route.one{ top:57px; animation:vaRouteOne 5.8s ease-in-out infinite; }

#vadh26 .va-route.two{ top:131px; animation:vaRouteTwo 5.8s ease-in-out infinite; }

#vadh26 .va-icon{ display:grid; place-items:center; width:42px; height:42px; border-radius:11px; background:var(--gold); color:#332101; font-size:9px; font-weight:950; }

#vadh26 .va-route.two .va-icon{ background:#55ceca; color:#062c2d; }

#vadh26 .va-route strong{ display:block; color:#fff; font-size:12px; line-height:1.2; }

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

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

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

#vadh26 .va-ready{ position:absolute; right:14px; bottom:11px; padding:6px 9px; border-radius:999px; background:#65e4a0; color:#06291a; font-size:9px; font-weight:950; opacity:0; animation:vaReady 5.8s ease-in-out infinite; }

#vadh26 .va-doc{ position:absolute; left:19px; bottom:0; display:grid; place-items:center; width:78px; height:64px; padding:5px; border-radius:9px; background:#fff; color:var(--navy); font-size:8px; font-weight:950; text-align:center; box-shadow:0 10px 20px rgba(0,0,0,.18); animation:vaDoc 4.8s ease-in-out infinite; }

@keyframes vaPulse{ 0%,100%{opacity:.4} 50%{opacity:1} }

@keyframes vaScan{ 0%,10%{transform:translateY(0);opacity:0} 18%{opacity:1} 72%{transform:translateY(153px);opacity:1} 90%,100%{transform:translateY(153px);opacity:0} }

@keyframes vaRouteOne{ 0%,100%{border-color:rgba(255,255,255,.13)} 38%{border-color:rgba(237,177,68,.8)} }

@keyframes vaRouteTwo{ 0%,100%{border-color:rgba(255,255,255,.13)} 68%{border-color:rgba(85,206,202,.8)} }

@keyframes vaReady{ 0%,69%{opacity:0;transform:translateY(5px)} 79%,93%{opacity:1;transform:translateY(0)} 100%{opacity:0} }

@keyframes vaDoc{ 0%,100%{transform:translateY(5px) rotate(-1deg)} 50%{transform:translateY(0) rotate(1deg)} }

/* ========================================================= SHARED MODULES ========================================================= */

#vadh26 .va-section{ margin:18px 0; padding:23px; border:1px solid var(--line); border-radius:21px; background:#fff; box-shadow:0 8px 23px rgba(18,53,77,.05); }

#vadh26 .va-section h2{ margin:0 0 10px; color:var(--navy2); font-size:clamp(24px,3.2vw,35px); line-height:1.17; letter-spacing:-.025em; }

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

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

#vadh26 .va-alert, #vadh26 .va-info, #vadh26 .va-good, #vadh26 .va-warning, #vadh26 .va-purple{ margin:14px 0; padding:15px 16px; border-radius:15px; }

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

#vadh26 .va-info{ border-left:5px solid var(--blue); background:var(--blue-soft); }

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

#vadh26 .va-warning{ border-left:5px solid var(--gold); background:var(--gold-soft); }

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

/* Quick answer */

#vadh26 .va-quick{ margin:16px 0; padding:18px; border:1px solid #bdd9e5; border-radius:18px; background:linear-gradient(135deg,var(--blue-soft),#fff); }

#vadh26 .va-quick strong{ display:block; margin-bottom:6px; color:var(--navy2); font-size:19px; }

/* Facts */

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

#vadh26 .va-card, #vadh26 .va-mini, #vadh26 .va-route-card, #vadh26 .va-resource, #vadh26 .va-term{ border:1px solid var(--line); border-radius:17px; background:#fff; }

#vadh26 .va-card{ padding:15px; }

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

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

/* Task nav */

#vadh26 .va-menu{ color:#fff; border-color:#174b62; background:linear-gradient(135deg,#092239,#175467); }

#vadh26 .va-menu h2{color:#fff}

#vadh26 .va-menu p{ color:rgba(255,255,255,.84); }

#vadh26 .va-nav{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:13px; }

#vadh26 .va-nav a{ display:flex; align-items:center; min-height:47px; 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; }

/* Grids */

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

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

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

#vadh26 .va-mini, #vadh26 .va-resource, #vadh26 .va-term{ padding:17px; }

#vadh26 .va-mini strong, #vadh26 .va-resource strong{ display:block; margin-bottom:5px; color:var(--navy2); font-size:18px; }

/* Route cards */

#vadh26 .va-route-card{ position:relative; padding:20px; overflow:hidden; }

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

#vadh26 .va-route-card.primary::before{ background:linear-gradient(90deg,#d98f15,var(--gold)); }

#vadh26 .va-route-card.special::before{ background:linear-gradient(90deg,var(--purple),#9c8ada); }

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

#vadh26 .va-route-card.primary .va-tag{ background:var(--gold-soft); color:#885900; }

#vadh26 .va-route-card.special .va-tag{ background:var(--purple-soft); color:var(--purple); }

#vadh26 .va-route-card > strong{ display:block; margin-bottom:5px; color:var(--navy2); font-size:20px; }

/* Steps */

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

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

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

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

/* Check cards */

#vadh26 .va-check{ position:relative; min-height:46px; padding:11px 12px 11px 42px; border:1px solid var(--line); border-radius:13px; background:#fff; }

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

/* Problem cards */

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

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

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

/* Buttons */

#vadh26 .va-action{ background:var(--navy2); color:#fff!important; }

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

/* Phone scripts */

#vadh26 .va-script{ position:relative; margin:14px 0; padding:17px 17px 17px 55px; border:1px dashed #8fb8ca; border-radius:16px; background:linear-gradient(135deg,var(--blue-soft),#fff); }

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

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

/* Tables */

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

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

#vadh26 .va-table caption{ padding:12px 13px; background:#f3f7f9; color:var(--navy2); font-weight:900; text-align:left; }

#vadh26 .va-table th{ padding:11px 12px; background:var(--navy2); color:#fff; text-align:left; font-size:14px; }

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

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

/* Official resources */

#vadh26 .va-resource p{ color:var(--muted); }

#vadh26 .va-resource a{ display:inline-block; margin-top:3px; }

/* Glossary */

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

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

/* FAQ */

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

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

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

/* Final disclaimer */

#vadh26 .va-final{ margin:20px 0 0; padding:19px; border:2px solid #bc4a45; border-left-width:6px; border-radius:18px; background:var(--red-soft); }

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

#vadh26 .va-small{ color:var(--muted); font-size:13px; }

/* ========================================================= RESPONSIVE ========================================================= */

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

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

#vadh26 .va-scene{ right:1px; width:300px; opacity:.57; } }

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

#vadh26 .va-hero{ min-height:auto; padding:25px 15px 205px; border-radius:19px; }

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

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

#vadh26 .va-scene{ right:50%; bottom:3px; width:284px; height:188px; opacity:.81; transform:translateX(50%); }

#vadh26 .va-terminal{ inset:3px 5px 23px; }

#vadh26 .va-route{ left:13px; right:13px; min-height:48px; grid-template-columns:38px minmax(0,1fr) 24px; }

#vadh26 .va-route.one{top:48px} #vadh26 .va-route.two{top:108px}

#vadh26 .va-icon{ width:36px; height:36px; }

#vadh26 .va-ready, #vadh26 .va-doc{ display:none; }

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

#vadh26 .va-hero-btn, #vadh26 .va-action{ width:100%; white-space:normal; }

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

#vadh26 .va-section{ padding:18px 14px; border-radius:17px; }

#vadh26 .va-step{ padding:14px 12px 14px 57px; } }

/* Tables become card rows on phones */

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

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

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

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

#vadh26 .va-table caption{ display:block; margin-bottom:8px; border:1px solid var(--line); border-radius:13px; }

#vadh26 .va-table tr{ margin-bottom:10px; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#fff; }

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

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

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

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

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

#vadh26 .va-scene{ width:267px; }

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

@media(prefers-reduced-motion:reduce){ #vadh26 .va-live::before, #vadh26 .va-scan, #vadh26 .va-route, #vadh26 .va-ready, #vadh26 .va-doc{ animation:none!important; }

#vadh26 .va-scan{ top:118px; opacity:.4; } }

Virginia Department of Health · VIIS · MyIR · 2026

Find and Download the Right Virginia Vaccination Record

Virginia residents can securely access available immunization records through electronic portals linked by the Virginia Department of Health. For a broad vaccination history, MyIR is the main consumer route. Virginia also has a separate record search specifically for COVID-19 and MMR.

Use this guide to match your VIIS record, add a child, print official proof, refresh a newly administered vaccine, fix missing doses, prepare school paperwork and recover pharmacy, military, Veterans Affairs or out-of-state records.

Quick answer

Start with the official Virginia Department of Health Request Immunization Record page. Choose MyIR for broader official vaccination-record access. Use Virginia’s separate COVID and MMR Immunization Portal only when you specifically need a COVID-19 or Measles, Mumps and Rubella record.

State agency

Virginia Department of Health.

Registry

VIIS.

Main consumer route

MyIR.

Specific portal

COVID-19 / MMR.

VIIS Help Desk

804-773-7250.

Virginia registry

What is VIIS?

VIIS is the Virginia Immunization Information System. VDH describes it as a free statewide registry that combines immunization histories for people of all ages from public and private healthcare sources.

Modernized platform

Virginia launched its new VIIS platform on June 24, 2025.

Provider mandate

Virginia’s healthcare-provider participation requirement took effect January 1, 2022.

Historical data

VIIS can contain historical vaccination information, but an online result should not automatically be treated as a complete lifetime archive.

A statewide registry can still have gaps.
Older paper-only vaccinations, out-of-state doses, federal or military records, demographic mismatches, duplicate profiles or a provider reporting problem can leave expected vaccinations out of the first online result.

First decision

MyIR vs COVID/MMR portal vs direct VIIS login

Most residents
MyIR

Start here when you need broader official immunization-record access.

  • View linked family records.
  • Print official immunization records.
  • Add an eligible child.
  • Refresh records after a new vaccination.
  • Keep access after moving.
Limited-purpose portal
COVID and MMR Portal

Use this VDH portal only when you need:

  • COVID-19 vaccination records.
  • Measles, Mumps and Rubella records.

It does not currently provide other vaccine types.

Professional users
Direct VIIS Login

This is intended for authorized healthcare providers, pharmacies, schools and other enrolled organizations.

A resident seeking a personal record should not create an organization account simply to retrieve their history.

Choose the record problem you need to solve

Jump directly to the Virginia workflow that matches your situation.

Main online workflow

How to get Virginia Department of Health vaccination records through MyIR

Open VDH’s Request Immunization Record page
Use the current VDH page as your starting point instead of an old saved portal URL.
Choose the MyIR Portal
Use MyIR when you need broader access to an official Virginia vaccination history.
Register or sign in
If this is your first visit, create your personal MyIR account. Returning users can sign in with their existing account.
Enter information that matches VIIS
MyIR uses your registration information to look for an exact registry match.
Add the phone numbers that may be connected with the record
MyIR allows up to four phone numbers for record matching. Only one needs to match the number held in the immunization registry.
Complete two-step verification
When MyIR finds an exact record match, it sends a verification code to the matching phone number.
Choose text or automated call when available
MyIR allows the verification method associated with a phone number to be configured for text message or automated telephone call.
Link the vaccination record
Enter the verification code. Once linked, the record becomes available through the Immunizations section of the account.
Review the history before printing it
Compare the online result with known provider, pharmacy, school, military and previous-state records.
Print or securely save the official record
Keep the complete record rather than a cropped screenshot. Store a secure backup for future school, college, employment or healthcare use.

Exact-match help

Prepare the information most likely to match your VIIS record

Current legal name
Former or maiden surname
Hyphenated-name variation
Date of birth
Current phone number
Previous phone numbers
Current address
Previous address
Current ZIP code
Previous ZIP code
Provider name
Pharmacy name

Useful MyIR feature:
You can enter as many as four possible phone numbers during matching. MyIR searches all four, but only one has to match the registry.
The verification code cannot simply be redirected to a new number.
MyIR sends the code to the phone number that matches the immunization registry. If you no longer have access to that number, the underlying registry/provider information may need attention.
Provider demographic-check script
“My MyIR account cannot match my Virginia vaccination record. Please verify the exact legal name, former name, date of birth, phone number, address and ZIP code in my patient profile and confirm whether those demographics and my vaccinations were reported to VIIS.”

MyIR verification troubleshooting

What to do when the MyIR verification code does not arrive

Open your MyIR Profile page
Recheck the phone numbers you entered.
Add other phone numbers that may have been used
MyIR allows up to four possible numbers to be searched against the registry.
Check whether your phone can receive outside calls or texts
Phone filtering and blocking can interfere with the verification message.
Try the provider’s historical contact information
The registry number may be the phone number your primary healthcare provider had on file when the vaccination was reported.
Ask the provider to correct registry demographics if necessary
Updating only your MyIR account does not necessarily change the phone number stored in VIIS.
Use the VIIS Help Desk when normal matching still fails
Have the exact problem ready, but do not send unnecessary sensitive documents by ordinary email.

Often-missed MyIR step

New vaccine not showing? Use “Check for Updates”

A MyIR record that was already linked does not necessarily refresh itself immediately every time you sign in.

MyIR instruction:
If you received a vaccine after your previous MyIR visit, sign in, open the Immunizations area and use Check for Updates to pull current information from the connected registry.
Sign into your existing MyIR account
Do not create a second account just because the new dose is absent.
Open Immunizations
Review the currently linked history.
Select “Check for Updates”
MyIR will query the primary connected registry for updated vaccination information.
If the dose still does not appear, contact the administering source
Ask the provider or pharmacy to verify both the administration record and its VIIS reporting.

Do not assume a missing online update means the vaccination was never administered.
Keep the original provider or pharmacy administration record while resolving the registry issue.

Separate VDH portal

Use the COVID/MMR portal only for COVID-19 or MMR records

Virginia operates a separate VIIS search specifically for COVID-19 and Measles, Mumps and Rubella records.

COVID/MMR portal search rules
Portal field or rule What it means
Vaccine type Choose COVID-19 or Measles, Mumps and Rubella. Other vaccine types are not currently available through this particular portal.
First and last name Use the identity information associated with the vaccination record.
Date of birth The portal requires the patient’s date of birth.
ZIP code The search requests the ZIP code where the person lives.
Phone number in VIIS A phone number associated with the vaccine record needs to be present in VIIS for this search route.
Out-of-state vaccinations The portal warns that vaccines administered outside Virginia are unlikely to appear through this route.
Pre-2017 vaccinations The portal says doses administered before 2017 are less likely to appear through this specific search.
Do not generalize the portal’s 2017 warning to all of VIIS.
VIIS can contain historical vaccination information. The “before 2017” limitation is specifically stated on the COVID/MMR public search portal.

Parents and dependents

How to add a child in MyIR

Create and sign into your own MyIR account first
The primary registrant needs an account before adding a child.
Select “Add a Child”
MyIR places this option in the account menu.
Add only children younger than 18
MyIR states that children over age 18 are adults and must create their own account.
Use accurate child information
The child’s record also needs to match information in the immunization registry.
Check parent/guardian phone information
MyIR may attempt to link the child’s record using the primary registrant’s phone number together with the child’s identifying information.
Save the child’s full record after linking
Keep it before moving, changing pediatricians or changing schools.

Pediatrician script
“I cannot link my child’s Virginia immunization record in MyIR. Please verify the child’s name and date of birth, my parent/guardian contact information and whether every vaccination your practice administered was correctly reported to VIIS.”

No match or incomplete history

Why a Virginia vaccination record may be missing

Former surname
An older record may use a maiden name, prior legal surname or different hyphenation.
Old phone number
The registry may contain a number you no longer use.
Old address or ZIP code
Provider demographics may not have been updated after a move.
Duplicate patient profile
Separate records may exist under different names, addresses or provider demographics.
Provider reporting problem
The original provider may still have a valid clinical administration record.
Older paper record
A vaccination can predate the electronic data available through the consumer portal.
Out-of-state vaccination
Another state’s provider or IIS may hold the dose.
Military or federal vaccine
Military and Veterans Affairs records may be stored in federal systems.
Pharmacy profile mismatch
The pharmacy may have recorded an old surname, phone number or address.
VIIS opt-out history
Virginia has a formal VIIS opt-out process that can affect what remains available through normal registry access.

No match does not prove no vaccination occurred.
Search the source that actually administered or previously documented the vaccine before drawing conclusions about vaccination status.

Use this recovery order

Retry MyIR with accurate matching information
Include historical phone numbers and former names where relevant.
Use “Check for Updates” if the account is already linked
This is especially important for a recently administered vaccine.
Contact the administering provider or pharmacy
Request the original vaccine administration record.
Ask the provider to review VIIS
Request a check for demographic mistakes, missing submissions or duplicate profiles.
Search former schools, colleges and employers
They may hold a copy of older provider-generated proof.
Search every other state separately
Use the provider or registry in the jurisdiction where the vaccine was administered.
Use the VIIS Help Desk if the registry problem remains unresolved
Prepare the exact issue and relevant record history before calling.

Missing dose, wrong date or wrong name

How to correct a Virginia immunization record

MyIR states that record corrections should be made through the healthcare provider. The provider or pharmacy that administered the vaccination is generally the strongest source because it can verify the original clinical event.

Correction route by problem
Problem Useful evidence Best first contact
Missing dose Administration record, provider chart or pharmacy record. Administering provider or pharmacy.
Wrong dose date Original administration documentation. Administering provider.
Wrong legal name Correct provider demographics and identity documentation if requested. Provider holding the incorrect patient profile.
Wrong phone/address Current and historical contact information. Healthcare provider first.
Possible duplicate record Former names, prior addresses, phone numbers and provider history. Provider and VIIS support.
Out-of-state vaccination absent Official other-state registry or provider record. Current Virginia provider for review.
Correction script
“My Virginia immunization history is missing or incorrectly lists the [vaccine] administered by your office around [date]. Please locate the original administration record, verify my demographics and determine whether the VIIS information needs to be corrected.”

Virginia school documentation

How your vaccination record works with School Entrance Form MCH 213G

Virginia’s School Entrance Health Form contains Part II — Certification of Immunization. A MyIR printout can be useful evidence, but families should not assume that downloading a portal record automatically completes every school-entry requirement.

Attached-record option:
The current MCH 213G says a copy of the immunization record signed or stamped by a physician or designee, registered nurse or health-department official can be attached instead of rewriting all vaccine dates on Part II.
Part II certification still matters.
The MCH 213G requires Certification of Immunization to be signed and dated by an appropriate medical provider or health-department official.
Virginia school-record workflow
Situation What to do
You have a MyIR/VIIS record Give it to the provider or school nurse and ask whether it satisfies the local documentation workflow or needs to accompany MCH 213G Part II.
You have a signed/stamped provider immunization record It may be attached instead of copying every vaccination date onto MCH 213G when the remaining certification requirements are completed.
Record is from another country MCH 213G specifically directs families to contact a local health department for help with foreign vaccination records.
Vaccinations are incomplete Ask whether the student qualifies for conditional enrollment rather than assuming attendance is automatically denied.
School nurse nuance:
Current VDH school-health guidance says a school registered nurse meets the applicable definition of medical provider and may sign Certification of Immunization for students enrolled in that school.

2026–27 school year

Use the current Virginia requirements, not an old school checklist

VDH’s current School Requirements page includes 2026–27 letters for rising kindergarten, 7th-grade and 12th-grade students.

Kindergarten

Families should confirm that both the vaccination documentation and any required school-entry health examination paperwork are current.

7th grade

Use the live VDH school requirements rather than relying on an older immunization printout alone.

12th grade

Current VDH reporting guidance reflects two MenACWY doses for adequately immunized 12th-grade students beginning with the 2026–27 school year.

This article is a record-retrieval guide, not a vaccine schedule.
Confirm the exact grade-specific requirements on VDH’s current page and with the student’s healthcare provider or school.

Incomplete school series

Virginia conditional enrollment: 90 days or 180 days for certain hepatitis B situations

Virginia allows qualifying students with incomplete immunizations to be conditionally enrolled when documentary proof shows that the student has received at least one dose of the required immunizations and has a written plan for completing the remaining doses.

Standard period

The remaining required vaccinations generally must be completed within 90 calendar days.

Hepatitis B exception

When more than two hepatitis B doses remain necessary, Virginia guidance allows a 180-calendar-day conditional-enrollment period.

Special student situations

Military-connected child
Virginia guidance describes immediate enrollment with 30 days to obtain required vaccination documentation.
Student experiencing homelessness
McKinney-Vento protections affect how missing immunization documentation is handled at enrollment.
Foster-care placement
Virginia guidance describes a 30-day process when proof is not immediately available.
Foreign records
Contact the local health department for help interpreting foreign vaccination documentation.

School script
“Please tell me exactly which vaccination documentation is missing, whether the student qualifies for conditional enrollment, and whether you need MCH 213G Part II, an attached signed immunization record or another document.”

Separate process

Missing documentation is not the same as a Virginia exemption

Missing record

You believe vaccinations were already administered but cannot currently locate the documentation.

Continue with MyIR, providers, pharmacies, old schools and previous registries.

Medical or religious exemption

Virginia has separate exemption procedures under its school rules.

The religious route uses Virginia’s Certificate of Religious Exemption, CRE-1.

Out-of-state religious forms:
Current VDH school-health guidance says a religious exemption from another state is not recognized as Virginia’s required religious-exemption form.
Do not use an exemption only because a vaccination record is temporarily missing.
First try to locate documentation of vaccinations already received.

Adults

Virginia vaccination records are not limited to children

VIIS contains immunization information for people of all ages. Adults can use MyIR to retrieve available linked records.

Recent vaccines

Use MyIR’s Check for Updates feature and compare the result with the administering provider or pharmacy.

Older history

Childhood vaccinations may require old provider, school, college or personal paper records.

Age 18+

MyIR treats people over age 18 as adults who need their own account rather than being added as a child to a parent’s account.

An incomplete electronic result is not automatically a complete lifetime record.
Check older sources when a known vaccination is absent.

Pharmacy vaccination recovery

Find CVS, Walgreens, Walmart and other pharmacy records

Open the account used to book the vaccination
It may be under a family account, former surname or old email.
Check old phone numbers
Pharmacy records and VIIS may share historical demographics.
Look for Immunizations or Health History
An appointment confirmation is not the same as the clinical administration record.
Contact the exact store when necessary
Ask for the vaccine name, administration date and available vaccination history.
Ask whether the vaccination was reported to VIIS
This helps separate a missing pharmacy record from a registry issue.

Pharmacy script
“I received [vaccine] at your location around [date], but it does not appear in my Virginia immunization history. Please locate the administration record, verify my profile and confirm whether the vaccination was reported to VIIS.”

Older and paper-only records

How to rebuild an older Virginia vaccination history

Healthcare sources

  • Current physician.
  • Former pediatrician.
  • Hospital records department.
  • Previous clinic system.
  • Local health department.
Institutional sources

  • Previous schools.
  • College student health.
  • Employee health.
  • Military records.
  • Veterans Affairs records.
Personal sources

  • Old vaccine cards.
  • Baby books.
  • Camp forms.
  • Immigration records.
  • Travel-clinic documentation.

If the healthcare provider closed

Call the former practice number
A recorded message may identify the successor provider or record custodian.
Check the hospital or healthcare network
The organization may have inherited archived charts.
Ask who stores the old medical records
A separate records company or successor practice may be responsible.
Contact old schools, colleges and employers
They may still hold earlier official vaccination proof.
Give reliable recovered records to the current healthcare provider
Ask the provider how verified historical vaccinations should be incorporated into the current clinical and VIIS history.

Acronym warning

Virginia “VA” vaccination records vs Veterans Affairs records

Choose the correct VA record system
You mean Where to start Important distinction
Virginia Department of Health VDH → MyIR / VIIS. Commonwealth of Virginia immunization record route.
U.S. Department of Veterans Affairs VA.gov / VA health-record tools / VA medical facility. Federal healthcare records can remain separate from VIIS.
Military service records Military treatment facility, service medical record or applicable federal system. Military vaccinations may not be fully represented in the state registry.

Moved across state lines

Vaccines given outside Virginia may require another registry

Identify where each vaccination was administered
Include prior residence, college, military assignments and pharmacy visits.
Check MyIR connections where available
MyIR supports multiple participating state connections, but do not assume every jurisdiction will be automatically connected.
Contact the original provider or pharmacy
Request the official administration record.
Contact the previous state immunization registry
Use the jurisdiction where the vaccination actually occurred.
Give the recovered documentation to your Virginia provider
Ask how the verified history should be incorporated into current records.

Lost COVID documentation

If you specifically need an old COVID-19 vaccination record

Start with Virginia’s COVID/MMR portal and MyIR, then check the healthcare provider or pharmacy that administered the dose.

Need broader recovery help?
The site’s dedicated COVID vaccine record guide covers lost-card and provider/pharmacy recovery routes without duplicating Virginia’s full VIIS workflow here.

College, work, travel and immigration

Ask what proof is accepted before requesting extra tests

Match the record to the receiving organization
Purpose Good starting evidence Ask before submitting
College MyIR/VIIS history plus provider documentation. Which vaccine dates, forms and proof formats does student health accept?
Healthcare employment MyIR, provider, pharmacy and occupational-health records. Does employee health require vaccine dates, laboratory evidence or its own form?
Travel MyIR plus provider/travel-clinic records. Is a specific international vaccination certificate required?
Immigration medical exam Available official vaccination documentation. Which records should be presented to the civil surgeon?
Personal archive Full MyIR record plus provider/pharmacy backups. Are known historical vaccinations missing?
Do not order titers or repeat a vaccination solely because an online record is missing.
First ask the school, college, employer or other receiving organization what evidence it accepts, then discuss any testing or vaccination decision with a qualified healthcare professional.

VIIS privacy

Who can access VIIS and what does opt-out mean?

VDH describes VIIS vaccination information as confidential medical information. Professional access is limited to authorized users and is subject to confidentiality and security requirements.

Authorized access

  • Healthcare providers and health plans.
  • Qualifying schools and childcare organizations.
  • Other authorized public-health uses.
  • Other immunization registries where allowed.
Security controls

  • Individual professional credentials.
  • Role-based access.
  • Audit trail.
  • Encrypted data transmission.
  • Confidentiality agreements.

VIIS opt-out

Virginia maintains an opt-out process. Current VIIS security guidance says providers must act on an individual’s request to opt out of sharing immunization data.

Record-recovery implication:
If you previously opted out and cannot locate your history online, contact the providers that administered your vaccinations and VDH/VIIS for the current process rather than assuming MyIR can automatically reconstruct the record.

Official help routing

Who should you contact for Virginia vaccination-record help?

Use the contact that matches the problem
Problem Current contact Use it for
Routine consumer record access VDH Request Immunization Record page Current MyIR and COVID/MMR routing.
VIIS Help Desk 804-773-7250 VIIS record or application-support questions.
VIIS Help Desk email VAIIS.HELPDESK@stchome.com Current email published on the VDH VIIS page and live VIIS system.
VIIS Help Desk hours 8:30 a.m.–5:00 p.m., Monday–Friday Current live VIIS help-desk hours; closed on state holidays.
VDH Immunization Program 804-864-8055 State immunization-program questions.
Local school/foreign-record help Local health district Local public-health routing, foreign records and school documentation assistance.
Missing provider-administered vaccination Administering provider or pharmacy Original administration evidence and correction of VIIS data.
Old contact warning:
Legacy VDH documents and older VIIS materials may still display older phone numbers or older @vdh.virginia.gov help-desk addresses. Use the current VDH VIIS page or live VIIS login page before contacting support.

Before contacting support

Prepare this Virginia record-recovery worksheet

Current legal name
Former names
Date of birth
Current phone number
Up to three additional old phone numbers
Current address
Previous addresses
Current ZIP code
Previous ZIP code
Current healthcare provider
Previous providers
Pharmacy locations
Approximate vaccine dates
Previous schools
Other states vaccinated in
Military or Veterans Affairs facility
Exact reason record is needed
Submission deadline
Accepted proof format
Exact MyIR/portal error

Universal record-recovery script
“I am trying to locate a complete vaccination history for [purpose]. The record may be under [current/former name] and may use an older phone number or address. Vaccinations may have been administered around [years] by [provider/pharmacy]. Can you verify the record and tell me whether the information was reported to VIIS?”

Official routes

Official Virginia vaccination-record resources

1. VDH Request Immunization Record

Current official starting point for resident record access.

Open VDH record page

2. MyIR

VDH-linked consumer portal for broader immunization-record access.

Open MyIR

3. COVID and MMR Portal

Virginia’s separate VIIS search for COVID-19 and MMR records.

Open COVID/MMR portal

4. VIIS Information

Registry background, reporting mandate and current Help Desk details.

Open VIIS page

5. School Requirements

Current Virginia school/daycare immunization requirements and forms.

Open school requirements

6. Local Health Districts

Find the appropriate Virginia public-health office by locality.

Find local health district

Language and access

Spanish, mobile access and translated school forms

MyIR Spanish

MyIR allows users to switch the account display language to Spanish.

Computer or mobile

VDH says its record portals can be accessed from a home computer or mobile device.

School form translations

VDH publishes MCH 213G resources in multiple languages, including Spanish and several other commonly used languages.

Plain-English terminology

Virginia vaccination-record glossary

VDH
Virginia Department of Health.

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

MyIR
A VDH-linked consumer portal that can match a user with available immunization-registry records.

COVID/MMR Portal
A separate VDH record-search portal currently limited to COVID-19 and Measles, Mumps and Rubella vaccination records.

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

CRE-1
Virginia Certificate of Religious Exemption used in the applicable school-exemption process.

Conditional enrollment
A school-entry pathway for qualifying students who have begun required immunizations and have an appropriate completion plan.

IIS
Immunization Information System, the general term for a jurisdiction-based vaccination registry.

Final quality-control checklist

Before you rely on the recovered record

Patient name is correct
Date of birth is correct
Expected vaccine names are present
Administration dates look correct
MyIR Check for Updates used if needed
Provider record compared
Pharmacy record checked
Out-of-state doses checked
Military/VA records checked if relevant
School documentation format confirmed
Official document not manually altered
Complete private backup saved
No record posted publicly
Deadline recorded

Frequently asked questions

Virginia Department of Health vaccination records FAQs

How do I get Virginia Department of Health vaccination records online?

Start with VDH’s Request Immunization Record page. Use MyIR for broader official vaccination-record access. Use Virginia’s separate COVID/MMR portal only when you specifically need COVID-19 or Measles, Mumps and Rubella records.

What is VIIS?

VIIS is the Virginia Immunization Information System, Virginia’s statewide immunization registry for people of all ages.

How does MyIR verify my Virginia record?

MyIR uses registration information to locate an exact record match in the registry. When a match is found, it sends a verification code to the matching phone number. MyIR can search up to four possible phone numbers, and only one needs to match.

What if I no longer have the phone number connected with my record?

Try other historical phone numbers in MyIR and ask your healthcare provider to verify the contact information stored with the immunization record. Updating your MyIR profile alone may not change the information stored in VIIS.

How do I add my child to MyIR?

Register and sign into your account, then use Add a Child. MyIR allows children younger than 18 to be added. A person over age 18 is treated as an adult and needs a separate account.

I received a new vaccine but it is not showing in MyIR. What should I do?

Sign into MyIR, open the Immunizations area and use Check for Updates. If the vaccination still does not appear, contact the provider or pharmacy that administered it and ask whether it was correctly reported to VIIS.

Does Virginia’s COVID/MMR portal show every vaccine?

No. The current VDH portal is limited to COVID-19 and Measles, Mumps and Rubella records. Use MyIR for broader official immunization-record access.

Can a MyIR record be used for Virginia school enrollment?

It can be useful evidence, but follow the school’s exact documentation process. MCH 213G allows an appropriately signed or stamped immunization record to be attached instead of rewriting every vaccine date, while Part II still carries certification requirements.

What if my child has not finished every required school vaccination?

Qualifying students may be conditionally enrolled when they have documentation of at least one dose of required immunizations and a written schedule for completing the remaining requirements. The standard period is 90 days, with a 180-day period in certain hepatitis B situations.

What number should I call for a VIIS record problem?

Current VDH and live VIIS information list the VIIS Help Desk at 804-773-7250. The live VIIS system lists Help Desk hours as 8:30 a.m. to 5 p.m. Monday through Friday, excluding state holidays.

Independent information guide — not a medical office or government registry

ImmunizationRecord.org is an independent informational website. It is not the Virginia Department of Health, VIIS, MyIR, the Virginia COVID/MMR portal, CDC, a local health district, healthcare provider, pharmacy, school, college, employer, Veterans Affairs office or military medical-record system.

We cannot search, access, change, certify, store or release your vaccination record. Do not send this website your Social Security number, birth certificate, photo ID, portal password, verification code, child record, vaccination PDF or other sensitive health information.

This guide does not provide medical advice and does not determine whether you or your child should receive, repeat, delay or avoid a vaccination. It also does not determine school, college, employment, immigration, travel or military compliance. Confirm current requirements with VDH, the receiving organization and a qualified healthcare professional when appropriate.

Virginia Department of Health, VIIS, MyIR, COVID/MMR portal, MCH 213G and current school guidance reviewed August 2026. Portal behavior, contacts, forms and official requirements can change.