WHO CVD risk score module?

Hi all, one of the projects I am involved with uses the WHO CVD risk score (see https://www.thelancet.com/journals/langlo/article/PIIS2214-109X(19)30318-3/fulltext). The score combines locale, patient age, gender, smoking status, diabetes status, systolic blood pressure and total cholesterol or body mass index to return a 10-yr risk for fatal and non-fatal cardiovascular disease which may be used to influence hypertension staging and medication. The current practice is to look up a patient’s 10-yr risk based on a page or two of printed tables and the requirement we are looking at is to calculate and display the score in the OpenMRS record if the relevant data are available.

Is there an existing OpenMRS solution for this use case that I can reuse?

1 Like

There is an existing solution for exactly this, but I wouldn’t recommend reusing it. Specifically, we added this function to the legacy form engine that uses one of those tables to calculate risk. It is, however, very hacky and limited to calculating the CVD risk score only for South East Asia. It is also restricted to only the “non-laboratory based charts”, which only operates on systolic blood pressure, BMI, gender, age, and smoking status.

A more general solution is the calculation module, though the documentation here is a little skimpy and it doesn’t help with when to trigger the calculation.

Just an FYI that there are two CIEL concepts 166856 for ASCVD risk from ACC and generic 163214 for CVD risk (numeric). I don’t know if there is an object that does the calculation

Thanks Ian, I’ll look at both the existing solution and generalising a solution for all of the tables using the calculation module. Ive found an existing transcription of the risk tables here: GitHub - DylanRJCollins/whoishRisk: whoishRisk R Package that may be reusable in the more general case.

Andy, I plan to put a collection together in ocl to reflect this activity.