Docs Help Troubleshooting & FAQ
Help

Troubleshooting & FAQ

Most problems in EasyHTA come from the input data rather than the app. This page lists the issues you are most likely to hit at each stage of the workflow, what causes them, and how to fix them, followed by a short FAQ. If something here doesn’t match what you see, send us a note from the in-app Feedback button and tick “Can we contact you about this?” so we can follow up.

Uploading a curve (CSV)

The upload step reads a digitized Kaplan–Meier curve from a CSV. Almost every upload problem comes down to the file format or the data inside it.

What you seeWhyFix
The file is rejected and the columns can’t be readThe file isn’t a plain CSV, or the delimiter wasn’t recognisedSave the file as a plain .csv (comma, semicolon, tab, or pipe separated), not an .xlsx spreadsheet, then upload again.
“File not accessible, it may be stored in the cloud”The file is an online-only placeholder synced by OneDrive, iCloud, or similar, so its contents aren’t on disk yetIn your file explorer, right-click the file and choose “Always keep on this device” (or open it once to download it), then try the upload again.
Time or survival columns aren’t recognisedThe CSV doesn’t have a clear time and survival column, or the values aren’t numericProvide two numeric columns, time and survival. Headers are auto-detected, so order doesn’t matter, but the data must be numbers only. Don’t include patient identifiers or text labels.
Survival values are rejected as out of rangeSurvival is expected as a probability between 0 and 1, but the file holds percentages (for example 95 instead of 0.95)Divide the survival column by 100 so every value sits between 0 and 1.
The file is too large to acceptThe upload exceeds the size or row limitKeep the file under 10 MB and 10,000 rows. A digitized curve rarely needs more than a few hundred points; thin out very dense exports before uploading.

At-risk table & reconstruction

Reconstruction combines the digitized curve with the at-risk numbers from the publication. The inputs have to be internally consistent, so this is where most survival-workflow errors surface.

What you seeWhyFix
“At-risk values are required” or the format is rejectedThe at-risk field is empty or isn’t a plain list of numbersEnter the numbers at risk as comma-separated positive values, one for each reported time point. The form shows the exact times it expects (0, one step, two steps, and so on up to the max time).
The number of at-risk values doesn’t line upThe count of at-risk values doesn’t match the time grid implied by your max time and time stepMake sure you have one at-risk value per expected time point. Adjust the max time, the time step, or the list so they agree. A single trailing “0 at risk” is tolerated.
“Number at risk cannot exceed total sample size”An at-risk value is larger than the total patients you enteredCheck the at-risk row against the trial’s total N. The first at-risk value should equal (or be below) the total sample size.
Max time or time step is rejectedEither field is missing, zero, or negative; or the step is so small relative to the max time that the grid is enormousEnter positive values. If you see “too many grid points”, increase the time step or reduce the max time.
“Need at least 3 data points”Too few usable rows remain after cleaningDigitize more points along the curve, especially around the steps, and re-upload.
Reconstruction fails or times outAn internal step couldn’t produce a dataset, or a very large input ran past the time limitRetry with fewer points or a smaller time horizon. If it keeps failing, re-check the curve and at-risk inputs for inconsistencies.
The reconstructed curve drifts from the digitized one. This is almost always a mis-specified time step, for example entering yearly at-risk counts while the step is set to quarterly. Use the overlay and the validation checks (median-survival and at-risk differences) to confirm the two curves track each other. See The Guyot algorithm for why the time step matters.

Fitting parametric models

Each distribution is fitted independently, so one model’s trouble doesn’t stop the others.

  • A distribution is missing from the results table. That model failed to converge on your data, often because the data are sparse or the tail is awkward for that shape. The distributions that did converge are still shown and usable.
  • “All distribution fits failed”. This points to a problem upstream rather than with any single model. Revisit the reconstructed data: re-check the curve, the at-risk table, and the overlay before refitting.
Don’t pick a model on AIC/BIC alone. Statistical rank is a starting point, not a verdict. Judge each fit by the clinical plausibility of its extrapolated hazard. See Parametric distributions for guidance.

Budget Impact Analysis

