FP7-288209 EMPOWER
1 / 103
Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1
Project title: Support of Patient Empowerment by an intelligent self-management pathway for patients
Project acronym: EMPOWER Project identifier: FP7-ICT-2011-288209 Project instrument: STREP Web link: www.empower-fp7.eu Dissemination level: PU (public) Contractual delivery: 2014-01-31 Actual delivery: 2014-01-29 Leading partner: SRDC
FP7-288209 EMPOWER
2 / 103
Document History
Version Date Changes From Review
V0.1 January 3
rd
2014 Initial Document SRDC All Partners
EMPOWER Consortium Contacts
Beneficiary Name Phone E-Mail
SRFG Manuela Plößnig +43 662 2288 402 [email protected]
HMGU Claudia Hildebrand +49 89 3187 4182 [email protected]
GOIN Siegfried Jedamzik +49 8 41956161 [email protected]
USI Peter J. Schulz +41586664724 [email protected]
SRDC Asuman Dogac +90 312 210 13 93 [email protected]
ICOM Ilias Lamprinos +302106677953 [email protected]
MOH Unal Hulur +903125851907 [email protected]
FP7-288209 EMPOWER
3 / 103
Table of Contents
1 Summary ........................................................................................................................................ 7
2 EMPOWER in a Nutshell .............................................................................................................. 7
3 PURPOSE ...................................................................................................................................... 8
4 REFERENCE DOCUMENTS ....................................................................................................... 8
5 INTRODUCTION ........................................................................................................................... 9
6 RECOMMENDER ENGINE ........................................................................................................ 11
6.1 Components ......................................................................................................................... 12
6.1.1 Recommender Engine Model ...................................................................................... 12
6.1.2 Recommender Engine Service (Controller) ............................................................... 17
6.1.3 Recommender Engine REST Interface ...................................................................... 21
6.1.4 Recommender Engine Front End (View) ................................................................... 21
7 GUIDELINE EDITOR .................................................................................................................. 25
7.1 GUIDELINE STRUCTURE ................................................................................................. 25
7.1.1 Step Structure ............................................................................................................... 26
7.2 GUI COMPONENTS ........................................................................................................... 28
7.2.1 Top Menu ...................................................................................................................... 28
7.2.2 Clear .............................................................................................................................. 31
7.2.3 Undo .............................................................................................................................. 32
7.2.4 Redo .............................................................................................................................. 32
7.3 Editor Mode Tabs ................................................................................................................ 32
7.3.1 XML Mode ..................................................................................................................... 32
7.3.2 Diagram Mode .............................................................................................................. 42
7.4 TUTORIAL ............................................................................................................................ 50
8 IMPLEMENTED GUIDELINES................................................................................................... 59
8.1 Anithyperglycaemic therapy of type 2 diabetes................................................................. 59
8.2 Diagnosis of type 2 diabetes in Turkey .............................................................................. 61
8.3 Treatment of type 2 diabetes in Turkey ............................................................................. 62
8.4 Diabetes Guideline for Monitoring of the Diabetes Patients in Turkey ............................ 64
9 APPENDICES .............................................................................................................................. 78
9.1 Guideline XSD Definition ..................................................................................................... 78
FP7-288209 EMPOWER
4 / 103
9.2 Anithyperglycaemic therapy of type 2 diabetes................................................................. 80
9.3 Diagnosis of type 2 diabetes in Turkey .............................................................................. 87
9.4 Treatment of type 2 diabetes in Turkey ............................................................................. 89
9.5 Diabetes Guideline for Monitoring of the Diabetes Patients in Turkey ............................ 95
Table of Figures
Figure 1 Recommender Engine Diagram................................................................................................. 11
Figure 2 Recommender Engine Model.................................................................................................... 16
Figure 3 RecommenderEngineService Interface ..................................................................................... 17
Figure 4 RecommenderEngineService Implementation .......................................................................... 18
Figure 5 Guideline package .................................................................................................................... 19
Figure 6 Database package..................................................................................................................... 20
Figure 7 PHR Integration package .......................................................................................................... 20
Figure 8 RecommenderEngineService REST Interface ............................................................................. 21
Figure 9 Home page of the Recommender Engine .................................................................................. 22
Figure 10 Patient Guideline Assignment ................................................................................................. 22
Figure 11 Starting the Guideline Instance ............................................................................................... 23
Figure 12 Guideline Execution ................................................................................................................ 23
Figure 13 Guideline Execution ................................................................................................................ 24
Figure 14 Recommendations of an Instance ........................................................................................... 24
Figure 15 Recommendations in detail .................................................................................................... 25
Figure 16 Top Menu............................................................................................................................ 28
Figure 17 File Sub-Menu .................................................................................................................... 29
Figure 18 Open a guideline from user's computer ........................................................................... 29
Figure 19 Opened Guideline .............................................................................................................. 30
Figure 20 Save Guideline ................................................................................................................... 30
Figure 21 Clear Button........................................................................................................................ 31
Figure 22 Before and after clear ........................................................................................................ 31
Figure 23 Undo Button........................................................................................................................ 32
Figure 24 Redo Button........................................................................................................................ 32
Figure 25 XML Mode .......................................................................................................................... 33
Figure 26 New Action Step window ................................................................................................... 34
Figure 27 Empty Step Design Window ............................................................................................. 34
Figure 28 Adding New Variable Design ............................................................................................ 34
Figure 29 New Variable Add dialog ................................................................................................... 35
Figure 30 New Action Step is added ................................................................................................. 36
Figure 31 New Decision Step Window .............................................................................................. 37
Figure 32 New Decision Block Window ............................................................................................ 37
Figure 33 Adding New Decision Block .............................................................................................. 38
Figure 34 Decision Block is added .................................................................................................... 38
FP7-288209 EMPOWER
5 / 103
Figure 35 Decision Step is added ...................................................................................................... 39
Figure 36 New Recommendation Step Window ............................................................................... 40
Figure 37 New Recommendation ...................................................................................................... 40
Figure 38 Recommendation is added ............................................................................................... 41
Figure 39 Recommendation Step is added ...................................................................................... 42
Figure 40 Diagram Mode .................................................................................................................... 42
Figure 41 Guideline in XML mode ..................................................................................................... 44
Figure 42 Guideline in Diagram Mode .............................................................................................. 44
Figure 43 Drag & Drop property of Diagram Mode .......................................................................... 45
Figure 44 New Action Step Window .................................................................................................. 46
Figure 45 Dropped Action Step ......................................................................................................... 46
Figure 46 Connection Points .............................................................................................................. 47
Figure 47 Drawing connection lines .................................................................................................. 47
Figure 48 Connecting elements in Diagram Mode ........................................................................... 47
Figure 49 Two connected elements .................................................................................................. 48
Figure 50 Opening Edit Step Window ............................................................................................... 48
Figure 51 Edit Action Step Window ................................................................................................... 49
Figure 52 Deleting a step ................................................................................................................... 49
Figure 53 Tutorial: Starting step is added ......................................................................................... 50
Figure 54 Tutorial: New Action Step window .................................................................................... 51
Figure 55 Tutorial: Action step is added and connected ................................................................. 51
Figure 56 Tutorial: Decision Step is added and connected ............................................................. 51
Figure 57 Tutorial: New Variable window ......................................................................................... 52
Figure 58 Tutorial: New Variable window 2 ...................................................................................... 53
Figure 59 Tutorial: Action Step windows after adding variables ..................................................... 53
Figure 60 Tutorial: Diagram area after adding Action Step ............................................................. 54
Figure 61 Tutorial: After adding Foot Examination........................................................................... 54
Figure 62 Tutorial: Setting default next step of Decision Step ........................................................ 54
Figure 63 Tutorial: New Decision Block ............................................................................................ 55
Figure 64 Tutorial: Diagram area after connecting Decision Step .................................................. 55
Figure 65 Tutorial: New Recommendation window ......................................................................... 56
Figure 66 Tutorial: Recommendation Step window after adding Recommendation ..................... 56
Figure 67 Tutorial: Second Recommendation Step ......................................................................... 57
Figure 68 Tutorial: A valid and complete diagram............................................................................ 57
Figure 69 Tutorial: Guideline in XML mode ...................................................................................... 58
Figure 70 Anithyperglycaemic theraphy of type 2 diabetes Flowchart ........................................... 59
Figure 71 Diagnosis of type 2 diabetes in Turkey ............................................................................ 61
Figure 72 Treatment of type 2 diabetes in Turkey Flowchart .......................................................... 62
Figure 73 Diabetes Guideline for Monitoring of the Diabetes Patients in Turkey .......................... 64
Figure 74 Demographic Information .................................................................................................. 66
Figure 75 Diagnosis Information ........................................................................................................ 66
Figure 76 Treatment Information for Type 1 ..................................................................................... 67
FP7-288209 EMPOWER
6 / 103
Figure 77 Treatment Information for Type 2 ..................................................................................... 67
Figure 78 Medical History for age > 18 ............................................................................................. 68
Figure 79 Medical History for age < 18 ............................................................................................. 68
Figure 80 Family History for age > 18 ............................................................................................... 69
Figure 81 Family History for age < 18 ............................................................................................... 69
Figure 82 Complaints and Physical Examination for age > 18 ....................................................... 70
Figure 83 Complaints and Physical Examination for age < 18 ....................................................... 70
Figure 84 Further Physical Examination for Type 1 and age < 18 ................................................. 71
Figure 85 Foot Examination ............................................................................................................... 72
Figure 86 Laboratory Tests for Type 1 and age > 18 - Part 1 ......................................................... 73
Figure 87 Laboratory Tests for Type 1 and age > 18 - Part 2 ......................................................... 74
Figure 88 Laboratory Tests for Type 1 and age < 18 ...................................................................... 75
Figure 89 Laboratory Tests for Type 2 .............................................................................................. 76
Figure 90 Complication Screening - Part 1 ....................................................................................... 77
Figure 91 Complication Screening - Part 2 ....................................................................................... 78
FP7-288209 EMPOWER
7 / 103
1 Summary In this deliverable, the first version of the Diabetes based Personalised Adaptive Recommender
Engine is presented. The software modules and the implemented guidelines are all described in
this deliverable in detail. Basically, the Recommender Engine executes the machine processable
guidelines prepared by the knowledge workers (with the help of medical professionals) for
diabetes patients and generates a number of recommendations for the individual diabetes
treatment automatically. During the guideline execution, a sequence of screen forms are
displayed to the medical professionals according to the steps described in the guideline, these
include visualization charts for showing trends for specific parameters where required. The
medical professionals are also free to enter values for missing medical values about the
patients. The executing medical professionals are presented with the recommendations derived
on basis of the individual patient data and they can review and edit these recommendations or
add new ones. After that these recommendations are forwarded to the action plan engine, so
that the patients can adjust their action plans accordingly.
2 EMPOWER in a Nutshell Patient Empowerment involves patients to a greater extent in their own healthcare process and
disease management becomes an integrated part of their daily lives. The capability of self-
management opens to them the possibility for patients not only to contribute to their own
healthcare but also to be more in control of their disease. EMPOWER develops a modular and
standard-based Patient Empowerment Framework which facilitates the self-management of
diabetes patients based on PHRs and on context-aware, personalised services. EMPOWER
focuses the research and development efforts on a patient-centric perspective that also involves
healthcare professionals. EMPOWER provides knowledge-based Self-Management Pathways
for diabetes patients. This includes
(1) Services for the specification and execution of actions to change behaviour according to diabetes-specific health care needs. Patients can develop personalised action plans which include recommendations from the treating physicians and patients’ preferences
(2) Services for monitoring of vital, physical, mental parameters as well as physical and lifestyle activities based on health standards.
EMPOWER semantically integrates multiple information sources (EHR/PHR, diabetes
guidelines, patterns of daily living) for a shared knowledge model. The Self-Management
Pathways facilitate the specification of recommendations that allow specifying individual goals
for the patient. Based on these goals, relevant information and their preferences patients can
specify their individual diabetes-specific actions. The Self-Management Pathways are an
FP7-288209 EMPOWER
8 / 103
iterative process where executed actions and reported patterns of daily life can be evaluated.
Recommendations, goals and actions can be updated iteratively according to current needs and
preferences. Finally, the services in EMPOWER will embrace semantic interoperability based on
health standards such as HL71 and IHE2 profiles.
EMPOWER addresses long-term goals and short-term activities in order to facilitate the self-
management of patients with diabetes and thus the treatment of chronic diseases. The pilot
applications in Germany and Turkey will demonstrate that the holistic and patient-centric
approach of EMPOWER can improve disease management by personalised self-management
services helping diabetes patients to cope better with their condition.
3 PURPOSE
The purpose of this deliverable is to describe the first version of the personalized diabetes based
recommender engine.
4 REFERENCE DOCUMENTS
The following documents were used or referenced in the development of this document:
• EMPOWER Deliverable D3.2.1 Technical Requirements of EMPOWER Architecture
• EMPOWER Deliverable D3.3.1 Conceptual Design of EMPOWER Architecture
1 http://www.hl7.org
2 http://www.ihe.net
FP7-288209 EMPOWER
9 / 103
5 INTRODUCTION
The Diabetes based Personalised Adaptive Recommender Engine is a guideline execution
engine for the health professional. The clinical practice guidelines are means of encapsulating
best practice in evidence-based medical treatment. Clinical guidelines are increasingly being
used to support clinicians’ decision-making. Such guidelines which have been developed by
local, national, and international organizations are intended to improve the quality of patient
care, reduce variations in quality of care, and reduce costs. As an example, The National
Guideline Clearinghouse™3 provides a comprehensive database of evidence-based clinical
practice guidelines and related documents. It has been demonstrated that clinician behaviour is
most effectively influenced through patient-specific advice, particularly if delivered during patient
encounters.
However, conventional narrative guidelines present population-based recommendations, and the
information contained within such guidelines may be difficult to access and apply to a specific
patient during the consultation. Guideline-based point-of-care decision support systems have the
potential to address this problem. A prerequisite for the development of such systems is the
creation of computer interpretable representations of the clinical knowledge contained in clinical
guidelines. A number of groups are actively developing computer interpretable guideline
representation languages for this purpose. Groups have adopted different approaches reflecting
their interests and expertise. Nevertheless, many of the approaches have in common a
hierarchical de-composition of guidelines into networks of component tasks that unfold over
time. Many methods to support the computerization of guidelines have been or are being
developed by the Health Informatics community4.
Among them the most widely used model is the GuideLine Interchange Format (GLIF) and
hence the EMPOWER Recommender Engine is using this model. GLIF tries to build on the most
useful features of other guideline models, and to incorporate standards that are used in health
care. It is proposed as a standard computer interpretable representation model for sharing
clinical guidelines among different healthcare institutes. It is presented by a research consortium
including the Columbia University, the Harvard University and the Stanford University. The
model is described in Deliverable 3.1.1 “State of the Art Technologies and Architectures for
EMPOWER”. The model also presents an OWL (Web Ontology Language) syntax, but this
representation formalism is complex, and this model does not directly map to the flowchart
representation formalism used by the medical professionals in the definition of guidelines. For
this reason, an intermediate XML model for the guideline editor is used as the core model while
designing the graphical interfaces. This intermediate XML model uses the models from GLIF, in
this respect, this XML model can be regarded as a subset of the GLIF model in the scope of
diabetes disease management. This XML model is presented Section 7.1.
The Diabetes based Personalised Adaptive Recommender Engine is composed of two main
modules:
3 http://www.guideline.gov
4 http://www.openclinical.org/gmmintro.html
FP7-288209 EMPOWER
10 / 103
- Guideline Editor: This editor is used by the Knowledge Workers of the EMPOWER
system and allows to design clinical guidelines graphically. This module is presented in
Section 7 in detail.
- Recommender Engine: This engine executes the machine processable guideline
definitions created by the Guideline Editor. During its execution, it retrieves the medical
data of the patient and displays it to the medical professionals using screen forms and
charts (as described in the guideline itself) and at the end of the execution generates a
number of recommendations automatically. The medical professionals review these
recommendations and edit/approve them if necessary. The Recommender Engine
module and its submodules are described in Section 6.
Four guidelines are implemented for the EMPOWER pilot applications:
- “Antihyperglycemic drug therapy of type 2 diabetes” to be used in Germany:
- Diagnosis of type 2 diabetes in Turkey
- Treatment of type 2 diabetes in Turkey
- Diabetes Guideline for Monitoring of Diabetes Patients in Turkey
With implementation, it is meant that, these textual guideline definitions are encoded in machine
processable format (GLIF) through the Guideline Editor and they are executed with the
Recommender Engine. During the execution medical data about the patients are retrieved from
their PHR and displayed to the medical professionals in appropriate formats/charts. All these
guidelines are described in detail in Section 8.
FP7-288209 EMPOWER
11 / 103
6 RECOMMENDER ENGINE
This module realizes the following use cases described in Deliverable D3.2.1 Technical
Requirements of the EMPOWER Architecture:
UC-5.2.2 Assign Diabetes Guideline to Patient
UC-5.2.3 Execute and Monitor Diabetes Guideline
UC-5.2.4 Generate Recommendation about the Patient
UC-5.2.5 Create Recommendation Rules for Diabetes Patients
UC-5.2.6 Approve/Update/Extend Recommendations by the Recommender Engine
The Recommender Engine is implemented in Model View Controller mechanism as shown in the
following figure. Basically, as shown in the figure, the guidelines are created by the Guideline
Editor and stored into the Model module. This module is a local database, which holds the
guideline model, guideline instances and temporary patient data retrieved from the PHR. The
Service executes the selected guideline instances for a specific patient according to the
commands retrieved from the Front End module. The Front End module provides the Graphical
User Interface of the Recommender Engine. It is a Web based module implemented as Rich
Internet Application (HTML5, Javascript, JSON). The communication between the Service and
the Front End is established through the REST module, which is a HTTP REST protocol
encapsulation of the Service module. These internal modules are presented in Section 6.1.
Figure 1 Recommender Engine Diagram
While executing the Recommender Engine module exchanges data with external modules of the
EMPOWER system. These external systems are presented with black boxes in the above figure:
Model Service
Recommender
REST Interface
Front End
Guideline
Editor
PHR
Visualization
REST Interface
ODL
EHR
Action Plan
Engine
FP7-288209 EMPOWER
12 / 103
- ODL: Observation of Daily Living values (either from mobile or Web interface) are stored
directly to the PHR database.
- EHR: The electronic health records (EHRs) of the patients are stored in the PHR, too.
- Action Plan Engine: The approved recommendations are sent to the Action Plan Engine
for the patients to adjust their action plans and calendars.
- Visualization Rest Interface: The Front End of the Recommender Engine directly
connects to the Visualization REST Interface to retrieve the visualization data set (for
specific parameters – e.g. blood pressure or weight) and displays the generated charts.
6.1 Components
6.1.1 Recommender Engine Model
This module contains the Java classes that represent the Guideline Model (which is a subset of
the GLIF model). Whole model is presented in Figure 2. The classes are presented below:
- Guideline: This is the main class in the guideline model. It is composed of steps which
are executed according to the flow described through constructs.
- Step: This is the generic abstract class for the guideline steps. Basically, all steps have a
unique ID and (except the Final Step) have a next step. There are five types of steps:
o Start Step: To identify the entry point to the guideline.
o Action Step: This step is composed of Variables to be displayed to the medical
professionals in appropriate formats (such as HTML forms). If there is an existing
value in the Recommender Engine Database for a specific variable, this value is
also displayed to the medical professional. If there is no value, then the medical
professional is allowed to enter data to this variable item. In this respect, Action
Steps are the main building block of a guideline, which are organized by other
steps.
o Recommendation Step: According to the conditionals specified in this step, the
recommendations are triggered and displayed the medical professionals at the
end of the execution.
o Decision Step: This step controls the flow of execution. They represent the
branches in the flow.
o Final Step: This step shows the end of the guideline execution.
- Variable: As mentioned before, an Action Step is composed of Variables to be displayed
to the medical professionals. The display of the Variables may depend on the values of
other variables, in these cases they may be hidden. This choice depends on the script in
the condition script of the Variable. In addition to this, the values in the variables may be
auto-calculated based on the values of other variables (e.g. body-weight-index can be
automatically calculated using weight and height). This calculation is encoded in the
value auto calculation script. Furthermore, depending on the value of the variable, a
warning message is displayed to the medical professional. This conditional is assessed
with the warning condition script.
- VisualizationChart: This class represents the visualization charts to be displayed for a
variable (e.g. HBa1C, blood glucose, blood pressure, etc.). Currently, there are
visualization charts for the following values: Weight (3, 6, 12 months), Blood Pressure
FP7-288209 EMPOWER
13 / 103
(3,6 months), Fasting/Postprandial Blood Glucose (3, 6 months), HBa1C (12 months),
HDL/LDL (3, 6, 12 months).
- Recommendation: This class represents the generated and edited recommendations in
the Recommender Engine.
- PreparedStatement and DataElement: This class holds necessary information to persist
the variable values in database.
- Patient: This class represents the patients in the guideline execution.
- CareProvider: This class represents all the medical professionals in the guideline
execution.
In addition to holding the Java classes, this module also stores the guideline instances, the data
for the execution of the guidelines (such as symbol table or status of the guideline instance) and
temporary medical data to be used during the execution of the guidelines. These data are stored
in a local database. Currently, H2 database is used for execution. However, any type of
relational database can be used for this purpose. The current database schema is presented
below:
Table 1 Recommender Engine Database Schema
CREATE TABLE IF NOT EXISTS GUIDELINE (
ID VARCHAR(50) NOT NULL,
NAME VARCHAR(250) DEFAULT NULL,
XMLCONTENT MEDIUMTEXT DEFAULT NULL,
PRIMARY KEY (ID)
);
CREATE TABLE IF NOT EXISTS INSTANCE (
ID VARCHAR(50) NOT NULL,
GUIDELINEID VARCHAR(50) DEFAULT NULL,
PATIENTID VARCHAR(50) DEFAULT NULL,
PATIENTNAME VARCHAR(500) DEFAULT NULL,
CAREPROVIDERID VARCHAR(500) DEFAULT NULL,
STATUS INT(1) DEFAULT NULL,
CURRENTSTEP VARCHAR(10) DEFAULT NULL,
LOG VARCHAR(250) DEFAULT NULL,
CREATETIME VARCHAR(50) DEFAULT NULL,
STARTTIME VARCHAR(50) DEFAULT NULL,
PAUSETIME VARCHAR(50) DEFAULT NULL,
FINISHTIME VARCHAR(50) DEFAULT NULL,
ABORTTIME VARCHAR(50) DEFAULT NULL,
FOLLOWEDPATH VARCHAR(100) DEFAULT NULL,
PRIMARY KEY (ID)
);
CREATE TABLE IF NOT EXISTS SYMBOLTABLE (
INSTANCEID VARCHAR(50) DEFAULT NULL,
VARIABLENAME VARCHAR(250) DEFAULT NULL,
VARIABLEVALUE VARCHAR(500) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS RECOMMENDATION (
ID VARCHAR(50) DEFAULT NULL,
PATIENTID VARCHAR(50) DEFAULT NULL,
INSTANCEID VARCHAR(50) DEFAULT NULL,
STATUS VARCHAR(50) DEFAULT NULL,
RECOMMENDATIONTYPE VARCHAR(50) DEFAULT NULL,
VALUE TEXT DEFAULT NULL
);
FP7-288209 EMPOWER
14 / 103
CREATE TABLE IF NOT EXISTS GUIDELINEEXECUTION (
PATIENTID VARCHAR(50) DEFAULT NULL,
EXECUTIONCOUNT INT(2) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS CAREPROVIDER (
CAREPROVIDERID VARCHAR(50) DEFAULT NULL,
ROLE VARCHAR(50) DEFAULT NULL,
NAME VARCHAR(250) DEFAULT NULL,
SURNAME VARCHAR(250) DEFAULT NULL,
ORGANIZATION VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS PATIENT (
PATIENTID VARCHAR(50) DEFAULT NULL,
NAME VARCHAR(250) DEFAULT NULL,
SURNAME VARCHAR(250) DEFAULT NULL,
BIRTHDATE VARCHAR(50) DEFAULT NULL,
GENDER VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS APPLICATION (
PATIENTID VARCHAR(50) DEFAULT NULL,
APPLICATIONDATE VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS DIAGNOSIS (
PATIENTID VARCHAR(50) DEFAULT NULL,
DIAGNOSISDATE VARCHAR(50) DEFAULT NULL,
YEAR VARCHAR(50) DEFAULT NULL,
AGE VARCHAR(50) DEFAULT NULL,
DIABETESTYPE VARCHAR(50) DEFAULT NULL,
FIRSTDIAGNOSISTYPE VARCHAR(50) DEFAULT NULL,
APPLICATIONREASON VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS TREATMENT (
PATIENTID VARCHAR(50) DEFAULT NULL,
NUTRITIONCOMPLIANCE VARCHAR(50) DEFAULT NULL,
EXERCISECOMPLIANCE VARCHAR(50) DEFAULT NULL,
INSULINPUMPUSE VARCHAR(50) DEFAULT NULL,
DATEOFISSUE VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS EDUCATION (
PATIENTID VARCHAR(50) DEFAULT NULL,
DIABETESEDUCATION VARCHAR(50) DEFAULT NULL,
EDUCATIONCOUNT VARCHAR(50) DEFAULT NULL,
LASTEDUCATIONDATE VARCHAR(50) DEFAULT NULL,
ACTIVEDATE VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS MEDICATION (
PATIENTID VARCHAR(50) DEFAULT NULL,
MEDICATIONS VARCHAR(1000) DEFAULT NULL,
ACTIVEDATE VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS HISTORY (
PATIENTID VARCHAR(50) DEFAULT NULL,
UMLSCODE VARCHAR(50) DEFAULT NULL
FP7-288209 EMPOWER
15 / 103
);
CREATE TABLE IF NOT EXISTS FAMILYHISTORY (
PATIENTID VARCHAR(50) DEFAULT NULL,
RELATIVE VARCHAR(50) DEFAULT NULL,
UMLSCODE VARCHAR(50) DEFAULT NULL,
VALUE VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS TEST (
PATIENTID VARCHAR(50) DEFAULT NULL,
UMLSCODE VARCHAR(50) DEFAULT NULL,
VALUE VARCHAR(50) DEFAULT NULL,
TESTDATE VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS ACTIVEPROBLEM (
PATIENTID VARCHAR(50) DEFAULT NULL,
UMLSCODE VARCHAR(50) DEFAULT NULL,
VALUE VARCHAR(50) DEFAULT NULL
);
The tables in the schema are as follows:
- GUIDELINE: This table holds the guidelines created by the Guideline Editor.
- INSTANCE: This table holds information about the executed/executing/aborted guideline
instances.
- SYMBOLTABLE: This symbol table holds the variable values in guideline instance
executions.
- RECOMMENDATION: The recommendations generated by the instance execution are
kept by this table.
- GUIDELINEEXECUTION: The number of executions of the guidelines are stored in this
table.
- CAREPROVIDER: The medical professionals are stored in this table.
- PATIENT: The registered patients are kept in this table.
- APPLICATION: This table holds information about the application data of the patient.
- DIAGNOSIS: The diagnosis information about the patients are stored in this table.
- TREATMENT: The treatment information of the patients are kept in this table.
- EDUCATION: The education information of the patients are stored in this table.
- MEDICATION: The medications of the patients are kept in this table.
- HISTORY: This table holds the medical history of the patients.
- FAMILYHISTORY: The family history of the patients are stored in this table.
- TEST: The laboratory tests are kept in this table.
- ACTIVEPROBLEM: The current active problems of the patients are stored in this table.
FP7-288209 EMPOWER
16 / 103
Figure 2 Recommender Engine Model
FP7-288209 EMPOWER
17 / 103
6.1.2 Recommender Engine Service (Controller)
This module is the main controller of the Recommender Engine. It is responsible for processing
and controlling all the guideline executions. It communicates with the model module and after
processing the data is senr to the front end module for display to the medical professionals. In
the rest of this section, the classes in this module are presented in detail.
Figure 3 RecommenderEngineService Interface
The RecommenderEngineService interface shown in Figure 3 is the interface of the
Recommender Engine to other components of the EMPOWER system. In other words, this is
the entrance point to the Recommender Engine. This interface is implemented by the
RecommenderEngineServiceImpl class shown in Figure 4. This implementation is responsible for
executing the guidelines. Through its step processors, the guideline is processed step-by-step.
There are the following step processors:
- ActionStepProcessor: This processor is responsible for the ActionSteps in the guideline.
Mainly, it calls the VariableProcessor for each Variable in the ActionStep, gets the results
from them, concatenates it and prepares the result for display to the medical
professionals.
- RecommendationStepProcessor: This processor calls the RecommendationProcessors
for each Recommendation defined in the RecommendationStep.
- DecisionStepProcessor: Based on the criteria in the DecisionBlock, they decide the next
steps.
FP7-288209 EMPOWER
18 / 103
Figure 4 RecommenderEngineService Implementation
In addition to the step processors, there are VariableProcessors and
RecommendationProcessors. The VariableProcessors process the Variable class in the
guideline and if its condition script evaluates to true, it retrieves the value from the database,
prepares the HTML code snippet for this Variable and returns this HTML to ActionStepProcessor
for concatanation with the results of other VariableProcessors. On the other hand, the
Recommendation Processors decide whether the Recommendation should be triggered based
on the criteria defined in the RecommendationStep.
In addition to these processors, there are auxilliary classes:
- JavaScriptEngine: This class is responsible for the scripts in the Variables,
DecisionBlocks and Recommendations.
- Utility: This class realizes low-level processing tasks.
FP7-288209 EMPOWER
19 / 103
Figure 5 Guideline package
As shown in Figure 5, the package contains classes for the execution of the guideline:
- GuidelineWrapper: This class is a wrapper class for Guideline model class and has
methods to facilitate the access to the content of the guidelines.
- Instance: This class represent the guideline instances in the Recommender Engine.
- SymbolTable: This class is the symbol table in the instances. They contain the variable
values in the guideline executions.
FP7-288209 EMPOWER
20 / 103
Figure 6 Database package
The database package contains classes to communicate with the persistent database for the
Recommender Engine. The DatabaseHandler class accesses the database through JDBC. The
EHRDataAccess class facilitates to access the EHR data in the temporary database of the
engine.
Figure 7 PHR Integration package
FP7-288209 EMPOWER
21 / 103
The PHR integration package presented in Figure 7 contains classes for communicating with the
integrated PHR system of EMPOWER. Before the execution of the guideline, it retrieves the
medical data from the PHR system and after the execution it stores resulting data back to the
PHR System.
6.1.3 Recommender Engine REST Interface
Figure 8 RecommenderEngineService REST Interface
This module is responsible to establish the communication between the RecommenderEngine
service and the front end module through HTTP REST protocol. The methods provided by the
REST interface are displayed in Figure 8.
6.1.4 Recommender Engine Front End (View)
The front end module is the graphical user interface of the Recommender Engine.
FP7-288209 EMPOWER
22 / 103
Figure 9 Home page of the Recommender Engine
The front end of the Recommender Engine is integrated in the EMPOWER main graphical user
interface as shown in Figure 9. Only the medical professional users can access the
Recommender Engine by clicking the Recommender button in the main menu. At the entrance
page all the available guidelines are presented to the medical professional.
Figure 10 Patient Guideline Assignment
FP7-288209 EMPOWER
23 / 103
In order to execute a guideline instance for a patient, the medical professional needs to click the
Assignment button and assign the guideline to the specific patient as shown in Figure 10.
Figure 11 Starting the Guideline Instance
After the assignment, the medical professional clicks the Engine Status button to execute the
guideline instance. In this window, the medical professional can see all
executing/executed/aborted guidelines, too. If required, the medical professional resumes a
guideline instance as well.
Figure 12 Guideline Execution
During the execution, the steps of the guideline are processed by the Recommender Engine and
corresponding steps are displayed to the medical professional. If there is a value for a variable, it
is retrieved from the database and displayed, if not, the medical professional is allowed to enter
data for these items as shown in Figure 12.
In addition, if there is a visualization chart for a specific variable, a chart icon is displayed next to
the variable as shown in Figure 13. After clicking the chart icon the corresponding chart is
depicted to the medical professional.
FP7-288209 EMPOWER
24 / 103
Figure 13 Guideline Execution
After the execution, the medical professional can review the automatically generated
recommendations by clicking the Recommendations button as shown in Figure 14.
Figure 14 Recommendations of an Instance
FP7-288209 EMPOWER
25 / 103
Figure 15 Recommendations in detail
As shown in Figure 15, the medical professional can approve, delete or edit the individual
recommendations, or add new ones, if necessary.
7 GUIDELINE EDITOR
The Guideline Editor is a web-based xml editor, which is used for creating guidelines XML documents. The most important feature of the Guideline Editor is the diagram mode which uses the drag and drop mechanism of HTML5. With this mode users can create guidelines by just drawing diagrams and filling forms. Users can download the guidelines that they created and upload guidelines to work on them. The Guideline Editor also uses modal windows while creating xml elements. These dialog windows make users more aware and more effective while creating guideline. In addition Guideline Editor uses latest HTML standard HTML5 which has wider support of browsers and platforms such as mobile devices. Moreover, because of being web based, users do not need to install any software to their computer to create guideline.
7.1 GUIDELINE STRUCTURE The Guideline is an XML document that represents the data structures and path of a diabetes care plan. A guideline may represent a self-management pathway for patients. It has a structure of:
<Guideline> <Starting Step>...</Starting Step > <Another Step>...</Another Step>
<Another Step>...</Another Step> …
<Final Step>...</Final Step>
<Configuration>…</Configuration>
<Guideline/>
The Guideline XML consists of steps and always starts with StartingStep and ends with FinalStep. All steps contain their own data and the next steps to be followed.
FP7-288209 EMPOWER
26 / 103
7.1.1 Step Structure
Steps are XML elements that represent the phases of a care plan and each step contains data structures that will be used and next steps that will be followed. All steps are connected to each other and together they form a complete guideline XML document.
Step elements define the web interface of care plan steps such that each step is a form object in html pages and form fields are defined in these step XMLs. For example, patient starts with starting step and presses next button on page, and as a next step a new step is loaded. The new steps are loaded according to user inputs and some predefined algorithms.
There are 5 kinds of steps and each of them has a different structure.
• Start Step
• Action Step
• Decision Step
• Recommendation Step
• Final Step
7.1.1.1 Start Step
A start step is always the first step of a guideline and has a structure of:
<StartStep ID="StartStep" nextStep="A"/>
The Next step attribute indicates the next step to be followed in the guideline. A guideline can only have one start step. The Start step does not contain data or sub–elements because it is only used as a starting point.
7.1.1.2 Action Step
The Action step is one of the step types used in guideline XML and it has a structure of:
<ActionStep ID="A" name="Examination" nextStep="B"> <Variable ID=" hba1c" type=" float" umlsCode="C0019018"/> <Variable ID=" height" type=" float" umlsCode="C0019018"/> <Variable ID=" weight" type=" float" umlsCode="C0005910"/> <Variable ID=" diastolicBloodPressure" type=" integer" umlsCode="C0428883"/> <Variable ID=" systolicBloodPressure" type="integer" umlsCode="C0277882"/> <Variable ID="bodyWeightIndex" type ="float" umlsCode ="C1305855">
<ValueAutoCalculationScript> var bwi=$weight/ ($height*$height); $bodyWeightIndex = bwi*10000;
</ValueAutoCalculationScript> </Variable> </ActionStep>
As can be seen from the example above, the action step contains variable elements. These variables store the current data of the step such as weight of patient etc. Variables can have script elements inside. There are 3 types of scripts used in guideline XML.
• Condition Script • Warning Condition Script • Value Auto Calculation Script
Condition scripts are used to enable or disable the variable containing it. For example if a variable contains a condition script and this script returns false, that variable is disabled for that step and not further used in care planning.
FP7-288209 EMPOWER
27 / 103
Warning Condition Scripts are used to warn the user while he/she is filling the forms. If an incorrect or abnormal value is entered to a variable in that form, the script runs and warns the user.
Since each step defines a form object in the web interface, there are some fields in these forms which are calculated automatically according to previous fields filled by the user. In the example above the “bodyWeightIndex” variable is calculated according to the “height” and “weight” variables using the script in the “ValueAutoCalculationScipt” tags. So when a user fills in the height and weight values in the form the bodyWeightIndex value is calculated automatically.
An action step can only have one next step and it is specified in “nextStep” attribute of Action Step xml.
<ActionStep ID="A" name="Examination" nextStep="B"> <Variable ID=" hba1c" type=" float" umlsCode="C0019018"/> <Variable ID=" height" type=" float" umlsCode="C0019018"/> <Variable ID=" weight" type=" float" umlsCode="C0005910"/> <Variable ID=" smoking" type=" radio" umlsCode="C0037369"/> </ActionStep>
7.1.1.3 Decision Step
The Decision step is one of the steps used in guideline XML and it has a structure of:
<DecisionStep ID="DecisionStep" nextStep="CR"> <DecisionBlock> <ConditionScript>
function check() { if($guidelineExecutionCount == 2) return true; else return false;} </ConditionScript>
<NextStep>D</NextStep> </DecisionBlock> </DecisionStep>
As can be seen from the example above, the decision step contains decision blocks. Unlike an action step a decision step can have more than one next step. Therefore next step is determined according to Decision Blocks which are sub-elements of the decision step and containing scripts which decide the next step according to info provided by the user.
The reason of having such a structure is that a care plan of a disease changes from patient to patient. A male patient and a female patient with the same diseases cannot be treated same. So decision blocks define the next steps for all possibilities.
Each decision block contains one condition script and one next step element. If the check function in the conditions script returns true the next step of that decision block is used as next step of decision step. If not, the other decision blocks are checked in the same way. If all decision blocks fail, the default next step is used as next step. It is set in first line of the decision step xml. (See below)
<DecisionStep ID="DecisionStep" nextStep="CR"> <DecisionBlock> <ConditionScript>
function check() { if($guidelineExecutionCount == 2) return true; else return false;} </ConditionScript>
<NextStep>D</NextStep> </DecisionBlock> </DecisionStep>
For example in the above XML, decision block checks the execution count of this guideline. If is
the guideline was already executed twice, for a third execution, next step of this step is “D”, if
not the next step is “CR”.
FP7-288209 EMPOWER
28 / 103
7.1.1.4 Recommendation Step
The Recommendation step is another step used in the guideline XML document. It has a
structure of:
<RecommendationStep ID="RecommendationStep" name="Education, nutrition and exercise compliance recommendations" nextStep="FinalStep">
<Recommendation recommendationType="treatment" ID="R1" description="A metformin therapy should be started as soon as possible. 2000 mg/day is recommended. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further attempt should be made to increase the dosage later. ">
<ConditionScript> function check() { if($impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return false; else return true;}
</ConditionScript> </Recommendation> </RecommendationStep>
A Recommendation step contains Recommendation elements which are used to recommend
treatments to patients. Each recommendation element contains a description attribute and
condition script element. The description attribute describes the treatment and its application that
depends on the condition script. If the condition script returns true this treatment should be
applied. If not, other recommendations in this step must be checked.
Recommendation steps can only have one next step which is set in nextStep attribute.
7.1.1.5 Final Step
The Final step is the last step of the guideline XML document. And it has the structure of:
<FinalStep ID="FinalStep"/>
Since the final step is the end of guideline it cannot have a next step.
7.2 GUI COMPONENTS
7.2.1 Top Menu
There are five sub-menus on the top menu. They have been named respectively File, Clear,
Undo, Redo, Configure.
Figure 16 Top Menu
7.2.1.1 File
File is the first sub-menu of top menu. As can be seen from the Figure 17 this sub-menu
contains file operations such as;
• Open
• Save as
FP7-288209 EMPOWER
29 / 103
• Export as
Figure 17 File Sub-Menu
7.2.1.2 Open
Open is the first button of the File sub-menu. By using this feature, users can open and edit
guidelines stored on their computer. Opened guidelines will be loaded into the text area.
1- Click “File” in top menu
2- Click “Open” in File sub-menu
3- An Open File Dialog will appear like in Figure 18.
4- Choose the guideline and click “Open” button.
Figure 18 Open a guideline from user's computer
FP7-288209 EMPOWER
30 / 103
Figure 19 Opened Guideline
7.2.1.3 Save as
Save as button is the second button in the File sub-menu. It enables users to save their
guidelines to their computer.
1- Click “File” in top menu.
2- Click “Save as” in File sub-menu
3- A save file dialog will be opened
4- Enter the name of the guideline to be saved to the “File name” field.
5- Click “Save” button.
Figure 20 Save Guideline
FP7-288209 EMPOWER
31 / 103
7.2.2 Clear
The Clear button as shown in Figure 21 clears the content of the text area. It deletes the
complete guideline and empties the text area like shown in Figure 22.
Figure 21 Clear Button
1 Click “Clear” from top menu
Figure 22 Before and after clear
FP7-288209 EMPOWER
32 / 103
7.2.3 Undo
When a user makes a change on the guideline and clicks on the undo button as shown in Figure
23, new changes are discarded and the text area is restored with the old guideline.
Figure 23 Undo Button
7.2.4 Redo
The Redo button as shown in Figure 24 works oppositely with undo button. Clicking this button
restores the changes that were made before and discarded with undo button.
Figure 24 Redo Button
7.3 Editor Mode Tabs There are two modes in Guideline Editor used for creating guidelines.
1. XML Mode
2. Diagram Mode
The GUI of the Guideline Editor contains two main panels which are used for writing guidelines.
The mode selection controls these two panels.
7.3.1 XML Mode
XML Mode is one of the two modes, which are used for creating guidelines.
FP7-288209 EMPOWER
33 / 103
Figure 25 XML Mode
The XML mode works like a simple text editor. Users can directly use the text area to write a
guideline.
In XML mode there is also a left panel (See Figure 25) containing guideline elements that can be
used for creating guidelines. These elements are:
1 New Action Step
2 New Decision Step
3 New Recommendation Step
Each guideline element adds a new step to the guideline XML.
7.3.1.1 New Action Step
User adds a new action step to the guideline by left clicking on this button. As can be seen from
the Figure 25 there are two steps in guideline panel. They are StartStep and FinalStep.
<StartStep ID="StartStep" nextStep="FinalStep"/>
<FinalStep ID="FinalStep"/>
These two steps are added as default steps to each new guideline and as can be understood
from their names StartStep is first step and the FinalStep is the last step of guideline. When New
Action Step button is clicked, a window appears like in Figure 26.
FP7-288209 EMPOWER
34 / 103
Figure 26 New Action Step window
Each field of this window represents the attributes and child elements of a new action step to be
created.
ID: ID of the action step.
Name: Name of the action step.
Next Step: Next step of the action step.
The Step Design dialog is used to design the created variable types in the step web interface. If
there has not been any variable created before a user also can add variables from here. (See
Figure 27 and Figure 28)
Figure 27 Empty Step Design Window
Figure 28 Adding New Variable Design
FP7-288209 EMPOWER
35 / 103
In the Variables part a user can add, delete and edit variables. When a user clicks the add
button, the New Variable Add dialog appears. (See Figure 29)
Figure 29 New Variable Add dialog
Each field of this dialog represents the attributes of a new variable to be created.
ID: ID of the variable.
Type: Type of the variable.
Umls Code: Umls code of the variable.
Description: Description of the variable.
Script Radio Buttons: Type of the script in the variable.
Script Text Area: Script of the variable.
A user can add a new Action Step to the guideline by:
1 Click “New Action Step” from Guideline Elements Menu on left.
2 A new action step window will be opened like in Figure 26.
3 Write ID of the new action step to the ID field in window.
4 Write Name of the new action step to the Name field in window.
5 Write Next Step of the new action step to the Next Step field in window.
6 Click Step Design button to add variables and design their view in the step web
pages.
7 Click Add to add variables.
8 Click Edit to edit created variables.
9 Click Delete to delete created variables.
10 Click OK to add new action step.
FP7-288209 EMPOWER
36 / 103
11 Drag and drop the created action step from Outline to text area.
Figure 30 New Action Step is added
7.3.1.2 New Decision Step
A user clicks this button to add a new decision step to the guideline xml. As can be seen from
the Figure 25 there are two steps in guideline panel. They are StartStep and FinalStep.
<StartStep ID="StartStep" nextStep="FinalStep"/>
<FinalStep ID="FinalStep"/>
When New Decision Step button is clicked, a window appears like in Figure 31
FP7-288209 EMPOWER
37 / 103
Figure 31 New Decision Step Window
Each field of this window represents the attributes and child elements of new decision step to be
created.
ID: ID of the new decision step.
Next Step: Next step of new decision step.
The Decision Blocks part is used for adding, removing and deleting decision blocks.
Figure 32 New Decision Block Window
Each field of this window represents the attributes and child elements of the new decision block
to be created.
Name: Name of the decision block.
Next Step: Next step of the decision step defined by decision block.
Script Radio Buttons: Script type of the decision block.
FP7-288209 EMPOWER
38 / 103
Script Text Area: Script of the decision block.
Figure 33 Adding New Decision Block
When a new decision block is added to the decision step, it appears under “Decision Blocks”
part. See Figure 34.
Figure 34 Decision Block is added
A user can add a new Decision Step to the guideline by:
1 Click “New Decision Step” from Guideline Elements Menu on left.
2 A new decision step window will be opened like in Figure 31.
3 Write ID of the new decision step to the ID field in window.
4 Write Next Step of the new decision step to the Next Step field in window.
5 Click Add to add decision blocks.
6 Click Edit to edit created decision blocks.
7 Click Delete to delete created decision blocks.
8 Click OK to add new decision step.
9 Drag and drop created decision step from Outline to text area.
FP7-288209 EMPOWER
39 / 103
Figure 35 Decision Step is added
7.3.1.3 New Recommendation Step
A user clicks this button to add new recommendation steps to the guideline XML. As can be
seen from the Figure 25 there are two steps in guideline panel. They are StartStep and
FinalStep.
<StartStep ID="StartStep" nextStep="FinalStep"/>
<FinalStep ID="FinalStep"/>
When New Recommendation Step button is clicked, a window appears like in Figure 36.
FP7-288209 EMPOWER
40 / 103
Figure 36 New Recommendation Step Window
Each field of this window represents the attributes and child elements of new recommendation
step to be created.
ID: ID of the new recommendation step.
Name: Name of the recommendation step.
Next Step: Next step of new recommendation step.
Recommendations part is used for adding, removing and deleting recommendations.
Figure 37 New Recommendation
Each field of this window represents the attributes and child elements of the new decision block
which will be created.
FP7-288209 EMPOWER
41 / 103
ID: ID of the recommendation.
Type: Type of the recommendation.
Script Radio Buttons: Script type of the recommendation.
Script Text Area: Script of the recommendation.
Figure 38 Recommendation is added
When a new recommendation is added to the recommendation step, it appears under
“Recommendations” part. See Figure 38. A user can add a new Decision Step to the guideline
by:
1 Click “New Decision Step” from Guideline Elements Menu on left.
2 A new decision step window will be opened like in Figure 31.
3 Write ID of the new decision step to the ID field in window.
4 Write Next Step of the new decision step to the Next Step field in window.
5 Click Add to add decision blocks.
6 Click Edit to edit created decision blocks.
7 Click Delete to delete created decision blocks.
8 Click OK to add new decision step.
9 Drag and drop created recommendation step from Outline to text area.
FP7-288209 EMPOWER
42 / 103
Figure 39 Recommendation Step is added
7.3.2 Diagram Mode
Diagram mode is the other mode which can be used for creating guidelines.
Figure 40 Diagram Mode
The Diagram mode is used to create a diagram representation of the guideline graphically. The
Diagram area is shown at the right of the page and at the left of the page a panel is shown that
contains diagram elements which are:
FP7-288209 EMPOWER
43 / 103
1 Start Step
2 Action Step
3 Decision Step
4 Recommendation Step
5 Final Step
Each of these diagram elements can be used to add a new step to the guideline XML. After the
diagram is finished, (a starting and final step is added and all steps are connected properly), the
diagram parser algorithm converts the diagram representation to a guideline XML document. Its
reverse is also possible; a written guideline can be converted to a diagram. These operations
are controlled by the mode tabs. Pressing the diagram mode tab converts the textual guideline
to its graphical representation in diagram mode and pressing the XML mode tab converts the
diagram made by user in diagram mode to the textual representation in XML mode.
<?xml version="1.0" encoding="UTF-8"?> <Guideline xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="..\..\schema\Guideline.xsd" ID="f4582ec0-f365-11e1-a21f-0800200c9a66" name="Diabetes Guideline for Monitoring of the Diabetes Patients in Turkey"> <StartStep ID="StartStep" nextStep="A"/> <ActionStep ID="A" name="Demographic Information" nextStep="B"/> <ActionStep ID="B" name="Diagnosis Information" nextStep="C"/>
<ActionStep ID="C" name="Treatment Information" nextStep="D1"/> <ActionStep ID="D1" name="Medical History" nextStep="D2"/> <ActionStep ID="D2" name="Family History" nextStep="E”/> <ActionStep ID="E" name="Complaints and Physical Examination" nextStep="ED"/> <DecisionStep ID="ED" nextStep="E2"/> <ActionStep ID="E2" name="Foot Examination" nextStep="F"/> <ActionStep ID="F" name="Laboratory Tests" nextStep="H"/> <RecommendationStep ID="H" name="Final Recommendations" nextStep="FinalStep"/> <FinalStep ID="FinalStep"/> <Configuration/> </Guideline>
The XML given above is a diabetes guideline where its variables or other sub-elements are
discarded for simplicity.
FP7-288209 EMPOWER
44 / 103
Figure 41 Guideline in XML mode
Figure 42 Guideline in Diagram Mode
Figure 41 and Figure 42 shows the same guideline. Any valid guideline is convertible between
the two modes. Validity of guideline means, that all steps are leading to the FinalStep by using
some path. Users can start with diagram mode and can continue with XML mode or its reverse.
FP7-288209 EMPOWER
45 / 103
7.3.2.1 Using Diagram Mode
7.3.2.1.1 Creating Steps
The Diagram mode uses drag & drop mechanism for adding steps. For example to create an
action step, user must drag an “Action Step” element from left panel and move it to diagram area
and drop it. A new action step dialog will open like in 7.3.1.1. After filling the fields in the modal
window and hitting “OK” button, the user will create an action step at the place where the cursor
points to.
Figure 43 Drag & Drop property of Diagram Mode
In Figure 43, a user is dragging anaction step element to diagram area. After dropping the action
step to the diagram area a new action step window appears like in New Action Step 7.3.1.1.
FP7-288209 EMPOWER
46 / 103
Figure 44 New Action Step Window
Figure 45 Dropped Action Step
After filling all the fields in the modal window and clicking the “OK” button, the action step
element appears in the diagram area. This shapes are not static, they can still be moved.
To make a diagram valid, all elements must be connected to each other. While hovering
elements with the cursor, connection points become visible. (See Figure 46)
FP7-288209 EMPOWER
47 / 103
Figure 46 Connection Points
Figure 47 Drawing connection lines
To start drawing a connection line, left clicking on a connection point is enough. At the place of
the first left click a starting point is fixed on that element and an end point of line follows the
cursor like in Figure 47. After left clicking on connection points of another element like in Figure
48 the two elements are connected to each other. (See Figure 49)
Figure 48 Connecting elements in Diagram Mode
FP7-288209 EMPOWER
48 / 103
Figure 49 Two connected elements
Since steps are not static, if user drags a step and drops them to another place the arrow will be
drawn again according to new location of step.
Other step types can be created using the same way. The only difference will be the modal
windows and these are the same like the modal windows in XML mode.
7.3.2.1.2 Editing Steps
Unlike in XML mode, the diagram mode shows edit step windows. To edit a step click the name
on a step element in diagram mode. (See Figure 50)
Figure 50 Opening Edit Step Window
This action opens an edit step window. This windows is same like the create step window. The
only difference is that the fields in these windows are initialised with values.
FP7-288209 EMPOWER
49 / 103
Figure 51 Edit Action Step Window
After making editions and pressing the “OK” button, the step will be updated.
7.3.2.1.3 Deleting Steps
To delete a step from a diagram, the user must left click twice on a step shape. After that, the
step will be deleted and all connections coming in and coming out to that step will be deleted as
well.
Figure 52 Deleting a step
FP7-288209 EMPOWER
50 / 103
7.4 TUTORIAL In this part, a tutorial will be given about the diagram mode and creating guidelines by using it.
1. Start with creating a Starting Step
• Drag start step from Diagram Elements and drop it into the diagram area
• Diagram area in editor should look like in Figure 53.
Figure 53 Tutorial: Starting step is added
2. Now, add an Action Step named “Demographic Information”.
• Drag Action Step and drop it to diagram area
• Fill the fields of opening New Action Step window like in Figure 54.
• Do not fill the Next Step field, since it is automatically filled while drawing
connector lines.
• Add some variables such as patientName, patientSurname,
citizenshipNumber etc. and choose the types of these variables from the type
select box of New Variable window.
• Hit OK button.
• Draw a line from Start Step to this step.
• Diagram area should be like in Figure 55.
FP7-288209 EMPOWER
51 / 103
Figure 54 Tutorial: New Action Step window
Figure 55 Tutorial: Action step is added and connected
3. Now add a decision step with ID of “Examination”.
• Do not add any next step for now.
• Set Examination step as next step of Demographic Information step.
• Diagram area should be like this Figure 56.
Figure 56 Tutorial: Decision Step is added and connected
4. Now add an action step named “Further Physical Examination for Type 1 Diabetes
Patients under 18 years old”. As can be understood from its name, patents with
diabetes “Type1” and age under 18 years should be in this step.
FP7-288209 EMPOWER
52 / 103
• Add a variable named “Breast Stage” which will be used in female patients.
Therefore add a condition script to the variable in order to use it only in female
patients. (See Figure 57)
Figure 57 Tutorial: New Variable window
• Add a variable named “Testicular volume” which will be used in male patients.
Therefore add a condition script to the variable in order to use it only in male
patients. (See Figure 58)
FP7-288209 EMPOWER
53 / 103
Figure 58 Tutorial: New Variable window 2
• After adding the variables hit the “OK” button to create the action step.
Figure 59 Tutorial: Action Step windows after adding variables
FP7-288209 EMPOWER
54 / 103
• Diagram area should look like in Figure 60.
Figure 60 Tutorial: Diagram area after adding Action Step
5. Now add another action step named “Foot Examination”.
• Add a variable named “rightIngrownToenail”.
• Add a variable named “rightAmputation”.
• Add a variable named “leftIngrownToenail”.
• Add a variable named “leftAmputation”.
Figure 61 Tutorial: After adding Foot Examination
• Diagram area should look like in Figure 61.
• Now draw a line from Examination to Foot Examination.
• A modal window will pop up. (See Figure 62)
• Hit Yes. This action sets the Foot Examination step as default next step of the
Examination step.
Figure 62 Tutorial: Setting default next step of Decision Step
FP7-288209 EMPOWER
55 / 103
• Now connect the “Further Physical Examination for Type 1 Diabetes Patients
under 18 years old” step as decision block to examination step.
• Same window will pop up, this time hit “No”.
• A New Decision Block window will be opened.
Figure 63 Tutorial: New Decision Block
• Fill the fields like in Figure 63.
• As can be understood from the Figure 63 scripts checks diabetes type and
patients age.
• Diagram area should look like in Figure 64.
Figure 64 Tutorial: Diagram area after connecting Decision Step
6. Add a recommendation step named “Recommendations”.
• Add a Recommendation to the step.
• Click the Add button.
• A new Recommendation window will pop up.
• Fill the blank fields according to Figure 65.
FP7-288209 EMPOWER
56 / 103
Figure 65 Tutorial: New Recommendation window
Figure 66 Tutorial: Recommendation Step window after adding Recommendation
• Set this step as next step of “Foot Examination”.
7. Add another Recommendation Step named “Recommendation2”.
• Click the Add button.
• A new Recommendation window will pop up.
• Fill the blanks according to Figure 67.
FP7-288209 EMPOWER
57 / 103
Figure 67 Tutorial: Second Recommendation Step
8. Now add the Final Step to the diagram area.
• Simply drag and drop the final step to the diagram.
• Now connect both of the recommendation steps to the final step.
• Diagram area should look like in Figure 68.
Figure 68 Tutorial: A valid and complete diagram
9. The diagram is finished now and we can check its validity by clicking the XML
tab.(See Figure 69)
FP7-288209 EMPOWER
58 / 103
Figure 69 Tutorial: Guideline in XML mode
10. Below is the guideline that was created by the Guideline Editor.
<?xml version="1.0" encoding="UTF-8"?>
<Guideline>
<StartStep ID="StartStep" nextStep="Demographic Information"/>
<ActionStep ID="Demographic Information" name="Demographic Information" nextStep="Examination"/>
<DecisionStep ID="Examination" nextStep="Foot Examination">
<DecisionBlock name="Decision Block 1">
<NextStep>Further Physical Examination for Type 1 Diabetes Patients under 18 years
old</NextStep>
</DecisionBlock>
</DecisionStep>
<ActionStep ID="Foot Examination" name="Foot Examination" nextStep="Recommendation1"/>
<ActionStep ID="Further Physical Examination for Type 1 Diabetes Patients under 18 years old" name="Further Physical
Examination for Type 1 Diabetes Patients under 18 years old" nextStep="Recommendation2"/>
<RecommendationStep ID="Recommendation1" name="Recommendation1" nextStep="FinalStep">
<Recommendation ID="Treatment" description="Metformin drugs should be taken after the meal">
<ConditionScript>function check() { if($diabetesType == "Type 1") return true; else return
false;}</ConditionScript>
</Recommendation>
</RecommendationStep>
<RecommendationStep ID="Recommendation2" name="Recommendation2" nextStep="FinalStep">
<Recommendation ID="Treatment" description=" Patient should stop smoking">
<ConditionScript>function check () { if($diabetesType == "Type 2") return true; else return
false;}</ConditionScript>
</Recommendation>
<RecommendationStep/>
<FinalStep ID="FinalStep"/>
<Configuration></Configuration>
</Guideline>
FP7-288209 EMPOWER
59 / 103
8 IMPLEMENTED GUIDELINES
8.1 Anithyperglycaemic therapy of type 2 diabetes
Antihyperglycemic drug therapy of type 2 diabetes
Figure 70 Anithyperglycaemic theraphy of type 2 diabetes Flowchart
Basically, the guideline tries to achieve an HBA1c value less than 6.5%. To be more specific,
Based on the data from the UKPDS5, the UKPDS6 10-year follow-up as well as the ADVANCE
5 United Kingdom Prospective Diabetes Study
6 Turner RC, Holman RR, Cull CA et al (1998) Intensive blood-glucose control with sulphonylureas or insulin compared with
conventional treatment and risk of complications in patients with type 2 diabetes (UKPDS 33). UK Prospective Diabetes Study
(UKPDS) Group. Lancet 352:837)
FP7-288209 EMPOWER
60 / 103
study7 and in accordance with the recommendations of the European Association for the Study
of Diabetes and global IDF guidelines, these guidelines recommend a target range of < 6.5 % for
HbA1c. The HbA1c value should be determined every 3 months. If the therapeutic objective for
the HbA1c is not achieved, the therapy is intensified. The process in the guideline is as follows:
- Diabetes-Training, Nutrition, Activity and Medication: Metformin: Patients who have recently been diagnosed with diabetes mellitus type 2 should attend a formal diabetes education programme. Among the value of information provided at such sessions, they will learn the principles of nutritional and exercise therapy. A metformin therapy should be started as soon as possible, provided no contraindications exist. If the HbA1c value is 6.5 % and < 7.5 % after 3 – 6 months, an OAD / exenatide combination therapy is recommended. If the HbA1c value is 7.5 % after 3 – 6 months, an insulin / OAD (particularly metformin) combination therapy is recommended, since a combination therapy is unlikely to achieve the HbA1c target of < 6.5 % in patients who have received prior non-pharmacological treatment and metformin.
- OAD combination therapy or OAD / exenatide combination therapy: At this level of therapy, the combinations shown in the flowchart can be used. They are listed in alphabetical order. There is no scientifically based order of preference. The choice of combination partners must be made on a case by case basis in accordance with the patient’s current metabolic situation and taking into account the advantages and disadvantages as well as side effects / contraindications of the respective substance. If the HbA1c therapeutic target of < 6.5 % is not achieved after 3 – 6 months, treatment is intensified with a combination therapy consisting of insulin and OAD
- OAD / insulin combination therapy: In this phase of the disease, the patient’s metabolism is characterised primarily by fasting glucose values that are above the target value of 100 mg / dl, since endogenous glucose production is no longer adequately suppressed by endogenous insulin. Thus, the objective of insulin therapy is to compensate for this deficiency. For this, basal insulins are recommended. They are injected at bedtime in the evening and thus block endogenous glucose production. The dose of these basal insulins is titrated so as to achieve a fasting blood glucose level of 100 mg / dl while avoiding nocturnal hypoglycaemia. If plasma glucose levels during the day remain near to normal with this therapy, there is currently no need for escalating insulin therapy using also injections during daytime. In the absence of contraindications, the respective combination therapy with metformin is recommended. Another option is the combination therapy with SU or repaglinide. If the HbA1c goal of < 6.5 % is not achieved after 3 – 6 months, the insulin therapy is intensified
- Intensification of insulin therapy: MDI (multiple daily injection of basal / bolus insulin) and premixed bid (injection of premixed insulins twice daily) are essentially insulin therapy procedures that assist in achieving the individual therapeutic goal.
o MDI: Besides taking basal insulin at night, patients inject themselves with bolus insulin at mealtimes. Provided it is not contraindicated, the combination therapy with metformin is recommended
o Premixed bid: If MDI is not indicated for individual, social or organisational reasons, a so called conventional form of insulin therapy, usually injecting premixed insulin twice a day, is applied. Provided it is not contraindicated, the combination therapy with metformin is recommended
7 Patel A, MacMahon S, Chalmers J et al (2008) Intensive blood glucose control and vascular outcomes in patients with type
diabetes. N Engl J Med 358:2560
FP7-288209 EMPOWER
61 / 103
8.2 Diagnosis of type 2 diabetes in Turkey In this guideline, the diagnosis of Type 2 diabetes (mostly in primary care) is addressed. The
guideline is described in “Diagnosis, Treatment and Monitoring of Diabetes Mellitus and its
Complications”8 published by Turkish Endocrinology and Metabolism Society9.
Figure 71 Diagnosis of type 2 diabetes in Turkey
The guideline is first based on the fasting blood glucose (FBG) value. If it is less than 100 mg/dl,
then the patient is normal and if it is greater than 125 mg/dl then the patient is diagnosed as
diabetes mellitus. If the fasting blood glucose value is between 100-125 mg/dl, then a 75gr Oral
Glucose Tolerance Test (OGTT) is carried out. Based on the value of this test the following
decisions are taken:
- FBG<100 mg/dl and OGTT 2hour PG < 140 mg/dl � NORMAL
- FBG <100 mg/dl and OGTT 2hour PG 140-199 mg/dl � Impaired Glucose Tolerance (IGT)
- FBG 100-125 mg/dl and OGTT 2hour PG < 140 mg/dl � Impaired Fasting Glucose (IFG)
- FBG 100-125 mg/dl and OGTT 2hour PG 140-199 mg/dl � IGT + IFG
- FBG>=126 mg/dl and OGTT 2hour PG >=200 mg/dl � Diabetes Mellitus (DM)
8 http://www.turkendokrin.org/files/pdf/diabetes_klvz2011_web.pdf
9 http://www.turkendokrin.org/
Fasting Blood Glucose
100-125 mg/dl
75 g OGTT
> 125 mg/dl < 100 mg/dl
FBG<100 mg/dl
and
OGTT 2hour PG
< 140 mg/dl
FBG <100 mg/dl and
OGTT 2hour PG
140-199 mg/dl
FBG 100-125
mg/dl and OGTT 2hour PG
< 140 mg/dl
FBG 100-125
mg/dl and OGTT 2hour PG
140-199 mg/dl
FBG>=126 mg/dl
and OGTT 2hour PG
>=200 mg/dl
NORMAL IGT IFG IGT + IFG DM
PREDIABETES
FP7-288209 EMPOWER
62 / 103
8.3 Treatment of type 2 diabetes in Turkey
Figure 72 Treatment of type 2 diabetes in Turkey Flowchart
The guideline is described in “Diagnosis, Treatment and Monitoring of Diabetes Mellitus and its
Complications”10 published by Turkish Endocrinology and Metabolism Society11. This guideline is
similar to the German guideline described in section “Anithyperglycaemic therapy of type 2
diabetes”. There are three main differences:
1. The HBA1c value used in decision points
2. The medications used in the treatment
3. Based on the status of the patient, the treatment of the patient start in primary care and
end up in tertiary care. However, in German guideline there is no such distinction.
10
http://www.turkendokrin.org/files/pdf/diabetes_klvz2011_web.pdf 11
http://www.turkendokrin.org/
Type II Diagnosis
Clinical evaluation and life-style changes
HBA1c < 10%
Metformin Metformin +
Insulin
After 3 months
HBA1C > 6.5%
HBA1C < 8.5% HBA1C > 8.5%
After 3 months
HBA1C > 6.5%
After 3 months
HBA1C > 6.5%
PRIMARY CARE
SECONDARY CARE
TERTIARY CARE
METFORMIN + OAD
MET + SU
MET + Glinid
MET + TZD
MET + DPP-4
MET + AGI
MET + GLP-1A
METFORMIN +
INSULIN MET + Basal MET + Bolus
MET + Premixed
Intensification of
Insulin Therapy
Insulin Pump
FP7-288209 EMPOWER
63 / 103
Likewise, the guideline tries to achieve an HBA1c value less than 6.5%. The HbA1c value
should be determined every 3 months. If the therapeutic objective for the HbA1c is not achieved,
the therapy is intensified. The process in the guideline is as follows:
- Diabetes-Training, Nutrition, Activity and Medication: Patients who have recently been diagnosed with diabetes mellitus type 2 should attend a formal diabetes education programme. Among the value of information provided at such sessions, they will learn the principles of nutritional and exercise therapy. A metformin therapy should be started as soon as possible, if there is no contraindications exist. At this point, if the HbA1c value is greater than 10, then in addition to metformin, insulin is also prescribed. This phase (i.e. initial therapy) is carried out in primary care. After that, after three months, the patient visits the secondary care and if the HbA1c value is 6.5 % and < 8.5 %, an OAD / metformin combination therapy is recommended. If the HbA1c value is 8.5 % after 3 – 6 months, an insulin / metformin combination therapy is recommended, since a combination therapy is unlikely to achieve the HbA1c target of < 6.5 % in patients who have received prior non-pharmacological treatment and metformin.
- OAD metformin combination therapy: At this level of therapy, the combinations shown in the flowchart can be used. There is no scientifically based order of preference. The choice of combination partners must be made on a case by case basis in accordance with the patient’s current metabolic situation and taking into account the advantages and disadvantages as well as side effects / contraindications of the respective substance. If the HbA1c therapeutic target of < 6.5 % is not achieved after 3 – 6 months, treatment is intensified with a combination therapy consisting of insulin and metformin.
- Metformin / insulin combination therapy: In this phase of the disease, the patient’s metabolism is characterised primarily by fasting glucose values that are above the target value of 100 mg / dl, since endogenous glucose production is no longer adequately suppressed by endogenous insulin. Thus, the objective of insulin therapy is to compensate for this deficiency. For this, basal insulins are recommended. They are injected at bedtime in the evening and thus block endogenous glucose production. The dose of these basal insulins is titrated so as to achieve a fasting blood glucose level of 100 mg / dl while avoiding nocturnal hypoglycaemia. If plasma glucose levels during the day remain near to normal with this therapy, there is currently no need for escalating insulin therapy using also injections during daytime. In the absence of contraindications, the respective combination therapy with metformin is recommended.
- Intensification of insulin therapy: This therapy is carried out in tertiary care. MDI (multiple daily injection of basal / bolus insulin) and premixed bid (injection of premixed insulins twice daily) are essentially insulin therapy procedures that assist in achieving the individual therapeutic goal.
o MDI: Besides taking basal insulin at night, patients inject themselves with bolus insulin at mealtimes. Provided it is not contraindicated, the combination therapy with metformin is recommended
o Premixed bid: If MDI is not indicated for individual, social or organisational reasons, a so called conventional form of insulin therapy, usually injecting premixed insulin twice a day, is applied. Provided it is not contraindicated, the combination therapy with metformin is recommended
FP7-288209 EMPOWER
64 / 103
8.4 Diabetes Guideline for Monitoring of the Diabetes Patients in Turkey
Figure 73 Diabetes Guideline for Monitoring of the Diabetes Patients in Turkey
The Turkish guideline is designed by the endocrinology doctors in the Numune Training and
Research Hospital and is used by the medical professionals to monitor their patients and show
the important parameters in the management process so that they do not miss a point the
treatment of their diabetic patients.
In Turkey, as mentioned before in D8.1.1 “Requirement Specifications and Scenario of the Pilot
Application”, after each examination, the physicians need to enter the results to the MoH’s
National Health Information System. It is estimated that the doctors can only allocate 6 minutes
for each patient and approximately 3 minutes of this duration is spent to enter data about the
examination. In addition to providing recommendations to the doctor, the other main aim of this
guideline is to extend the duration that the doctors spend to their patients. This is mainly
achieved as follows: as it is presented in the following screenshots, there are a lot of parameters
that the doctor should consider and they enter values to each of them repeatedly. Furthermore,
in the current version of the National Health Information System, it is not possible to retrieve data
(This will be achieved in the later phases by the MoH). What the guideline will provide is:
- to show the previously entered EHR data to the doctors so that they may not re-enter data if the value has not been changed.
- to show every important parameter to them so that they do not forget any parameter in the treatment process.
The guideline is composed of a number of steps where to following information sets are
displayed to the medical professionals respectively:
- Demographic Information - Diagnosis Information - Treatment Information - Medical History
FP7-288209 EMPOWER
65 / 103
- Family History - Complaints and Physical Examination - Foot Examination - Laboratory Tests - Complication Screening - Final Recommendations
The information content of the above steps mainly changes according to the diabetes type (Type
1 or Type 2) and age (>18 or <18) of the patient.
In the following screens, the information contents for every possible case are presented. In
addition to this in the following table which screen is displayed in which case is summarized.
Table 2 Turkish Guideline Summary
Type 2 Type 1 and age>18
Type 1 and age<18
Demographic Information
Figure 74 Figure 74 Figure 74
Diagnosis Information
Figure 75 Figure 75 Figure 75
Treatment Information
Figure 77 Figure 76 Figure 76
Medical History Figure 78 Figure 78 Figure 79
Family History Figure 80 Figure 80 Figure 81
Complaints and Physical Examination
Figure 82 Figure 82 Figure 83, Figure 84
Foot Examination Figure 85 Figure 85 Figure 85
Laboratory Tests Figure 89 Figure 86, Figure 87
Figure 88
Complication Screening
Figure 90, Figure 91 Figure 90, Figure 91
Figure 90, Figure 91
FP7-288209 EMPOWER
66 / 103
Figure 74 Demographic Information
Figure 75 Diagnosis Information
FP7-288209 EMPOWER
67 / 103
Figure 76 Treatment Information for Type 1
Figure 77 Treatment Information for Type 2
FP7-288209 EMPOWER
68 / 103
Figure 78 Medical History for age > 18
Figure 79 Medical History for age < 18
FP7-288209 EMPOWER
69 / 103
Figure 80 Family History for age > 18
Figure 81 Family History for age < 18
FP7-288209 EMPOWER
70 / 103
Figure 82 Complaints and Physical Examination for age > 18
Figure 83 Complaints and Physical Examination for age < 18
FP7-288209 EMPOWER
71 / 103
Figure 84 Further Physical Examination for Type 1 and age < 18
FP7-288209 EMPOWER
72 / 103
Figure 85 Foot Examination
FP7-288209 EMPOWER
73 / 103
Figure 86 Laboratory Tests for Type 1 and age > 18 - Part 1
FP7-288209 EMPOWER
74 / 103
Figure 87 Laboratory Tests for Type 1 and age > 18 - Part 2
FP7-288209 EMPOWER
75 / 103
Figure 88 Laboratory Tests for Type 1 and age < 18
FP7-288209 EMPOWER
76 / 103
Figure 89 Laboratory Tests for Type 2
FP7-288209 EMPOWER
77 / 103
Figure 90 Complication Screening - Part 1
FP7-288209 EMPOWER
78 / 103
Figure 91 Complication Screening - Part 2
9 APPENDICES
9.1 Guideline XSD Definition <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="Configuration" type="Configuration"/> <xsd:element name="Guideline" type="Guideline"/> <xsd:complexType name="Guideline"> <xsd:sequence> <xsd:choice maxOccurs="unbounded"> <xsd:element name="StartStep" type="StartStep"/> <xsd:element name="ActionStep" type="ActionStep"/> <xsd:element name="RecommendationStep" type="RecommendationStep"/> <xsd:element name="FinalStep" type="FinalStep"/> <xsd:element name="DecisionStep" type="DecisionStep"/> </xsd:choice> </xsd:sequence> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="ID" type="xsd:ID"/> </xsd:complexType> <xsd:complexType name="Step"> <xsd:attribute name="ID" type="xsd:ID"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="nextStep" type="xsd:IDREF"/> <xsd:attribute name="extensionArea" type="xsd:string"/> </xsd:complexType> <xsd:complexType name="StartStep"> <xsd:complexContent> <xsd:extension base="Step"/> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="FinalStep"> <xsd:complexContent> <xsd:extension base="Step"/> </xsd:complexContent> </xsd:complexType>
FP7-288209 EMPOWER
79 / 103
<xsd:complexType name="ActionStep"> <xsd:complexContent> <xsd:extension base="Step"> <xsd:sequence> <xsd:element name="Variable" type="Variable" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="RecommendationStep"> <xsd:complexContent> <xsd:extension base="Step"> <xsd:sequence> <xsd:element name="Recommendation" type="Recommendation" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="DecisionStep"> <xsd:complexContent> <xsd:extension base="Step"> <xsd:sequence> <xsd:element name="DecisionBlock" type="DecisionBlock" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="DecisionBlock"> <xsd:sequence> <xsd:element name="ConditionScript" type="xsd:string" minOccurs="0"/> <xsd:element name="NextStep" type="xsd:IDREF" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Variable"> <xsd:sequence> <xsd:element name="ConditionScript" type="xsd:string" minOccurs="0"/> <xsd:element name="ValueAutoCalculationScript" type="xsd:string" minOccurs="0"/> <xsd:element name="WarningConditionScript" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="DisableOtherVariableCondition" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="VisualizationChart" type="VisualizationChart" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="type" type="VariableType"/> <xsd:attribute name="ID" type="xsd:ID"/> <xsd:attribute name="value" type="xsd:string"/> <xsd:attribute name="options" type="xsd:string"/> <xsd:attribute name="unit" type="xsd:string"/> <xsd:attribute name="description" type="xsd:string"/> <xsd:attribute name="umlsCode" type="xsd:string"/> <xsd:attribute name="display" type="xsd:string" default="true"/> </xsd:complexType> <xsd:complexType name="VisualizationChart"> <xsd:attribute name="type" type="xsd:string"/> <xsd:attribute name="from" type="xsd:string"/> <xsd:attribute name="to" type="xsd:string"/> <xsd:attribute name="period" type="xsd:string"/> </xsd:complexType> <xsd:complexType name="Recommendation"> <xsd:sequence> <xsd:element name="ConditionScript" type="xsd:string" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="ID" type="xsd:ID"/> <xsd:attribute name="description" type="xsd:string"/> <xsd:attribute name="status" type="xsd:string" default="not-approved"/> <xsd:attribute name="recommendationType" type="xsd:string" default="self-management"/> </xsd:complexType>
FP7-288209 EMPOWER
80 / 103
<xsd:simpleType name="VariableType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="binary"/> <xsd:enumeration value="string"/> <xsd:enumeration value="date"/> <xsd:enumeration value="time"/> <xsd:enumeration value="datetime"/> <xsd:enumeration value="list"/> <xsd:enumeration value="integer"/> <xsd:enumeration value="float"/> <xsd:enumeration value="radio"/> <xsd:enumeration value="radioText"/> <xsd:enumeration value="combobox"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="Configuration"> <xsd:sequence> <xsd:element name="XSLInformation" type="XSLInformation" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="DataElement" type="DataElement" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="XSLInformation"> <xsd:attribute name="actionStepID" type="xsd:IDREF"/> <xsd:attribute name="xslURL" type="xsd:string"/> </xsd:complexType> <xsd:complexType name="DataElement"> <xsd:sequence> <xsd:element name="PreparedStatement" type="PreparedStatement" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="umlsCode" type="xsd:string"/> <xsd:attribute name="displayName" type="xsd:string"/> </xsd:complexType> <xsd:complexType name="PreparedStatement"> <xsd:sequence> <xsd:element name="RefinementScript" type="xsd:string" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="accessType" type="xsd:string"/> <xsd:attribute name="type" type="VariableType"/> <xsd:attribute name="valueOrder" type="xsd:integer"/> <xsd:attribute name="dateOrder" type="xsd:integer"/> <xsd:attribute name="patientIDOrder" type="xsd:integer"/> <xsd:attribute name="statement" type="xsd:string"/> </xsd:complexType> <xsd:complexType name="Patient"> <xsd:attribute name="patientID" type="xsd:string"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="surname" type="xsd:string"/> <xsd:attribute name="birthDate" type="xsd:string"/> <xsd:attribute name="gender" type="xsd:string"/> </xsd:complexType> <xsd:complexType name="CareProvider"> <xsd:attribute name="careProviderID" type="xsd:string"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="surname" type="xsd:string"/> <xsd:attribute name="role" type="xsd:string"/> <xsd:attribute name="organization" type="xsd:string"/> </xsd:complexType> </xsd:schema>
9.2 Anithyperglycaemic therapy of type 2 diabetes <?xml version="1.0" encoding="UTF-8"?> <Guideline xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="..\..\..\..\..\recommender-engine-model\src\main\schema\Guideline.xsd" ID="DE-Diabetes-Guideline" name="Anithyperglycaemic theraphy of type 2
FP7-288209 EMPOWER
81 / 103
diabetes"> <StartStep ID="StartStep" nextStep="A"/> <ActionStep ID="A" name="Demographic Information" nextStep="B"> <Variable ID="patientName" type="string" umlsCode="C1299487"/> <Variable ID="patientSurname" type="string" umlsCode="C0421448"/> <Variable ID="patientIdentifier" type="string" umlsCode="C2599904"/> <Variable ID="birthDate" type="date" umlsCode="C0421451"/> <Variable ID="gender" type="string" umlsCode="C0079399"/> <Variable ID="diabetesType" type="radio" umlsCode="C1320657" options="Type 1:Type 2:Impaired Glucose Tolerance - IGT:Impaired Fasting Glucose - IFG"/> <Variable ID="guidelineExecutionCount" type="integer" umlsCode="C0750480"> <ValueAutoCalculationScript>var temp=0; if($guidelineExecutionCount == "") $guidelineExecutionCount = 1; else { temp = $guidelineExecutionCount; temp = +temp+1; $guidelineExecutionCount = ""; $guidelineExecutionCount = temp; } </ValueAutoCalculationScript> </Variable> </ActionStep> <ActionStep ID="B" name="Examination" nextStep="B1"> <Variable ID="hba1c" type="float" umlsCode="C0019018"> <VisualizationChart type="RECOMMEND_HBA1C_YEAR" period="P1Y"/> </Variable> <Variable ID="height" type="float" umlsCode="C0005890"/> <Variable ID="weight" type="float" umlsCode="C0005910"> <VisualizationChart type="RECOMMEND_WEIGHT_SIXMONTHS" period="P6M"/> </Variable> <Variable ID="bodyWeightIndex" type="float" umlsCode="C1305855"> <ValueAutoCalculationScript>var bwi=$weight/($height*$height); $bodyWeightIndex = bwi*10000;</ValueAutoCalculationScript> </Variable> <Variable ID="diastolicBloodPressure" type="integer" umlsCode="C0428883"> <VisualizationChart type="RECOMMEND_SYS_DIAS_BLOOD_PRESS_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="systolicBloodPressure" type="integer" umlsCode="C0277882"> <VisualizationChart type="RECOMMEND_SYS_DIAS_BLOOD_PRESS_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="smoking" type="radio" umlsCode="C0037369" options="Yes:No"/> <Variable ID="creatinine" type="float" umlsCode="C0010294"/> <Variable ID="lowDensityLipoProtein" type="integer" umlsCode="C0023823"> <VisualizationChart type="RECOMMEND_LDL_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="highDensityLipoProtein" type="integer" umlsCode="C0023821"> <VisualizationChart type="RECOMMEND_HDL_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="triglyceride" type="integer" umlsCode="C0041004"/> </ActionStep> <ActionStep ID="B1" name="Metformin Contraindications" nextStep="C"> <Variable ID="impairedRenalFunction" type="radio" umlsCode="C0022661" options="Yes:No:Unknown"/> <Variable ID="severeLiverDisease" type="radio" umlsCode="C0156189" options="Yes:No:Unknown"/> <Variable ID="pancreatitis" type="radio" umlsCode="C0030305" options="Yes:No:Unknown"/> <Variable ID="alcoholism" type="radio" umlsCode="C0001948" options="Yes:No:Unknown"/> <Variable ID="consumptiveDiseases" type="radio" umlsCode="C0012739" options="Yes:No:Unknown"/> <Variable ID="respiratoryInsufficiency" type="radio" umlsCode="C0035229" options="Yes:No:Unknown"/> <Variable ID="severeCardiacInsufficiency" type="radio" umlsCode="C3278586" options="Yes:No:Unknown"/> <Variable ID="cardiovascularShock" type="radio" umlsCode="C3177891" options="Yes:No:Unknown"/> <Variable ID="preOperativeState" type="radio" umlsCode="C0178808" options="Yes:No:Unknown"/> <Variable ID="periOperativeState" type="radio" umlsCode="C1518988" options="Yes:No:Unknown"/> <Variable ID="postOperativeState" type="radio" umlsCode="C0231287" options="Yes:No:Unknown"/> <Variable ID="advancedAge" type="radio" umlsCode="C0001792" options="Yes:No:Unknown"/> <Variable ID="caloricRestrictions" type="radio" umlsCode="C1135809" options="Yes:No:Unknown"/> </ActionStep> <ActionStep ID="C" name="Medications" nextStep="DS1"> <Variable ID="medications" type="list" umlsCode="C0013227"/> </ActionStep> <DecisionStep ID="DS1" nextStep="CR"> <DecisionBlock> <ConditionScript>function check() { if($guidelineExecutionCount == 2) return true; else return false;}</ConditionScript> <NextStep>D</NextStep> </DecisionBlock>
FP7-288209 EMPOWER
82 / 103
<DecisionBlock> <ConditionScript>function check() { if($guidelineExecutionCount == 3) return true; else return false;}</ConditionScript> <NextStep>DS2</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($guidelineExecutionCount == 4) return true; else return false;}</ConditionScript> <NextStep>DS3</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($guidelineExecutionCount == 5) return true; else return false;}</ConditionScript> <NextStep>DS4</NextStep> </DecisionBlock> <!--DecisionBlock> <ConditionScript>function check() { if($guidelineExecutionCount == 6) return true; else return false;}</ConditionScript> <NextStep>R</NextStep> </DecisionBlock--> </DecisionStep> <RecommendationStep ID="CR" name="Education, nutrition and exercise compliance recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="R1" description="A metformin therapy should be started as soon as possible. 2000 mg/day is recommended. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops an intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further attempt should be made to increase the dosage later. "> <ConditionScript>function check() { if($impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return false; else return true;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R2" description="There is a contraindication with metformin. Therapy with Acarbose (Alpha-glucosidase inhibitors), PPAR-y ligands, Repaglinide or Sulphonylurea (alphabetical list) is recommended."> <ConditionScript>function check() { if($impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R3" description="Schedule a follow-up after 1 months."/> </RecommendationStep> <ActionStep ID="D" name="First follow-up" nextStep="DR"> <Variable ID="metforminIntolerance" type="radio" umlsCode="C1532492" options="Yes:No:Unknown"/> </ActionStep> <RecommendationStep ID="DR" name="First follow-up recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="R4" description="Schedule a follow-up after 3-6 months."/> <Recommendation recommendationType="treatment" ID="R5" description="The HBA1c value is still > 6.5%. Therapy with Acarbose, PPAR-y ligands, Repaglinide or Sulphonylurea (alphabetical list) is recommended."> <ConditionScript>function check() { if($hba1c > 6.5) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R41" description="HbA1c <6.5%, while avoiding hypoglycaemia and pronounced weight increasing."> <ConditionScript>function check() { if($hba1c >= 6.5) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R42" description="Fasting blood sugar and pre-prandial: 90 to 120 mg / dL (5.0 to 6.7 mmol / l)"/> <Recommendation recommendationType="treatment" ID="R43" description="Total cholesterol <180 mg / dL (<4.7 mmol / l)"/> <Recommendation recommendationType="treatment" ID="R44" description="LDL <100 mg / dl (<2.6 mmol / l)"> <ConditionScript>function check() { if($severeCardiacInsufficiency == "No" && $cardiovascularShock == "No" && $lowDensityLipoProtein > 100) return true; else return false;}</ConditionScript>
FP7-288209 EMPOWER
83 / 103
</Recommendation> <Recommendation recommendationType="treatment" ID="R441" description="LDL <70 mg / dL (< 1.8 mmol / l)"> <ConditionScript>function check() { if(($severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes") && $lowDensityLipoProtein > 70) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R45" description="HDL: > 50 mg / dl (> 1.1 mmol / l)"> <ConditionScript>function check() { if($gender == "M" && $highDensityLipoProtein < 50) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R451" description="HDL: > 50 mg / dl (> 1.3 mmol / l)"> <ConditionScript>function check() { if($gender == "F" && $highDensityLipoProtein < 50) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R46" description="Triglycerides: <150 mg / dl (<1.7 mmol / l)"> <ConditionScript>function check() { if($triglyceride > 150) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R47" description="albuminuria: <20 mg / l taking ACE - inhibitors, if elevated"/> <Recommendation recommendationType="treatment" ID="R48" description="Blood pressure: syst <140 mmHg, dias 80 mmHg"/> <Recommendation recommendationType="treatment" ID="R49" description="Patient should stop smoking"> <ConditionScript>function check() { if($smoking == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R411" description="weight loss in overweight / obesity"> <ConditionScript>function check() { if($bodyWeightIndex > 25) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R412" description="correction of a prothrombotic state"/> <Recommendation recommendationType="self-management" ID="R413" description="Take the medications every morning."/> <Recommendation recommendationType="self-management" ID="R414" description="Measure and record blood sugar and blood pressure daily."/> <Recommendation recommendationType="self-management" ID="R415" description="Check your weight on Sunday morning before breakfast."/> <Recommendation recommendationType="self-management" ID="R416" description="Change your eating behaviour within the next two months."/> <Recommendation recommendationType="self-management" ID="R417" description="Do some sports."/> <Recommendation recommendationType="self-management" ID="R418" description="Lose 5 kg."> <ConditionScript>function check() { if($bodyWeightIndex > 25) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="self-management" ID="R419" description="Stop smoking."> <ConditionScript>function check() { if($smoking == "Yes") return true; else return false;}</ConditionScript> </Recommendation> </RecommendationStep> <DecisionStep ID="DS2" nextStep="FinalStep"> <DecisionBlock> <ConditionScript>function check() { if($hba1c < 7.5 && $hba1c >= 6.5) return true; else return false;}</ConditionScript> <NextStep>F</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($hba1c >= 7.5) return true; else return false;}</ConditionScript> <NextStep>G</NextStep> </DecisionBlock> </DecisionStep> <ActionStep ID="F" name="OAD Combination, OAD/Exenatide Combination Therapy - AGI Contraindications" nextStep="FR"> <!-- AGI Contraindications: age <18 --> <Variable ID="pregnancy" type="radio" umlsCode="C0032961" options="Yes:No:Unknown"/>
FP7-288209 EMPOWER
84 / 103
<Variable ID="chronicInflammatoryIntestinalDiseases" type="radio" umlsCode="C0021390" options="Yes:No:Unknown"/> <Variable ID="hernias" type="radio" umlsCode="C0019270" options="Yes:No:Unknown"/> <Variable ID="spasticColon" type="radio" umlsCode="C0022104" options="Yes:No:Unknown"/> <Variable ID="ileus" type="radio" umlsCode="C1258215" options="Yes:No:Unknown"/> <Variable ID="subileus" type="radio" umlsCode="C0919671" options="Yes:No:Unknown"/> <Variable ID="renalInsufficiency" type="radio" umlsCode="C1565489" options="Yes:No:Unknown"/> </ActionStep> <RecommendationStep ID="FR" name="OAD Combination, OAD/Exenatide Combination Therapy - AGI Contraindications Recommendations" nextStep="H"> <Recommendation recommendationType="treatment" ID="R6" description="There is a contraindication with AGI."> <ConditionScript>function check() { var age=yearDifference($birthDate); if(age < 18 || $pregnancy == "Yes" || $chronicInflammatoryIntestinalDiseases == "Yes" || $hernias == "Yes" || $spasticColon == "Yes" || $ileus == "Yes" || $subileus == "Yes" || $renalInsufficiency == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R6.1" description="There is no contraindication with AGI."> <ConditionScript>function check() { var age=yearDifference($birthDate); if(age < 18 || $pregnancy == "Yes" || $chronicInflammatoryIntestinalDiseases == "Yes" || $hernias == "Yes" || $spasticColon == "Yes" || $ileus == "Yes" || $subileus == "Yes" || $renalInsufficiency == "Yes") return false; else return true;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R7" description="Schedule a follow-up after 3-6 months."/> <Recommendation recommendationType="treatment" ID="R6.2" description="A metformin therapy can be started. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops an intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further attempt should be made to increase the dosage later. "> <ConditionScript>function check() { if($impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return false; else return true;}</ConditionScript> </Recommendation> </RecommendationStep> <ActionStep ID="H" name="OAD Combination, OAD/Exenatide Combination Therapy - Exenatide Contraindications" nextStep="HR"> <Variable ID="diabeticKetoacidosis" type="radio" umlsCode="C0011880" options="Yes:No:Unknown"/> <Variable ID="renalInsufficiency2" type="radio" umlsCode="C1565489" options="Yes:No:Unknown"/> </ActionStep> <RecommendationStep ID="HR" name="OAD Combination, OAD/Exenatide Combination Therapy - Exenatide Contraindications Recommendations" nextStep="K"> <Recommendation recommendationType="treatment" ID="R8" description="There is a contraindication with Exenatide."> <ConditionScript>function check() { if($diabeticKetoacidosis == "Yes" || $renalInsufficiency2 == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R8.1" description="There is no contraindication with Exenatide."> <ConditionScript>function check() { if($diabeticKetoacidosis == "Yes" || $renalInsufficiency2 == "Yes") return false; else return true;}</ConditionScript> </Recommendation> </RecommendationStep> <ActionStep ID="K" name="OAD Combination, OAD/Exenatide Combination Therapy - Sulphonylureas Contraindications" nextStep="KR"> <Variable ID="pancreatectomy" type="radio" umlsCode="C0030279" options="Yes:No:Unknown"/> <Variable ID="hypersensitivityToSulphonylureas" type="radio" umlsCode="C1531909" options="Yes:No:Unknown"/> <Variable ID="hypersensitivityToSulphonamideAntimicrobialAgents" type="radio" umlsCode="C0261773" options="Yes:No:Unknown"/> <Variable ID="hypersensitivityToSulphonamideDiuretics" type="radio" umlsCode="C1644720" options="Yes:No:Unknown"/> <Variable ID="hypersensitivityToProbenecid" type="radio" umlsCode="C0571133" options="Yes:No:Unknown"/> <Variable ID="majorPastSurgeriesAccidentsInfections" type="radio" umlsCode="C0455610" options="Yes:No:Unknown"/> <Variable ID="acutePorphyria" type="radio" umlsCode="C0162565" options="Yes:No:Unknown"/> <Variable ID="pregnancy3" type="radio" umlsCode="C0032961" options="Yes:No:Unknown"/> <Variable ID="impairedRenalFunction2" type="radio" umlsCode="C0022661" options="Yes:No:Unknown"/> <Variable ID="severeLiverDisease2" type="radio" umlsCode="C0156189" options="Yes:No:Unknown"/>
FP7-288209 EMPOWER
85 / 103
</ActionStep> <RecommendationStep ID="KR" name="OAD Combination, OAD/Exenatide Combination Therapy - Sulphonylureas Contraindications Recommendations" nextStep="L"> <Recommendation recommendationType="treatment" ID="R11.1" description="There is no contraindication with Sulphonylureas."> <ConditionScript>function check() { if($pancreatectomy == "Yes" || $hypersensitivityToSulphonylureas == "Yes" || $hypersensitivityToSulphonamideAntimicrobialAgents == "Yes" || $hypersensitivityToSulphonamideDiuretics == "Yes" || $hypersensitivityToProbenecid == "Yes" || $majorPastSurgeriesAccidentsInfections == "Yes" || $acutePorphyria == "Yes" || $pregnancy3 == "Yes" || $impairedRenalFunction2 == "Yes" || $severeLiverDisease2 == "Yes") return false; else return true;}</ConditionScript> </Recommendation> </RecommendationStep> <ActionStep ID="L" name="OAD Combination, OAD/Exenatide Combination Therapy - Sulphonylureas Analogues Contraindications" nextStep="LR"> <Variable ID="hypersensitivityToRepaglinide" type="radio" umlsCode="C0246689" options="Yes:No:Unknown"/> <Variable ID="hypersensitivityToNateglinide" type="radio" umlsCode="C0903898" options="Yes:No:Unknown"/> <Variable ID="pancreatectomy2" type="radio" umlsCode="C0030279" options="Yes:No:Unknown"/> <Variable ID="majorPastSurgeriesAccidentsInfections2" type="radio" umlsCode="C0455610" options="Yes:No:Unknown"/> <Variable ID="severeLiverDisease3" type="radio" umlsCode="C0156189" options="Yes:No:Unknown"/> <Variable ID="pregnancy4" type="radio" umlsCode="C0032961" options="Yes:No:Unknown"/> </ActionStep> <RecommendationStep ID="LR" name="OAD Combination, OAD/Exenatide Combination Therapy - Sulphonylureas Analogues Contraindications Recommendations" nextStep="M"> <Recommendation recommendationType="treatment" ID="R12" description="There is a contraindication with Sulphonylureas Analogues."> <ConditionScript>function check() { if($hypersensitivityToRepaglinide == "Yes" || $hypersensitivityToNateglinide == "Yes" || $pancreatectomy2 == "Yes" || $majorPastSurgeriesAccidentsInfections2 == "Yes" || $severeLiverDisease3 == "Yes" || $pregnancy4 == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R12.1" description="There is no contraindication with Sulphonylureas Analogues."> <ConditionScript>function check() { if($hypersensitivityToRepaglinide == "Yes" || $hypersensitivityToNateglinide == "Yes" || $pancreatectomy2 == "Yes" || $majorPastSurgeriesAccidentsInfections2 == "Yes" || $severeLiverDisease3 == "Yes" || $pregnancy4 == "Yes") return false; else return true;}</ConditionScript> </Recommendation> </RecommendationStep> <ActionStep ID="M" name="OAD Combination, OAD/Exenatide Combination Therapy - DPP-4 Contraindications" nextStep="MR"> <Variable ID="pregnancy5" type="radio" umlsCode="C0032961" options="Yes:No:Unknown"/> <Variable ID="renalInsufficiency3" type="radio" umlsCode="C1565489" options="Yes:No:Unknown"/> </ActionStep> <RecommendationStep ID="MR" name="OAD Combination, OAD/Exenatide Combination Therapy - DPP-4 Contraindications Recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="R13" description="There is a contraindication with DPP-4."> <ConditionScript>function check() { var age=yearDifference($birthDate); if(age < 18 || $pregnancy5 == "Yes" || $renalInsufficiency3 == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R13.1" description="There is no contraindication with DPP-4."> <ConditionScript>function check() { var age=yearDifference($birthDate); if(age < 18 || $pregnancy5 == "Yes" || $renalInsufficiency3 == "Yes") return false; else return true;}</ConditionScript> </Recommendation> </RecommendationStep> <DecisionStep ID="DS3" nextStep="FinalStep"> <DecisionBlock> <ConditionScript>function check() { if($hba1c >= 6.5) return true; else return false;}</ConditionScript> <NextStep>G</NextStep> </DecisionBlock> </DecisionStep> <ActionStep ID="G" name="Combination Therapy OAD (particularly metformin) plus insulin" nextStep="GR"> <Variable ID="preprandialInsulin" type="float" umlsCode="C00190181"/> </ActionStep> <RecommendationStep ID="GR" name="Combination Therapy OAD (particularly metformin) plus insulin recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="R14" description="Schedule a follow-up after 3-6 months."/>
FP7-288209 EMPOWER
86 / 103
<Recommendation recommendationType="treatment" ID="R15" description="Start basal insulin therapy. Injection at bedtime in the evening is recommended. TODO: RECOMMEND DOSE."/> <Recommendation recommendationType="treatment" ID="R16" description="A metformin therapy can be started. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops an intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further attempt should be made to increase the dosage later. "> <ConditionScript>function check() { if($impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return false; else return true;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R17" description="If the preprandial blood sugar levels during the day are not in the target range, prandial insulin therapy should be implemented (also called supplementary insulin therapy, SIT)."> <ConditionScript>function check() { if($preprandialInsulin > 110) return true; else return false;}</ConditionScript> </Recommendation> </RecommendationStep> <DecisionStep ID="DS4" nextStep="FinalStep"> <DecisionBlock> <ConditionScript>function check() { if($hba1c >= 6.5) return true; else return false;}</ConditionScript> <NextStep>P</NextStep> </DecisionBlock> </DecisionStep> <ActionStep ID="P" name="Intensification of Insulin Therapy (MDI, premixed bid)" nextStep="PR"> <Variable ID="insulinInjectionPreference" type="radio" umlsCode="C0199782" options="Multiple daily basal/bolus insulin:Twice daily premixed insulin:Insulin pump"/> <Variable ID="liverFunctionDisorders2" type="radio" umlsCode="C0156194" options="Yes:No:Unknown"/> <Variable ID="congestiveHeartFailure2" type="radio" umlsCode="C0018802" options="Yes:No:Unknown"/> <Variable ID="diabeticPrecoma2" type="radio" umlsCode="C1142529" options="Yes:No:Unknown"/> <Variable ID="diabeticKetoacidosis3" type="radio" umlsCode="C0011880" options="Yes:No:Unknown"/> <Variable ID="pregnancy6" type="radio" umlsCode="C0032961" options="Yes:No:Unknown"/> </ActionStep> <RecommendationStep ID="PR" name="Intensification of Insulin Therapy (MDI, premixed bid) Recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="R18" description="MDI (multiple daily injection of basal / bolus insulin) and premixed bid (injection of premixed insulins twice daily) are essentially insulin therapy procedures that assist in achieving the individual therapeutic goal. The advantages and disadvantages of both therapy forms should be discussed with the patient before any decision regarding therapy is made."/> <Recommendation recommendationType="treatment" ID="R19" description="Besides taking basal insulin at night, the patient should inject bolus insulin at mealtimes. TODO: RECOMMEND DOSE."> <ConditionScript>function check() { if($insulinInjectionPreference == "Multiple daily basal/bolus insulin") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R20" description="The decision as to whether the patient must also take basal insulin during the day is determined by the result of the basal rate test (skipping lunch, plasma glucose measurement every hour until dinner, determination of the need for basal insulin based on plasma glucose development)."> <ConditionScript>function check() { if($insulinInjectionPreference == "Multiple daily basal/bolus insulin") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R21" description="A metformin therapy can be started. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops an intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further attempt should be made to increase the dosage later. "> <ConditionScript>function check() { if($impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return false; else return true;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R22" description="If MDI is not indicated for individual, social or organisational reasons, a so called conventional form of insulin therapy, usually injecting premixed insulin twice a day, is applied."> <ConditionScript>function check() { if($insulinInjectionPreference == "Multiple daily basal/bolus insulin") return false; else return true;}</ConditionScript> </Recommendation>
FP7-288209 EMPOWER
87 / 103
<Recommendation recommendationType="treatment" ID="R24" description="Schedule a follow-up after 3-6 months."/> </RecommendationStep> <!--ActionStep ID="R" name="Fifth follow-up" nextStep="DS5"> <Variable ID="hba1c_5" type="float" umlsCode="C0019018"/> </ActionStep> <DecisionStep ID="DS5" nextStep="FinalStep"> <DecisionBlock> <ConditionScript>function check() { if($hba1c_5 >= 6.5) return true; else return false;}</ConditionScript> <NextStep>S</NextStep> </DecisionBlock> </DecisionStep> <RecommendationStep ID="S" name="Intensification of Insulin Therapy (CSII) Recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="R25" description="IIf the therapeutic HbA1c goal is not achieved with MDI despite repetitive structured education of the patient, CSII represents a therapeutic option."/> <Recommendation recommendationType="treatment" ID="R26" description="A metformin therapy can be started. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops an intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further attempt should be made to increase the dosage later. "> <ConditionScript>function check() { if($impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return false; else return true;}</ConditionScript> </Recommendation> </RecommendationStep--> <FinalStep ID="FinalStep"/> </Guideline>
9.3 Diagnosis of type 2 diabetes in Turkey <?xml version="1.0" encoding="UTF-8"?> <Guideline xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="..\..\..\..\..\recommender-engine-model\src\main\schema\Guideline.xsd" ID="TR-Diabetes-Guideline-Diagnosis-Type2" name="Diagnosis of type 2 diabetes in Turkey"> <StartStep ID="StartStep" nextStep="A"/> <ActionStep ID="A" name="Demographic Information" nextStep="B"> <Variable ID="patientName" type="string" umlsCode="C1299487"/> <Variable ID="patientSurname" type="string" umlsCode="C0421448"/> <Variable ID="patientIdentifier" type="string" umlsCode="C2599904"/> <Variable ID="birthDate" type="date" umlsCode="C0421451"/> <Variable ID="gender" type="string" umlsCode="C0079399"/> </ActionStep> <ActionStep ID="B" name="Medications" nextStep="C"> <Variable ID="medications" type="list" umlsCode="C0013227"/> </ActionStep> <ActionStep ID="C" name="Examination" nextStep="D"> <Variable ID="height" type="float" umlsCode="C0005890"/> <Variable ID="weight" type="float" umlsCode="C0005910"> <VisualizationChart type="RECOMMEND_WEIGHT_SIXMONTHS" period="P6M"/> </Variable> <Variable ID="bodyWeightIndex" type="float" umlsCode="C1305855"> <ValueAutoCalculationScript>var bwi=$weight/($height*$height); $bodyWeightIndex = bwi*10000;</ValueAutoCalculationScript> </Variable> <Variable ID="diastolicBloodPressure" type="integer" umlsCode="C0428883"> <VisualizationChart type="RECOMMEND_SYS_DIAS_BLOOD_PRESS_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="systolicBloodPressure" type="integer" umlsCode="C0277882"> <VisualizationChart type="RECOMMEND_SYS_DIAS_BLOOD_PRESS_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="smoking" type="radio" umlsCode="C0037369" options="Yes:No"/> <Variable ID="creatinine" type="float" umlsCode="C0010294"/> <Variable ID="lowDensityLipoProtein" type="integer" umlsCode="C0023823"> <VisualizationChart type="RECOMMEND_LDL_THREEMONTHS" period="P3M"/> </Variable>
FP7-288209 EMPOWER
88 / 103
<Variable ID="highDensityLipoProtein" type="integer" umlsCode="C0023821"> <VisualizationChart type="RECOMMEND_HDL_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="triglyceride" type="integer" umlsCode="C0041004"/> <Variable ID="fastingBloodGlucose" type="float" umlsCode="C0428568"/> </ActionStep> <DecisionStep ID="D" nextStep="FinalStep"> <DecisionBlock> <ConditionScript>function check() { if($fastingBloodGlucose < 100) return true; else return false;}</ConditionScript> <NextStep>E</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($fastingBloodGlucose >= 100 && $fastingBloodGlucose <= 125) return true; else return false;}</ConditionScript> <NextStep>F</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($fastingBloodGlucose >= 126) return true; else return false;}</ConditionScript> <NextStep>G</NextStep> </DecisionBlock> </DecisionStep> <RecommendationStep ID="E" name="Diagnosis recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="R411" description="Weight loss in overweight / obesity."> <ConditionScript>function check() { if($bodyWeightIndex > 25) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R1" description="The patient is normal."/> </RecommendationStep> <ActionStep ID="F" name="Oral Glucose Tolerance Test: 75gr, 2 hour Plasma Glucose" nextStep="D2"> <Variable ID="ogtt" type="float" umlsCode="C0029161"/> </ActionStep> <DecisionStep ID="D2" nextStep="FinalStep"> <DecisionBlock> <ConditionScript>function check() { if($fastingBloodGlucose < 100 && $ogtt < 140) return true; else return false;}</ConditionScript> <NextStep>E</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($fastingBloodGlucose < 100 && $ogtt >= 140 && $ogtt <= 199) return true; else return false;}</ConditionScript> <NextStep>F1</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($fastingBloodGlucose >= 100 && $fastingBloodGlucose <= 125 && $ogtt < 140) return true; else return false;}</ConditionScript> <NextStep>G</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($fastingBloodGlucose >= 100 && $fastingBloodGlucose <= 125 && $ogtt >= 140 && $ogtt <= 199) return true; else return false;}</ConditionScript> <NextStep>H</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($fastingBloodGlucose >= 126 || $ogtt >= 200) return true; else return false;}</ConditionScript> <NextStep>I</NextStep> </DecisionBlock> </DecisionStep> <RecommendationStep ID="F1" name="Diagnosis recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="RF1" description="The patient is isolated IGT."/> </RecommendationStep> <RecommendationStep ID="G" name="Diagnosis recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="RG1" description="The patient is isolated IFG."/> </RecommendationStep> <RecommendationStep ID="H" name="Diagnosis recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="RH1" description="The patient is IFG + IGT."/>
FP7-288209 EMPOWER
89 / 103
</RecommendationStep> <RecommendationStep ID="I" name="Diagnosis recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="RI1" description="The patient is Type 2 Diabetes Mellitus."/> </RecommendationStep> <FinalStep ID="FinalStep"/> </Guideline>
9.4 Treatment of type 2 diabetes in Turkey <?xml version="1.0" encoding="UTF-8"?> <Guideline xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="..\..\..\..\..\recommender-engine-model\src\main\schema\Guideline.xsd" ID="TR-Diabetes-Guideline" name="Treatment of type 2 diabetes in Turkey"> <StartStep ID="StartStep" nextStep="A"/> <ActionStep ID="A" name="Demographic Information" nextStep="B"> <Variable ID="patientName" type="string" umlsCode="C1299487"/> <Variable ID="patientSurname" type="string" umlsCode="C0421448"/> <Variable ID="patientIdentifier" type="string" umlsCode="C2599904"/> <Variable ID="birthDate" type="date" umlsCode="C0421451"/> <Variable ID="gender" type="string" umlsCode="C0079399"/> <Variable ID="diabetesType" type="radio" umlsCode="C1320657" options="Type 1:Type 2:Impaired Glucose Tolerance - IGT:Impaired Fasting Glucose - IFG"/> <Variable ID="guidelineExecutionCount" type="integer" umlsCode="C0750480"> <ValueAutoCalculationScript>var temp=0; if($guidelineExecutionCount == "") $guidelineExecutionCount = 1; else { temp = $guidelineExecutionCount; temp = +temp+1; $guidelineExecutionCount = ""; $guidelineExecutionCount = temp; } </ValueAutoCalculationScript> </Variable> </ActionStep> <ActionStep ID="B" name="Examination" nextStep="B1"> <Variable ID="hba1c" type="float" umlsCode="C0019018"> <VisualizationChart type="RECOMMEND_HBA1C_YEAR" period="P1Y"/> </Variable> <Variable ID="height" type="float" umlsCode="C0005890"/> <Variable ID="weight" type="float" umlsCode="C0005910"> <VisualizationChart type="RECOMMEND_WEIGHT_SIXMONTHS" period="P6M"/> </Variable> <Variable ID="bodyWeightIndex" type="float" umlsCode="C1305855"> <ValueAutoCalculationScript>var bwi=$weight/($height*$height); $bodyWeightIndex = bwi*10000;</ValueAutoCalculationScript> </Variable> <Variable ID="diastolicBloodPressure" type="integer" umlsCode="C0428883"> <VisualizationChart type="RECOMMEND_SYS_DIAS_BLOOD_PRESS_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="systolicBloodPressure" type="integer" umlsCode="C0277882"> <VisualizationChart type="RECOMMEND_SYS_DIAS_BLOOD_PRESS_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="smoking" type="radio" umlsCode="C0037369" options="Yes:No"/> <Variable ID="creatinine" type="float" umlsCode="C0010294"/> <Variable ID="lowDensityLipoProtein" type="integer" umlsCode="C0023823"> <VisualizationChart type="RECOMMEND_LDL_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="highDensityLipoProtein" type="integer" umlsCode="C0023821"> <VisualizationChart type="RECOMMEND_HDL_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="triglyceride" type="integer" umlsCode="C0041004"/> </ActionStep> <ActionStep ID="B1" name="Metformin Contraindications" nextStep="C"> <Variable ID="impairedRenalFunction" type="radio" umlsCode="C0022661" options="Yes:No:Unknown"/> <Variable ID="severeLiverDisease" type="radio" umlsCode="C0156189" options="Yes:No:Unknown"/> <Variable ID="pancreatitis" type="radio" umlsCode="C0030305" options="Yes:No:Unknown"/> <Variable ID="alcoholism" type="radio" umlsCode="C0001948" options="Yes:No:Unknown"/> <Variable ID="consumptiveDiseases" type="radio" umlsCode="C0012739" options="Yes:No:Unknown"/> <Variable ID="respiratoryInsufficiency" type="radio" umlsCode="C0035229" options="Yes:No:Unknown"/> <Variable ID="severeCardiacInsufficiency" type="radio" umlsCode="C3278586" options="Yes:No:Unknown"/> <Variable ID="cardiovascularShock" type="radio" umlsCode="C3177891" options="Yes:No:Unknown"/> <Variable ID="preOperativeState" type="radio" umlsCode="C0178808" options="Yes:No:Unknown"/> <Variable ID="periOperativeState" type="radio" umlsCode="C1518988" options="Yes:No:Unknown"/> <Variable ID="postOperativeState" type="radio" umlsCode="C0231287" options="Yes:No:Unknown"/>
FP7-288209 EMPOWER
90 / 103
<Variable ID="advancedAge" type="radio" umlsCode="C0001792" options="Yes:No:Unknown"/> <Variable ID="caloricRestrictions" type="radio" umlsCode="C1135809" options="Yes:No:Unknown"/> <Variable ID="metforminIntolerance" type="radio" umlsCode="C1532492" options="Yes:No:Unknown"/> </ActionStep> <ActionStep ID="C" name="Medications" nextStep="CR"> <Variable ID="medications" type="list" umlsCode="C0013227"/> </ActionStep> <DecisionStep ID="DS1" nextStep="CR"> <DecisionBlock> <ConditionScript>function check() { if($hba1c >= 10) return true; else return false;}</ConditionScript> <NextStep>G</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($guidelineExecutionCount == 2) return true; else return false;}</ConditionScript> <NextStep>DS2</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($guidelineExecutionCount == 3) return true; else return false;}</ConditionScript> <NextStep>DS3</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($guidelineExecutionCount == 4) return true; else return false;}</ConditionScript> <NextStep>DS4</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($guidelineExecutionCount == 5) return true; else return false;}</ConditionScript> <NextStep>R</NextStep> </DecisionBlock> </DecisionStep> <RecommendationStep ID="CR" name="Education, nutrition and exercise compliance recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="R1" description="A metformin therapy should be started as soon as possible. 2000 mg/day is recommended. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops an intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further attempt should be made to increase the dosage later. "> <ConditionScript>function check() { if($metforminIntolerance == "Yes" || $impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return false; else return true;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R2" description="There is a contraindication with metformin. Therapy with Sulphonylurea (alphabetical list) is recommended."> <ConditionScript>function check() { if($metforminIntolerance == "Yes" || $impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R3" description="Schedule a follow-up after 3 months."/> <Recommendation recommendationType="self-management" ID="R31" description="Lose at least 5% of the body weight."/> <Recommendation recommendationType="self-management" ID="R32" description="Measure the blood glucose at least three times a week."/> <Recommendation recommendationType="self-management" ID="R33" description="The fasting blood glucose should be 70-120 mg/dl."/> <Recommendation recommendationType="self-management" ID="R34" description="The post prandial blood glucose should be less than 140 mg/dl."/> <Recommendation recommendationType="treatment" ID="R4" description="Schedule a follow-up after 3-6 months."/> <Recommendation recommendationType="treatment" ID="R43" description="Total cholesterol <180 mg / dL (<4.7 mmol / l)"/> <Recommendation recommendationType="treatment" ID="R44" description="LDL <100 mg / dl (<2.6 mmol / l)">
FP7-288209 EMPOWER
91 / 103
<ConditionScript>function check() { if($severeCardiacInsufficiency == "No" && $cardiovascularShock == "No" && $lowDensityLipoProtein > 100) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R441" description="LDL <70 mg / dL (< 1.8 mmol / l)"> <ConditionScript>function check() { if(($severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes") && $lowDensityLipoProtein > 70) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R45" description="HDL: > 50 mg / dl (> 1.1 mmol / l)"> <ConditionScript>function check() { if($gender == "M" && $highDensityLipoProtein < 50) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R451" description="HDL: > 50 mg / dl (> 1.3 mmol / l)"> <ConditionScript>function check() { if($gender == "F" && $highDensityLipoProtein < 50) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R46" description="Triglycerides: <150 mg / dl (<1.7 mmol / l)"> <ConditionScript>function check() { if($triglyceride > 150) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R47" description="albuminuria: <20 mg / l taking ACE - inhibitors, if elevated"/> <Recommendation recommendationType="treatment" ID="R48" description="Blood pressure: syst <140 mmHg, dias 80 mmHg"/> <Recommendation recommendationType="treatment" ID="R49" description="Patient should stop smoking"> <ConditionScript>function check() { if($smoking == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R411" description="weight loss in overweight / obesity"> <ConditionScript>function check() { if($bodyWeightIndex > 25) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R412" description="correction of a prothrombotic state"/> <Recommendation recommendationType="self-management" ID="R413" description="Take the medications every morning."/> <Recommendation recommendationType="self-management" ID="R414" description="Measure and record blood sugar and blood pressure daily."/> <Recommendation recommendationType="self-management" ID="R415" description="Check your weight on Sunday morning before breakfast."/> <Recommendation recommendationType="self-management" ID="R416" description="Change your eating behaviour within the next two months."/> <Recommendation recommendationType="self-management" ID="R417" description="Do some sports."/> <Recommendation recommendationType="self-management" ID="R418" description="Lose 4 kg."> <ConditionScript>function check() { if($bodyWeightIndex > 25) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="self-management" ID="R419" description="Stop smoking."> <ConditionScript>function check() { if($smoking == "Yes") return true; else return false;}</ConditionScript> </Recommendation> </RecommendationStep> <DecisionStep ID="DS2" nextStep="FinalStep"> <DecisionBlock> <ConditionScript>function check() { if($hba1c < 8.5 && $hba1c >= 6.5) return true; else return false;}</ConditionScript> <NextStep>F</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($hba1c >= 8.5) return true; else return false;}</ConditionScript> <NextStep>G</NextStep> </DecisionBlock> </DecisionStep> <ActionStep ID="F" name="OAD Combination, OAD/Exenatide (GLP-1 Analogue) Combination Therapy - AGI Contraindications" nextStep="FR">
FP7-288209 EMPOWER
92 / 103
<!-- AGI Contraindications: age <18 --> <Variable ID="pregnancy" type="radio" umlsCode="C0032961" options="Yes:No:Unknown"/> <Variable ID="chronicInflammatoryIntestinalDiseases" type="radio" umlsCode="C0021390" options="Yes:No:Unknown"/> <Variable ID="hernias" type="radio" umlsCode="C0019270" options="Yes:No:Unknown"/> <Variable ID="spasticColon" type="radio" umlsCode="C0022104" options="Yes:No:Unknown"/> <Variable ID="ileus" type="radio" umlsCode="C1258215" options="Yes:No:Unknown"/> <Variable ID="subileus" type="radio" umlsCode="C0919671" options="Yes:No:Unknown"/> <Variable ID="renalInsufficiency" type="radio" umlsCode="C1565489" options="Yes:No:Unknown"/> </ActionStep> <RecommendationStep ID="FR" name="OAD Combination, OAD/Exenatide Combination Therapy - AGI Contraindications Recommendations" nextStep="H"> <Recommendation recommendationType="treatment" ID="R5" description="The HBA1c value is still > 6.5%. Therapy with Acarbose (Alpha-glucosidase inhibitors), Thiazolidinedione, PPAR-y ligands, GLP-1 Analogues (Exenatide), DPP-4 Inhibitor, Repaglinide or Sulphonylurea (alphabetical list) is recommended."> <ConditionScript>function check() { if($hba1c > 6.5) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R41" description="HbA1c <6.5%, while avoiding hypoglycaemia and pronounced weight increasing."> <ConditionScript>function check() { if($hba1c >= 6.5) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R6" description="There is a contraindication with AGI."> <ConditionScript>function check() { var age=yearDifference($birthDate); if(age < 18 || $pregnancy == "Yes" || $chronicInflammatoryIntestinalDiseases == "Yes" || $hernias == "Yes" || $spasticColon == "Yes" || $ileus == "Yes" || $subileus == "Yes" || $renalInsufficiency == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R6.1" description="There is no contraindication with AGI."> <ConditionScript>function check() { var age=yearDifference($birthDate); if(age < 18 || $pregnancy == "Yes" || $chronicInflammatoryIntestinalDiseases == "Yes" || $hernias == "Yes" || $spasticColon == "Yes" || $ileus == "Yes" || $subileus == "Yes" || $renalInsufficiency == "Yes") return false; else return true;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R7" description="Schedule a follow-up after 3-6 months."/> <Recommendation recommendationType="treatment" ID="R6.2" description="A metformin therapy can be started. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops an intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further attempt should be made to increase the dosage later. "> <ConditionScript>function check() { if($impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return false; else return true;}</ConditionScript> </Recommendation> </RecommendationStep> <ActionStep ID="H" name="OAD Combination, OAD/Exenatide Combination Therapy - Exenatide Contraindications" nextStep="HR"> <Variable ID="diabeticKetoacidosis" type="radio" umlsCode="C0011880" options="Yes:No:Unknown"/> <Variable ID="renalInsufficiency2" type="radio" umlsCode="C1565489" options="Yes:No:Unknown"/> </ActionStep> <RecommendationStep ID="HR" name="OAD Combination, OAD/Exenatide Combination Therapy - Exenatide Contraindications Recommendations" nextStep="K"> <Recommendation recommendationType="treatment" ID="R8" description="There is a contraindication with Exenatide."> <ConditionScript>function check() { if($diabeticKetoacidosis == "Yes" || $renalInsufficiency2 == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R8.1" description="There is no contraindication with Exenatide."> <ConditionScript>function check() { if($diabeticKetoacidosis == "Yes" || $renalInsufficiency2 == "Yes") return false; else return true;}</ConditionScript> </Recommendation> </RecommendationStep> <ActionStep ID="K" name="OAD Combination, OAD/Exenatide Combination Therapy - Sulphonylureas Contraindications" nextStep="KR"> <Variable ID="pancreatectomy" type="radio" umlsCode="C0030279" options="Yes:No:Unknown"/>
FP7-288209 EMPOWER
93 / 103
<Variable ID="hypersensitivityToSulphonylureas" type="radio" umlsCode="C1531909" options="Yes:No:Unknown"/> <Variable ID="hypersensitivityToSulphonamideAntimicrobialAgents" type="radio" umlsCode="C0261773" options="Yes:No:Unknown"/> <Variable ID="hypersensitivityToSulphonamideDiuretics" type="radio" umlsCode="C1644720" options="Yes:No:Unknown"/> <Variable ID="hypersensitivityToProbenecid" type="radio" umlsCode="C0571133" options="Yes:No:Unknown"/> <Variable ID="majorPastSurgeriesAccidentsInfections" type="radio" umlsCode="C0455610" options="Yes:No:Unknown"/> <Variable ID="acutePorphyria" type="radio" umlsCode="C0162565" options="Yes:No:Unknown"/> <Variable ID="pregnancy3" type="radio" umlsCode="C0032961" options="Yes:No:Unknown"/> <Variable ID="impairedRenalFunction2" type="radio" umlsCode="C0022661" options="Yes:No:Unknown"/> <Variable ID="severeLiverDisease2" type="radio" umlsCode="C0156189" options="Yes:No:Unknown"/> </ActionStep> <RecommendationStep ID="KR" name="OAD Combination, OAD/Exenatide Combination Therapy - Sulphonylureas Contraindications Recommendations" nextStep="L"> <Recommendation recommendationType="treatment" ID="R11.1" description="There is no contraindication with Sulphonylureas."> <ConditionScript>function check() { if($pancreatectomy == "Yes" || $hypersensitivityToSulphonylureas == "Yes" || $hypersensitivityToSulphonamideAntimicrobialAgents == "Yes" || $hypersensitivityToSulphonamideDiuretics == "Yes" || $hypersensitivityToProbenecid == "Yes" || $majorPastSurgeriesAccidentsInfections == "Yes" || $acutePorphyria == "Yes" || $pregnancy3 == "Yes" || $impairedRenalFunction2 == "Yes" || $severeLiverDisease2 == "Yes") return false; else return true;}</ConditionScript> </Recommendation> </RecommendationStep> <ActionStep ID="L" name="OAD Combination, OAD/Exenatide Combination Therapy - Sulphonylureas Analogues Contraindications" nextStep="LR"> <Variable ID="hypersensitivityToRepaglinide" type="radio" umlsCode="C0246689" options="Yes:No:Unknown"/> <Variable ID="hypersensitivityToNateglinide" type="radio" umlsCode="C0903898" options="Yes:No:Unknown"/> <Variable ID="pancreatectomy2" type="radio" umlsCode="C0030279" options="Yes:No:Unknown"/> <Variable ID="majorPastSurgeriesAccidentsInfections2" type="radio" umlsCode="C0455610" options="Yes:No:Unknown"/> <Variable ID="severeLiverDisease3" type="radio" umlsCode="C0156189" options="Yes:No:Unknown"/> <Variable ID="pregnancy4" type="radio" umlsCode="C0032961" options="Yes:No:Unknown"/> </ActionStep> <RecommendationStep ID="LR" name="OAD Combination, OAD/Exenatide Combination Therapy - Sulphonylureas Analogues Contraindications Recommendations" nextStep="M"> <Recommendation recommendationType="treatment" ID="R12" description="There is a contraindication with Sulphonylureas Analogues."> <ConditionScript>function check() { if($hypersensitivityToRepaglinide == "Yes" || $hypersensitivityToNateglinide == "Yes" || $pancreatectomy2 == "Yes" || $majorPastSurgeriesAccidentsInfections2 == "Yes" || $severeLiverDisease3 == "Yes" || $pregnancy4 == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R12.1" description="There is no contraindication with Sulphonylureas Analogues."> <ConditionScript>function check() { if($hypersensitivityToRepaglinide == "Yes" || $hypersensitivityToNateglinide == "Yes" || $pancreatectomy2 == "Yes" || $majorPastSurgeriesAccidentsInfections2 == "Yes" || $severeLiverDisease3 == "Yes" || $pregnancy4 == "Yes") return false; else return true;}</ConditionScript> </Recommendation> </RecommendationStep> <ActionStep ID="M" name="OAD Combination, OAD/Exenatide Combination Therapy - DPP-4 Contraindications" nextStep="MR"> <Variable ID="pregnancy5" type="radio" umlsCode="C0032961" options="Yes:No:Unknown"/> <Variable ID="renalInsufficiency3" type="radio" umlsCode="C1565489" options="Yes:No:Unknown"/> </ActionStep> <RecommendationStep ID="MR" name="OAD Combination, OAD/Exenatide Combination Therapy - DPP-4 Contraindications Recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="R13" description="There is a contraindication with DPP-4."> <ConditionScript>function check() { var age=yearDifference($birthDate); if(age < 18 || $pregnancy5 == "Yes" || $renalInsufficiency3 == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R13.1" description="There is no contraindication with DPP-4."> <ConditionScript>function check() { var age=yearDifference($birthDate); if(age < 18 || $pregnancy5 == "Yes" || $renalInsufficiency3 == "Yes") return false; else return true;}</ConditionScript> </Recommendation> </RecommendationStep> <DecisionStep ID="DS3" nextStep="FinalStep">
FP7-288209 EMPOWER
94 / 103
<DecisionBlock> <ConditionScript>function check() { if($hba1c >= 6.5) return true; else return false;}</ConditionScript> <NextStep>G</NextStep> </DecisionBlock> </DecisionStep> <ActionStep ID="G" name="Combination Therapy OAD (particularly metformin) plus insulin" nextStep="GR"> <Variable ID="preprandialInsulin" type="float" umlsCode="C00190181"/> </ActionStep> <RecommendationStep ID="GR" name="Combination Therapy OAD (particularly metformin) plus insulin recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="R14" description="Schedule a follow-up after 3-6 months."/> <Recommendation recommendationType="treatment" ID="R15" description="Start basal insulin therapy. Injection at bedtime in the evening is recommended. TODO: RECOMMEND DOSE."/> <Recommendation recommendationType="treatment" ID="R16" description="A metformin therapy can be started. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops an intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further attempt should be made to increase the dosage later. "> <ConditionScript>function check() { if($impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return false; else return true;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R17" description="If the preprandial blood sugar levels during the day are not in the target range, prandial insulin therapy should be implemented (also called supplementary insulin therapy, SIT)."> <ConditionScript>function check() { if($preprandialInsulin > 110) return true; else return false;}</ConditionScript> </Recommendation> </RecommendationStep> <DecisionStep ID="DS4" nextStep="R"> <DecisionBlock> <ConditionScript>function check() { if($hba1c >= 6.5) return true; else return false;}</ConditionScript> <NextStep>P</NextStep> </DecisionBlock> </DecisionStep> <ActionStep ID="P" name="Intensification of Insulin Therapy (MDI, premixed bid)" nextStep="PR"> <Variable ID="insulinInjectionPreference" type="radio" umlsCode="C0199782" options="Multiple daily basal/bolus insulin:Twice daily premixed insulin:Insulin pump"/> <Variable ID="liverFunctionDisorders2" type="radio" umlsCode="C0156194" options="Yes:No:Unknown"/> <Variable ID="congestiveHeartFailure2" type="radio" umlsCode="C0018802" options="Yes:No:Unknown"/> <Variable ID="diabeticPrecoma2" type="radio" umlsCode="C1142529" options="Yes:No:Unknown"/> <Variable ID="diabeticKetoacidosis3" type="radio" umlsCode="C0011880" options="Yes:No:Unknown"/> <Variable ID="pregnancy6" type="radio" umlsCode="C0032961" options="Yes:No:Unknown"/> </ActionStep> <RecommendationStep ID="PR" name="Intensification of Insulin Therapy (MDI, premixed bid) Recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="R18" description="MDI (multiple daily injection of basal / bolus insulin) and premixed bid (injection of premixed insulins twice daily) are essentially insulin therapy procedures that assist in achieving the individual therapeutic goal. The advantages and disadvantages of both therapy forms should be discussed with the patient before any decision regarding therapy is made."/> <Recommendation recommendationType="treatment" ID="R19" description="Besides taking basal insulin at night, the patient should inject bolus insulin at mealtimes. TODO: RECOMMEND DOSE."> <ConditionScript>function check() { if($insulinInjectionPreference == "Multiple daily basal/bolus insulin") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R20" description="The decision as to whether the patient must also take basal insulin during the day is determined by the result of the basal rate test (skipping lunch, plasma glucose measurement every hour until dinner, determination of the need for basal insulin based on plasma glucose development)."> <ConditionScript>function check() { if($insulinInjectionPreference == "Multiple daily basal/bolus insulin") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R21" description="A metformin therapy can be started. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops an intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further
FP7-288209 EMPOWER
95 / 103
attempt should be made to increase the dosage later. "> <ConditionScript>function check() { if($impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return false; else return true;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R22" description="If MDI is not indicated for individual, social or organisational reasons, a so called conventional form of insulin therapy, usually injecting premixed insulin twice a day, is applied."> <ConditionScript>function check() { if($insulinInjectionPreference == "Multiple daily basal/bolus insulin") return false; else return true;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R24" description="Schedule a follow-up after 3-6 months."/> </RecommendationStep> <ActionStep ID="R" name="Fifth follow-up" nextStep="DS5"> <Variable ID="hba1c_5" type="float" umlsCode="C0019018"/> </ActionStep> <DecisionStep ID="DS5" nextStep="FinalStep"> <DecisionBlock> <ConditionScript>function check() { if($hba1c_5 >= 6.5) return true; else return false;}</ConditionScript> <NextStep>S</NextStep> </DecisionBlock> </DecisionStep> <RecommendationStep ID="S" name="Intensification of Insulin Therapy (SCII) Recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="R25" description="If the therapeutic HbA1c goal is not achieved with MDI despite repetitive structured education of the patient, SCII represents a therapeutic option."/> <Recommendation recommendationType="treatment" ID="R26" description="A metformin therapy can be started. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops an intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further attempt should be made to increase the dosage later. "> <ConditionScript>function check() { if($impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return false; else return true;}</ConditionScript> </Recommendation> </RecommendationStep> <FinalStep ID="FinalStep"/> </Guideline>
9.5 Diabetes Guideline for Monitoring of the Diabetes Patients in Turkey <?xml version="1.0" encoding="UTF-8"?> <Guideline xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="..\..\..\..\..\recommender-engine-model\src\main\schema\Guideline.xsd" ID="TR-Diabetes-Guideline-3" name="Diabetes Guideline for Monitoring of the Diabetes Patients in Turkey"> <StartStep ID="StartStep" nextStep="A"/> <ActionStep ID="A" name="Demographic Information" nextStep="B"> <Variable ID="patientName" type="string" umlsCode="C1299487"/> <Variable ID="patientSurname" type="string" umlsCode="C0421448"/> <Variable ID="citizenShipNumber" type="string" umlsCode="C2599904"/> <Variable ID="birthDate" type="date" umlsCode="C0421451"/> <Variable ID="gender" type="string" umlsCode="C0079399"/> <Variable ID="applicationDate" type="date" umlsCode="C1302393"/> </ActionStep> <ActionStep ID="B" name="Diagnosis Information" nextStep="C"> <Variable ID="firstDiagnosisDate" type="date" umlsCode="C2316983"/> <Variable ID="firstDiagnosisYear" type="integer" umlsCode="C23169831" description="If the first diagnosis date is not known."/> <Variable ID="firstDiagnosisAge" type="integer" umlsCode="C231698312" description="If the first diagnosis date is not known."/> <Variable ID="diabetesType" type="radio" umlsCode="C1320657" options="Type 1:Type 2:Impaired Glucose Tolerance - IGT:Impaired Fasting Glucose - IFG:Maturity Onset Diabetes of the Young - MODY"/> <Variable ID="firstDiagnosisType" type="radioText" umlsCode="C1550351" options="Diabetic Ketoacidosis:Diabetic Ketosis:Hiperosmolar Coma:Hyperglycemia:Other (Please specify)"/> <Variable ID="applicationReason" type="radioText" umlsCode="C1272707" options="General Control:Diabetic
FP7-288209 EMPOWER
96 / 103
Ketoacidosis:Diabetic Ketosis:Hyperglycemia:Hypoglycemia:Other (Please specify)"/> </ActionStep> <ActionStep ID="C" name="Treatment Information" nextStep="D1"> <Variable ID="receivedDiabetesEducation" type="radio" umlsCode="C2729307" options="Yes:No"> <DisableOtherVariableCondition>No $diabetesEducationCount</DisableOtherVariableCondition> <DisableOtherVariableCondition>No $lastDiabetesEducationDate</DisableOtherVariableCondition> </Variable> <Variable ID="diabetesEducationCount" type="integer" umlsCode="C3250940"/> <Variable ID="lastDiabetesEducationDate" type="date" umlsCode="C1739523"/> <Variable ID="medicalNutritionTheraphyCompliance" type="radio" umlsCode="C1272406" options="Yes:No"/> <Variable ID="physicalExerciseCompliance" type="radio" umlsCode="C1321605" options="Yes:No:Exercise Contraindicated"/> <Variable ID="medications" type="list" umlsCode="C0013227"/> <Variable ID="insulinPumpUse" type="radio" umlsCode="C1140609" options="Yes:No"> <ConditionScript>function check() { if($diabetesType == "Type 1") return true; else return false;}</ConditionScript> <DisableOtherVariableCondition>No $dateOfIssue</DisableOtherVariableCondition> </Variable> <Variable ID="dateOfIssue" type="date" umlsCode="C0011008"> <ConditionScript>function check() { if($diabetesType == "Type 1") return true; else return false;}</ConditionScript> </Variable> </ActionStep> <ActionStep ID="D1" name="Medical History" nextStep="D2"> <Variable ID="hypertension" type="radio" umlsCode="C0020538" options="Yes:No:Unknown"/> <Variable ID="hyperlipidemia" type="radio" umlsCode="C0020473" options="Yes:No:Unknown"/> <Variable ID="other" type="string" umlsCode="C0205394"/> <Variable ID="coronaryArteryDisease" type="radio" umlsCode="C0010054" options="Yes:No:Unknown"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return false; else return true;}</ConditionScript> </Variable> <Variable ID="chronicKidneyDisease" type="radio" umlsCode="C0022661" options="Yes:No:Unknown"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return false; else return true;}</ConditionScript> </Variable> <Variable ID="chronicLiverDisease" type="radio" umlsCode="C0156189" options="Yes:No:Unknown"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return false; else return true;}</ConditionScript> </Variable> <Variable ID="chronicObstructivePulmonaryDisease" type="radio" umlsCode="C0024117" options="Yes:No:Unknown"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return false; else return true;}</ConditionScript> </Variable> <Variable ID="cerebrovascularDisease" type="radio" umlsCode="C0007820" options="Yes:No:Unknown"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return false; else return true;}</ConditionScript> </Variable> <Variable ID="cancer" type="radio" umlsCode="C0006826" options="Yes:No:Unknown"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return false; else return true;}</ConditionScript> </Variable> <Variable ID="smoking" type="radio" umlsCode="C0037369" options="Yes:No"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return false; else return true;}</ConditionScript> </Variable> <Variable ID="alcohol" type="radio" umlsCode="C0001948" options="Yes:No"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return false; else return true;}</ConditionScript> </Variable> <Variable ID="gestationalDiabetes" type="radio" umlsCode="C0085207" options="Yes:No:Unknown"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18 || $gender == "M") return false; else return true;}</ConditionScript> </Variable> <Variable ID="birthWeek" type="integer" umlsCode="C0439230"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return true; else return false;}</ConditionScript> </Variable> <Variable ID="birthWeight" type="integer" umlsCode="C0005612"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1"
FP7-288209 EMPOWER
97 / 103
&& age < 18) return true; else return false;}</ConditionScript> </Variable> <Variable ID="autoimmuneThyroiditis" type="radio" umlsCode="C0920350" options="Yes:No:Unknown"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return true; else return false;}</ConditionScript> </Variable> <Variable ID="coeliacDisease" type="radio" umlsCode="C0007570" options="Yes:No:Unknown"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return true; else return false;}</ConditionScript> </Variable> </ActionStep> <ActionStep ID="D2" name="Family History" nextStep="E"> <Variable ID="diabetesFamilyHistory" type="radio" umlsCode="C1313937" options="Yes:No:Unknown"> <DisableOtherVariableCondition>No $diabetesMother</DisableOtherVariableCondition> <DisableOtherVariableCondition>No $diabetesFather</DisableOtherVariableCondition> <DisableOtherVariableCondition>No $diabetesSibling</DisableOtherVariableCondition> <DisableOtherVariableCondition>No $secondDegreeRelative</DisableOtherVariableCondition> </Variable> <Variable ID="diabetesMother" type="radio" umlsCode="C13139371" options="Yes:No:Unknown"/> <Variable ID="diabetesFather" type="radio" umlsCode="C13139372" options="Yes:No:Unknown"/> <Variable ID="diabetesSibling" type="radio" umlsCode="C13139373" options="Yes:No:Unknown"/> <Variable ID="secondDegreeRelative" type="radio" umlsCode="C13139374" options="Yes:No:Unknown"/> <Variable ID="cerebrovascularDiseaseInFamily" type="radio" umlsCode="C21862661" options="Yes:No:Unknown"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return false; else return true;}</ConditionScript> </Variable> <Variable ID="coronaryArteryDiseaseInFamily" type="radio" umlsCode="C2186266" options="Yes:No:Unknown"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return false; else return true;}</ConditionScript> </Variable> <Variable ID="cancerInFamily" type="radio" umlsCode="C0260515" options="Yes:No:Unknown"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return false; else return true;}</ConditionScript> </Variable> <Variable ID="otherInFamily" type="string" umlsCode="C0241889"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return false; else return true;}</ConditionScript> </Variable> </ActionStep> <ActionStep ID="E" name="Complaints and Physical Examination" nextStep="ED"> <Variable ID="complaint" type="radio" umlsCode="C0277786" options="No:Yes"> <DisableOtherVariableCondition>No $detailedComplaint</DisableOtherVariableCondition> </Variable> <Variable ID="detailedComplaint" type="string" umlsCode="C1655030"/> <Variable ID="height" type="float" umlsCode="C0005890"> </Variable> <Variable ID="weight" type="float" umlsCode="C0005910"> <VisualizationChart type="RECOMMEND_WEIGHT_SIXMONTHS" period="P6M"/> </Variable> <Variable ID="bodyWeightIndex" type="float" umlsCode="C1305855"> <ValueAutoCalculationScript>var bwi=$weight/($height*$height); $bodyWeightIndex = bwi*10000;</ValueAutoCalculationScript> </Variable> <Variable ID="diastolicBloodPressure" type="integer" umlsCode="C0428883"> <VisualizationChart type="RECOMMEND_SYS_DIAS_BLOOD_PRESS_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="systolicBloodPressure" type="integer" umlsCode="C0277882"> <VisualizationChart type="RECOMMEND_SYS_DIAS_BLOOD_PRESS_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="thyroidType" type="radio" umlsCode="C0348024" options="Natural:Diffuse Goiter:Nodular/Multinodular Goiter:Goiter:Thyromegaly"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return false; else return true;}</ConditionScript> </Variable> </ActionStep> <DecisionStep ID="ED" nextStep="E2">
FP7-288209 EMPOWER
98 / 103
<DecisionBlock> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return true; else return false;}</ConditionScript> <NextStep>E1</NextStep> </DecisionBlock> </DecisionStep> <ActionStep ID="E1" name="Further Physical Examination for Type 1 Diabetes Patients under 18 years old" nextStep="E2"> <Variable ID="insulinInjectionLocation" type="radio" umlsCode="C2077411" options="Natural:Lipohypertrophy:Lipoatrophy:Ecchymosis"/> <Variable ID="breastStage" type="radio" umlsCode="C0429603" options="1:2:3:4:5"> <ConditionScript>function check() { if($gender == "F") return true; else return false;}</ConditionScript> </Variable> <Variable ID="menarche" type="radio" umlsCode="C0025274" options="Yes:No"> <ConditionScript>function check() { if($gender == "F") return true; else return false;}</ConditionScript> </Variable> <Variable ID="pubicHairStage" type="radio" umlsCode="C0429608" options="1:2:3:4:5"/> <Variable ID="axillaryHair" type="radio" umlsCode="C0221984" options="Yes:No"/> <Variable ID="lengthOfStretchedPenis" type="float" umlsCode="C2168316"> <ConditionScript>function check() { if($gender == "M") return true; else return false;}</ConditionScript> </Variable> <Variable ID="testicularVolume" type="float" umlsCode="C0429619"> <ConditionScript>function check() { if($gender == "M") return true; else return false;}</ConditionScript> </Variable> </ActionStep> <ActionStep ID="E2" name="Foot Examination" nextStep="F"> <Variable ID="normal" type="radio" umlsCode="C0419882" options="Yes:No"> <DisableOtherVariableCondition>Yes $rightIngrownToenail</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $rightDrynessInTheFeetSole</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $rightFissure</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $rightCallus</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $rightNonpulpablePulse</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $rightSuperFicialUlcer</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $rightDeepUlcer</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $rightOsteomyelitis</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $rightGangrene</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $rightAmputation</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $leftIngrownToenail</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $leftDrynessInTheFeetSole</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $leftFissure</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $leftCallus</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $leftNonpulpablePulse</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $leftSuperFicialUlcer</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $leftDeepUlcer</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $leftOsteomyelitis</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $leftGangrene</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $leftAmputation</DisableOtherVariableCondition> </Variable> <Variable ID="rightIngrownToenail" type="radio" options="Yes:No" umlsCode="C0027343"/> <Variable ID="rightDrynessInTheFeetSole" type="radio" options="Yes:No" umlsCode="C0857170"/> <Variable ID="rightFissure" type="radio" options="Yes:No" umlsCode="C1089972"/> <Variable ID="rightCallus" type="radio" options="Yes:No" umlsCode="C0457978"/> <Variable ID="rightNonpulpablePulse" type="radio" options="Yes:No" umlsCode="C0748192"/> <Variable ID="rightSuperficialUlcer" type="radio" options="Yes:No" umlsCode="C0333307"/> <Variable ID="rightDeepUlcer" type="radio" options="Yes:No" umlsCode="C0741878"/> <Variable ID="rightOsteomyelitis" type="radio" options="Yes:No" umlsCode="C0029443"/> <Variable ID="rightGangrene" type="radio" options="Yes:No" umlsCode="C0017086"/> <Variable ID="rightAmputation" type="string" umlsCode="C0002688"/> <Variable ID="leftIngrownToenail" type="radio" options="Yes:No" umlsCode="C00273431"/> <Variable ID="leftDrynessInTheFeetSole" type="radio" options="Yes:No" umlsCode="C08571701"/> <Variable ID="leftFissure" type="radio" options="Yes:No" umlsCode="C10899721"/> <Variable ID="leftCallus" type="radio" options="Yes:No" umlsCode="C04579781"/> <Variable ID="leftNonpulpablePulse" type="radio" options="Yes:No" umlsCode="C07481921"/> <Variable ID="leftSuperficialUlcer" type="radio" options="Yes:No" umlsCode="C03333071"/> <Variable ID="leftDeepUlcer" type="radio" options="Yes:No" umlsCode="C07418781"/> <Variable ID="leftOsteomyelitis" type="radio" options="Yes:No" umlsCode="C00294431"/> <Variable ID="leftGangrene" type="radio" options="Yes:No" umlsCode="C00170861"/> <Variable ID="leftAmputation" type="string" umlsCode="C00026881"/>
FP7-288209 EMPOWER
99 / 103
<Variable ID="otherFootProblem" type="string" umlsCode="C0555980"/> </ActionStep> <ActionStep ID="F" name="Laboratory Tests" nextStep="G"> <Variable ID="fastingBloodGlucose" type="float" umlsCode="C0428568"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return false; else return true;}</ConditionScript> <VisualizationChart type="RECOMMEND_FASTING_GLUCOSE_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="postprandialBloodGlucose" type="float" umlsCode="C2238058"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return false; else return true;}</ConditionScript> <VisualizationChart type="RECOMMEND_POSTPRAND_GLUCOSE_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="spotBloodGlucose" type="float" umlsCode="C0202046"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return true; else return false;}</ConditionScript> <VisualizationChart type="RECOMMEND_SPOT_GLUCOSE_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="creatinine" type="float" umlsCode="C0010294"/> <Variable ID="alanineAminoTransfarase" type="float" umlsCode="C0001899"/> <Variable ID="urinalysis" type="float" umlsCode="C0042014"/> <Variable ID="overtProteinuriaInUrinalysis" type="radio" options="Yes:No:Unknown" umlsCode="C0202512"> <DisableOtherVariableCondition>Yes $urineMicroAlbumin</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $urineCreatinine</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $microalbuminCreatinineRatio</DisableOtherVariableCondition> <DisableOtherVariableCondition>No $proteinInUrineIn24Hours</DisableOtherVariableCondition> </Variable> <Variable ID="urineMicroAlbumin" type="float" umlsCode="C0564621"/> <Variable ID="urineCreatinine" type="float" umlsCode="C0428283"/> <Variable ID="microalbuminCreatinineRatio" type="float" umlsCode="C0584615"> <ValueAutoCalculationScript>var value=$urineMicroAlbumin/$urineCreatinine; $microalbuminCreatinineRatio = value;</ValueAutoCalculationScript> </Variable> <Variable ID="proteinInUrineIn24Hours" type="float" umlsCode="C1504478"/> <Variable ID="hba1c" type="float" umlsCode="C0019018"> <WarningConditionScript>var age=yearDifference($birthDate); if(!($diabetesType == "Type 1" && age < 18) && $hba1c > 8 && age > 65) alert("Normal/Ideal Values should be between 7 and 8 for patients older than 65.");</WarningConditionScript> <WarningConditionScript>if($hba1c > 6.5) alert("Warning: The HBA1C value is greater than 6.5.");</WarningConditionScript> <WarningConditionScript>if(($diabetesType == "Type 1" && age < 18) && $hba1c > 8.5 && age < 6) alert("Warning: Abnormal HBA1C value.");</WarningConditionScript> <WarningConditionScript>if(($diabetesType == "Type 1" && age < 18) && $hba1c > 8 && age > 5 && age < 12) alert("Warning: Abnormal HBA1C value.");</WarningConditionScript> <WarningConditionScript>if(($diabetesType == "Type 1" && age < 18) && $hba1c > 8.5 && age > 12 && age < 19) alert("Warning: Abnormal HBA1C value."); </WarningConditionScript> <VisualizationChart type="RECOMMEND_HBA1C_YEAR" period="P1Y"/> </Variable> <Variable ID="lowDensityLipoProtein" type="integer" umlsCode="C0023823"> <WarningConditionScript>if($lowDensityLipoProtein > 100) alert("Warning: Abnormal LDL value.");</WarningConditionScript> <VisualizationChart type="RECOMMEND_LDL_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="highDensityLipoProtein" type="integer" umlsCode="C0023821"> <WarningConditionScript>if($highDensityLipoProtein < 40 && $gender == "M" || $highDensityLipoProtein < 50 && $gender == "F") alert("Warning: Abnormal HDL value.");</WarningConditionScript> <VisualizationChart type="RECOMMEND_HDL_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="triglyceride" type="integer" umlsCode="C0041004"> <WarningConditionScript>if($triglyceride > 150) alert("Warning: Abnormal triglyceride value.");</WarningConditionScript> </Variable> <Variable ID="vitaminB12" type="float" umlsCode="C0042845" description="This test should be performed at least once a year for the patients using metformin."/> <Variable ID="ecg" type="binary" umlsCode="C0013798"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1"
FP7-288209 EMPOWER
100 / 103
&& age < 18) return false; else return true;}</ConditionScript> </Variable> <Variable ID="thyroidStimulatingHormone" type="float" umlsCode="C0202230" description="At least once a year."> <ConditionScript>function check() { if($diabetesType == "Type 2") return false; else return true;}</ConditionScript> </Variable> <Variable ID="antiThyroidPeroxidoseAntibodies" type="float" umlsCode="C1255119" description="If negative, at least once a year."> <ConditionScript>function check() { if($diabetesType == "Type 2") return false; else return true;}</ConditionScript> </Variable> <Variable ID="antiGlutamicAcidDecarboxylase" type="float" umlsCode="C1861474" description="It is enough to control this value only once."> <ConditionScript>function check() { if($diabetesType == "Type 2") return false; else return true;}</ConditionScript> </Variable> <Variable ID="isletCellCytoplasmicAutoantibodies" type="float" umlsCode="C0124025" description="It is enough to control this value only once."> <ConditionScript>function check() { if($diabetesType == "Type 2") return false; else return true;}</ConditionScript> </Variable> <Variable ID="antiendomysiumAB" type="radio" options="Positive:Nagative" umlsCode="C0443906" description="If negative, this test should be repeated at least once a year."> <ConditionScript>function check() { if($diabetesType == "Type 2") return false; else return true;}</ConditionScript> </Variable> <Variable ID="tissueGlutaminaseAB" type="radio" options="Positive:Nagative" umlsCode="C0017796" description="If negative, this test should be repeated at least once a year."> <ConditionScript>function check() { if($diabetesType == "Type 2") return false; else return true;}</ConditionScript> </Variable> </ActionStep> <ActionStep ID="G" name="Complication Screening" nextStep="H"> <Variable ID="diabetesType2" type="radio" umlsCode="C1320657" options="Type 1:Type 2:Impaired Glucose Tolerance - IGT:Impaired Fasting Glucose - IFG:Maturity Onset Diabetes of the Young - MODY"/> <Variable ID="complicationScreeningStartTime" type="string" umlsCode="C0419884"> <ValueAutoCalculationScript>if($diabetesType2 == "Type 2") $complicationScreeningStartTime = "It should be at the time of diagnosis."; else $complicationScreeningStartTime = "If the age of the patient is greater than 10 or diagnosis date is more than 5 years.";</ValueAutoCalculationScript> </Variable> <Variable ID="complicationScreeningPeriod" type="string" umlsCode="C1948053" description="If normal, it should be repeated at least once a year. Otherwise, according to the recommendations of Diagnosis-Treatment-Monitoring guideline (TODO: check this)."/> <Variable ID="urinaryAlbuminExcretion" type="radio" options="Spot:Daily" umlsCode="C0585937"> <DisableOtherVariableCondition>Daily $spotUrinaryAlbuminExcretion</DisableOtherVariableCondition> <DisableOtherVariableCondition>Daily $spotUrinaryAlbuminExcretionLevel</DisableOtherVariableCondition> <DisableOtherVariableCondition>Spot $dailyUrinaryAlbuminExcretion</DisableOtherVariableCondition> <DisableOtherVariableCondition>Spot $dailyUrinaryAlbuminExcretionLevel</DisableOtherVariableCondition> </Variable> <Variable ID="spotUrinaryAlbuminExcretion" type="integer" umlsCode="C1318386" description="At least once a year."/> <Variable ID="spotUrinaryAlbuminExcretionLevel" type="string" umlsCode="C1272175"> <ValueAutoCalculationScript>if($spotUrinaryAlbuminExcretion < 30) $spotUrinaryAlbuminExcretionLevel = "Normal"; else if($spotUrinaryAlbuminExcretion < 301 && $spotUrinaryAlbuminExcretion > 29) $spotUrinaryAlbuminExcretionLevel = "Microalbuminuria"; else $spotUrinaryAlbuminExcretionLevel = "Macroalbuminuria";</ValueAutoCalculationScript> <WarningConditionScript>if(spotUrinaryAlbuminExcretionLevel == "Microalbuminuria") alert("Start Angiotensin-Converting-Enzyme inhibitor.");</WarningConditionScript> </Variable> <Variable ID="dailyUrinaryAlbuminExcretion" type="integer" umlsCode="C05859371" description="At least once a year."/> <Variable ID="dailyUrinaryAlbuminExcretionLevel" type="string" umlsCode="C05859372"> <ValueAutoCalculationScript>if($dailyUrinaryAlbuminExcretion < 30) $dailyUrinaryAlbuminExcretionLevel = "Normal"; else if($dailyUrinaryAlbuminExcretion < 301 && $dailyUrinaryAlbuminExcretion > 29) $dailyUrinaryAlbuminExcretionLevel = "Microalbuminuria"; else
FP7-288209 EMPOWER
101 / 103
$dailyUrinaryAlbuminExcretionLevel = "Macroalbuminuria";</ValueAutoCalculationScript> <WarningConditionScript>if($dailyUrinaryAlbuminExcretionLevel == "Microalbuminuria") alert("Start Angiotensin-Converting-Enzyme inhibitor.");</WarningConditionScript> </Variable> <Variable ID="glomerularFiltrationRate" type="integer" umlsCode="C0017654"/> <Variable ID="nephropathyStage" type="string" umlsCode="C0022658" description="According to Glomerular Filtration Rate."> <ValueAutoCalculationScript>if($glomerularFiltrationRate < 15) $nephropathyStage = "Stage 5"; else if($spotUrinaryAlbuminExcretion < 30 && $spotUrinaryAlbuminExcretion > 14) $nephropathyStage = "Stage 4"; else if($spotUrinaryAlbuminExcretion < 60 && $spotUrinaryAlbuminExcretion > 29) $nephropathyStage = "Stage 3"; else if($spotUrinaryAlbuminExcretion < 90 && $spotUrinaryAlbuminExcretion > 29) $nephropathyStage = "Stage 2"; else $nephropathyStage = "Stage 1";</ValueAutoCalculationScript> </Variable> <Variable ID="neuropathy" type="radio" options="No:Yes" umlsCode="C0442874"> <DisableOtherVariableCondition>No $neuropathyType</DisableOtherVariableCondition> </Variable> <Variable ID="neuropathyType" type="radioText" umlsCode="C04428741" options="Autonomic Neuropathy - Gastrointestinal Tract:Autonomic Neuropathy - Cardiovascular:Autonomic Neuropathy - Genitourinary:Peripheral Polyneuropathy:Entrapment Neuropathy:Other (Please specify)"/> <Variable ID="retinopathy" type="radio" options="No:Yes" umlsCode="C0035309"> <DisableOtherVariableCondition>No $retinopathyType</DisableOtherVariableCondition> </Variable> <Variable ID="retinopathyType" type="radio" umlsCode="C00353091" options="Non-prolipherative:Pre-prolipherative:Prolipherative:Cataract:Glaucoma"/> <Variable ID="diabeticDermopathy" type="radio" options="No:Yes" umlsCode="C0406682"> <DisableOtherVariableCondition>No $diabeticDermopathyType</DisableOtherVariableCondition> </Variable> <Variable ID="diabeticDermopathyType" type="radio" umlsCode="C04066821" options="Acanthosis Nigricans:Nekrobiasis Lipoidico Diabetikorum:Diabetic Dermopathy:Lipoatrophy:Lipohipertrophy"/> <Variable ID="coronaryArteryDisease2" type="radio" options="No:Yes" umlsCode="C0010054"/> <Variable ID="peripheralArteryDisease" type="radio" options="No:Yes" umlsCode="C0428846"/> <Variable ID="cerebrovascularDisease2" type="radio" options="No:Yes" umlsCode="C0007820"/> </ActionStep> <!--ActionStep ID="H" name="" nextStep="FinalStep"> <Variable ID="diagnosis" type="string" umlsCode="C0011900"/> <Variable ID="recommendationsEducation" type="list" umlsCode="C0034866"/> <Variable ID="recommendationsNutrition" type="list" umlsCode="C0562663"/> <Variable ID="recommendationsExercise" type="list" umlsCode="C0418878"/> <Variable ID="recommendationsMedications" type="list" umlsCode="C1562270" description="From SGK Medication List. The antidiabetics, statins and antihypertensives should easily selectable."/> </ActionStep--> <RecommendationStep ID="H" name="Final Recommendations" nextStep="FinalStep"> <Recommendation ID="R1" recommendationType="self-management" description="HBA1c test should be performed every three months and it should be less than 6.5%"> <ConditionScript>function check() { if($applicationReason == "Hypoglycemia") return false; else return true;}</ConditionScript> </Recommendation> <Recommendation ID="R2" recommendationType="self-management" description="HBA1c test should be performed every three months and as there is hypoglycemia it should be less than 7.5%"> <ConditionScript>function check() { if($applicationReason == "Hypoglycemia") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R3" recommendationType="self-management" description="Eye, heart, kidney, teeth and foot examination by a physician should be performed every year"></Recommendation> <Recommendation ID="R4" recommendationType="self-management" description="Each patient should get the flu vaccine every year"></Recommendation> <Recommendation ID="R5" recommendationType="self-management" description="Patient is older than 65 and should get the pneumococcal vaccine"> <ConditionScript>function check() { var age=yearDifference($birthDate); if(age > 65) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R6" recommendationType="self-management" description="Normal patients (diabetes patients who have no other serious problems) should take 45 min brisk walk three times in a week"></Recommendation> <Recommendation ID="R7" recommendationType="self-management" description="Patient has heart failure; therefore, the patient should walk slowly"> <ConditionScript>function check() { if($coronaryArteryDisease == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R8" recommendationType="self-management" description="Patient has serious heart failure and should perform the exercise at home (passive exercise)">
FP7-288209 EMPOWER
102 / 103
<ConditionScript>function check() { if($coronaryArteryDisease == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R9" recommendationType="self-management" description="Normal patients should increase daily movement (e.g. not using elevator, going to shopping by walk, get off the bus (or metro) at the previous stop)"></Recommendation> <Recommendation ID="R10" recommendationType="self-management" description="Patient has hypertensions and should do active exercise at home if the weather is too hot or too cold"> <ConditionScript>function check() { if($hypertension == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R11" recommendationType="self-management" description="Patients having knee replacement should not do brisk walking"></Recommendation> <Recommendation ID="R12" recommendationType="self-management" description="If the glucose measurement is more than 250, the patient should not do exercise at that moment"></Recommendation> <Recommendation ID="R13" recommendationType="self-management" description="The exercise should be done at least 1.5 hours before meals"></Recommendation> <Recommendation ID="R14" recommendationType="self-management" description="Patient has coronary heart disease should do moderate exercise"> <ConditionScript>function check() { if($coronaryArteryDisease == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R15" recommendationType="self-management" description="Patient has diabetic nephropathy stage greater than 2 and hence should not do heavy exercise"> <ConditionScript>function check() { if($nephropathyStage == "Stage 2" || $nephropathyStage == "Stage 3" || $nephropathyStage == "Stage 4" || $nephropathyStage == "Stage 5") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R16" recommendationType="self-management" description="Patient has peripheral neuropathy and hence should not do the following exercise types: running, walking on treadmill, long walking, step exercises, arm exercises. Swimming, riding, rowing and chair exercises are allowed"> <ConditionScript>function check() { if($neuropathy == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R17" recommendationType="self-management" description="The drugs in the gliclazide group should be taken 15 min before the meals"> <ConditionScript>function check() { if($diabetesType == "Type 2") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R18" recommendationType="self-management" description="The drugs in the biguanide group should be taken with the first bite of the meal"> <ConditionScript>function check() { if($diabetesType == "Type 2") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R19" recommendationType="self-management" description="Metformin drugs should be taken after the meal"> <ConditionScript>function check() { if($diabetesType == "Type 2") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R21" recommendationType="self-management" description="If the glucose measurements are usually below 70, the dosage should be increased (with the doctor)"></Recommendation> <Recommendation ID="R22" recommendationType="self-management" description="If the glucose level is above 150, the insulin should be vaccinated to the stomach"></Recommendation> <Recommendation ID="R23" recommendationType="self-management" description="In normal circumstances, the insulin should be vaccinated 7 times to legs, 7 times to stomach, 7 times to hips and 7 times to arms, iteratively"></Recommendation> <Recommendation ID="R24" recommendationType="self-management" description="Patients having knee replacements should skip the legs"></Recommendation> <Recommendation ID="R25" recommendationType="self-management" description="If the patient is pregnant, the stomach step should be skipped"></Recommendation> <Recommendation ID="R26" recommendationType="self-management" description="The feet should be checked daily"></Recommendation> <Recommendation ID="R27" recommendationType="self-management" description="The feet should be washed with warm water daily"></Recommendation> <Recommendation ID="R28" recommendationType="self-management" description="The feet should be dried totally"></Recommendation> <Recommendation ID="R30" recommendationType="self-management" description="Moisturizing cream should be used"></Recommendation> <Recommendation ID="R31" recommendationType="self-management" description="The patient should use cotton socks"></Recommendation> <Recommendation ID="R32" recommendationType="self-management" description="The patients should check
FP7-288209 EMPOWER
103 / 103
inside of their shoes before wearing"></Recommendation> <Recommendation ID="R33" recommendationType="self-management" description="The patients should not put their feet to heaters"></Recommendation> <Recommendation ID="R34" recommendationType="self-management" description="The patients should use diabetic shoes"></Recommendation> <Recommendation ID="R35" recommendationType="self-management" description="There is callus, the doctor should be visited."> <ConditionScript>function check() { if($rightCallus == "Yes" || $leftCallus == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R36" recommendationType="self-management" description="If the patient has anemia, the patient should not have tea, coffee or wholemeal bread"></Recommendation> <Recommendation ID="R37" recommendationType="self-management" description="If the patient has anemia, the patient eat red meat"></Recommendation> <Recommendation ID="R38" recommendationType="self-management" description="If the patient has anemia, the patient should not eat milk products in his/her main meals"></Recommendation> <Recommendation ID="R39" recommendationType="self-management" description="If the patient has anemia, the patient should eat dried apricots or black grapes"></Recommendation> <Recommendation ID="R40" recommendationType="self-management" description="If the patient has anemia, the patient should have green salad (without carrot but with lemon) in each meal"></Recommendation> <Recommendation ID="R411" recommendationType="self-management" description="The patients should avoid fast food"></Recommendation> <Recommendation ID="R42" recommendationType="self-management" description="The patients should avoid trans-fat"></Recommendation> <Recommendation ID="R43" recommendationType="self-management" description="There is hypertension, the salt should be decreased"> <ConditionScript>function check() { if($hypertension == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R44" recommendationType="self-management" description="The patient has kidney disease, if the potassium level is high, the patient should not eat raw vegetables"> <ConditionScript>function check() { if($chronicKidneyDisease == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R45" recommendationType="self-management" description="The patient has kidney disease, the vegetables should be boiled"> <ConditionScript>function check() { if($chronicKidneyDisease == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R46" recommendationType="self-management" description="The patient has kidney disease, the patient should not get extra protein"> <ConditionScript>function check() { if($chronicKidneyDisease == "Yes") return true; else return false;}</ConditionScript> </Recommendation> </RecommendationStep> <FinalStep ID="FinalStep"/> </Guideline>