This site is published by Medrecords AI, which makes 1 of the products it covers. We say which one wherever it appears. How we handle that.

Best AI Medical Timeline

Interactive medical timeline on a synthetic case

By Ahmed Jemaa, Co-Founder and CEO of Medrecords AI. Updated .

Short version: this is a working visual timeline of 1 synthetic case (no real patient): 28 dated records and 2 undated ones across 17 months. Turn lanes on and off, change the gap threshold, switch the axis to see how an evenly spaced axis shrinks the gaps, and flip to the table to compare the same facts in rows.

Limits: Tool facts come from each vendor's own website, read 2026-11-12; we have not used those products. The case on this site is synthetic, with no real patient.

The synthetic case: a back injury over 17 months

A 52-year-old warehouse worker (synthetic, no real patient) hurts their lower back lifting at work on 2024-03-04. Conservative care, an MRI, 2 epidural injections and a return to full duty follow. Symptoms come back in November 2024, a second MRI shows a larger disc protrusion, and a microdiscectomy follows in January 2025. The last record notes maximum medical improvement on 2025-07-28.

The file has 211 synthetic pages. Each event below carries the page it came from, the way a cited chronology would. 2 pages have no usable date. They sit in their own tray under the chart instead of being dropped or guessed.

Try the timeline: lanes, gaps and the axis switch

The interactive chart needs JavaScript. The full table of events is below and holds the same facts.

Lanes
Window
Gaps days
Axis
View
Swimlane timeline of the synthetic back injury case

Circles are visits, squares are imaging, diamonds are procedures, bars are spans (therapy courses, medications, work status). The dashed line is the date of injury, the key date. Shaded bands are gaps in contact longer than your threshold.

Synthetic case, no real patient. Click or tab to any mark to see the record and its page. Built in plain JavaScript and SVG, no library, no tracking.
Select an event. Its date, what the record says and the page cite appear here.

Undated records (2): handwritten pain diagram, no date (p. 207); faxed physical therapy intake form, date cut off by the fax header (p. 211). A timeline can't place these, so it must list them. A tool that drops them without saying so has hidden 2 pages from you.

The same case as a table

This is the table the chart is drawn from. Every fact in the chart is here too, so nothing depends on the script. Spans show a start and an end date.

DateEndLaneEventWhat the record saysPage
2024-03-04VisitEmergency department visitLifting injury at work. Low back pain into the left leg. Straight leg raise positive on the left.p. 12
2024-03-04ImagingLumbar X-rayNo fracture. Disc space narrowing at L5-S1.p. 15
2024-03-042024-04-15MedicationIbuprofen 600 mgStarted in the emergency department, stopped at the 2024-04-22 visit note.p. 13
2024-03-042024-03-25MedicationCyclobenzaprine 5 mg21-day supply, not refilled.p. 13
2024-03-042024-04-01Work statusOff workEmergency department work note.p. 14
2024-03-11VisitPrimary care visitSuspected left L5-S1 radiculopathy. Referred to physical therapy.p. 31
2024-03-182024-05-10TherapyPhysical therapy, 14 visitsDischarge note: partial improvement, home exercise program.p. 35
2024-04-012024-08-19Work statusModified duty, 20 lb lifting limitPrimary care work note.p. 40
2024-04-22VisitPrimary care follow-upNumbness in the left foot persists. MRI ordered.p. 44
2024-05-06ImagingLumbar MRILeft paracentral disc protrusion at L5-S1 contacting the S1 nerve root.p. 58
2024-05-062024-06-17MedicationGabapentin 300 mgStarted after the MRI result call.p. 59
2024-05-20VisitPain management consultPlan: epidural steroid injection.p. 71
2024-06-10ProcedureEpidural steroid injection 1Left L5-S1 transforaminal approach.p. 83
2024-06-172024-09-30MedicationGabapentin 600 mgDose raised by pain management; stop date from a pharmacy fill list.p. 84
2024-07-15ProcedureEpidural steroid injection 2Partial pain relief reported after injection 1.p. 97
2024-08-192024-11-04Work statusFull dutyEmployer return-to-work form, not a clinical visit.p. 104
2024-11-04VisitPrimary care visitBack pain and left leg numbness returned after lifting at home.p. 112
2024-11-042025-02-10Work statusOff workPrimary care work note.p. 113
2024-11-25ImagingRepeat lumbar MRIL5-S1 protrusion larger than on 2024-05-06.p. 126
2024-12-09VisitSpine surgery consultOptions discussed. Surgery scheduled.p. 139
2025-01-13ProcedureLeft L5-S1 microdiscectomyOperative report.p. 152
2025-01-132025-01-20MedicationOxycodone 5 mg7-day post-op supply.p. 158
2025-01-27VisitPost-op visitIncision healed. Leg pain improved.p. 166
2025-02-102025-04-04TherapyPost-op physical therapy, 12 visitsDischarge note: goals met.p. 170
2025-02-102025-05-05Work statusModified dutySurgeon work note.p. 171
2025-05-05VisitSurgeon follow-upReleased to full duty.p. 181
2025-05-052025-07-28Work statusFull dutySame note as the follow-up visit.p. 181
2025-07-28VisitSurgeon follow-upTreating surgeon records maximum medical improvement.p. 194

Synthetic case, built for this site on 2026-11-12. No real patient, provider or facility. Page numbers refer to the synthetic file.

What to look for when you use it

  1. Find the gap. With the default 60-day threshold, 2 bands appear: 112 days from 2024-07-15 to 2024-11-04, and 84 days from 2025-05-05 to 2025-07-28. Raise the threshold to 90 and only the first remains. In the table, the same gap is 2 rows that happen to sit next to each other. You have to subtract the dates to see it.
  2. Switch to the evenly spaced axis. The 84-day gap becomes exactly as wide as the 7 days between 2024-03-04 and 2024-03-11, and the 112-day gap shrinks to 3 of those steps, because unrelated dates (a work-status change, a drug stop) fall inside it. Some tools and many hand-made slides space events evenly because it looks tidy. It also erases the one thing a reviewer most needs to see: how long nothing happened.
  3. Read the medication lane. The gabapentin dose change shows as 2 bars that meet on 2024-06-17. Overlaps (ibuprofen with cyclobenzaprine, oxycodone after surgery) are visible at a glance. In the table, you would line up start and end dates across rows.
  4. Compare work status with visits. Full duty from 2024-08-19 overlaps the visit gap. The work-status change comes from an employer form, not a clinical visit, which is why it doesn't close the gap. A timeline that treats every dated page as contact would hide that.
  5. Look for an exact date. Try to read the date of the second MRI off the chart. You can't without clicking. Then find it in the table. That's the trade-off the research describes: timelines win on intervals and overlaps, tables win on exact dates. See timeline vs table.

How it's built, and what that means for tools you buy

The chart reads the table above and draws plain SVG. The dates set the position, so the picture can't disagree with the rows. That's the standard to hold a commercial tool to: the visual should be drawn from the cited table, never typed or edited separately from it. If a vendor's graphic timeline can be edited by hand without changing the cited rows, the 2 can drift apart before you sign anything.

The build-your-own page has a copy of this approach as a template: a CSV with 6 columns and a single HTML file you can run offline, so no patient data goes to a public service.