deliverable 5.2.1 diabetes based personalised …...1 / 103 deliverable 5.2.1 diabetes based...

103
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

Upload: others

Post on 22-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 2: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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]

Page 3: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 4: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 5: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 6: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 7: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 8: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 9: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 10: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 11: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 12: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 13: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

);

Page 14: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 15: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 16: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

16 / 103

Figure 2 Recommender Engine Model

Page 17: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 18: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 19: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 20: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 21: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 22: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 23: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 24: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 25: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 26: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 27: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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”.

Page 28: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 29: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 30: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 31: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 32: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 33: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 34: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 35: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 36: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 37: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 38: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 39: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 40: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 41: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 42: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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:

Page 43: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 44: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 45: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 46: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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)

Page 47: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 48: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 49: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 50: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 51: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 52: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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)

Page 53: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 54: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 55: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 56: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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.

Page 57: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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)

Page 58: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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>

Page 59: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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)

Page 60: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 61: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 62: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 63: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 64: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 65: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 66: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

66 / 103

Figure 74 Demographic Information

Figure 75 Diagnosis Information

Page 67: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

67 / 103

Figure 76 Treatment Information for Type 1

Figure 77 Treatment Information for Type 2

Page 68: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

68 / 103

Figure 78 Medical History for age > 18

Figure 79 Medical History for age < 18

Page 69: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

69 / 103

Figure 80 Family History for age > 18

Figure 81 Family History for age < 18

Page 70: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

70 / 103

Figure 82 Complaints and Physical Examination for age > 18

Figure 83 Complaints and Physical Examination for age < 18

Page 71: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

71 / 103

Figure 84 Further Physical Examination for Type 1 and age < 18

Page 72: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

72 / 103

Figure 85 Foot Examination

Page 73: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

73 / 103

Figure 86 Laboratory Tests for Type 1 and age > 18 - Part 1

Page 74: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

74 / 103

Figure 87 Laboratory Tests for Type 1 and age > 18 - Part 2

Page 75: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

75 / 103

Figure 88 Laboratory Tests for Type 1 and age < 18

Page 76: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

76 / 103

Figure 89 Laboratory Tests for Type 2

Page 77: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

77 / 103

Figure 90 Complication Screening - Part 1

Page 78: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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>

Page 79: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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>

Page 80: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 81: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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>

Page 82: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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 &gt; 6.5) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R41" description="HbA1c &lt;6.5%, while avoiding hypoglycaemia and pronounced weight increasing."> <ConditionScript>function check() { if($hba1c &gt;= 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 &lt;180 mg / dL (&lt;4.7 mmol / l)"/> <Recommendation recommendationType="treatment" ID="R44" description="LDL &lt;100 mg / dl (&lt;2.6 mmol / l)"> <ConditionScript>function check() { if($severeCardiacInsufficiency == "No" &amp;&amp; $cardiovascularShock == "No" &amp;&amp; $lowDensityLipoProtein &gt; 100) return true; else return false;}</ConditionScript>

Page 83: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

83 / 103

