Preparing KM coordinates
The survival templates (PSM and PSM-cure) need two inputs from the published trial: digitized (time, survival) coordinates and the numbers-at-risk table. The quality of these two inputs sets the ceiling on reconstruction fidelity, so it pays to prepare them carefully before uploading.
What you need from the publication
Before you start, find these in the paper or its supplement:
- The Kaplan–Meier figure for the arm you want to model, as a clear image (vector PDF or a high-resolution screenshot).
- The numbers-at-risk table printed beneath the curve, with the time points it reports.
- The total sample size (N) for the arm.
- The total number of events, if reported. This is optional but improves the reconstruction by constraining inferred censoring.
- The time unit (months or years), so your coordinates and at-risk interval are consistent.
Digitizing the curve
Digitizing turns a picture of the curve into numeric coordinates. Any plot digitizer works; a common free choice is WebPlotDigitizer. Whichever tool you use, the steps are the same:
- Calibrate the axes. Mark two known points on each axis (for example survival 0 and 1 on the y-axis, and two time labels on the x-axis) so the tool can map pixels to values.
- Capture the origin. Make sure you have a point at
time = 0, survival = 1; survival curves start at 1. - Sample enough points, especially around steps. Place a point just before and just after each visible drop so the step pattern is preserved. Smooth stretches need only a few points.
- Export to CSV with time and survival columns.
CSV format
The upload needs a plain CSV with just two numeric columns, time and survival (survival as a probability between 0 and 1). Headers are auto-detected, so column order and extra columns don’t matter.
- Save as a plain
.csv(comma, semicolon, tab, or pipe separated), not an.xlsxspreadsheet. - Survival must be a probability between 0 and 1. If your tool exported percentages (for example 95 instead of 0.95), divide the column by 100.
- Numbers only: no patient identifiers or text labels.
- The at-risk table does not belong in the CSV; it is entered separately in the app (see below).
- Keep the file under 10 MB and 10,000 rows.
The at-risk table
The numbers at risk are entered in the app during reconstruction, not in the CSV. They tell the Guyot algorithm how many patients remained in follow-up at each reported time, which is what makes patient-level reconstruction possible.
- Read the counts at the interval the publication reports (the time step, often 3, 6, or 12 months).
- Enter one value per grid point: time 0, one step, two steps, and so on up to the max time. The form shows the exact times it expects.
- The first at-risk value should equal (or be below) the total sample size N.
- A single trailing “0 at risk” is tolerated.
Pre-upload checklist
- Survival values are probabilities between 0 and 1, not percentages.
- The origin (
time 0, survival 1) is captured. - There are points just before and after every visible step.
- The at-risk interval matches the time step you will enter.
- The first at-risk value is at or below total N.
- Time units are consistent between the curve and the at-risk table.
LinkedIn