Version History

Current version: v1.6.0

1.6.0 - 27 Oct 2026
- One page per calculator, replacing the single multi-calculator page: /qrisk3, /qrisk3-lifetime,
  /qrisk4, /qdiabetes, /qfracture, /qadmissions-frailty, /oesophageal-cancer, /fib4 and /qcancer, each
  with its own information page, and a sitemap. The multi-calculator page is parked, not deleted:
  MultiCalculatorEnabled (default false) sends /run to the calculator named, or to the list.
- The forms as agreed with Julia Hippisley-Cox and David Stables on 22 Sep 2026: drop-downs start on
  "Please select" with no defaults; the nine ethnic groups the engines use; conditions in two columns in
  Julia's order; questions that apply to one sex greyed out for the other; systolic blood pressure as
  one box with an optional standard deviation; each value checked against the calculator's range as it
  is entered. QR4 is named QRISK4.
- Results: a plain headline sentence first, worded about "the risk" rather than "your risk"; the
  comparison is a reference person (the same age, sex and ethnic group, no adverse risk factors), with
  the relative risk; a note under each score; any assumed values named beside the score.
- QRISK3 Lifetime works as qrisk.org/lifetime does: lifetime risk to 99 first, the risk to the age
  chosen beneath it. QAdmissions Frailty offers 1 or 2 years, default 2.
- QCancer offered, on EP Services 2.6.9: two tables, the 2-year risk of a cancer as yet undiagnosed and
  the 10-year risk of developing each cancer, with no faces picture.
- QDiabetes, on EP Services 2.6.10: blood pressure is no longer asked for, and a blank blood test is
  no longer filled in as 4.0 / 30. The page asks for a fasting blood glucose or an HbA1c, or both, and
  will not score without one (David Stables, 27 Oct 2026). With only an HbA1c it is now used.
- Information pages for QCancer, QRISK4, Oesophageal Cancer and FIB-4, and the Publications page
  grouped by product with QCancer, FIB-4 and the oesophageal cancer paper added.
  The QRISK4 information page gives the age range as 18 to 84, as the calculator does (Julia
  Hippisley-Cox, 10 Nov 2026).
- No cookies: values are kept only while moving between calculators on the page.
- BUGFIX (the live multi-calculator page): the lifetime headline was the year-9 risk labelled "12
  years"; Frailty was labelled "within the next 10 years" and showed the 1-year answer when the engine
  refused 10; a fast result could be replaced by a spinner by the preflight check; a page could open
  filled in with the previous patient from the saved-form cookie.
- Linked to EP Services 2.6.10.

1.5.2 - 23 Aug 2026
- BUGFIX: the FIB-4 calculator never returned a result. Submitting it showed a validation badge and
  then a spinner that never resolved; the request behind it was failing with a server error. FIB-4 has
  been offered on the calculator since it was re-linked to EP Services 2.6.7, so it has not worked at
  any point since going back on the list.
  Cause: an engine whose score has no year dimension must be called once, not looped over prediction
  years 1 to 10. FIB-4 was removed from that list on 29 June, when the calculator was rolled back to
  EP Services 2.4.0 because FIB-4 was not ready to go live, and was never put back when the calculator
  moved forward again. It was therefore being run ten times, producing ten results that all collapsed
  onto the same key, and assembling them threw. The preflight request hid the fault, because that path
  builds a single result and succeeds - which is why a validation badge appeared before the spinner.
- All eight calculators were re-checked end to end after the fix, each driven with a real row from its
  own reference data: QRisk3, QDiabetes, Oesophageal cancer, QR4, QFracture, QRisk3 Lifetime and
  QAdmissionsFrailty all score and chart exactly as before, and FIB-4 now returns its score and
  interpretation.

1.5.1 - 23 Aug 2026
- BUGFIX: the QRisk3 Lifetime calculator returned an error page instead of a result. It failed for every
  valid patient; the only input that did not fail was an invalid one, which validation rejected before
  reaching the fault. Introduced when the calculator moved to EP Services 2.6.7 and present on UAT only -
  production was never affected because it was still on 2.6.3-and-earlier services.
  Cause: from EP Services 2.6.3 each point on a lifetime curve carries its own score id ("?ageplus=N"),
  where every point previously shared the one score id. The results view grouped on that id, so a single
  45-point curve became 45 one-point groups, and each group's id then had no matching entry in the
  engine's score metadata. The view now groups on the base score id, which both restores the lifetime
  chart and makes the lookup resolve.
- A score id with no matching metadata entry, or a calculator name that is unknown or parked, now
  produces a "not found" rather than an error page. The results view and the results endpoint were both
  missing the guard the calculator page already had.

1.5.0 - 21 Aug 2026
- Linked to ep_services 2.6.7 (the calculator was on 2.4.0)
- QCancer wired into the calculator, ready for the day the engine is un-parked. It is not offered while EP Services reports it as disabled
- The engine list now honours the Enabled flag from EP Services, so a parked engine is no longer offered anywhere on the calculator
- Added end-to-end browser coverage for the QR4 and QFracture calculators

1.4.0 - 29 Jun 2026
- Re-wired to services 2.4.0 - Fib4 is not ready to go live yet

1.3.0 - 07 Jun 2026
- Linked to ep_services 2.5.0
- Wired in the FIB-4 Liver Fibrosis Score, a new single-score engine (single-score and multi-year engines now handled separately)
- Updated the multi-calculator results display to show single-score engine results
- Fixed a typo on the homepage

1.2.1 - 21 Apr 2026
- Linked to ep_services 2.4.0 (flexible input model)

1.2.0 - 15 Mar 2026
- linked to ep_services 2.3.0  - Introduction of QAdmissionsFrailty
- "Flatten" StDev to 40 if it's above 40, and change the messaging.
 - Fix to Bug when adding calcs (input was not refreshing)

1.1.6 - 01 Dec 2025
- linked to ep_services 2.1.1 Fixes Display Issue grouping Cardio calcs

1.1.5 - 18 Nov 2025
- make cardio distinct (e.g. can only have one of qr3, qr4, qr3 lifetime)
	When selecting "Cardiovascular Risk", the other engines can still be selected, but we'll need some kind of Radio button, since they should only use one at once in that group
- default townsend (0) if postcode missing (allow null postcode)
- manual townsend - allow input, dropdown
- allow only one sys blood pressure reading, validate as so.
- auto scroll up to any error, popup to prompt inputs to be filled in? 
- When user clicks Submit we check for any blanks, and give them a "You left BMI blank, shall we use 22"  Yes/No modal, user can either go back and add the missing values, or accept our defaults.
- Place holders in the input boxes to show valid ranges
- Updates to Meta Model to include a ShortDesc for better display on web of the substitution boxes
- Acceptance disclaimer on calc selection

1.1.4 - Change townsend call to go via server side call not client to server

1.1.3 - Bump to services 2.0.10 to pickup the FBS change

x.x.x -	Lots of Dan updates with no version

1.1.2 - 07 Jul 2025 - Mass renaming of X05 to Oesophagealcancer

1.1.1 - 22 Mar 2025 - Linked to latest ep_services (1.21.0) ready to introduce QR4 

1.1.0 - 18 Feb 2025 - Addition of X05, linkage to ep_services 1.20.1

1.0.1 - 13 Jan 2025 - Moved Calcs JSON back into Web (from core) changed into a manifest resource

1.0.0 - 15 Oct 2024 - Initial Release with cookie links fixed