← All projects
ProductsLive in production

Ultrasound Report Generator — clinical reporting web app

Doctors select an examination, enter patient details and findings, then generate, save and print a formatted ultrasound report without rebuilding it from scratch.

Turns a repetitive manual reporting process into a reusable workflow — patient details, findings and measurements flow directly into a print-ready clinical report.

Open it live Live app

TypeClinical workflow tool — production
RoleSole engineer
StatusLive
Use caseUltrasound reporting
OutputA4 printable report / PDF
Livedoctor-report-generator.kanwalkumar.com
Stack5 technologies
The system running
Workflow or admin view

What it is

A browser-based ultrasound reporting system built for doctors who repeatedly create reports from the same examination structures. The doctor selects an examination, enters the patient's details, chooses the relevant findings, fills in measurements where required and sees the finished report update alongside the form. The completed report can then be saved to history, reopened later or printed as an A4 report.

The problem it solves

Ultrasound reports contain a large amount of repeated structure. Doctors often write the same organ findings, examination headings, hospital details and signature information again and again, while only a small part of each report changes for the individual patient. That makes reporting slower and also makes formatting inconsistent. I built the system so the reusable parts are configured once and the doctor only handles the information that changes for each patient.

How it works

  1. A report workspace where the doctor selects the examination and report title before entering patient information.
  2. Structured patient fields for name, referral information, date, age and sex, which are automatically placed into the formatted report.
  3. A reusable findings system where sections such as Liver, Kidneys, Pancreas, Spleen, Bladder and other examination findings can be enabled or excluded from an individual report.
  4. Pre-written finding phrases so common normal or abnormal findings can be selected instead of typed repeatedly, while still allowing the doctor to edit the text when a case needs something different.
  5. Support for report-specific values and measurements, allowing the doctor to fill placeholders such as organ dimensions and volumes directly from the reporting interface.
  6. A live report preview that updates while the doctor works, so the final printed document can be checked before it is saved or printed.
  7. A print-ready A4 layout containing the hospital letterhead, patient information, examination findings and the doctor's signature and credentials.
  8. Report history with patient/date search, allowing previous reports to be reopened and reprinted instead of recreated.
  9. A clinic settings area where the hospital name, department and logo can be configured once and reused automatically on future reports.
  10. A configurable doctor signature block with the doctor's name and multiple credential lines printed automatically at the bottom of reports.
  11. A reusable finding library where report sections and their available phrases can be created, edited, enabled or disabled.
  12. A configurable examination library where different ultrasound examination types can have their own report titles, findings and section order.
The system, step by step
Select examinationTemplateEnter patient detailsPatientChoose findingsFindingsAdd measurementsValuesPreview reportPreviewSave or printOutput
Click any step to see what it does and why it is built that way.

The interesting problem

The main challenge was making the system flexible enough for different ultrasound examinations without building a separate form for every report type. Examinations, findings and report sections are configurable, so the doctor can reuse the same reporting system while each examination still has its own structure.

What I would do differently

I would continue improving the template system and make examination configuration even more flexible, so new report types and specialised fields can be added without changing the application code.

Built with

Web AppDynamic FormsReport GenerationPrint / PDFPersistent Storage

See the other projects Ask me about this one