TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published


npm version CircleCI An unofficial javascript port of the ClinRisk QDiabetes 2018 algorithm, with typescript typings


Inputs are as follows:

// Age at study entry (baseline)
  age: number,

  // Second generation “atypical” antipsychotic use (including amisulpride, aripiprazole, clozapine, lurasidone,
  // olanzapine, paliperidone, quetiapine, risperidone, sertindole, or zotepine)
  atypicalAntipsychotics: boolean,

  // Corticosteroid use (British National Formulary (BNF) chapter 6.3.2 including oral or parenteral prednisolone,
  // betamethasone, cortisone, depo-medrone, dexamethasone, deflazacort, efcortesol, hydrocortisone,
  // methylprednisolone, or triamcinolone)
  corticosteroids: boolean,

  // Treated hypertension (diagnosis of hypertension and treatment with at least one antihypertensive drug)
  treatedForHypertension: boolean,

  // Body-mass index
  bmi: number,

  // Ethnic origin
  // 0: White or not stated
  // 1: White or not stated
  // 2: Indian
  // 3: Pakistani
  // 4: Bangladeshi
  // 5: Other Asian
  // 6: Black Caribbean
  // 7: Black African
  // 8: Chinese
  // 9: Other ethnic group
  ethnicity: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9,

  // Family history of diabetes in a first degree relative
  familyDiabetes: boolean,

  // Diagnosis coronary heart disease in a first degree relative aged less than 60 years
  cardioVascularDisease: boolean,

  // Smoking status (0: non-smoker, 1: former smoker, 2: light smoker (1-9/day), 3: moderate smoker (10-19/day), or 4: heavy smoker (≥20/day))
  smokerCategory: 0 | 1 | 2 | 3 | 4,

  // Diagnosis of schizophrenia or bipolar affective disorder
  schizophreniaOrBipolar: boolean,

  // Learning disabilities
  learningDisabilities: boolean,

  // Prescribed statins
  prescribedStatins: boolean,

  // Fasting blood glucose level (optional - preferred)
  fastingBloodGlucoseLevel?: number

  // Glycated haemoglobin (HBA1c) value as a DCCT percentage (optional - used if fastingBloodGlucoseLevel unavailable)
  hba1c?: number

  // Glycated haemoglobin (HBA1c) as an IFCC value (optional - used if fastingBloodGlucoseLevel unavailable)
  hba1cIfcc?: number

  // as measured by the Townsend score, where higher values indicate higher levels of material deprivation
  townsendDeprivation: number,

  // (Females only) Diagnosis of gestational diabetes
  gestationalDiabetes: boolean,

  // (Females only) Diagnosis of polycystic ovary syndrome
  polycysticOvarySyndrome: boolean,


This code is released under AGPL 3.0. See LICENSE

Additional terms

The following disclaimer must be held together with any risk score score generated by this code.

If the score is displayed, then this disclaimer must be displayed or otherwise be made easily accessible, e.g. by a prominent link alongside it.

The initial implentation, to be found at http://qdiabetes.org, faithfully implements QDiabetes-2018. ClinRisk Ltd. have released this code under the GNU Affero General Public License to enable others to implement the algorithm faithfully. However, the nature of the GNU Affero General Public License is such that we cannot prevent, for example, someone accidentally altering the coefficients, getting the inputs wrong, or just poor programming. ClinRisk Ltd. stress, therefore, that it is the responsibility of the end user to check that the source that they receive produces the same results as the original code found at http://qdiabetes.org. Inaccurate implementations of risk scores can lead to wrong patients being given the wrong treatment.

End of additional terms



Package Sidebar


npm i qdiabetes-2018

Weekly Downloads






Unpacked Size

80.3 kB

Total Files


Last publish


  • rh389