I Use This!
Activity Not Available

Project Summary

EBMI is a medical computer simulation framework that integrates three kinds of knowledge: (1) risk estimates derived from patient data, (2) comparative-effectiveness estimates obtained from randomized clinical trials (RCTs), and (3) genetic knowledge from basic research. Using patient data creates risk-predictions that are personalized and precise, while avoiding the biases that arise when real-world patients and doctors are assumed to act and prescribe as research participants do. The direct use of RCT results maximizes the validity of assumptions about treatment effects, while allowing immediate modification of these assumptions when unexpected new trial results appear.

EBMI was developed at the Kaiser Permanente Center for Health Research with support from the National Library of Medicine, Kaiser Permanente, the Agency for Healthcare Research and Quality, and several pharmaceutical companies, including Takeda Pharmaceuticals-North America and Merck and Co. Kaiser Permanente made EBMI free and open-source in June, 2009, under the GLP2 license.

EBMI currently simulates only type 2 diabetes. It predicts how changes in treatments will alter the occurrence of 25 complications of type 2 diabetes, over any specified span of time, for an individual or for a population of individuals. When used in its clinical-prioritization mode, EBMI identifies and simulates all of a patient’s available treatment options and generates a ranked list to assist clinical decision-making, based on quality-adjusted life-expectancy or another user-chosen criterion.

EBMI is a highly transparent program that simply calculates the logical consequences of available clinical trial evidence for particular patients. The user, not the model, specifies all treatment effects, hopefully using meta-analyses of randomized clinical trials or other sources of evidence. The model generates risks of events—outpatient diagnoses, hospitalizations, treatments, and death–from analyses of real-world data taken from the same population in which the model will be used. Rates for events are initialized at baseline using data on each patient’s medical history, genetic characteristics, age, sex, duration of diabetes, risk factor levels, and treatments already in use. As it simulates, the model modifies these rates each quarter in response to changes in treatment, aging, and the occurrence of new medical events. The user can make rules governing downstream treatment changes (initiation, intensification, and discontinuation), conditional on blood glucose, blood pressure, or lipid levels; on physician adherence to treatment protocols; on patient adherence to physician recommendations; on treatment failure; and on the occurrence of events, such as an MI, which could trigger beta-blocker therapy. Virtually all assumptions about genetic effects, treatment effects, treatment pathways, treatment protocols, adherence, costs, and quality of life can be set by any non-programmer from user-friendly interfaces. In practice, because of their number, most assumptions are stored in run settings files and uploaded as a set. A default set of assumptions is also provided.

Currently, EBMI is written in Visual Basic to run in the Microsoft .NET environment on any Windows-compatible computer. It uses a 90-day (quarterly) fixed simulation cycle, an interval chosen because major cardiovascular events rarely occur more than once every 90 days, and virtually never more than twice, and because persons with chronic illness see their primary care physicians about 4 times a year, which helps in emulating clinical decision-making. 90 days is a shorter cycle than other fixed-time disease models use. By using a shorter cycle, a limitless number of events and treatments can easily be made to interact, because intra-period interactions do not need to be modeled and sequenced. From baseline data, EBMI establishes an initial quarterly rate for each event. Each quarter, EBMI converts each rate to a probability and “rolls the dice” (draws a random number) to see if any new events will occur. If a treatment is changed, or if a new event does occur, EBMI moves the affected event-rates up or down to account for the effects of these changes. When the simulated patient “dies,” this process is repeated for another simulated life until, after hundreds or thousands of simulated lives per patient, stable mean estimates emerge. When EBMI is used to prioritize treatments, this process also repeats across treatment options, until all open treatment options have been simulated and ranked. When EBMI is used to simulate treatments in a population, the process repeats until all persons in the population have been simulated.

EBMI incorporates the effects of new treatments and other downstream changes in the form of relative-risk (risk-ratio) multipliers. Any number of risk-ratios can be multiplied together, assuming the risks are independent of each other. The use of multiplicative adjusters makes EBMI extremely flexible and easy to modify. It also allows the relative-risk results of clinical trials and genetic studies to be used directly and transparently, almost “right out of the box.”

This simple approach, calculating an absolute rate once and then adjusting it with multipliers over time, has an extremely useful characteristic, namely, that the equations that set the initial rate can be completely independent from the multipliers later used to modify the rate. This allows all sorts of locally available data to “naively” but precisely predict the initial rate, without having to care whether the equation behind the rate provided a “true model” of how predictors cause events. The EBMI approach also gives complete control over risk-function specification, which lets the statistical analyses exactly match the simulator’s architecture. Using local data to calculate risks also grounds the simulator in the data that actually exist in the place it will be used, which ensures that variables signify the same thing in the simulator that they signify to local doctors. Finally, when local data are voluminous, using local data permits a fine individualization of risk, which further increases accuracy and safety, and avoids the biases that are introduced by trying to predict real-world behavior from the behavior of study volunteers and research doctors. Because EBMI was explicitly designed for real-world clinical use, EBMI treatments match actual compounds and available dosages that doctors actually prescribe. For type-2 diabetes, we programmed 43 treatment classes, including behavioral treatments like smoking cessation, as well as drugs. The drug-class, ACE_Inhibitor, for example, includes benazepril hcl, captopril, enalapril maleate, fosinopril sodium, lisinopril, moexipril hcl, quinapril hcl, ramipril, and trandolapril. Each drug-class has a reference drug and specified dosages. The reference drug for ACE_Inhibitor is lisinopril, with 5 dose levels: 5 mg, 10 mg, 20 mg, 40 mg, and 80 mg per day. The potencies of all other drugs in each class are calibrated in terms of the reference drug’s dosages. EBMI has rules to recognize what level of each drug-class patients are taking when they enter the model, based on refill frequency and days-supply.


cardiovascular cvd diabetes evidence heartattack heartfailure medicine mi myocardialinfarction neuropathy pad renal retinopathy simulation stroke

In a Nutshell, ebmi...

 No code available to analyze

Open Hub computes statistics on FOSS projects by examining source code and commit history in source code management systems. This project has no code locations, and so Open Hub cannot perform this analysis

Is this project's source code hosted in a publicly available repository? Do you know the URL? If you do, click the button below and tell us so that Open Hub can generate statistics! It's fast and easy - try it and see!

Add a code location

GNU General Public License v2.0 or later

Place Warranty

Commercial Use





Hold Liable


Distribute Original

Disclose Source

Include Copyright

State Changes

Include License

These details are provided for information only. No information here is legal advice and should not be used as such.

All Licenses

This Project has No vulnerabilities Reported Against it

Did You Know...

  • ...
    Black Duck offers a free trial so you can discover if there are open source vulnerabilities in your code
  • ...
    anyone with an Open Hub account can update a project's tags
  • ...
    65% of companies leverage OSS to speed application development in 2016
  • ...
    check out hot projects on the Open Hub

 No code available to analyze

Open Hub computes statistics on FOSS projects by examining source code and commit history in source code management systems. This project has no code locations, and so Open Hub cannot perform this analysis

Is this project's source code hosted in a publicly available repository? Do you know the URL? If you do, click the button below and tell us so that Open Hub can generate statistics! It's fast and easy - try it and see!

Add a code location

Community Rating

Be the first to rate this project
Click to add your rating
Review this Project!
Sample ohloh analysis