BIA problems are usually validation blockers: the app won’t let you reach the results until the inputs are internally consistent.

What you seeWhyFix
“Must equal 100%” on the market-share stepThe shares across treatments don’t add up to 100%Adjust the shares, or use the “Normalize to 100%” button to rescale them automatically. In per-year mode, each year has to sum to 100% on its own.
Weight categories flagged, or the mean-weight field is lockedWeight-based dosing needs weight categories, and the category shares must sum to 100%Add weight categories that sum to 100% (each with a weight above 0). The single mean-weight field is intentionally disabled while categories are in use.
The time horizon is rejectedThe horizon is outside the allowed rangeEnter a whole number of years between 1 and 10.
You can’t reach the Results tabA validation rule isn’t met (market shares, time horizon, or a missing comparator)The inputs and scenario views flag the offending field in place. Resolve the highlighted item and the Results step unlocks.
Running without a comparator? When “no comparator” is enabled, the Current treatments panel is hidden and the market-share step is skipped. The Next button reads “Next: Results” and runs compute straight away.

Saving, account & sharing

What you seeWhyFix
“Autosaving…” then “Autosave failed”A background save couldn’t complete (often a brief network blip)Save manually, or reload and try again. Note that BIA autosaves when the project is created and when you compute, not on every input edit, so save before stepping away.
“This analysis was updated by another user”Someone else changed the analysis while you had it openReload the latest version before saving so you don’t overwrite their edits. Then re-apply your change.
The analysis is too large to saveThe saved project exceeds the storage size limitTrim very large analyses (for example reduce an unusually dense set of curve points) and save again.
The project is read-only and you can’t edit or computeYour trial or subscription has expired, or you’re viewing as a workspace viewerReactivate your subscription to edit or run new analyses. If you joined a workspace as a viewer, ask an owner or member for edit access (see Workspaces & collaboration).
A “Connection problem” banner appearsThe app couldn’t reach the serverUse the Retry button. If it persists, check your internet connection; it may also be a brief server outage.
“Failed to export to Excel”The export, which is generated in your browser, was interruptedClick export again. If it keeps failing, reload the page and retry.

FAQ

Do I need digitized curves for a Budget Impact Analysis?

No. BIA opens straight to an inputs form and needs no curves. Digitized KM data is only required for the survival templates (PSM and PSM-cure).

What file format do the survival curves need?

A plain CSV with two numeric columns, time and survival (survival as a probability between 0 and 1). Headers are auto-detected. The at-risk table is entered separately in the app, not in the CSV.

Why is one of my distributions missing from the results?

It failed to converge on your reconstructed data. That is usually a sign of sparse data or a tail shape the model can’t represent. The distributions that did converge are still fitted and shown.

Can I choose a model on AIC or BIC alone?

No. AIC and BIC rank fit against the observed data only; they say nothing about whether the extrapolated tail is plausible. Always weigh the clinical plausibility of the extrapolated hazard. See Parametric distributions.

My reconstructed curve doesn’t match the published one. What’s wrong?

Check the time step first. Entering at-risk counts at the wrong interval (yearly counts treated as quarterly, for example) is the most common cause of drift. Use the overlay to confirm the curves track each other. See The Guyot algorithm.

Can workspace viewers edit an analysis?

No. Viewers have read-only access. Owners and members can edit. Ask an owner or member to upgrade your access if you need to make changes. See Workspaces & collaboration for the full breakdown of roles.

My trial ended. Can I still see my work?

Yes. Expired projects become read-only, so you can still open and review them. Reactivate your subscription to edit or run new analyses.

Where do I get the variance–covariance matrix for PSA?

From the Excel export. Some outputs needed for probabilistic sensitivity analysis, including the full variance–covariance matrices, aren’t yet surfaced in the UI but are included in the exported workbook. See the Quickstart’s export step.

Are there limits on the files I upload?

Yes: up to 10 MB and 10,000 rows per CSV. Saved projects also have a storage size limit, which only very large analyses approach.

Parametric survival analysis and
cure-fraction modelling for health
technology assessment teams.

LinkedIn

Company


Graphics and branding by Ilari Ilvessalo · EasyHTA Oy 2026. All rights reserved.