ForHosting KIT · Health & fitness

Canada COVID vaccine queue - priority phase calculator

An 82-year-old with no priority job and no high-risk condition lands in phase 1b of Canada's 2021 COVID-19 vaccine sequence. Enter age, occupation and medical risk to see the phase, its rank and the rule that placed it. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Age
82
Occupation
Other
You get
Phase
1b
Phase label
Phase 1b — very high priority
Eligibility status
eligible
Priority rank
2

Canada's first COVID-19 immunization campaign was sequenced, not simultaneous: scarce early supply went first to people at the highest risk of death, outbreak, or health-system collapse. This Canadian vaccine-queue calculator assigns a NACI-style priority phase from three facts you already know—age in years, occupation class, and whether a high-risk medical condition is present—plus optional flags for congregate living and Indigenous identity. It returns the matching phase, a short label, a priority rank, the criteria that fired, and an eligibility status for the original adult and adolescent program. A negative age is rejected as invalid input rather than being folded into an absolute value. Treat every result as an educational reconstruction of the 2021 sequenced framework, never as a live booking, a medical order, or a substitute for a public-health unit.

How the Canadian COVID-19 vaccine priority phases were sequenced

Canada did not offer every adult a first COVID-19 dose on the same winter morning. Federal guidance from the National Advisory Committee on Immunization, and the provincial rollouts that followed it, ordered people into sequential phases so the earliest vials went to those at greatest risk of death, of explosive outbreaks in closed settings, or of collapsing the health-care workforce. This calculator encodes that 2021 sequenced framework as a deterministic educational model.

It does not look up a live provincial booking site, does not know which clinic has supply this week, and does not replace a clinician or a public-health unit. The engine then walks a published waterfall from highest priority to lowest and returns the first matching phase together with eligibility. Phase 1a covers long-term-care staff, healthcare workers, and older adults living in congregate senior care.

Phase 1b covers adults aged eighty and over and Indigenous adults aged sixteen and over. Phase 2 covers ages seventy to seventy-nine, remaining high-risk medical conditions in adults, essential and education workers, first responders, and other congregate settings. Phase 3 covers remaining adults aged sixty to sixty-nine.

Phase 4 is the rest of the adult population aged sixteen and over. Adolescents twelve to fifteen enter phase 5 after that age group was authorized; children five to eleven are phase 6 and are not marked eligible for the original adult and adolescent queue; children under five sit outside the 2021 sequenced program entirely. Always frame outputs as an educational phase label from this published waterfall, not as a clinic appointment or a clinical recommendation.

Where a Canadian vaccine-queue calculator earns its keep

Public-health explainers, journalism notebooks, and civics classrooms still need a transparent oracle for the question people typed in 2021 and still type when they reconstruct that winter: which Canadian COVID-19 vaccine priority phase did this age, job, and risk profile fall into. A single trusted function that returns the phase beside the criteria that fired speeds teaching, fact-checking, and synthetic dataset labels without scraping a provincial portal that no longer hosts the original queue.

Research assistants preparing historical immunization tables want stable phase codes from known demographics, and they need a hard reject when age arrives negative so dirty extracts cannot masquerade as a phase. If you later need remaining vaccine-induced protection percent, a booster interval, or a live clinic finder, treat those as separate search intents and landings rather than overloading this queue page.

Always present results as educational estimates from the 2021 NACI-style sequenced framework; clinical decisions and actual appointments require qualified professionals, a provincial or territorial program this tool does not call, and eligibility rules that changed as supply improved.

Classroom reconstruction of the 2021 Canadian queue

Give students an age, occupation class, and high-risk flag and verify the NACI-style phase and eligibility status against the published waterfall, including the hard reject on a negative age.

Journalism and explainer widgets

Show which Canadian COVID-19 vaccine priority phase a profile would have entered without scraping a provincial booking site that no longer hosts the original queue.

Who counts as eligible?

eligible is true for phases 1a through 5, which cover the original adult and adolescent sequenced program (age twelve and over). Children five to eleven receive phase 6 with eligible false. Children under five receive phase none with eligible false.

Does this book a vaccine appointment in Canada?

No. It is an educational reconstruction of the 2021 sequenced framework. It does not call a provincial portal, reserve a clinic slot, or give medical advice.