</Recommendation> <Recommendation recommendationType="treatment" ID="R441" description="LDL &lt;70 mg / dL (&lt; 1.8 mmol / l)"> <ConditionScript>function check() { if(($severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes") &amp;&amp; $lowDensityLipoProtein &gt; 70) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R45" description="HDL: &gt; 50 mg / dl (&gt; 1.1 mmol / l)"> <ConditionScript>function check() { if($gender == "M" &amp;&amp; $highDensityLipoProtein &lt; 50) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R451" description="HDL: &gt; 50 mg / dl (&gt; 1.3 mmol / l)"> <ConditionScript>function check() { if($gender == "F" &amp;&amp; $highDensityLipoProtein &lt; 50) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R46" description="Triglycerides: &lt;150 mg / dl (&lt;1.7 mmol / l)"> <ConditionScript>function check() { if($triglyceride &gt; 150) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R47" description="albuminuria: &lt;20 mg / l taking ACE - inhibitors, if elevated"/> <Recommendation recommendationType="treatment" ID="R48" description="Blood pressure: syst &lt;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 &gt; 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 &gt; 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 &lt; 7.5 &amp;&amp; $hba1c &gt;= 6.5) return true; else return false;}</ConditionScript> <NextStep>F</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($hba1c &gt;= 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"/>

Page 84: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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 &lt; 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 &lt; 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"/>

Page 85: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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 &lt; 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 &lt; 18 || $pregnancy5 == "Yes" || $renalInsufficiency3 == "Yes") return false; else return true;}</ConditionScript> </Recommendation> </RecommendationStep> <DecisionStep ID="DS3" nextStep="FinalStep"> <DecisionBlock> <ConditionScript>function check() { if($hba1c &gt;= 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."/>

Page 86: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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 &gt; 110) return true; else return false;}</ConditionScript> </Recommendation> </RecommendationStep> <DecisionStep ID="DS4" nextStep="FinalStep"> <DecisionBlock> <ConditionScript>function check() { if($hba1c &gt;= 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>

Page 87: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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 &gt;= 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>

Page 88: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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 &lt; 100) return true; else return false;}</ConditionScript> <NextStep>E</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($fastingBloodGlucose &gt;= 100 &amp;&amp; $fastingBloodGlucose &lt;= 125) return true; else return false;}</ConditionScript> <NextStep>F</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($fastingBloodGlucose &gt;= 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 &gt; 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 &lt; 100 &amp;&amp; $ogtt &lt; 140) return true; else return false;}</ConditionScript> <NextStep>E</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($fastingBloodGlucose &lt; 100 &amp;&amp; $ogtt &gt;= 140 &amp;&amp; $ogtt &lt;= 199) return true; else return false;}</ConditionScript> <NextStep>F1</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($fastingBloodGlucose &gt;= 100 &amp;&amp; $fastingBloodGlucose &lt;= 125 &amp;&amp; $ogtt &lt; 140) return true; else return false;}</ConditionScript> <NextStep>G</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($fastingBloodGlucose &gt;= 100 &amp;&amp; $fastingBloodGlucose &lt;= 125 &amp;&amp; $ogtt &gt;= 140 &amp;&amp; $ogtt &lt;= 199) return true; else return false;}</ConditionScript> <NextStep>H</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($fastingBloodGlucose &gt;= 126 || $ogtt &gt;= 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."/>

Page 89: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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"/>

Page 90: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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 &lt;180 mg / dL (&lt;4.7 mmol / l)"/> <Recommendation recommendationType="treatment" ID="R44" description="LDL &lt;100 mg / dl (&lt;2.6 mmol / l)">

Page 91: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

91 / 103

<ConditionScript>function check() { if($severeCardiacInsufficiency == "No" &amp;&amp; $cardiovascularShock == "No" &amp;&amp; $lowDensityLipoProtein &gt; 100) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R441" description="LDL &lt;70 mg / dL (&lt; 1.8 mmol / l)"> <ConditionScript>function check() { if(($severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes") &amp;&amp; $lowDensityLipoProtein &gt; 70) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R45" description="HDL: &gt; 50 mg / dl (&gt; 1.1 mmol / l)"> <ConditionScript>function check() { if($gender == "M" &amp;&amp; $highDensityLipoProtein &lt; 50) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R451" description="HDL: &gt; 50 mg / dl (&gt; 1.3 mmol / l)"> <ConditionScript>function check() { if($gender == "F" &amp;&amp; $highDensityLipoProtein &lt; 50) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R46" description="Triglycerides: &lt;150 mg / dl (&lt;1.7 mmol / l)"> <ConditionScript>function check() { if($triglyceride &gt; 150) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R47" description="albuminuria: &lt;20 mg / l taking ACE - inhibitors, if elevated"/> <Recommendation recommendationType="treatment" ID="R48" description="Blood pressure: syst &lt;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 &gt; 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 &gt; 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 &lt; 8.5 &amp;&amp; $hba1c &gt;= 6.5) return true; else return false;}</ConditionScript> <NextStep>F</NextStep> </DecisionBlock> <DecisionBlock> <ConditionScript>function check() { if($hba1c &gt;= 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">

Page 92: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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 &gt; 6.5) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R41" description="HbA1c &lt;6.5%, while avoiding hypoglycaemia and pronounced weight increasing."> <ConditionScript>function check() { if($hba1c &gt;= 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 &lt; 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 &lt; 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"/>

