Diabetes Management Module User Guide


For an overview visit ?Diabetes Management Module.


The ?Medical Problem Module must be running prior to installing this module.

An Important Note on Concepts

In order to properly function, this module requires certain concepts to be present in your concept dictionary. Unfortunately, in the current state of OpenMRS, these concepts cannot be automatically added to your dictionary due to the risk of creating duplicates. Therefore, you should check your installation's concept dictionary for existing concepts and add missing ones manually.

The concepts required by this module are (concept name [archive:concept class / datatype]):

  • diabetes mellitus type 1 [archive:Diagnose / N/A] +
  • diabetes mellitus type 2 [archive:Diagnose / N/A]
  • systolic blood pressure [archive:Test / Numeric] +
  • diastolic blood pressure [archive:Test / Numeric] +
  • blood glucose [archive:Test / Numeric] +
  • glycosylated hemoglobin (HbA1c) [archive:Test / Numeric]
  • total cholesterol [archive:Test / Numeric] +
  • high-density lipoprotein cholesterol [archive:Test / Numeric] +
  • low-density lipoprotein cholesterol [archive:Test / Numeric] +
  • triglycerides [archive:Test / Numeric] +
  • creatinine [archive:Test / Numeric] +
  • sodium [archive:Test / Numeric] +
  • potassium [archive:Test / Numeric] +

+ This concept should already exist in your dictionary if you use the default OpenMRS dataset.

Concept Mapping

Once all the necessary concepts are in your dictionary, they have to be mapped via settings (formerly global properties from platform 1.8 downwards) for the module to use. For that purpose, this module adds a configuration page where you can map the appropriate concepts via OpenMRS' concept search tool. (Unfortunately, this page does not work properly yet. You will have to map your concepts manually.)

Alternatively, you can assign concept IDs on the settings (formerly global properties from platform 1.8 downwards) management page (Administration ? Manage Settings (formerly Global Properties from platform 1.8 downwards). Look for properties that have the pattern “diabetesmanagement.concept.<concept_abbreviation>”. Check the messages.properties file to look up the concept abbreviations used by this module.

Insulin Type Management

To run glucose-insulin metabolism simulations offered by this module, at least one insulin preparation type with corresponding absorption parameters must be defined on the insulin type management pages (Administration ? Manage Insulin Types). When the module is first loaded, four basic preparation types (regular, NPH, lente, ultralente) are automatically added to the database.

To add more preparation types, you can open a new insulin type form by clicking on the “Add new insulin type” link on the insulin type list page. However, you must provide their numerical absorption parameters. These parameters are:

  • S (time course of absorption)
  • A, B (parameters to characterize dependency of time interval to permit 50% of injected dose to be absorbed)

In addition, each insulin type can be assigned a drug concept that represents that type. This, however, has no effect at this point.

Glucose-Insulin Metabolism Simulation

ATTENTION: Due to an unknown calculation error, the amplitude of at least the plasma insulin curve is always wrong. If you are familiar with this matter, any help will be appreciated (source code).


  • The glucose-insulin metabolism simulation functionality is based on the Lehmann/Deutsch simulation model (also used by the AIDA simulation software). The authors of this model explicitly describe it as too simple to be be used as an aid in clinical decision making. Therefore, it should be used for educational purposes only. This module attempts to imitate the functionality of AIDA Online as closely as possible. However, as the source code to the AIDA implementation is not publicly available, we cannot guarantee full comparability.
  • To be able to run simulations, at least the concept for blood glucose (diabetesmanagement.concept.glu) must be mapped and at least one insulin type (see Insulin Type Management) must be defined.

To run a simulation, go to the simulation page (Administration ? Glucose-Insulin Simulation), see Figure 1. Before running a simulation, you can enter a number of factors for the simulation.http://archive.openmrs.org/wiki/Image:Screenshot_diabetesmanagement_simulation_tagged.pngFigure 1: Simulation page
The following factors that will influence the metabolism behavior can be entered on this page:

  1. The patient's weight
  2. Time (hhmm)+ and carbohydrate intake (g) of up to six meals for the day
  3. Type of insulin injections (see “Insulin Type Management”), up to two per simulation
  4. Time (hhmm)+ and dosage (units) of insulin injections; note that both types can be administered simultaneously as a combination
  5. Pre-defined values for kidney threshold and function
  6. Pre-defined values for liver and peripheral insulin resistance

+ Please adhere to the exact time format (i.e. '0800' rather than '8:00').http://archive.openmrs.org/wiki/Image:Screenshot_diabetesmanagement_simulation_graphs.pngFigure 2: Simulation result graphs
After pressing the 'Run Simulation' button (7), the simulation result graphs will be appear on top of this page. The result set will consist of the graphs for plasma glucose (Figure 2)and plasma insulin, as well as a graphical representation of the meals and insulin injections entered into the input fields prior to the simulation run. If you have defined normal and critical value ranges for the concept representing blood glucose in your concept dictionary and mapped that concept properly (see Concept Mapping), the blood glucose result graph will have abnormal and critical value ranges highlighted in different colors.

Afterward, you can modify parameters (directly underneath the graphs) and run a second simulation. The graphs will then display results for both the new and the previous simulation runs (the blue curves represent the previous run) for easy comparison.

For further details on the simulation model and the individual parameters please visit http://www.2aida.org.

Note: Patients are also able to run simulations (with their own parameters, if available as observations). A link to the simulation page is automatically added to the 'Patient Panel'.

Observation Entry for Patients

This module utilizes the system acccess functions for patients provided by the Medical Problem Module. It adds new data entry forms to the 'Patient Panel' (linked from the gutter on top of any OpenMRS page), including blood glucose readings. Details on giving your patients system access are provided in the Medical Problem Module User Guide.