Which COVID vaccine phase were people over 80 in Canada?

Phase 1b, marked very high priority, which they shared with Indigenous adults aged 16 and over. An 82-year-old with no priority occupation and no high-risk condition gets phase 1b and priority rank 2.

Were healthcare workers first for the COVID vaccine in Canada?

Yes. Phase 1a covered long-term-care staff, healthcare workers and older adults living in congregate senior care. A thirty-five-year-old healthcare worker is placed in phase 1a even with no medical risk at all.

What phase were teenagers and children in Canada's vaccine rollout?

Adolescents aged twelve to fifteen entered phase 5 once their age group was authorized. Children aged five to eleven are phase 6 and not marked eligible for the original queue, and children under five sit outside the 2021 program.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/health/vaccine-queue-ca

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/health/vaccine-queue-ca \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"age":82,"occupation":"other","high_risk":false}'
{
  "age": 82,
  "occupation": "other",
  "high_risk": false
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "health.vaccine_queue_ca",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_age120
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Successful API calls use the published $0.002 per item; invalid input is not billed.

How the Canadian COVID-19 vaccine priority phases were sequenced

You send an age in years, an occupation class from a closed list, and a boolean for a high-risk medical condition the caller has already classified; optional flags mark congregate living and Indigenous identity. Identical inputs always produce identical JSON because the rules are pure comparisons with no network, no clock, and no randomness.

Input contract, response shape, and error behaviour

A classic highest-priority triple is an eighty-two-year-old with occupation other and no high-risk flag, which yields phase 1b. A thirty-five-year-old healthcare worker yields phase 1a even if they have no medical risk. Send a JSON object with three required fields and two optional flags. The field age is completed years and must be a finite number from zero through one hundred and twenty; a negative age fails with invalid_input naming that field, because years of life cannot be negative and this calculator will not silently take an absolute value. Aliases years and age_years are accepted. The field occupation is a closed enum: long_term_care for nursing-home or long-term-care staff, healthcare for frontline health workers, first_responder for emergency medical, fire, or police roles, education for teachers and school staff, essential for other essential workers, and other for retired, unemployed, or non-priority jobs. Aliases job, work, role, and occupation_class are accepted. The field high_risk is a boolean that is true when a NACI 2021 high-risk medical condition is present; the strings yes, no, one, and zero parse as booleans, and aliases medical_risk, high_risk_condition, and chronic_condition are accepted. Optional congregate_living defaults to false and marks long-term care, retirement homes, shelters, group homes, or correctional settings; optional indigenous defaults to false and, for adults sixteen and over, maps to phase 1b. Missing required fields, empty strings, non-finite age, age above one hundred and twenty, an occupation outside the enum, and a non-boolean flag all fail with invalid_input and are not charged. On success the response echoes the cleaned age, occupation, high_risk, congregate_living, and indigenous values, reports phase as 1a, 1b, 2, 3, 4, 5, 6, or none, reports phase_label and priority_rank, sets eligible true when the person is in the original adult or adolescent sequenced program (age twelve and over), sets eligibility_status to eligible or not_eligible, lists the criteria codes that fired, and includes guideline, method, and formula strings for display and for pinning in tests. Pricing for successful API calls is the published $0.002 per item; validation failures do not consume prepaid balance.

Where a Canadian vaccine-queue calculator earns its keep

Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance. Keep requests small, pin the phase and eligibility_status in tests, and you get reproducible Canadian vaccine-queue labels for homework, LMS plugins, and edge workers without standing up a public-health information system of your own.

Historical immunization dataset labels

Bulk-produce stable phase codes for synthetic or archived demographic rows, with invalid_input when age is negative so dirty extracts cannot look like a sequenced phase.

How is the Canadian COVID-19 vaccine priority phase assigned?

Send age in years, occupation (long_term_care, healthcare, first_responder, education, essential, or other), and high_risk as a boolean. Optional congregate_living and indigenous flags default to false. The API walks a NACI-style waterfall and returns the highest matching phase plus eligibility_status.

What happens if age is negative?

The task fails with invalid_input. Years of age cannot be negative, so the calculator does not take an absolute value and the request is not billed.

What does the Canada COVID vaccine queue calculator cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →