Hello everyone!
I’m Amrita, and I’ll be working on Patient Visit Summary Printing for OpenMRS O3 this summer as part of GSoC 2026. I’ll be using this thread to share weekly progress updates, ask questions, and have discussions throughout the project. Feel free to follow along, drop feedback, or just say hi ![]()
What this project is about
Right now, if a clinician at an OpenMRS-powered facility wants a printed summary of a patient’s visit — for a referral, discharge, insurance, or just the patient’s own records — there’s no built-in way to generate one from O3.
This project adds that capability to the existing openmrs-module-patientdocuments module. The goal is a pluggable, configurable PDF pipeline that lets any deployment customize what shows up in their visit summaries without changing Java code.
How it works (high level)
The module uses an XML → XSLT → Apache FOP → PDF pipeline (same infrastructure the module already uses for patient ID stickers). Each section of the visit summary — vitals, diagnoses, allergies, medications, labs, visit notes — is a pluggable component that implements the VisitSummarySection SPI.
This means:
-
Deployers can toggle sections on/off via config
-
Deployers can customize which concepts appear (e.g. which vitals to include) without touching code
-
External modules (like a billing module) can plug in their own sections just by implementing the interface and registering a Spring bean
-
The XSLT stylesheet controls layout, so facilities can adjust page sizes (A4/A5/A6), add their logo, and customize formatting
Key goals
-
A working, production-ready visit summary PDF accessible from O3’s patient chart
-
Pluggable section architecture using Spring SPI (
VisitSummarySection→TypedSection<T>→ concrete sections) -
Configurable via Initializer (concept references, section toggles, ordering)
-
Clinical safety: clear distinction between “no data recorded” and “data fetch failed” in the PDF output
-
Frontend print button integrated into O3’s visit detail view
Resources
- Project Wiki
- Jira Epic — O3-5667
- The First PR — O3-5668: Core visit summary pipeline with patient info and vitals
Thank you to my mentors @wikumc and @nethmi, and to the community for all the support so far ![]()
Looking forward to a great summer of building and learning! ![]()
cc: @wikumc @nethmi @ibacher @dkayiwa @veronica @dennis @jayasanka @bawanthathilan @beryl