/
Immunizations & Vaccination Schedule in O3 (GSOC 2025)

Immunizations & Vaccination Schedule in O3 (GSOC 2025)

4 Must-Do’s

1. Problem Description: Have you clearly defined the user problem(s) you intend to solve, and what value this creates? Write down a story, user insight, or quote about this problem (this is important because (1) this will motivate your team, and (2) without this your problem might not actually be a big problem for the users themselves).
2. User Stories: Have you clearly written at least 3 user stories and use cases
3. Market Analysis: Have you surveyed what the market is doing here (e.g. comparison to other EMRs, or paper approaches; and don’t forget about learning from historic/existing OMRS instances)? Have you written down any possible gaps in your understanding of your users or their workflows? Have you reviewed the topic in FHIR to see what requirements or fields the global community references? (Eg if working on insurance, should look here)
4. Technical Considerations & Dependencies: Have you outlined what you need from cross-functional areas for success of the feature? E.g. do you need the platform to support a new API call? Have you explained how you’ve addressed dev concerns, such as designs that may not be feasible, or will be extra time-intensive to implement? 

Optional/Encouraged

Sketches: Have you added a drawing or description of how the feature could work to solve the problem at hand? (Pictures of sketches are ok!) 
Project Management: Have you created the Epic and JIRA tasks so you can share work clearly? Roll-out plan: Do you have an idea whether this will be an experiment, gradual roll out, and when? Have you added this to the timeline view? Have you planned how you will promote and/or work with communications folks in order to help this feature reach the widest audience and have the biggest impact it can?

Later but should do

QA Plan: Have you mentioned the plan for QA, such as how you will discover and address edge cases? Does your team/squad have a plan for automated tests to be added to new components (unit tests) or workflows (e2e tests)?
Safety & Tech Risks: Is there any reason you could regret rolling out this feature? (e.g. possible patient harm, heavy tech debt like introducing an unsupported library) Have you thought through the risks for this particular solution? And, how to reduce/address those? 

This checklist was inspired by this article. Additional Business Analyst Resources here.

image-20250213-191932.png
PIH’s form-component example in their O2 RefApp distribution, built as a Form Component in an HTML Form in the OB/GYN Consult form. Originally built just for Haiti, but now they need to support multiple countries.
image-20250214-192518.png
The current UI of the Immunization widget in O3 (Feb 2025)

Priority User Stories / Goals

  1. See status: where they are with what’s been given

  2. Remind about what’s due, what’s missing

  3. See what’s upcoming: Is there something due I can give them, even if they’re here for something else? Do I need to book an appointment or remind them to come in for an upcoming dose?

  4. See standards/best practice recommendations: Via a link or picture of the latest guidance.

Context

  • Immunization “schedules” are like “Timings”: A place’s immunization schedule shows “when a certain immunization is meant to be given, and how many times, after how long of intervals.” They also help to:

    • Show a record of what & when things were given

    • Prompt a provider to remember that something else is due

    • Guide a provider in cases that are not clear (e.g. catch-up, medical risk factors, and more). → EMR Scope: Because this gets so complicated, EMR will not replace the detailed guidance/documentation for providers on schedules and caveats.

  • Differences: These Schedules are often different by country or region. Just look at the WHO’s records to see comparisons showing how many countries have different timings for different types of immunizations.

  • Key Concepts:

    • Children: Babies, toddlers, and school-aged children are high-priorities for vaccination because they are the most vulnerable to infectious diseases. If you like cartoons, these visuals are a fun way to learn how certain immunizations at particular ages protect kids from certain diseases.

    • Adults: Adults need regular vaccinations too. So there are usually different Vaccination Schedules for Adults as well.

    • People with Risk Factors or Medical Conditions: These people

    • “Catch-Up Immunization”: It is very common for a child (or adult!) to receive a vaccination late, for many legitimate reasons. When this happens, there is often guidance for clinicians about the time-range of the patient’s age or time-range after the last dose for when the next immunization should be given.

    • Series vs Series re-start: _____

Examples from around the world

 

Vertical charts like this one from India also show time/patient age along an axis, but include more detailed remarks. (Source).

Electronic Examples from other Systems

(Source)

 

 

 

 

Important Requirements

 

  • Lessons Learned from PIH:

    • Challenge: Immunization schedule for children goes beyond Booster 1, 2 → e.g. 5+ doses of deworming. May not be part of immunization schedule but ARE a part of their immunization history. And, handling how you capture Catch-up / Off-Schedule and Series re-start.

    • Configuration logic is a lot. e.g. Vitamin A: If they don’t get BGC at birth, but at 6 weeks, do you enter it in the “Birth” column? Too inflexible.

    • Easier to just allow people to enter in the individual immunizations, then display.

    • Allows for Past Data Entry:

    • So: Made changes to visual layout. Want to focus on showing info (display), rather than for data entry or CDS.

 

 

Doesn’t show “Next due”, Series, etc etc. Alert for “Third dose due on XX date”?

 

 

Why not editable in dashboard? Didn’t want someone entering from dashboard because want it to be recorded within a Visit’s Encounter. But, want something easy to enter.

Key for pregnancy

 

View only chart:

 

Bulk Vaccination e.g. 100 Polio vaccine day.

 

Related content

Home Page v2: OPD Dashboard
Home Page v2: OPD Dashboard
More like this
O3 Growth Chart (GSOC 2025)
O3 Growth Chart (GSOC 2025)
Read with this
Checklist TEMPLATE: Requirements Doc
Checklist TEMPLATE: Requirements Doc
More like this
Summer of Code 2025
Summer of Code 2025
Read with this
Interactive Builder for Form Translations within the Form Builder (Interactive Translation Builder?)
Interactive Builder for Form Translations within the Form Builder (Interactive Translation Builder?)
More like this
Forms Migration Tool: Help HTML Form users switch to using O3 React Forms
Forms Migration Tool: Help HTML Form users switch to using O3 React Forms
Read with this