Page 93: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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 &lt; 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 &lt; 18 || $pregnancy5 == "Yes" || $renalInsufficiency3 == "Yes") return false; else return true;}</ConditionScript> </Recommendation> </RecommendationStep> <DecisionStep ID="DS3" nextStep="FinalStep">

Page 94: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

94 / 103

<DecisionBlock> <ConditionScript>function check() { if($hba1c &gt;= 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 &gt; 110) return true; else return false;}</ConditionScript> </Recommendation> </RecommendationStep> <DecisionStep ID="DS4" nextStep="R"> <DecisionBlock> <ConditionScript>function check() { if($hba1c &gt;= 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

Page 95: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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 &gt;= 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

Page 96: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 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"

Page 97: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

97 / 103

&amp;&amp; age &lt; 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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 18) return false; else return true;}</ConditionScript> </Variable> </ActionStep> <DecisionStep ID="ED" nextStep="E2">

Page 98: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

98 / 103

<DecisionBlock> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" &amp;&amp; age &lt; 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"/>

Page 99: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 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" &amp;&amp; age &lt; 18) &amp;&amp; $hba1c &gt; 8 &amp;&amp; age &gt; 65) alert("Normal/Ideal Values should be between 7 and 8 for patients older than 65.");</WarningConditionScript> <WarningConditionScript>if($hba1c &gt; 6.5) alert("Warning: The HBA1C value is greater than 6.5.");</WarningConditionScript> <WarningConditionScript>if(($diabetesType == "Type 1" &amp;&amp; age &lt; 18) &amp;&amp; $hba1c &gt; 8.5 &amp;&amp; age &lt; 6) alert("Warning: Abnormal HBA1C value.");</WarningConditionScript> <WarningConditionScript>if(($diabetesType == "Type 1" &amp;&amp; age &lt; 18) &amp;&amp; $hba1c &gt; 8 &amp;&amp; age &gt; 5 &amp;&amp; age &lt; 12) alert("Warning: Abnormal HBA1C value.");</WarningConditionScript> <WarningConditionScript>if(($diabetesType == "Type 1" &amp;&amp; age &lt; 18) &amp;&amp; $hba1c &gt; 8.5 &amp;&amp; age &gt; 12 &amp;&amp; age &lt; 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 &gt; 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 &lt; 40 &amp;&amp; $gender == "M" || $highDensityLipoProtein &lt; 50 &amp;&amp; $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 &gt; 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"

Page 100: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

FP7-288209 EMPOWER

100 / 103

&amp;&amp; age &lt; 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 &lt; 30) $spotUrinaryAlbuminExcretionLevel = "Normal"; else if($spotUrinaryAlbuminExcretion &lt; 301 &amp;&amp; $spotUrinaryAlbuminExcretion &gt; 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 &lt; 30) $dailyUrinaryAlbuminExcretionLevel = "Normal"; else if($dailyUrinaryAlbuminExcretion &lt; 301 &amp;&amp; $dailyUrinaryAlbuminExcretion &gt; 29) $dailyUrinaryAlbuminExcretionLevel = "Microalbuminuria"; else

Page 101: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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 &lt; 15) $nephropathyStage = "Stage 5"; else if($spotUrinaryAlbuminExcretion &lt; 30 &amp;&amp; $spotUrinaryAlbuminExcretion &gt; 14) $nephropathyStage = "Stage 4"; else if($spotUrinaryAlbuminExcretion &lt; 60 &amp;&amp; $spotUrinaryAlbuminExcretion &gt; 29) $nephropathyStage = "Stage 3"; else if($spotUrinaryAlbuminExcretion &lt; 90 &amp;&amp; $spotUrinaryAlbuminExcretion &gt; 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 &gt; 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)">

Page 102: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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

Page 103: Deliverable 5.2.1 Diabetes based Personalised …...1 / 103 Deliverable 5.2.1 Diabetes based Personalised Adaptive Recommender Engine Prototype 1 Project title: Support of Patient

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>