# Gsoc 2025 : Immunization and Vaccination Schedule in O3 - Project weekly Updates & Discussion

**URL:** https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100
**Category:** GSoC
**Tags:** o3
**Created:** [May 23, 2025, 3:02am UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100 "2025-05-23T03:02:54Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![chintu](https://talk.openmrs.org/letter_avatar/chintu/32/5_5575768a8748004e209b776fc1b2916d.png) [@chintu](https://talk.openmrs.org/u/chintu)
#### Post date: [May 23, 2025, 3:02am UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/1 "2025-05-23T03:02:54Z")

</div>

**Excited to Announce: GSoC 2025 Selection! ❤**

I’m thrilled to share that I’ve been selected for **Google Summer of Code 2025** with **OpenMRS**! 🎉

🔬 **Project Title:** _Immunization and Vaccination Schedule in O3_

🧑‍🏫 **Primary Mentor:** [@dennis]

🧑‍🔧 **Backup Mentor:** [@grace]

This thread will be the space where I post updates and discussions throughout the summer. Feel free to engage, give feedback, or just follow along! 🌟

* * *

### 🛠 Project Goals

- **Enhance the Vaccination Entry Form**
  - Add fields for `validUntil`, notes, and batch information (manufacturer, expiration date).

- **Visual Immunization History**
  - Display immunization history in a scrollable table with fixed headers.
  - Show vaccine names, all dose dates, next due dates (green if upcoming, red if overdue).
  - Include pagination.

- **Modify Immunization Table View**
  - Collapse/expand rows per vaccine, showing recent doses.
  - Expandable rows list all doses with fields: `Sequence`, `Vaccination Date`, `Valid Until`, and `Edit/Delete` actions.

- **Highlight Overdue Doses**
  - Visually mark overdue entries in red and upcoming ones in green.

- **Allow Deletion of Mistaken Doses**
  - Add a Carbon Button (trash icon) for each dose.
  - Confirm deletion using a Carbon Modal.
  - DELETE request to FHIR Immunization resource to remove incorrect records.

* * *

📚 **Resources:**

👉 [Project Wiki](https://openmrs.atlassian.net/wiki/spaces/projects/pages/355008710/Immunizations+Vaccination+Schedule+in+O3+GSOC+2025)

I’m incredibly grateful for this opportunity and excited to contribute to OpenMRS and make a meaningful impact. Looking forward to learning, building, and collaborating with this amazing community.

**cc:** @dennis @grace @ibacher @jayasanka @beryl @fanderson

---

<div class="post-metadata">

### Author: ![chintu](https://talk.openmrs.org/letter_avatar/chintu/32/5_5575768a8748004e209b776fc1b2916d.png) [@chintu](https://talk.openmrs.org/u/chintu)
#### Post date: [May 23, 2025, 3:35pm UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/2 "2025-05-23T15:35:47Z")

</div>

Blog post on the Community bonding period

> **[Gsoc Community bonding period](https://medium.com/@praneeth7077/gsoc-community-bonding-period-efc04d3f6dee?postPublishedType=initial)**
>
> The GSoC Community Bonding Period has been an amazing journey so far. From insightful orientation sessions to personal conversations with…

---

<div class="post-metadata">

### Author: ![chintu](https://talk.openmrs.org/letter_avatar/chintu/32/5_5575768a8748004e209b776fc1b2916d.png) [@chintu](https://talk.openmrs.org/u/chintu)
#### Post date: [June 10, 2025, 10:52am UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/3 "2025-06-10T10:52:11Z")

</div>

Hello team, I am currently working on immunization workspace refactoring. In the immunization workspace, I need to add an extra field called ‘notes’ (comments). However, the FHIR resource in OpenMRS is not updated for this field, and I cannot map the notes.

sources:

> **[OpenMRS Immunization - OpenMRS Core FHIR Implementation Guide v0.1.0](https://fhir.openmrs.org/StructureDefinition-omrs-immunization.html)**

jira ticket:

> **[Jira](https://openmrs.atlassian.net/browse/O3-4792)**

@ibacher @dennis@cioan @mherman22 @dkayiwa @mozzy

---

<div class="post-metadata">

### Author: ![chintu](https://talk.openmrs.org/letter_avatar/chintu/32/5_5575768a8748004e209b776fc1b2916d.png) [@chintu](https://talk.openmrs.org/u/chintu)
#### Post date: [June 13, 2025, 12:47pm UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/4 "2025-06-13T12:47:35Z")

</div>

> **[Week 1 GSoC 2025: Getting Started with the Immunization Workspace](https://medium.com/@praneeth7077/week-1-gsoc-2025-getting-started-with-the-immunization-workspace-765754a99053)**
>
> The first week of GSoC was focused primarily on discussions around how to get started with the Immunization Workspace. Initially, we…

---

<div class="post-metadata">

### Author: ![chintu](https://talk.openmrs.org/letter_avatar/chintu/32/5_5575768a8748004e209b776fc1b2916d.png) [@chintu](https://talk.openmrs.org/u/chintu)
#### Post date: [June 13, 2025, 12:50pm UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/5 "2025-06-13T12:50:00Z")

</div>

> **[Week 2 GSoC 2025: Refactoring and Field Mapping Progress 🚀](https://medium.com/@praneeth7077/week-2-gsoc-2025-refactoring-and-field-mapping-progress-54bf87f8fc20)**
>
> This week was exciting and productive!

---

<div class="post-metadata">

### Author: ![chintu](https://talk.openmrs.org/letter_avatar/chintu/32/5_5575768a8748004e209b776fc1b2916d.png) [@chintu](https://talk.openmrs.org/u/chintu)
#### Post date: [June 20, 2025, 5:20pm UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/6 "2025-06-20T17:20:36Z")

</div>

week 3 blog

> **[Week 3 Blog: Deleting Doses & Enhancing Immunization Summary](https://medium.com/@praneeth7077/week-3-blog-deleting-doses-enhancing-immunization-summary-ec6c1b21e8d7)**
>
> This week, as discussed with my mentor Dennis, I focused on improving the immunization functionality in the OpenMRS patient chart. I worked…

---

<div class="post-metadata">

### Author: ![grace](https://talk.openmrs.org/user_avatar/talk.openmrs.org/grace/32/16942_2.png) [@grace](https://talk.openmrs.org/u/grace)
#### Post date: [July 22, 2025, 6:21pm UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/7 "2025-07-22T18:21:03Z")

</div>

**Concepts Update**

Greetings @chintu, after looking a bit, you were right with your comment on last week’s O3 squad call: There were some immunization options available in CIEL that we didn’t have. This PR will update the list to add 19 more options. Let me know if in your feedback you hear of other vaccines that are missing - these were all the missing ones I personally could find in CIEL.

> <https://github.com/openmrs/openmrs-content-referenceapplication/pull/8>
>
> Adds the following concepts from CIEL and their cascaded mappings to this sample… collection, for more thorough Immunization options in the UI: Added: 
> 168013 Haemophilus influenzae B vaccination
> 168017 HPV vaccination
> 168011 MMR vaccination
> 165616 COVID-19 vaccination
> 22 - Hepatitis A vaccination
> 168010 - Influenza vaccination
> 104531 - Diptheria/pertussis/tetanus combo
> 160418 DTaP-IPV
> 75031 - Diphtheria
> 75030 - Diphtheria adsorbed
> 104525 - Diphtheria toxoid + anti-Hib
> 104528 - Diphtheria + Tetanus
> 104526 - DTaP-HepB-IPV combo
> 104529 - HibTITER (Diphtheria protein + anti-Hib)
> 1656 - DTaP
> 104527 - Diphtheria toxoid / pertussis acellular / tetanus toxoid 84880 - Tetanus toxoid adsorbed
> 159713 - Meningitis A/C/W-135
> 159694 - DTAP-Hib-IPV
> 104805 - Hib-Tetanus toxoid

---

<div class="post-metadata">

### Author: ![grace](https://talk.openmrs.org/user_avatar/talk.openmrs.org/grace/32/16942_2.png) [@grace](https://talk.openmrs.org/u/grace)
#### Post date: [July 22, 2025, 6:54pm UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/8 "2025-07-22T18:54:23Z")

</div>

**Feedback**

Last week @chintu asked for more feedback on his work so far. Here’s a screenshot of how it’s progressing:

 ![image](https://talk.openmrs.org/uploads/default/original/3X/5/7/5785c06b5ec7e5858ef2d43cf9cefd5256c3876a.jpeg)Demo video:

[![](https://img.youtube.com/vi/jVPXdHOpdi0/maxresdefault.jpg "Immunization History view - status update July 2025") ](https://www.youtube.com/watch?v=jVPXdHOpdi0)

Here’s my main feedback and questions:

1. **Ready for Next Release (with testing):** As a general view-only overview of the patients’ history, it’s great. I’d like to get this into the very next O3 Release. @chintu @anon54923432 could you put this behind a feature flag for now at least, or even pop it into dev3 directly without a feature flag? (@chintu please just test it a bunch 🙂 see if you can force it to do anything weird! )

2. **Expires Date (Most Important point of feedback):** While I’d say this is fine as the “MVP”, what’s really missing to elevate this to a level that will really help providers is showing the " **Date coverage expires / Valid until**" date. (And then making it red if that date is in the past.) What needs to happen in order for us to show this information? Are we waiting on some kind of backend variable? Do you just need a concept for “Valid until” to support the Entry/Edit form itself?

3. **App order:** Please move the history view up so it’s above the entry/edit widget. Why: It’s easier to skim than the edit/entry widget, and the other open source EMR that guided our design for this follows a similar pattern.

4. **Horizontal Scroll Bar:** As soon as there is data that goes past the user’s horizontal screen display, can we please show the Horizontal Scroll Bar by default (so not on hover)? This is to make it easier for the vast majority of our users who do not have a trackpad that easily responds to left/right horizontal scroll hand movements. (Most users are on a very old desktop with an old or simple mouse, or on a tablet.)

5. **Immunization App Text:** Please update the text so instead of “Single Dose on [date]”, it says “Last dose [date], Dose # [dose number]”, as shown in the image below. This is more clear for users 🙂

6. **The “More than 10” Bug:** Dennis mentioned a while ago that in the immunization widget, when adding vaccinations or doses, if more than 10 entries are added, the form accepts them but doesn’t display entries beyond the 10th. Did you already fix this? If not, please fix 🙂

CCing @reagan @fanderson @mseaton @ddesimone @michaelbontyes and anyone else interested in case they have further feedback for this wonderful GSOC student and his work 🙂

---

<div class="post-metadata">

### Author: ![chintu](https://talk.openmrs.org/letter_avatar/chintu/32/5_5575768a8748004e209b776fc1b2916d.png) [@chintu](https://talk.openmrs.org/u/chintu)
#### Post date: [July 24, 2025, 11:26am UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/9 "2025-07-24T11:26:25Z")

</div>

Super grateful for your feedback, @grace — feeling pumped!

---

<div class="post-metadata">

### Author: ![chintu](https://talk.openmrs.org/letter_avatar/chintu/32/5_5575768a8748004e209b776fc1b2916d.png) [@chintu](https://talk.openmrs.org/u/chintu)
#### Post date: [July 24, 2025, 11:32am UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/10 "2025-07-24T11:32:33Z")

</div>

> [@grace](#):
>
> - **Expires Date (Most Important point of feedback):** While I’d say this is fine as the “MVP”, what’s really missing to elevate this to a level that will really help providers is showing the " **Date coverage expires / Valid until**" date. (And then making it red if that date is in the past.) What needs to happen in order for us to show this information? Are we waiting on some kind of backend variable? Do you just need a concept for “Valid until” to support the Entry/Edit form itself?
> - Dennis mentioned a while ago that in the Immunizations FHIR resource, you couldn’t find a “valid until” field. Do you just need either (a) for me an Ian to suggest an alternative FHIR resource, or (b) for us to invent something in the OpenMRS data model? Or a concept for it?
> - Yes, there is an expiration date which is already being recorded in the form, but it falls under vaccination batch information, so it’s not about the patient’s immunization coverage timeline - it’s literally just about the expiry date of the vial/injection itself used to inject/insert into the patient. So yeah, not the same 🙂

@ibacher you mentioned

1. FHIR represents “next vaccination” as a separate resource (ImmunizationRecommendation) that we don’t currently support. Realistically the concept of “date of next dose due” is not usually part of the vaccination record. It’s probably beyond the scope of the GSoC project to add the data model and API to support that.

However, since the core part of the project is building an Immunization History Card, we would ideally need a “vaccination valid until” field to help flag patients appropriately.

I came across the [FHIR Immunization extensions](https://build.fhir.org/immunization-profiles.html#extensions) and was wondering — would it be a valid approach to use or define a custom extension on the Immunization resource to store this information?

Please let me know if this could be a feasible path forward, or if there’s a better alternative you’d suggest.

---

<div class="post-metadata">

### Author: ![chintu](https://talk.openmrs.org/letter_avatar/chintu/32/5_5575768a8748004e209b776fc1b2916d.png) [@chintu](https://talk.openmrs.org/u/chintu)
#### Post date: [July 24, 2025, 1:42pm UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/11 "2025-07-24T13:42:43Z")

</div>

> [@grace](#):
>
> Date coverage expires / Valid until

> **[Immunization: Next Dose Date - HL7 Europe Extensions v0.1.1-ballot](https://build.fhir.org/ig/hl7-eu/extensions/branches/next-dose-ext/StructureDefinition-immunization-nextDoseDate.html)**

---

<div class="post-metadata">

### Author: ![grace](https://talk.openmrs.org/user_avatar/talk.openmrs.org/grace/32/16942_2.png) [@grace](https://talk.openmrs.org/u/grace)
#### Post date: [July 24, 2025, 2:37pm UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/12 "2025-07-24T14:37:46Z")

</div>

Upon further review: @ibacher what would you think of using this FHIR resource (supported in R4 and R5):

“**[Recommended date](https://hl7.org/fhir/R5/immunizationrecommendation.html#:~:text=dateTime-,Recommended%2520date,-description) " in "[ImmunizationRecommendation](https://hl7.org/fhir/R5/immunizationrecommendation.html)**”.

The 2 questions then to figure out would be:

- How to connect/associate this to the specific `Immunization` resource (since the `ImmunizationRecommendation` resource is a different one)
- Would we need to pick 1 of [these 4 “Content Logic Definitions”](https://hl7.org/fhir/R5/valueset-immunization-recommendation-date-criterion.html#definition)? I don’t love any of them.

---

<div class="post-metadata">

### Author: ![chintu](https://talk.openmrs.org/letter_avatar/chintu/32/5_5575768a8748004e209b776fc1b2916d.png) [@chintu](https://talk.openmrs.org/u/chintu)
#### Post date: [August 4, 2025, 12:47pm UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/13 "2025-08-04T12:47:08Z")

</div>

Hi @ibacher, Just following up on the discussion around the **“valid until” / “coverage expiry”** field for immunizations.

I understand we’re not currently supporting `ImmunizationRecommendation`, so I was wondering if you’d had a chance to consider whether we could proceed with a **custom extension on the Immunization resource** , or if you’d prefer we explore another approach

---

<div class="post-metadata">

### Author: ![ibacher](https://talk.openmrs.org/user_avatar/talk.openmrs.org/ibacher/32/19751_2.png) [@ibacher](https://talk.openmrs.org/u/ibacher)
#### Post date: [August 4, 2025, 2:39pm UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/14 "2025-08-04T14:39:00Z")

</div>

I don’t mind using the EU extension you posted.

---

<div class="post-metadata">

### Author: ![anon54923432](https://talk.openmrs.org/letter_avatar/anon54923432/32/5_5575768a8748004e209b776fc1b2916d.png) [@anon54923432](https://talk.openmrs.org/u/anon54923432)
#### Post date: [August 5, 2025, 12:37pm UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/15 "2025-08-05T12:37:40Z")

</div>

@mherman22 might you have the bandwidth to take this on? Thanks.

---

<div class="post-metadata">

### Author: ![dennis](https://talk.openmrs.org/user_avatar/talk.openmrs.org/dennis/32/22225_2.png) [@dennis](https://talk.openmrs.org/u/dennis)
#### Post date: [August 5, 2025, 12:42pm UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/16 "2025-08-05T12:42:35Z")

</div>

Yes. What @anon54923432 said above.

---

<div class="post-metadata">

### Author: ![mherman22](https://talk.openmrs.org/user_avatar/talk.openmrs.org/mherman22/32/20233_2.png) [@mherman22](https://talk.openmrs.org/u/mherman22)
#### Post date: [August 5, 2025, 1:03pm UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/17 "2025-08-05T13:03:28Z")

</div>

I do, @chintu do you mind creating a ticket for this that i can followup with?

---

<div class="post-metadata">

### Author: ![chintu](https://talk.openmrs.org/letter_avatar/chintu/32/5_5575768a8748004e209b776fc1b2916d.png) [@chintu](https://talk.openmrs.org/u/chintu)
#### Post date: [August 5, 2025, 1:10pm UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/18 "2025-08-05T13:10:54Z")

</div>

sure i will @mherman22 thanks and here it is [Jira](https://openmrs.atlassian.net/browse/FM2-666)

---

<div class="post-metadata">

### Author: ![mherman22](https://talk.openmrs.org/user_avatar/talk.openmrs.org/mherman22/32/20233_2.png) [@mherman22](https://talk.openmrs.org/u/mherman22)
#### Post date: [August 6, 2025, 6:46pm UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/19 "2025-08-06T18:46:23Z")

</div>

> [@grace](#):
>
> Would we need to pick 1 of [these 4 “Content Logic Definitions”](https://hl7.org/fhir/R5/valueset-immunization-recommendation-date-criterion.html#definition)? I don’t love any of them

Would [LOINC 45354-8 Date next dose](https://loinc.org/45354-8/) make any sense?

I’ve been thinking about the approach for implementing `nextDoseDate`. It would be cleaner and more consistent if we tied it to a concept, similar to how other immunization data points are handled.

Would love to have your take on this @ibacher.

---

<div class="post-metadata">

### Author: ![ibacher](https://talk.openmrs.org/user_avatar/talk.openmrs.org/ibacher/32/19751_2.png) [@ibacher](https://talk.openmrs.org/u/ibacher)
#### Post date: [August 6, 2025, 6:55pm UTC](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100/20 "2025-08-06T18:55:42Z")

</div>

That’s pretty much exactly the concept we’d need. @akanter Would it be possible to add this to the next release of CIEL?

[Next page](https://talk.openmrs.org/t/gsoc-2025-immunization-and-vaccination-schedule-in-o3-project-weekly-updates-discussion/46100.md?page=2)
