Interactive medical timeline on a synthetic case
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.
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.
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.
| Date | End | Lane | Event | What the record says | Page |
|---|---|---|---|---|---|
| 2024-03-04 | Visit | Emergency department visit | Lifting injury at work. Low back pain into the left leg. Straight leg raise positive on the left. | p. 12 | |
| 2024-03-04 | Imaging | Lumbar X-ray | No fracture. Disc space narrowing at L5-S1. | p. 15 | |
| 2024-03-04 | 2024-04-15 | Medication | Ibuprofen 600 mg | Started in the emergency department, stopped at the 2024-04-22 visit note. | p. 13 |
| 2024-03-04 | 2024-03-25 | Medication | Cyclobenzaprine 5 mg | 21-day supply, not refilled. | p. 13 |
| 2024-03-04 | 2024-04-01 | Work status | Off work | Emergency department work note. | p. 14 |
| 2024-03-11 | Visit | Primary care visit | Suspected left L5-S1 radiculopathy. Referred to physical therapy. | p. 31 | |
| 2024-03-18 | 2024-05-10 | Therapy | Physical therapy, 14 visits | Discharge note: partial improvement, home exercise program. | p. 35 |
| 2024-04-01 | 2024-08-19 | Work status | Modified duty, 20 lb lifting limit | Primary care work note. | p. 40 |
| 2024-04-22 | Visit | Primary care follow-up | Numbness in the left foot persists. MRI ordered. | p. 44 | |
| 2024-05-06 | Imaging | Lumbar MRI | Left paracentral disc protrusion at L5-S1 contacting the S1 nerve root. | p. 58 | |
| 2024-05-06 | 2024-06-17 | Medication | Gabapentin 300 mg | Started after the MRI result call. | p. 59 |
| 2024-05-20 | Visit | Pain management consult | Plan: epidural steroid injection. | p. 71 | |
| 2024-06-10 | Procedure | Epidural steroid injection 1 | Left L5-S1 transforaminal approach. | p. 83 | |
| 2024-06-17 | 2024-09-30 | Medication | Gabapentin 600 mg | Dose raised by pain management; stop date from a pharmacy fill list. | p. 84 |
| 2024-07-15 | Procedure | Epidural steroid injection 2 | Partial pain relief reported after injection 1. | p. 97 | |
| 2024-08-19 | 2024-11-04 | Work status | Full duty | Employer return-to-work form, not a clinical visit. | p. 104 |
| 2024-11-04 | Visit | Primary care visit | Back pain and left leg numbness returned after lifting at home. | p. 112 | |
| 2024-11-04 | 2025-02-10 | Work status | Off work | Primary care work note. | p. 113 |
| 2024-11-25 | Imaging | Repeat lumbar MRI | L5-S1 protrusion larger than on 2024-05-06. | p. 126 | |
| 2024-12-09 | Visit | Spine surgery consult | Options discussed. Surgery scheduled. | p. 139 | |
| 2025-01-13 | Procedure | Left L5-S1 microdiscectomy | Operative report. | p. 152 | |
| 2025-01-13 | 2025-01-20 | Medication | Oxycodone 5 mg | 7-day post-op supply. | p. 158 |
| 2025-01-27 | Visit | Post-op visit | Incision healed. Leg pain improved. | p. 166 | |
| 2025-02-10 | 2025-04-04 | Therapy | Post-op physical therapy, 12 visits | Discharge note: goals met. | p. 170 |
| 2025-02-10 | 2025-05-05 | Work status | Modified duty | Surgeon work note. | p. 171 |
| 2025-05-05 | Visit | Surgeon follow-up | Released to full duty. | p. 181 | |
| 2025-05-05 | 2025-07-28 | Work status | Full duty | Same note as the follow-up visit. | p. 181 |
| 2025-07-28 | Visit | Surgeon follow-up | Treating 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
- 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.
- 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.
- 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.
- 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.
- 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.