This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
(1) Services for the specification and execution of actions to change behaviour according to diabetes-specific health care needs. Patients can develop personalised action plans which include recommendations from the treating physicians and patients’ preferences
(2) Services for monitoring of vital, physical, mental parameters as well as physical and lifestyle activities based on health standards.
EMPOWER semantically integrates multiple information sources (EHR/PHR, diabetes
guidelines, patterns of daily living) for a shared knowledge model. The Self-Management
Pathways facilitate the specification of recommendations that allow specifying individual goals
for the patient. Based on these goals, relevant information and their preferences patients can
specify their individual diabetes-specific actions. The Self-Management Pathways are an
FP7-288209 EMPOWER
8 / 103
iterative process where executed actions and reported patterns of daily life can be evaluated.
Recommendations, goals and actions can be updated iteratively according to current needs and
preferences. Finally, the services in EMPOWER will embrace semantic interoperability based on
health standards such as HL71 and IHE2 profiles.
EMPOWER addresses long-term goals and short-term activities in order to facilitate the self-
management of patients with diabetes and thus the treatment of chronic diseases. The pilot
applications in Germany and Turkey will demonstrate that the holistic and patient-centric
approach of EMPOWER can improve disease management by personalised self-management
services helping diabetes patients to cope better with their condition.
3 PURPOSE
The purpose of this deliverable is to describe the first version of the personalized diabetes based
recommender engine.
4 REFERENCE DOCUMENTS
The following documents were used or referenced in the development of this document:
• EMPOWER Deliverable D3.2.1 Technical Requirements of EMPOWER Architecture
• EMPOWER Deliverable D3.3.1 Conceptual Design of EMPOWER Architecture
1 http://www.hl7.org
2 http://www.ihe.net
FP7-288209 EMPOWER
9 / 103
5 INTRODUCTION
The Diabetes based Personalised Adaptive Recommender Engine is a guideline execution
engine for the health professional. The clinical practice guidelines are means of encapsulating
best practice in evidence-based medical treatment. Clinical guidelines are increasingly being
used to support clinicians’ decision-making. Such guidelines which have been developed by
local, national, and international organizations are intended to improve the quality of patient
care, reduce variations in quality of care, and reduce costs. As an example, The National
Guideline Clearinghouse™3 provides a comprehensive database of evidence-based clinical
practice guidelines and related documents. It has been demonstrated that clinician behaviour is
most effectively influenced through patient-specific advice, particularly if delivered during patient
encounters.
However, conventional narrative guidelines present population-based recommendations, and the
information contained within such guidelines may be difficult to access and apply to a specific
patient during the consultation. Guideline-based point-of-care decision support systems have the
potential to address this problem. A prerequisite for the development of such systems is the
creation of computer interpretable representations of the clinical knowledge contained in clinical
guidelines. A number of groups are actively developing computer interpretable guideline
representation languages for this purpose. Groups have adopted different approaches reflecting
their interests and expertise. Nevertheless, many of the approaches have in common a
hierarchical de-composition of guidelines into networks of component tasks that unfold over
time. Many methods to support the computerization of guidelines have been or are being
developed by the Health Informatics community4.
Among them the most widely used model is the GuideLine Interchange Format (GLIF) and
hence the EMPOWER Recommender Engine is using this model. GLIF tries to build on the most
useful features of other guideline models, and to incorporate standards that are used in health
care. It is proposed as a standard computer interpretable representation model for sharing
clinical guidelines among different healthcare institutes. It is presented by a research consortium
including the Columbia University, the Harvard University and the Stanford University. The
model is described in Deliverable 3.1.1 “State of the Art Technologies and Architectures for
EMPOWER”. The model also presents an OWL (Web Ontology Language) syntax, but this
representation formalism is complex, and this model does not directly map to the flowchart
representation formalism used by the medical professionals in the definition of guidelines. For
this reason, an intermediate XML model for the guideline editor is used as the core model while
designing the graphical interfaces. This intermediate XML model uses the models from GLIF, in
this respect, this XML model can be regarded as a subset of the GLIF model in the scope of
diabetes disease management. This XML model is presented Section 7.1.
The Diabetes based Personalised Adaptive Recommender Engine is composed of two main
modules:
3 http://www.guideline.gov
4 http://www.openclinical.org/gmmintro.html
FP7-288209 EMPOWER
10 / 103
- Guideline Editor: This editor is used by the Knowledge Workers of the EMPOWER
system and allows to design clinical guidelines graphically. This module is presented in
Section 7 in detail.
- Recommender Engine: This engine executes the machine processable guideline
definitions created by the Guideline Editor. During its execution, it retrieves the medical
data of the patient and displays it to the medical professionals using screen forms and
charts (as described in the guideline itself) and at the end of the execution generates a
number of recommendations automatically. The medical professionals review these
recommendations and edit/approve them if necessary. The Recommender Engine
module and its submodules are described in Section 6.
Four guidelines are implemented for the EMPOWER pilot applications:
- “Antihyperglycemic drug therapy of type 2 diabetes” to be used in Germany:
- Diagnosis of type 2 diabetes in Turkey
- Treatment of type 2 diabetes in Turkey
- Diabetes Guideline for Monitoring of Diabetes Patients in Turkey
With implementation, it is meant that, these textual guideline definitions are encoded in machine
processable format (GLIF) through the Guideline Editor and they are executed with the
Recommender Engine. During the execution medical data about the patients are retrieved from
their PHR and displayed to the medical professionals in appropriate formats/charts. All these
guidelines are described in detail in Section 8.
FP7-288209 EMPOWER
11 / 103
6 RECOMMENDER ENGINE
This module realizes the following use cases described in Deliverable D3.2.1 Technical
Requirements of the EMPOWER Architecture:
UC-5.2.2 Assign Diabetes Guideline to Patient
UC-5.2.3 Execute and Monitor Diabetes Guideline
UC-5.2.4 Generate Recommendation about the Patient
UC-5.2.5 Create Recommendation Rules for Diabetes Patients
UC-5.2.6 Approve/Update/Extend Recommendations by the Recommender Engine
The Recommender Engine is implemented in Model View Controller mechanism as shown in the
following figure. Basically, as shown in the figure, the guidelines are created by the Guideline
Editor and stored into the Model module. This module is a local database, which holds the
guideline model, guideline instances and temporary patient data retrieved from the PHR. The
Service executes the selected guideline instances for a specific patient according to the
commands retrieved from the Front End module. The Front End module provides the Graphical
User Interface of the Recommender Engine. It is a Web based module implemented as Rich
Internet Application (HTML5, Javascript, JSON). The communication between the Service and
the Front End is established through the REST module, which is a HTTP REST protocol
encapsulation of the Service module. These internal modules are presented in Section 6.1.
Figure 1 Recommender Engine Diagram
While executing the Recommender Engine module exchanges data with external modules of the
EMPOWER system. These external systems are presented with black boxes in the above figure:
Model Service
Recommender
REST Interface
Front End
Guideline
Editor
PHR
Visualization
REST Interface
ODL
EHR
Action Plan
Engine
FP7-288209 EMPOWER
12 / 103
- ODL: Observation of Daily Living values (either from mobile or Web interface) are stored
directly to the PHR database.
- EHR: The electronic health records (EHRs) of the patients are stored in the PHR, too.
- Action Plan Engine: The approved recommendations are sent to the Action Plan Engine
for the patients to adjust their action plans and calendars.
- Visualization Rest Interface: The Front End of the Recommender Engine directly
connects to the Visualization REST Interface to retrieve the visualization data set (for
specific parameters – e.g. blood pressure or weight) and displays the generated charts.
6.1 Components
6.1.1 Recommender Engine Model
This module contains the Java classes that represent the Guideline Model (which is a subset of
the GLIF model). Whole model is presented in Figure 2. The classes are presented below:
- Guideline: This is the main class in the guideline model. It is composed of steps which
are executed according to the flow described through constructs.
- Step: This is the generic abstract class for the guideline steps. Basically, all steps have a
unique ID and (except the Final Step) have a next step. There are five types of steps:
o Start Step: To identify the entry point to the guideline.
o Action Step: This step is composed of Variables to be displayed to the medical
professionals in appropriate formats (such as HTML forms). If there is an existing
value in the Recommender Engine Database for a specific variable, this value is
also displayed to the medical professional. If there is no value, then the medical
professional is allowed to enter data to this variable item. In this respect, Action
Steps are the main building block of a guideline, which are organized by other
steps.
o Recommendation Step: According to the conditionals specified in this step, the
recommendations are triggered and displayed the medical professionals at the
end of the execution.
o Decision Step: This step controls the flow of execution. They represent the
branches in the flow.
o Final Step: This step shows the end of the guideline execution.
- Variable: As mentioned before, an Action Step is composed of Variables to be displayed
to the medical professionals. The display of the Variables may depend on the values of
other variables, in these cases they may be hidden. This choice depends on the script in
the condition script of the Variable. In addition to this, the values in the variables may be
auto-calculated based on the values of other variables (e.g. body-weight-index can be
automatically calculated using weight and height). This calculation is encoded in the
value auto calculation script. Furthermore, depending on the value of the variable, a
warning message is displayed to the medical professional. This conditional is assessed
with the warning condition script.
- VisualizationChart: This class represents the visualization charts to be displayed for a
variable (e.g. HBa1C, blood glucose, blood pressure, etc.). Currently, there are
visualization charts for the following values: Weight (3, 6, 12 months), Blood Pressure
- Recommendation: This class represents the generated and edited recommendations in
the Recommender Engine.
- PreparedStatement and DataElement: This class holds necessary information to persist
the variable values in database.
- Patient: This class represents the patients in the guideline execution.
- CareProvider: This class represents all the medical professionals in the guideline
execution.
In addition to holding the Java classes, this module also stores the guideline instances, the data
for the execution of the guidelines (such as symbol table or status of the guideline instance) and
temporary medical data to be used during the execution of the guidelines. These data are stored
in a local database. Currently, H2 database is used for execution. However, any type of
relational database can be used for this purpose. The current database schema is presented
below:
Table 1 Recommender Engine Database Schema
CREATE TABLE IF NOT EXISTS GUIDELINE (
ID VARCHAR(50) NOT NULL,
NAME VARCHAR(250) DEFAULT NULL,
XMLCONTENT MEDIUMTEXT DEFAULT NULL,
PRIMARY KEY (ID)
);
CREATE TABLE IF NOT EXISTS INSTANCE (
ID VARCHAR(50) NOT NULL,
GUIDELINEID VARCHAR(50) DEFAULT NULL,
PATIENTID VARCHAR(50) DEFAULT NULL,
PATIENTNAME VARCHAR(500) DEFAULT NULL,
CAREPROVIDERID VARCHAR(500) DEFAULT NULL,
STATUS INT(1) DEFAULT NULL,
CURRENTSTEP VARCHAR(10) DEFAULT NULL,
LOG VARCHAR(250) DEFAULT NULL,
CREATETIME VARCHAR(50) DEFAULT NULL,
STARTTIME VARCHAR(50) DEFAULT NULL,
PAUSETIME VARCHAR(50) DEFAULT NULL,
FINISHTIME VARCHAR(50) DEFAULT NULL,
ABORTTIME VARCHAR(50) DEFAULT NULL,
FOLLOWEDPATH VARCHAR(100) DEFAULT NULL,
PRIMARY KEY (ID)
);
CREATE TABLE IF NOT EXISTS SYMBOLTABLE (
INSTANCEID VARCHAR(50) DEFAULT NULL,
VARIABLENAME VARCHAR(250) DEFAULT NULL,
VARIABLEVALUE VARCHAR(500) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS RECOMMENDATION (
ID VARCHAR(50) DEFAULT NULL,
PATIENTID VARCHAR(50) DEFAULT NULL,
INSTANCEID VARCHAR(50) DEFAULT NULL,
STATUS VARCHAR(50) DEFAULT NULL,
RECOMMENDATIONTYPE VARCHAR(50) DEFAULT NULL,
VALUE TEXT DEFAULT NULL
);
FP7-288209 EMPOWER
14 / 103
CREATE TABLE IF NOT EXISTS GUIDELINEEXECUTION (
PATIENTID VARCHAR(50) DEFAULT NULL,
EXECUTIONCOUNT INT(2) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS CAREPROVIDER (
CAREPROVIDERID VARCHAR(50) DEFAULT NULL,
ROLE VARCHAR(50) DEFAULT NULL,
NAME VARCHAR(250) DEFAULT NULL,
SURNAME VARCHAR(250) DEFAULT NULL,
ORGANIZATION VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS PATIENT (
PATIENTID VARCHAR(50) DEFAULT NULL,
NAME VARCHAR(250) DEFAULT NULL,
SURNAME VARCHAR(250) DEFAULT NULL,
BIRTHDATE VARCHAR(50) DEFAULT NULL,
GENDER VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS APPLICATION (
PATIENTID VARCHAR(50) DEFAULT NULL,
APPLICATIONDATE VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS DIAGNOSIS (
PATIENTID VARCHAR(50) DEFAULT NULL,
DIAGNOSISDATE VARCHAR(50) DEFAULT NULL,
YEAR VARCHAR(50) DEFAULT NULL,
AGE VARCHAR(50) DEFAULT NULL,
DIABETESTYPE VARCHAR(50) DEFAULT NULL,
FIRSTDIAGNOSISTYPE VARCHAR(50) DEFAULT NULL,
APPLICATIONREASON VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS TREATMENT (
PATIENTID VARCHAR(50) DEFAULT NULL,
NUTRITIONCOMPLIANCE VARCHAR(50) DEFAULT NULL,
EXERCISECOMPLIANCE VARCHAR(50) DEFAULT NULL,
INSULINPUMPUSE VARCHAR(50) DEFAULT NULL,
DATEOFISSUE VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS EDUCATION (
PATIENTID VARCHAR(50) DEFAULT NULL,
DIABETESEDUCATION VARCHAR(50) DEFAULT NULL,
EDUCATIONCOUNT VARCHAR(50) DEFAULT NULL,
LASTEDUCATIONDATE VARCHAR(50) DEFAULT NULL,
ACTIVEDATE VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS MEDICATION (
PATIENTID VARCHAR(50) DEFAULT NULL,
MEDICATIONS VARCHAR(1000) DEFAULT NULL,
ACTIVEDATE VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS HISTORY (
PATIENTID VARCHAR(50) DEFAULT NULL,
UMLSCODE VARCHAR(50) DEFAULT NULL
FP7-288209 EMPOWER
15 / 103
);
CREATE TABLE IF NOT EXISTS FAMILYHISTORY (
PATIENTID VARCHAR(50) DEFAULT NULL,
RELATIVE VARCHAR(50) DEFAULT NULL,
UMLSCODE VARCHAR(50) DEFAULT NULL,
VALUE VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS TEST (
PATIENTID VARCHAR(50) DEFAULT NULL,
UMLSCODE VARCHAR(50) DEFAULT NULL,
VALUE VARCHAR(50) DEFAULT NULL,
TESTDATE VARCHAR(50) DEFAULT NULL
);
CREATE TABLE IF NOT EXISTS ACTIVEPROBLEM (
PATIENTID VARCHAR(50) DEFAULT NULL,
UMLSCODE VARCHAR(50) DEFAULT NULL,
VALUE VARCHAR(50) DEFAULT NULL
);
The tables in the schema are as follows:
- GUIDELINE: This table holds the guidelines created by the Guideline Editor.
- INSTANCE: This table holds information about the executed/executing/aborted guideline
instances.
- SYMBOLTABLE: This symbol table holds the variable values in guideline instance
executions.
- RECOMMENDATION: The recommendations generated by the instance execution are
kept by this table.
- GUIDELINEEXECUTION: The number of executions of the guidelines are stored in this
table.
- CAREPROVIDER: The medical professionals are stored in this table.
- PATIENT: The registered patients are kept in this table.
- APPLICATION: This table holds information about the application data of the patient.
- DIAGNOSIS: The diagnosis information about the patients are stored in this table.
- TREATMENT: The treatment information of the patients are kept in this table.
- EDUCATION: The education information of the patients are stored in this table.
- MEDICATION: The medications of the patients are kept in this table.
- HISTORY: This table holds the medical history of the patients.
- FAMILYHISTORY: The family history of the patients are stored in this table.
- TEST: The laboratory tests are kept in this table.
- ACTIVEPROBLEM: The current active problems of the patients are stored in this table.
FP7-288209 EMPOWER
16 / 103
Figure 2 Recommender Engine Model
FP7-288209 EMPOWER
17 / 103
6.1.2 Recommender Engine Service (Controller)
This module is the main controller of the Recommender Engine. It is responsible for processing
and controlling all the guideline executions. It communicates with the model module and after
processing the data is senr to the front end module for display to the medical professionals. In
the rest of this section, the classes in this module are presented in detail.
Figure 3 RecommenderEngineService Interface
The RecommenderEngineService interface shown in Figure 3 is the interface of the
Recommender Engine to other components of the EMPOWER system. In other words, this is
the entrance point to the Recommender Engine. This interface is implemented by the
RecommenderEngineServiceImpl class shown in Figure 4. This implementation is responsible for
executing the guidelines. Through its step processors, the guideline is processed step-by-step.
There are the following step processors:
- ActionStepProcessor: This processor is responsible for the ActionSteps in the guideline.
Mainly, it calls the VariableProcessor for each Variable in the ActionStep, gets the results
from them, concatenates it and prepares the result for display to the medical
professionals.
- RecommendationStepProcessor: This processor calls the RecommendationProcessors
for each Recommendation defined in the RecommendationStep.
- DecisionStepProcessor: Based on the criteria in the DecisionBlock, they decide the next
steps.
FP7-288209 EMPOWER
18 / 103
Figure 4 RecommenderEngineService Implementation
In addition to the step processors, there are VariableProcessors and
RecommendationProcessors. The VariableProcessors process the Variable class in the
guideline and if its condition script evaluates to true, it retrieves the value from the database,
prepares the HTML code snippet for this Variable and returns this HTML to ActionStepProcessor
for concatanation with the results of other VariableProcessors. On the other hand, the
Recommendation Processors decide whether the Recommendation should be triggered based
on the criteria defined in the RecommendationStep.
In addition to these processors, there are auxilliary classes:
- JavaScriptEngine: This class is responsible for the scripts in the Variables,
DecisionBlocks and Recommendations.
- Utility: This class realizes low-level processing tasks.
FP7-288209 EMPOWER
19 / 103
Figure 5 Guideline package
As shown in Figure 5, the package contains classes for the execution of the guideline:
- GuidelineWrapper: This class is a wrapper class for Guideline model class and has
methods to facilitate the access to the content of the guidelines.
- Instance: This class represent the guideline instances in the Recommender Engine.
- SymbolTable: This class is the symbol table in the instances. They contain the variable
values in the guideline executions.
FP7-288209 EMPOWER
20 / 103
Figure 6 Database package
The database package contains classes to communicate with the persistent database for the
Recommender Engine. The DatabaseHandler class accesses the database through JDBC. The
EHRDataAccess class facilitates to access the EHR data in the temporary database of the
engine.
Figure 7 PHR Integration package
FP7-288209 EMPOWER
21 / 103
The PHR integration package presented in Figure 7 contains classes for communicating with the
integrated PHR system of EMPOWER. Before the execution of the guideline, it retrieves the
medical data from the PHR system and after the execution it stores resulting data back to the
PHR System.
6.1.3 Recommender Engine REST Interface
Figure 8 RecommenderEngineService REST Interface
This module is responsible to establish the communication between the RecommenderEngine
service and the front end module through HTTP REST protocol. The methods provided by the
REST interface are displayed in Figure 8.
6.1.4 Recommender Engine Front End (View)
The front end module is the graphical user interface of the Recommender Engine.
FP7-288209 EMPOWER
22 / 103
Figure 9 Home page of the Recommender Engine
The front end of the Recommender Engine is integrated in the EMPOWER main graphical user
interface as shown in Figure 9. Only the medical professional users can access the
Recommender Engine by clicking the Recommender button in the main menu. At the entrance
page all the available guidelines are presented to the medical professional.
Figure 10 Patient Guideline Assignment
FP7-288209 EMPOWER
23 / 103
In order to execute a guideline instance for a patient, the medical professional needs to click the
Assignment button and assign the guideline to the specific patient as shown in Figure 10.
Figure 11 Starting the Guideline Instance
After the assignment, the medical professional clicks the Engine Status button to execute the
guideline instance. In this window, the medical professional can see all
executing/executed/aborted guidelines, too. If required, the medical professional resumes a
guideline instance as well.
Figure 12 Guideline Execution
During the execution, the steps of the guideline are processed by the Recommender Engine and
corresponding steps are displayed to the medical professional. If there is a value for a variable, it
is retrieved from the database and displayed, if not, the medical professional is allowed to enter
data for these items as shown in Figure 12.
In addition, if there is a visualization chart for a specific variable, a chart icon is displayed next to
the variable as shown in Figure 13. After clicking the chart icon the corresponding chart is
depicted to the medical professional.
FP7-288209 EMPOWER
24 / 103
Figure 13 Guideline Execution
After the execution, the medical professional can review the automatically generated
recommendations by clicking the Recommendations button as shown in Figure 14.
Figure 14 Recommendations of an Instance
FP7-288209 EMPOWER
25 / 103
Figure 15 Recommendations in detail
As shown in Figure 15, the medical professional can approve, delete or edit the individual
recommendations, or add new ones, if necessary.
7 GUIDELINE EDITOR
The Guideline Editor is a web-based xml editor, which is used for creating guidelines XML documents. The most important feature of the Guideline Editor is the diagram mode which uses the drag and drop mechanism of HTML5. With this mode users can create guidelines by just drawing diagrams and filling forms. Users can download the guidelines that they created and upload guidelines to work on them. The Guideline Editor also uses modal windows while creating xml elements. These dialog windows make users more aware and more effective while creating guideline. In addition Guideline Editor uses latest HTML standard HTML5 which has wider support of browsers and platforms such as mobile devices. Moreover, because of being web based, users do not need to install any software to their computer to create guideline.
7.1 GUIDELINE STRUCTURE The Guideline is an XML document that represents the data structures and path of a diabetes care plan. A guideline may represent a self-management pathway for patients. It has a structure of:
The Guideline XML consists of steps and always starts with StartingStep and ends with FinalStep. All steps contain their own data and the next steps to be followed.
FP7-288209 EMPOWER
26 / 103
7.1.1 Step Structure
Steps are XML elements that represent the phases of a care plan and each step contains data structures that will be used and next steps that will be followed. All steps are connected to each other and together they form a complete guideline XML document.
Step elements define the web interface of care plan steps such that each step is a form object in html pages and form fields are defined in these step XMLs. For example, patient starts with starting step and presses next button on page, and as a next step a new step is loaded. The new steps are loaded according to user inputs and some predefined algorithms.
There are 5 kinds of steps and each of them has a different structure.
• Start Step
• Action Step
• Decision Step
• Recommendation Step
• Final Step
7.1.1.1 Start Step
A start step is always the first step of a guideline and has a structure of:
<StartStep ID="StartStep" nextStep="A"/>
The Next step attribute indicates the next step to be followed in the guideline. A guideline can only have one start step. The Start step does not contain data or sub–elements because it is only used as a starting point.
7.1.1.2 Action Step
The Action step is one of the step types used in guideline XML and it has a structure of:
As can be seen from the example above, the action step contains variable elements. These variables store the current data of the step such as weight of patient etc. Variables can have script elements inside. There are 3 types of scripts used in guideline XML.
• Condition Script • Warning Condition Script • Value Auto Calculation Script
Condition scripts are used to enable or disable the variable containing it. For example if a variable contains a condition script and this script returns false, that variable is disabled for that step and not further used in care planning.
FP7-288209 EMPOWER
27 / 103
Warning Condition Scripts are used to warn the user while he/she is filling the forms. If an incorrect or abnormal value is entered to a variable in that form, the script runs and warns the user.
Since each step defines a form object in the web interface, there are some fields in these forms which are calculated automatically according to previous fields filled by the user. In the example above the “bodyWeightIndex” variable is calculated according to the “height” and “weight” variables using the script in the “ValueAutoCalculationScipt” tags. So when a user fills in the height and weight values in the form the bodyWeightIndex value is calculated automatically.
An action step can only have one next step and it is specified in “nextStep” attribute of Action Step xml.
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)
For example in the above XML, decision block checks the execution count of this guideline. If is
the guideline was already executed twice, for a third execution, next step of this step is “D”, if
not the next step is “CR”.
FP7-288209 EMPOWER
28 / 103
7.1.1.4 Recommendation Step
The Recommendation step is another step used in the guideline XML document. It has a
structure of:
<RecommendationStep ID="RecommendationStep" name="Education, nutrition and exercise compliance recommendations" nextStep="FinalStep">
<Recommendation recommendationType="treatment" ID="R1" description="A metformin therapy should be started as soon as possible. 2000 mg/day is recommended. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further attempt should be made to increase the dosage later. ">
Figure 70 Anithyperglycaemic theraphy of type 2 diabetes Flowchart
Basically, the guideline tries to achieve an HBA1c value less than 6.5%. To be more specific,
Based on the data from the UKPDS5, the UKPDS6 10-year follow-up as well as the ADVANCE
5 United Kingdom Prospective Diabetes Study
6 Turner RC, Holman RR, Cull CA et al (1998) Intensive blood-glucose control with sulphonylureas or insulin compared with
conventional treatment and risk of complications in patients with type 2 diabetes (UKPDS 33). UK Prospective Diabetes Study
(UKPDS) Group. Lancet 352:837)
FP7-288209 EMPOWER
60 / 103
study7 and in accordance with the recommendations of the European Association for the Study
of Diabetes and global IDF guidelines, these guidelines recommend a target range of < 6.5 % for
HbA1c. The HbA1c value should be determined every 3 months. If the therapeutic objective for
the HbA1c is not achieved, the therapy is intensified. The process in the guideline is as follows:
- Diabetes-Training, Nutrition, Activity and Medication: Metformin: Patients who have recently been diagnosed with diabetes mellitus type 2 should attend a formal diabetes education programme. Among the value of information provided at such sessions, they will learn the principles of nutritional and exercise therapy. A metformin therapy should be started as soon as possible, provided no contraindications exist. If the HbA1c value is 6.5 % and < 7.5 % after 3 – 6 months, an OAD / exenatide combination therapy is recommended. If the HbA1c value is 7.5 % after 3 – 6 months, an insulin / OAD (particularly metformin) combination therapy is recommended, since a combination therapy is unlikely to achieve the HbA1c target of < 6.5 % in patients who have received prior non-pharmacological treatment and metformin.
- OAD combination therapy or OAD / exenatide combination therapy: At this level of therapy, the combinations shown in the flowchart can be used. They are listed in alphabetical order. There is no scientifically based order of preference. The choice of combination partners must be made on a case by case basis in accordance with the patient’s current metabolic situation and taking into account the advantages and disadvantages as well as side effects / contraindications of the respective substance. If the HbA1c therapeutic target of < 6.5 % is not achieved after 3 – 6 months, treatment is intensified with a combination therapy consisting of insulin and OAD
- OAD / insulin combination therapy: In this phase of the disease, the patient’s metabolism is characterised primarily by fasting glucose values that are above the target value of 100 mg / dl, since endogenous glucose production is no longer adequately suppressed by endogenous insulin. Thus, the objective of insulin therapy is to compensate for this deficiency. For this, basal insulins are recommended. They are injected at bedtime in the evening and thus block endogenous glucose production. The dose of these basal insulins is titrated so as to achieve a fasting blood glucose level of 100 mg / dl while avoiding nocturnal hypoglycaemia. If plasma glucose levels during the day remain near to normal with this therapy, there is currently no need for escalating insulin therapy using also injections during daytime. In the absence of contraindications, the respective combination therapy with metformin is recommended. Another option is the combination therapy with SU or repaglinide. If the HbA1c goal of < 6.5 % is not achieved after 3 – 6 months, the insulin therapy is intensified
- Intensification of insulin therapy: MDI (multiple daily injection of basal / bolus insulin) and premixed bid (injection of premixed insulins twice daily) are essentially insulin therapy procedures that assist in achieving the individual therapeutic goal.
o MDI: Besides taking basal insulin at night, patients inject themselves with bolus insulin at mealtimes. Provided it is not contraindicated, the combination therapy with metformin is recommended
o Premixed bid: If MDI is not indicated for individual, social or organisational reasons, a so called conventional form of insulin therapy, usually injecting premixed insulin twice a day, is applied. Provided it is not contraindicated, the combination therapy with metformin is recommended
7 Patel A, MacMahon S, Chalmers J et al (2008) Intensive blood glucose control and vascular outcomes in patients with type
diabetes. N Engl J Med 358:2560
FP7-288209 EMPOWER
61 / 103
8.2 Diagnosis of type 2 diabetes in Turkey In this guideline, the diagnosis of Type 2 diabetes (mostly in primary care) is addressed. The
guideline is described in “Diagnosis, Treatment and Monitoring of Diabetes Mellitus and its
Complications”8 published by Turkish Endocrinology and Metabolism Society9.
Figure 71 Diagnosis of type 2 diabetes in Turkey
The guideline is first based on the fasting blood glucose (FBG) value. If it is less than 100 mg/dl,
then the patient is normal and if it is greater than 125 mg/dl then the patient is diagnosed as
diabetes mellitus. If the fasting blood glucose value is between 100-125 mg/dl, then a 75gr Oral
Glucose Tolerance Test (OGTT) is carried out. Based on the value of this test the following
decisions are taken:
- FBG<100 mg/dl and OGTT 2hour PG < 140 mg/dl � NORMAL
Likewise, the guideline tries to achieve an HBA1c value less than 6.5%. The HbA1c value
should be determined every 3 months. If the therapeutic objective for the HbA1c is not achieved,
the therapy is intensified. The process in the guideline is as follows:
- Diabetes-Training, Nutrition, Activity and Medication: Patients who have recently been diagnosed with diabetes mellitus type 2 should attend a formal diabetes education programme. Among the value of information provided at such sessions, they will learn the principles of nutritional and exercise therapy. A metformin therapy should be started as soon as possible, if there is no contraindications exist. At this point, if the HbA1c value is greater than 10, then in addition to metformin, insulin is also prescribed. This phase (i.e. initial therapy) is carried out in primary care. After that, after three months, the patient visits the secondary care and if the HbA1c value is 6.5 % and < 8.5 %, an OAD / metformin combination therapy is recommended. If the HbA1c value is 8.5 % after 3 – 6 months, an insulin / metformin combination therapy is recommended, since a combination therapy is unlikely to achieve the HbA1c target of < 6.5 % in patients who have received prior non-pharmacological treatment and metformin.
- OAD metformin combination therapy: At this level of therapy, the combinations shown in the flowchart can be used. There is no scientifically based order of preference. The choice of combination partners must be made on a case by case basis in accordance with the patient’s current metabolic situation and taking into account the advantages and disadvantages as well as side effects / contraindications of the respective substance. If the HbA1c therapeutic target of < 6.5 % is not achieved after 3 – 6 months, treatment is intensified with a combination therapy consisting of insulin and metformin.
- Metformin / insulin combination therapy: In this phase of the disease, the patient’s metabolism is characterised primarily by fasting glucose values that are above the target value of 100 mg / dl, since endogenous glucose production is no longer adequately suppressed by endogenous insulin. Thus, the objective of insulin therapy is to compensate for this deficiency. For this, basal insulins are recommended. They are injected at bedtime in the evening and thus block endogenous glucose production. The dose of these basal insulins is titrated so as to achieve a fasting blood glucose level of 100 mg / dl while avoiding nocturnal hypoglycaemia. If plasma glucose levels during the day remain near to normal with this therapy, there is currently no need for escalating insulin therapy using also injections during daytime. In the absence of contraindications, the respective combination therapy with metformin is recommended.
- Intensification of insulin therapy: This therapy is carried out in tertiary care. MDI (multiple daily injection of basal / bolus insulin) and premixed bid (injection of premixed insulins twice daily) are essentially insulin therapy procedures that assist in achieving the individual therapeutic goal.
o MDI: Besides taking basal insulin at night, patients inject themselves with bolus insulin at mealtimes. Provided it is not contraindicated, the combination therapy with metformin is recommended
o Premixed bid: If MDI is not indicated for individual, social or organisational reasons, a so called conventional form of insulin therapy, usually injecting premixed insulin twice a day, is applied. Provided it is not contraindicated, the combination therapy with metformin is recommended
FP7-288209 EMPOWER
64 / 103
8.4 Diabetes Guideline for Monitoring of the Diabetes Patients in Turkey
Figure 73 Diabetes Guideline for Monitoring of the Diabetes Patients in Turkey
The Turkish guideline is designed by the endocrinology doctors in the Numune Training and
Research Hospital and is used by the medical professionals to monitor their patients and show
the important parameters in the management process so that they do not miss a point the
treatment of their diabetic patients.
In Turkey, as mentioned before in D8.1.1 “Requirement Specifications and Scenario of the Pilot
Application”, after each examination, the physicians need to enter the results to the MoH’s
National Health Information System. It is estimated that the doctors can only allocate 6 minutes
for each patient and approximately 3 minutes of this duration is spent to enter data about the
examination. In addition to providing recommendations to the doctor, the other main aim of this
guideline is to extend the duration that the doctors spend to their patients. This is mainly
achieved as follows: as it is presented in the following screenshots, there are a lot of parameters
that the doctor should consider and they enter values to each of them repeatedly. Furthermore,
in the current version of the National Health Information System, it is not possible to retrieve data
(This will be achieved in the later phases by the MoH). What the guideline will provide is:
- to show the previously entered EHR data to the doctors so that they may not re-enter data if the value has not been changed.
- to show every important parameter to them so that they do not forget any parameter in the treatment process.
The guideline is composed of a number of steps where to following information sets are
displayed to the medical professionals respectively:
- Demographic Information - Diagnosis Information - Treatment Information - Medical History
FP7-288209 EMPOWER
65 / 103
- Family History - Complaints and Physical Examination - Foot Examination - Laboratory Tests - Complication Screening - Final Recommendations
The information content of the above steps mainly changes according to the diabetes type (Type
1 or Type 2) and age (>18 or <18) of the patient.
In the following screens, the information contents for every possible case are presented. In
addition to this in the following table which screen is displayed in which case is summarized.
Table 2 Turkish Guideline Summary
Type 2 Type 1 and age>18
Type 1 and age<18
Demographic Information
Figure 74 Figure 74 Figure 74
Diagnosis Information
Figure 75 Figure 75 Figure 75
Treatment Information
Figure 77 Figure 76 Figure 76
Medical History Figure 78 Figure 78 Figure 79
Family History Figure 80 Figure 80 Figure 81
Complaints and Physical Examination
Figure 82 Figure 82 Figure 83, Figure 84
Foot Examination Figure 85 Figure 85 Figure 85
Laboratory Tests Figure 89 Figure 86, Figure 87
Figure 88
Complication Screening
Figure 90, Figure 91 Figure 90, Figure 91
Figure 90, Figure 91
FP7-288209 EMPOWER
66 / 103
Figure 74 Demographic Information
Figure 75 Diagnosis Information
FP7-288209 EMPOWER
67 / 103
Figure 76 Treatment Information for Type 1
Figure 77 Treatment Information for Type 2
FP7-288209 EMPOWER
68 / 103
Figure 78 Medical History for age > 18
Figure 79 Medical History for age < 18
FP7-288209 EMPOWER
69 / 103
Figure 80 Family History for age > 18
Figure 81 Family History for age < 18
FP7-288209 EMPOWER
70 / 103
Figure 82 Complaints and Physical Examination for age > 18
Figure 83 Complaints and Physical Examination for age < 18
FP7-288209 EMPOWER
71 / 103
Figure 84 Further Physical Examination for Type 1 and age < 18
FP7-288209 EMPOWER
72 / 103
Figure 85 Foot Examination
FP7-288209 EMPOWER
73 / 103
Figure 86 Laboratory Tests for Type 1 and age > 18 - Part 1
FP7-288209 EMPOWER
74 / 103
Figure 87 Laboratory Tests for Type 1 and age > 18 - Part 2
FP7-288209 EMPOWER
75 / 103
Figure 88 Laboratory Tests for Type 1 and age < 18
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
<Recommendation recommendationType="treatment" ID="R15" description="Start basal insulin therapy. Injection at bedtime in the evening is recommended. TODO: RECOMMEND DOSE."/> <Recommendation recommendationType="treatment" ID="R16" description="A metformin therapy can be started. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops an intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further attempt should be made to increase the dosage later. "> <ConditionScript>function check() { if($impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return false; else return true;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R17" description="If the preprandial blood sugar levels during the day are not in the target range, prandial insulin therapy should be implemented (also called supplementary insulin therapy, SIT)."> <ConditionScript>function check() { if($preprandialInsulin > 110) return true; else return false;}</ConditionScript> </Recommendation> </RecommendationStep> <DecisionStep ID="DS4" nextStep="FinalStep"> <DecisionBlock> <ConditionScript>function check() { if($hba1c >= 6.5) return true; else return false;}</ConditionScript> <NextStep>P</NextStep> </DecisionBlock> </DecisionStep> <ActionStep ID="P" name="Intensification of Insulin Therapy (MDI, premixed bid)" nextStep="PR"> <Variable ID="insulinInjectionPreference" type="radio" umlsCode="C0199782" options="Multiple daily basal/bolus insulin:Twice daily premixed insulin:Insulin pump"/> <Variable ID="liverFunctionDisorders2" type="radio" umlsCode="C0156194" options="Yes:No:Unknown"/> <Variable ID="congestiveHeartFailure2" type="radio" umlsCode="C0018802" options="Yes:No:Unknown"/> <Variable ID="diabeticPrecoma2" type="radio" umlsCode="C1142529" options="Yes:No:Unknown"/> <Variable ID="diabeticKetoacidosis3" type="radio" umlsCode="C0011880" options="Yes:No:Unknown"/> <Variable ID="pregnancy6" type="radio" umlsCode="C0032961" options="Yes:No:Unknown"/> </ActionStep> <RecommendationStep ID="PR" name="Intensification of Insulin Therapy (MDI, premixed bid) Recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="R18" description="MDI (multiple daily injection of basal / bolus insulin) and premixed bid (injection of premixed insulins twice daily) are essentially insulin therapy procedures that assist in achieving the individual therapeutic goal. The advantages and disadvantages of both therapy forms should be discussed with the patient before any decision regarding therapy is made."/> <Recommendation recommendationType="treatment" ID="R19" description="Besides taking basal insulin at night, the patient should inject bolus insulin at mealtimes. TODO: RECOMMEND DOSE."> <ConditionScript>function check() { if($insulinInjectionPreference == "Multiple daily basal/bolus insulin") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R20" description="The decision as to whether the patient must also take basal insulin during the day is determined by the result of the basal rate test (skipping lunch, plasma glucose measurement every hour until dinner, determination of the need for basal insulin based on plasma glucose development)."> <ConditionScript>function check() { if($insulinInjectionPreference == "Multiple daily basal/bolus insulin") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R21" description="A metformin therapy can be started. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops an intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further attempt should be made to increase the dosage later. "> <ConditionScript>function check() { if($impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return false; else return true;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R22" description="If MDI is not indicated for individual, social or organisational reasons, a so called conventional form of insulin therapy, usually injecting premixed insulin twice a day, is applied."> <ConditionScript>function check() { if($insulinInjectionPreference == "Multiple daily basal/bolus insulin") return false; else return true;}</ConditionScript> </Recommendation>
FP7-288209 EMPOWER
87 / 103
<Recommendation recommendationType="treatment" ID="R24" description="Schedule a follow-up after 3-6 months."/> </RecommendationStep> <!--ActionStep ID="R" name="Fifth follow-up" nextStep="DS5"> <Variable ID="hba1c_5" type="float" umlsCode="C0019018"/> </ActionStep> <DecisionStep ID="DS5" nextStep="FinalStep"> <DecisionBlock> <ConditionScript>function check() { if($hba1c_5 >= 6.5) return true; else return false;}</ConditionScript> <NextStep>S</NextStep> </DecisionBlock> </DecisionStep> <RecommendationStep ID="S" name="Intensification of Insulin Therapy (CSII) Recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="R25" description="IIf the therapeutic HbA1c goal is not achieved with MDI despite repetitive structured education of the patient, CSII represents a therapeutic option."/> <Recommendation recommendationType="treatment" ID="R26" description="A metformin therapy can be started. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops an intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further attempt should be made to increase the dosage later. "> <ConditionScript>function check() { if($impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return false; else return true;}</ConditionScript> </Recommendation> </RecommendationStep--> <FinalStep ID="FinalStep"/> </Guideline>
<DecisionBlock> <ConditionScript>function check() { if($hba1c >= 6.5) return true; else return false;}</ConditionScript> <NextStep>G</NextStep> </DecisionBlock> </DecisionStep> <ActionStep ID="G" name="Combination Therapy OAD (particularly metformin) plus insulin" nextStep="GR"> <Variable ID="preprandialInsulin" type="float" umlsCode="C00190181"/> </ActionStep> <RecommendationStep ID="GR" name="Combination Therapy OAD (particularly metformin) plus insulin recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="R14" description="Schedule a follow-up after 3-6 months."/> <Recommendation recommendationType="treatment" ID="R15" description="Start basal insulin therapy. Injection at bedtime in the evening is recommended. TODO: RECOMMEND DOSE."/> <Recommendation recommendationType="treatment" ID="R16" description="A metformin therapy can be started. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops an intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further attempt should be made to increase the dosage later. "> <ConditionScript>function check() { if($impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return false; else return true;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R17" description="If the preprandial blood sugar levels during the day are not in the target range, prandial insulin therapy should be implemented (also called supplementary insulin therapy, SIT)."> <ConditionScript>function check() { if($preprandialInsulin > 110) return true; else return false;}</ConditionScript> </Recommendation> </RecommendationStep> <DecisionStep ID="DS4" nextStep="R"> <DecisionBlock> <ConditionScript>function check() { if($hba1c >= 6.5) return true; else return false;}</ConditionScript> <NextStep>P</NextStep> </DecisionBlock> </DecisionStep> <ActionStep ID="P" name="Intensification of Insulin Therapy (MDI, premixed bid)" nextStep="PR"> <Variable ID="insulinInjectionPreference" type="radio" umlsCode="C0199782" options="Multiple daily basal/bolus insulin:Twice daily premixed insulin:Insulin pump"/> <Variable ID="liverFunctionDisorders2" type="radio" umlsCode="C0156194" options="Yes:No:Unknown"/> <Variable ID="congestiveHeartFailure2" type="radio" umlsCode="C0018802" options="Yes:No:Unknown"/> <Variable ID="diabeticPrecoma2" type="radio" umlsCode="C1142529" options="Yes:No:Unknown"/> <Variable ID="diabeticKetoacidosis3" type="radio" umlsCode="C0011880" options="Yes:No:Unknown"/> <Variable ID="pregnancy6" type="radio" umlsCode="C0032961" options="Yes:No:Unknown"/> </ActionStep> <RecommendationStep ID="PR" name="Intensification of Insulin Therapy (MDI, premixed bid) Recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="R18" description="MDI (multiple daily injection of basal / bolus insulin) and premixed bid (injection of premixed insulins twice daily) are essentially insulin therapy procedures that assist in achieving the individual therapeutic goal. The advantages and disadvantages of both therapy forms should be discussed with the patient before any decision regarding therapy is made."/> <Recommendation recommendationType="treatment" ID="R19" description="Besides taking basal insulin at night, the patient should inject bolus insulin at mealtimes. TODO: RECOMMEND DOSE."> <ConditionScript>function check() { if($insulinInjectionPreference == "Multiple daily basal/bolus insulin") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R20" description="The decision as to whether the patient must also take basal insulin during the day is determined by the result of the basal rate test (skipping lunch, plasma glucose measurement every hour until dinner, determination of the need for basal insulin based on plasma glucose development)."> <ConditionScript>function check() { if($insulinInjectionPreference == "Multiple daily basal/bolus insulin") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R21" description="A metformin therapy can be started. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops an intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further
FP7-288209 EMPOWER
95 / 103
attempt should be made to increase the dosage later. "> <ConditionScript>function check() { if($impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return false; else return true;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R22" description="If MDI is not indicated for individual, social or organisational reasons, a so called conventional form of insulin therapy, usually injecting premixed insulin twice a day, is applied."> <ConditionScript>function check() { if($insulinInjectionPreference == "Multiple daily basal/bolus insulin") return false; else return true;}</ConditionScript> </Recommendation> <Recommendation recommendationType="treatment" ID="R24" description="Schedule a follow-up after 3-6 months."/> </RecommendationStep> <ActionStep ID="R" name="Fifth follow-up" nextStep="DS5"> <Variable ID="hba1c_5" type="float" umlsCode="C0019018"/> </ActionStep> <DecisionStep ID="DS5" nextStep="FinalStep"> <DecisionBlock> <ConditionScript>function check() { if($hba1c_5 >= 6.5) return true; else return false;}</ConditionScript> <NextStep>S</NextStep> </DecisionBlock> </DecisionStep> <RecommendationStep ID="S" name="Intensification of Insulin Therapy (SCII) Recommendations" nextStep="FinalStep"> <Recommendation recommendationType="treatment" ID="R25" description="If the therapeutic HbA1c goal is not achieved with MDI despite repetitive structured education of the patient, SCII represents a therapeutic option."/> <Recommendation recommendationType="treatment" ID="R26" description="A metformin therapy can be started. Start with 1 x 500 mg with the evening meal (0-0-1). If tolerated, increase after 1 week to 2 x 500 mg with breakfast and evening meal (1-0-1). If tolerated, increase after 1 week to 2 x 1 g with breakfast and evening meal (1-0-1). If the patient develops an intolerance in response to the dosage increase, the dose should be reduced to the level at which it is tolerated. If possible, a further attempt should be made to increase the dosage later. "> <ConditionScript>function check() { if($impairedRenalFunction == "Yes" || $severeLiverDisease == "Yes" || $pancreatitis == "Yes" || $alcoholism == "Yes" || $consumptiveDiseases == "Yes" || $respiratoryInsufficiency == "Yes" || $severeCardiacInsufficiency == "Yes" || $cardiovascularShock == "Yes" || $preOperativeState == "Yes" || $periOperativeState == "Yes" || $postOperativeState == "Yes" || $advancedAge == "Yes" || $caloricRestrictions == "Yes") return false; else return true;}</ConditionScript> </Recommendation> </RecommendationStep> <FinalStep ID="FinalStep"/> </Guideline>
9.5 Diabetes Guideline for Monitoring of the Diabetes Patients in Turkey <?xml version="1.0" encoding="UTF-8"?> <Guideline xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="..\..\..\..\..\recommender-engine-model\src\main\schema\Guideline.xsd" ID="TR-Diabetes-Guideline-3" name="Diabetes Guideline for Monitoring of the Diabetes Patients in Turkey"> <StartStep ID="StartStep" nextStep="A"/> <ActionStep ID="A" name="Demographic Information" nextStep="B"> <Variable ID="patientName" type="string" umlsCode="C1299487"/> <Variable ID="patientSurname" type="string" umlsCode="C0421448"/> <Variable ID="citizenShipNumber" type="string" umlsCode="C2599904"/> <Variable ID="birthDate" type="date" umlsCode="C0421451"/> <Variable ID="gender" type="string" umlsCode="C0079399"/> <Variable ID="applicationDate" type="date" umlsCode="C1302393"/> </ActionStep> <ActionStep ID="B" name="Diagnosis Information" nextStep="C"> <Variable ID="firstDiagnosisDate" type="date" umlsCode="C2316983"/> <Variable ID="firstDiagnosisYear" type="integer" umlsCode="C23169831" description="If the first diagnosis date is not known."/> <Variable ID="firstDiagnosisAge" type="integer" umlsCode="C231698312" description="If the first diagnosis date is not known."/> <Variable ID="diabetesType" type="radio" umlsCode="C1320657" options="Type 1:Type 2:Impaired Glucose Tolerance - IGT:Impaired Fasting Glucose - IFG:Maturity Onset Diabetes of the Young - MODY"/> <Variable ID="firstDiagnosisType" type="radioText" umlsCode="C1550351" options="Diabetic Ketoacidosis:Diabetic Ketosis:Hiperosmolar Coma:Hyperglycemia:Other (Please specify)"/> <Variable ID="applicationReason" type="radioText" umlsCode="C1272707" options="General Control:Diabetic
<Variable ID="otherFootProblem" type="string" umlsCode="C0555980"/> </ActionStep> <ActionStep ID="F" name="Laboratory Tests" nextStep="G"> <Variable ID="fastingBloodGlucose" type="float" umlsCode="C0428568"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return false; else return true;}</ConditionScript> <VisualizationChart type="RECOMMEND_FASTING_GLUCOSE_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="postprandialBloodGlucose" type="float" umlsCode="C2238058"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return false; else return true;}</ConditionScript> <VisualizationChart type="RECOMMEND_POSTPRAND_GLUCOSE_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="spotBloodGlucose" type="float" umlsCode="C0202046"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1" && age < 18) return true; else return false;}</ConditionScript> <VisualizationChart type="RECOMMEND_SPOT_GLUCOSE_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="creatinine" type="float" umlsCode="C0010294"/> <Variable ID="alanineAminoTransfarase" type="float" umlsCode="C0001899"/> <Variable ID="urinalysis" type="float" umlsCode="C0042014"/> <Variable ID="overtProteinuriaInUrinalysis" type="radio" options="Yes:No:Unknown" umlsCode="C0202512"> <DisableOtherVariableCondition>Yes $urineMicroAlbumin</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $urineCreatinine</DisableOtherVariableCondition> <DisableOtherVariableCondition>Yes $microalbuminCreatinineRatio</DisableOtherVariableCondition> <DisableOtherVariableCondition>No $proteinInUrineIn24Hours</DisableOtherVariableCondition> </Variable> <Variable ID="urineMicroAlbumin" type="float" umlsCode="C0564621"/> <Variable ID="urineCreatinine" type="float" umlsCode="C0428283"/> <Variable ID="microalbuminCreatinineRatio" type="float" umlsCode="C0584615"> <ValueAutoCalculationScript>var value=$urineMicroAlbumin/$urineCreatinine; $microalbuminCreatinineRatio = value;</ValueAutoCalculationScript> </Variable> <Variable ID="proteinInUrineIn24Hours" type="float" umlsCode="C1504478"/> <Variable ID="hba1c" type="float" umlsCode="C0019018"> <WarningConditionScript>var age=yearDifference($birthDate); if(!($diabetesType == "Type 1" && age < 18) && $hba1c > 8 && age > 65) alert("Normal/Ideal Values should be between 7 and 8 for patients older than 65.");</WarningConditionScript> <WarningConditionScript>if($hba1c > 6.5) alert("Warning: The HBA1C value is greater than 6.5.");</WarningConditionScript> <WarningConditionScript>if(($diabetesType == "Type 1" && age < 18) && $hba1c > 8.5 && age < 6) alert("Warning: Abnormal HBA1C value.");</WarningConditionScript> <WarningConditionScript>if(($diabetesType == "Type 1" && age < 18) && $hba1c > 8 && age > 5 && age < 12) alert("Warning: Abnormal HBA1C value.");</WarningConditionScript> <WarningConditionScript>if(($diabetesType == "Type 1" && age < 18) && $hba1c > 8.5 && age > 12 && age < 19) alert("Warning: Abnormal HBA1C value."); </WarningConditionScript> <VisualizationChart type="RECOMMEND_HBA1C_YEAR" period="P1Y"/> </Variable> <Variable ID="lowDensityLipoProtein" type="integer" umlsCode="C0023823"> <WarningConditionScript>if($lowDensityLipoProtein > 100) alert("Warning: Abnormal LDL value.");</WarningConditionScript> <VisualizationChart type="RECOMMEND_LDL_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="highDensityLipoProtein" type="integer" umlsCode="C0023821"> <WarningConditionScript>if($highDensityLipoProtein < 40 && $gender == "M" || $highDensityLipoProtein < 50 && $gender == "F") alert("Warning: Abnormal HDL value.");</WarningConditionScript> <VisualizationChart type="RECOMMEND_HDL_THREEMONTHS" period="P3M"/> </Variable> <Variable ID="triglyceride" type="integer" umlsCode="C0041004"> <WarningConditionScript>if($triglyceride > 150) alert("Warning: Abnormal triglyceride value.");</WarningConditionScript> </Variable> <Variable ID="vitaminB12" type="float" umlsCode="C0042845" description="This test should be performed at least once a year for the patients using metformin."/> <Variable ID="ecg" type="binary" umlsCode="C0013798"> <ConditionScript>function check() { var age=yearDifference($birthDate); if($diabetesType == "Type 1"
FP7-288209 EMPOWER
100 / 103
&& age < 18) return false; else return true;}</ConditionScript> </Variable> <Variable ID="thyroidStimulatingHormone" type="float" umlsCode="C0202230" description="At least once a year."> <ConditionScript>function check() { if($diabetesType == "Type 2") return false; else return true;}</ConditionScript> </Variable> <Variable ID="antiThyroidPeroxidoseAntibodies" type="float" umlsCode="C1255119" description="If negative, at least once a year."> <ConditionScript>function check() { if($diabetesType == "Type 2") return false; else return true;}</ConditionScript> </Variable> <Variable ID="antiGlutamicAcidDecarboxylase" type="float" umlsCode="C1861474" description="It is enough to control this value only once."> <ConditionScript>function check() { if($diabetesType == "Type 2") return false; else return true;}</ConditionScript> </Variable> <Variable ID="isletCellCytoplasmicAutoantibodies" type="float" umlsCode="C0124025" description="It is enough to control this value only once."> <ConditionScript>function check() { if($diabetesType == "Type 2") return false; else return true;}</ConditionScript> </Variable> <Variable ID="antiendomysiumAB" type="radio" options="Positive:Nagative" umlsCode="C0443906" description="If negative, this test should be repeated at least once a year."> <ConditionScript>function check() { if($diabetesType == "Type 2") return false; else return true;}</ConditionScript> </Variable> <Variable ID="tissueGlutaminaseAB" type="radio" options="Positive:Nagative" umlsCode="C0017796" description="If negative, this test should be repeated at least once a year."> <ConditionScript>function check() { if($diabetesType == "Type 2") return false; else return true;}</ConditionScript> </Variable> </ActionStep> <ActionStep ID="G" name="Complication Screening" nextStep="H"> <Variable ID="diabetesType2" type="radio" umlsCode="C1320657" options="Type 1:Type 2:Impaired Glucose Tolerance - IGT:Impaired Fasting Glucose - IFG:Maturity Onset Diabetes of the Young - MODY"/> <Variable ID="complicationScreeningStartTime" type="string" umlsCode="C0419884"> <ValueAutoCalculationScript>if($diabetesType2 == "Type 2") $complicationScreeningStartTime = "It should be at the time of diagnosis."; else $complicationScreeningStartTime = "If the age of the patient is greater than 10 or diagnosis date is more than 5 years.";</ValueAutoCalculationScript> </Variable> <Variable ID="complicationScreeningPeriod" type="string" umlsCode="C1948053" description="If normal, it should be repeated at least once a year. Otherwise, according to the recommendations of Diagnosis-Treatment-Monitoring guideline (TODO: check this)."/> <Variable ID="urinaryAlbuminExcretion" type="radio" options="Spot:Daily" umlsCode="C0585937"> <DisableOtherVariableCondition>Daily $spotUrinaryAlbuminExcretion</DisableOtherVariableCondition> <DisableOtherVariableCondition>Daily $spotUrinaryAlbuminExcretionLevel</DisableOtherVariableCondition> <DisableOtherVariableCondition>Spot $dailyUrinaryAlbuminExcretion</DisableOtherVariableCondition> <DisableOtherVariableCondition>Spot $dailyUrinaryAlbuminExcretionLevel</DisableOtherVariableCondition> </Variable> <Variable ID="spotUrinaryAlbuminExcretion" type="integer" umlsCode="C1318386" description="At least once a year."/> <Variable ID="spotUrinaryAlbuminExcretionLevel" type="string" umlsCode="C1272175"> <ValueAutoCalculationScript>if($spotUrinaryAlbuminExcretion < 30) $spotUrinaryAlbuminExcretionLevel = "Normal"; else if($spotUrinaryAlbuminExcretion < 301 && $spotUrinaryAlbuminExcretion > 29) $spotUrinaryAlbuminExcretionLevel = "Microalbuminuria"; else $spotUrinaryAlbuminExcretionLevel = "Macroalbuminuria";</ValueAutoCalculationScript> <WarningConditionScript>if(spotUrinaryAlbuminExcretionLevel == "Microalbuminuria") alert("Start Angiotensin-Converting-Enzyme inhibitor.");</WarningConditionScript> </Variable> <Variable ID="dailyUrinaryAlbuminExcretion" type="integer" umlsCode="C05859371" description="At least once a year."/> <Variable ID="dailyUrinaryAlbuminExcretionLevel" type="string" umlsCode="C05859372"> <ValueAutoCalculationScript>if($dailyUrinaryAlbuminExcretion < 30) $dailyUrinaryAlbuminExcretionLevel = "Normal"; else if($dailyUrinaryAlbuminExcretion < 301 && $dailyUrinaryAlbuminExcretion > 29) $dailyUrinaryAlbuminExcretionLevel = "Microalbuminuria"; else
FP7-288209 EMPOWER
101 / 103
$dailyUrinaryAlbuminExcretionLevel = "Macroalbuminuria";</ValueAutoCalculationScript> <WarningConditionScript>if($dailyUrinaryAlbuminExcretionLevel == "Microalbuminuria") alert("Start Angiotensin-Converting-Enzyme inhibitor.");</WarningConditionScript> </Variable> <Variable ID="glomerularFiltrationRate" type="integer" umlsCode="C0017654"/> <Variable ID="nephropathyStage" type="string" umlsCode="C0022658" description="According to Glomerular Filtration Rate."> <ValueAutoCalculationScript>if($glomerularFiltrationRate < 15) $nephropathyStage = "Stage 5"; else if($spotUrinaryAlbuminExcretion < 30 && $spotUrinaryAlbuminExcretion > 14) $nephropathyStage = "Stage 4"; else if($spotUrinaryAlbuminExcretion < 60 && $spotUrinaryAlbuminExcretion > 29) $nephropathyStage = "Stage 3"; else if($spotUrinaryAlbuminExcretion < 90 && $spotUrinaryAlbuminExcretion > 29) $nephropathyStage = "Stage 2"; else $nephropathyStage = "Stage 1";</ValueAutoCalculationScript> </Variable> <Variable ID="neuropathy" type="radio" options="No:Yes" umlsCode="C0442874"> <DisableOtherVariableCondition>No $neuropathyType</DisableOtherVariableCondition> </Variable> <Variable ID="neuropathyType" type="radioText" umlsCode="C04428741" options="Autonomic Neuropathy - Gastrointestinal Tract:Autonomic Neuropathy - Cardiovascular:Autonomic Neuropathy - Genitourinary:Peripheral Polyneuropathy:Entrapment Neuropathy:Other (Please specify)"/> <Variable ID="retinopathy" type="radio" options="No:Yes" umlsCode="C0035309"> <DisableOtherVariableCondition>No $retinopathyType</DisableOtherVariableCondition> </Variable> <Variable ID="retinopathyType" type="radio" umlsCode="C00353091" options="Non-prolipherative:Pre-prolipherative:Prolipherative:Cataract:Glaucoma"/> <Variable ID="diabeticDermopathy" type="radio" options="No:Yes" umlsCode="C0406682"> <DisableOtherVariableCondition>No $diabeticDermopathyType</DisableOtherVariableCondition> </Variable> <Variable ID="diabeticDermopathyType" type="radio" umlsCode="C04066821" options="Acanthosis Nigricans:Nekrobiasis Lipoidico Diabetikorum:Diabetic Dermopathy:Lipoatrophy:Lipohipertrophy"/> <Variable ID="coronaryArteryDisease2" type="radio" options="No:Yes" umlsCode="C0010054"/> <Variable ID="peripheralArteryDisease" type="radio" options="No:Yes" umlsCode="C0428846"/> <Variable ID="cerebrovascularDisease2" type="radio" options="No:Yes" umlsCode="C0007820"/> </ActionStep> <!--ActionStep ID="H" name="" nextStep="FinalStep"> <Variable ID="diagnosis" type="string" umlsCode="C0011900"/> <Variable ID="recommendationsEducation" type="list" umlsCode="C0034866"/> <Variable ID="recommendationsNutrition" type="list" umlsCode="C0562663"/> <Variable ID="recommendationsExercise" type="list" umlsCode="C0418878"/> <Variable ID="recommendationsMedications" type="list" umlsCode="C1562270" description="From SGK Medication List. The antidiabetics, statins and antihypertensives should easily selectable."/> </ActionStep--> <RecommendationStep ID="H" name="Final Recommendations" nextStep="FinalStep"> <Recommendation ID="R1" recommendationType="self-management" description="HBA1c test should be performed every three months and it should be less than 6.5%"> <ConditionScript>function check() { if($applicationReason == "Hypoglycemia") return false; else return true;}</ConditionScript> </Recommendation> <Recommendation ID="R2" recommendationType="self-management" description="HBA1c test should be performed every three months and as there is hypoglycemia it should be less than 7.5%"> <ConditionScript>function check() { if($applicationReason == "Hypoglycemia") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R3" recommendationType="self-management" description="Eye, heart, kidney, teeth and foot examination by a physician should be performed every year"></Recommendation> <Recommendation ID="R4" recommendationType="self-management" description="Each patient should get the flu vaccine every year"></Recommendation> <Recommendation ID="R5" recommendationType="self-management" description="Patient is older than 65 and should get the pneumococcal vaccine"> <ConditionScript>function check() { var age=yearDifference($birthDate); if(age > 65) return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R6" recommendationType="self-management" description="Normal patients (diabetes patients who have no other serious problems) should take 45 min brisk walk three times in a week"></Recommendation> <Recommendation ID="R7" recommendationType="self-management" description="Patient has heart failure; therefore, the patient should walk slowly"> <ConditionScript>function check() { if($coronaryArteryDisease == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R8" recommendationType="self-management" description="Patient has serious heart failure and should perform the exercise at home (passive exercise)">
FP7-288209 EMPOWER
102 / 103
<ConditionScript>function check() { if($coronaryArteryDisease == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R9" recommendationType="self-management" description="Normal patients should increase daily movement (e.g. not using elevator, going to shopping by walk, get off the bus (or metro) at the previous stop)"></Recommendation> <Recommendation ID="R10" recommendationType="self-management" description="Patient has hypertensions and should do active exercise at home if the weather is too hot or too cold"> <ConditionScript>function check() { if($hypertension == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R11" recommendationType="self-management" description="Patients having knee replacement should not do brisk walking"></Recommendation> <Recommendation ID="R12" recommendationType="self-management" description="If the glucose measurement is more than 250, the patient should not do exercise at that moment"></Recommendation> <Recommendation ID="R13" recommendationType="self-management" description="The exercise should be done at least 1.5 hours before meals"></Recommendation> <Recommendation ID="R14" recommendationType="self-management" description="Patient has coronary heart disease should do moderate exercise"> <ConditionScript>function check() { if($coronaryArteryDisease == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R15" recommendationType="self-management" description="Patient has diabetic nephropathy stage greater than 2 and hence should not do heavy exercise"> <ConditionScript>function check() { if($nephropathyStage == "Stage 2" || $nephropathyStage == "Stage 3" || $nephropathyStage == "Stage 4" || $nephropathyStage == "Stage 5") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R16" recommendationType="self-management" description="Patient has peripheral neuropathy and hence should not do the following exercise types: running, walking on treadmill, long walking, step exercises, arm exercises. Swimming, riding, rowing and chair exercises are allowed"> <ConditionScript>function check() { if($neuropathy == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R17" recommendationType="self-management" description="The drugs in the gliclazide group should be taken 15 min before the meals"> <ConditionScript>function check() { if($diabetesType == "Type 2") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R18" recommendationType="self-management" description="The drugs in the biguanide group should be taken with the first bite of the meal"> <ConditionScript>function check() { if($diabetesType == "Type 2") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R19" recommendationType="self-management" description="Metformin drugs should be taken after the meal"> <ConditionScript>function check() { if($diabetesType == "Type 2") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R21" recommendationType="self-management" description="If the glucose measurements are usually below 70, the dosage should be increased (with the doctor)"></Recommendation> <Recommendation ID="R22" recommendationType="self-management" description="If the glucose level is above 150, the insulin should be vaccinated to the stomach"></Recommendation> <Recommendation ID="R23" recommendationType="self-management" description="In normal circumstances, the insulin should be vaccinated 7 times to legs, 7 times to stomach, 7 times to hips and 7 times to arms, iteratively"></Recommendation> <Recommendation ID="R24" recommendationType="self-management" description="Patients having knee replacements should skip the legs"></Recommendation> <Recommendation ID="R25" recommendationType="self-management" description="If the patient is pregnant, the stomach step should be skipped"></Recommendation> <Recommendation ID="R26" recommendationType="self-management" description="The feet should be checked daily"></Recommendation> <Recommendation ID="R27" recommendationType="self-management" description="The feet should be washed with warm water daily"></Recommendation> <Recommendation ID="R28" recommendationType="self-management" description="The feet should be dried totally"></Recommendation> <Recommendation ID="R30" recommendationType="self-management" description="Moisturizing cream should be used"></Recommendation> <Recommendation ID="R31" recommendationType="self-management" description="The patient should use cotton socks"></Recommendation> <Recommendation ID="R32" recommendationType="self-management" description="The patients should check
FP7-288209 EMPOWER
103 / 103
inside of their shoes before wearing"></Recommendation> <Recommendation ID="R33" recommendationType="self-management" description="The patients should not put their feet to heaters"></Recommendation> <Recommendation ID="R34" recommendationType="self-management" description="The patients should use diabetic shoes"></Recommendation> <Recommendation ID="R35" recommendationType="self-management" description="There is callus, the doctor should be visited."> <ConditionScript>function check() { if($rightCallus == "Yes" || $leftCallus == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R36" recommendationType="self-management" description="If the patient has anemia, the patient should not have tea, coffee or wholemeal bread"></Recommendation> <Recommendation ID="R37" recommendationType="self-management" description="If the patient has anemia, the patient eat red meat"></Recommendation> <Recommendation ID="R38" recommendationType="self-management" description="If the patient has anemia, the patient should not eat milk products in his/her main meals"></Recommendation> <Recommendation ID="R39" recommendationType="self-management" description="If the patient has anemia, the patient should eat dried apricots or black grapes"></Recommendation> <Recommendation ID="R40" recommendationType="self-management" description="If the patient has anemia, the patient should have green salad (without carrot but with lemon) in each meal"></Recommendation> <Recommendation ID="R411" recommendationType="self-management" description="The patients should avoid fast food"></Recommendation> <Recommendation ID="R42" recommendationType="self-management" description="The patients should avoid trans-fat"></Recommendation> <Recommendation ID="R43" recommendationType="self-management" description="There is hypertension, the salt should be decreased"> <ConditionScript>function check() { if($hypertension == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R44" recommendationType="self-management" description="The patient has kidney disease, if the potassium level is high, the patient should not eat raw vegetables"> <ConditionScript>function check() { if($chronicKidneyDisease == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R45" recommendationType="self-management" description="The patient has kidney disease, the vegetables should be boiled"> <ConditionScript>function check() { if($chronicKidneyDisease == "Yes") return true; else return false;}</ConditionScript> </Recommendation> <Recommendation ID="R46" recommendationType="self-management" description="The patient has kidney disease, the patient should not get extra protein"> <ConditionScript>function check() { if($chronicKidneyDisease == "Yes") return true; else return false;}</ConditionScript> </Recommendation> </RecommendationStep> <FinalStep ID="FinalStep"/> </Guideline>