Skip to content

Explore vaccination schedule designs#266

Draft
wrightmartin wants to merge 29 commits intomainfrom
vaccination-record-valid-ignored-doses
Draft

Explore vaccination schedule designs#266
wrightmartin wants to merge 29 commits intomainfrom
vaccination-record-valid-ignored-doses

Conversation

@wrightmartin
Copy link
Copy Markdown

Introduces a Vaccination record view on the patient programme page that shows a child's progress through the MMR schedule, distinguishing doses that count toward the schedule from doses that don't (e.g. given too early, or too close to a previous dose).

For testing

dosesRemaining now uses scheduleSummary.dosesComplete (valid doses
  per programme rules) instead of vaccinationsGiven.length (all given
  doses). This fixes status, doseDue, and sequence for patients with
  ignored dose

Also moves the status line from
  Procedures into the Vaccination record card, swaps the Programme
  column for Outcome in Procedures, adds linked dates and Age/Source
  columns to the Vaccination record table
@paulrobertlloyd paulrobertlloyd temporarily deployed to mavis-protot-vaccinatio-jt6c4c April 17, 2026 09:33 Inactive
  PatientSession.vaccinationOutcomes filtered only by programme_id, so
  lastVaccinationOutcome returned the patient's most recent vaccination
  across every session in the programme. Every session row on the patient
  programme page then reported that same outcome.

  Filter by patientSession_uuid too, so each session reports what actually
  happened at that session.

  Surfaced by the seeded Bilal Begum MMR case, where four 'not given'
  sessions between two valid doses were all displaying as 'Vaccinated'.
@paulrobertlloyd paulrobertlloyd temporarily deployed to mavis-protot-vaccinatio-jt6c4c April 17, 2026 11:22 Inactive
@paulrobertlloyd paulrobertlloyd temporarily deployed to mavis-protot-vaccinatio-jt6c4c April 20, 2026 10:45 Inactive
…ccines are given that count towards the same schedule it needs to be clear (eg MMR and MMRV)
@paulrobertlloyd paulrobertlloyd temporarily deployed to mavis-protot-vaccinatio-jt6c4c April 20, 2026 11:19 Inactive
@paulrobertlloyd paulrobertlloyd temporarily deployed to mavis-protot-vaccinatio-jt6c4c April 20, 2026 13:28 Inactive
@paulrobertlloyd paulrobertlloyd temporarily deployed to mavis-protot-vaccinatio-jt6c4c April 21, 2026 08:19 Inactive
@paulrobertlloyd paulrobertlloyd temporarily deployed to mavis-protot-vaccinatio-jt6c4c April 21, 2026 08:42 Inactive
@paulrobertlloyd paulrobertlloyd temporarily deployed to mavis-protot-vaccinatio-jt6c4c April 22, 2026 12:57 Inactive
@paulrobertlloyd paulrobertlloyd temporarily deployed to mavis-protot-vaccinatio-jt6c4c April 22, 2026 13:46 Inactive
  A patient whose programme status is Vaccinated via historical doses
  (e.g. MMR catch-up cohort members with prior records) would throw
  when viewing the current session's page, because
  lastVaccinationOutcome filters by session uuid and returned undefined.

  Fall back to patientProgramme.lastVaccinationGiven and guard against
  a missing createdBy user.
@paulrobertlloyd paulrobertlloyd temporarily deployed to mavis-protot-vaccinatio-jt6c4c April 22, 2026 15:43 Inactive
…rocedures. Out of schedule, rather than ignored doses in the vaccination record UI
@paulrobertlloyd paulrobertlloyd temporarily deployed to mavis-protot-vaccinatio-jt6c4c April 27, 2026 10:47 Inactive
@paulrobertlloyd paulrobertlloyd temporarily deployed to mavis-protot-vaccinatio-jt6c4c April 27, 2026 10:50 Inactive
@paulrobertlloyd paulrobertlloyd temporarily deployed to mavis-protot-vaccinatio-jt6c4c April 27, 2026 14:41 Inactive
@paulrobertlloyd paulrobertlloyd temporarily deployed to mavis-protot-vaccinatio-jt6c4c April 27, 2026 15:43 Inactive
@paulrobertlloyd paulrobertlloyd temporarily deployed to mavis-protot-vaccinatio-jt6c4c April 29, 2026 15:24 Inactive
@paulrobertlloyd paulrobertlloyd temporarily deployed to mavis-protot-vaccinatio-jt6c4c April 29, 2026 15:44 Inactive
@paulrobertlloyd paulrobertlloyd temporarily deployed to mavis-protot-vaccinatio-jt6c4c April 29, 2026 15:44 Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants