810 likes | 942 Views
Introducing the LifeGuide : Open Source Software for Creating and Trialling Internet Interventions . Lucy Yardley Leanne Morrison Laura Dennison. About us….
E N D
Introducing the LifeGuide: Open Source Software for Creating and Trialling Internet Interventions Lucy Yardley Leanne Morrison Laura Dennison
About us….. Dr Leanne MorrisonPrevious research: use of the Internet to deliver interventions to support health-related behaviour change and, in particular, tailoring interventions and designing interventions that promote optimal user engagement. Has been part of the LifeGuide team since 2008. Current role is developing and testing smartphone intervention components that link with LifeGuide interventions Dr Laura DennisonPrevious research: adjustment to chronic illness, developing and evaluating psychological interventions. Joined internet interventions (LifeGuide) team in 2011. Currently working on a number of different studies of digital interventions for weight management. Prof Lucy Yardley and the LifeGuide team University of Southampton, UK
About you….. • What is your name? • Where you are you from? (Country, University/Organisation) • What sort of work do you do? • What made you interested in attending this workshop?
What is LifeGuide? • first comprehensive set of tools enabling researchers with no programming skills to create interactive online interventions • co-designed by team of health psychologists and computer scientists, Beta release January 2010 • now >1000 worldwide users of ‘LifeGuide’ website www.lifeguideonline.org (just Google LifeGuide – not LifeGuard!)
Brief history of LifeGuide • Experience of creating and trialling an intervention with a software company, then unable to modify it • Obtained core funding for development of LifeGuide from ESRC (2008-2011) • Continued to maintain/develop LifeGuide with funds from numerous spin-off intervention development projects • Small core team supported by larger grants for ‘UBhave’ (EPSRC 2011-2015) and ‘DIPSS’ (NIHR 2014-2018)
Interventions completed or in development Interventions developed/in development by our team include: • ‘Internet Dr’ to self-manage minor respiratory infections • hand-washing intervention to reduce spread of respiratory infection (pandemic flu) • intervention to reduce antibiotic prescribing in GPs across Europe • cognitive-behavioural therapy for IBS, mindfulness for stress • e-learning and assessment for NHS staff (smoking cessation trainers) • weight reduction (diet and physical activity promotion) • home-based rehabilitation for stroke, dizziness, back pain • blood pressure control • smoking cessation • childhood eczema management • fatigue management for cancer survivors • and many more developed by other teams and about to start development!
What can you do in LifeGuide? • Deliver tailored advice based on diagnostic questions, charted progress • Create questionnaires, change look and feel, add images and videos, graphs users’ progress over time • Send automated emails and text messages (e.g. reminders) • Provide social support (e.g. discussion board, forums)
What can you do in LifeGuide? • screening and multi-user registration • stratified randomisation • automated baseline and follow-up assessment • monitoring throughput and adherence (all website usage recorded in detail) • output all data to Excel, SPSS etc.
Advantages of the LifeGuide: low cost • reduces time and costs caused by duplication of programming for each intervention (for funders!) • open source, free – can be used: • by new researchers, students • for pilot work • by lower income countries
Advantages of the LifeGuide: flexibility • allows very flexible iterative development over time (e.g. after multiple pilots, trials etc.) • you can modify your interventions in the future (e.g. for dissemination, when circumstances change, for other contexts) • you can ‘copy and paste’ interventions or parts of interventions for other purposes
Advantages of the LifeGuide: collaboration • LifeGuide Community Virtual Research Environment supports joint development by large, dispersed teams • easy modification supports (international) sharing of interventions or components (e.g. translation into different languages, adding context-specific advice)
Example 1: POWeR(Positive Online Weight Reduction) • POWeR1 for obese patients in primary care, studying varying levels of nurse support – feasibility study (n < 200) • POWeRPlus (24 sessions) now being trialled (n = 660) • Rolled out by public health teams in the community (n > 1000) • Modified by PhD student for feasibility study in Royal Navy • Integrated into interventions for diabetes (HELP-Diabetes) and hypertension (SMILE/DIPSS) • To be modified for use in Malaysia, pregnant women …
Example 2: INTRO • web-based education (with videos) to reduce unnecessary antibiotic prescribing for cough across Europe • intervention created in UK, modified for Spain, Poland, Belgium, NL (translation plus country-specific changes) • developed, translated and piloted qualitatively in 11 months (using LifeGuide Community Website) • trialled at once in 246 practices • now to be disseminated via GP websites
To use or not to use LifeGuide? LifeGuide will NOT be suitable for you if: • You are not confident with the software, want to develop a very complex intervention and have no access to technical support • You need to develop a large, complex intervention very quickly • You need and expect commercial standards of product and support – LifeGuide is a research tool!
LifeGuidecould well be useful for you if … • You have no or limited financial resources for developing an intervention you want to create • You want to retain ownership of your intervention and have flexibility to reuse in many ways • You do not require bespoke, high tech functionality and/or appearance (or your team can add these if wanted) • You are confident to use the software (or have access to IT support)and have sufficient time • You want to analyse intervention usage in detail
Give LifeGuide a good test run • Try out LifeGuide BEFORE you start planning your intervention • Help materials, demos, tutorials • Does LifeGuide do what you need it to? • Can you use LifeGuide? • Will you need access to technical support?
Negotiating technical support • The LifeGuide team/community can usually respond to one-off or brief queries • We cannot provide individual support for intervention development • Individual support from the LifeGuide team can be purchased by prior negotiation (£53/hr) https://www.lifeguideonline.org/releases/index
What can’t you do? • Some examples: • Drawing complex shapes (e.g. curved, arrows etc.) • Send automated emails to users from specific email addresses • Automatically collect all desired data • Make changes to ‘live’ interventions • Solutions? • Think creatively or compromise • Build your own functions
LifeGuide: An overview • The Authoring Tool: creates the web pages • Logic: tells the intervention what to do • The Intervention Manager: runs the intervention and collects data • The LifeGuide Community Website: provides information, help and support
LifeGuide – The Technical Details • Eclipse RCP • Embedded Mozilla Firefox • Jetty • Javascript • QTI XML • XSLT • Compatible with Windows and Mac https://www.lifeguideonline.org/releases/documentation
The Authoring Tool: A whirlwind tour Control Panel Current page Formatting options Filing system – interventions and content Insert options Alerts
Development tips Avoid TROUBLES when building your intervention in LifeGuide! • T – Use Templates and draft materials in Word/Powerpoint • R – Keep Recordse.g. page names, object names, solved errors etc. • O – Keep things in the right Order • U – Use consistent and meaningful Unique names • B – Break your intervention down into small steps or tasks • L – Use Lowercase for writing logic • E – Collect Essential information from users at the start • S – Group your logic into Sections
How do you build pages using LifeGuide? • Creating pages – Just like MS Office applications Change the style and formatting of your text Change the style and formatting of your textboxes and buttons Order and group items on your page Insert text boxes Insert images or videos
Engaging layout and presentation • Remember your SLICES! • S – Keep things Spacious e.g. plenty of white space • L – Keep things Largee.g. font size, buttons, response options • I – Keep things Interestinge.g. images, diagrams, charts • C – Keep things Consistente.g. layout, design, ordering, positioning • E – Keep Emphasis on important information e.g. bullet points, ordering of information on the page, optional click-throughs • S - Keep things Simplee.g. language, short sentences, boxes, avoid scrolling
What happens to the pages? Filing of your intervention pages is just like ‘my documents’ • Give each page, and each component on a page a unique name (this unique name is used to write the logic) Alphabetical list of every page and image within your intervention Open, close and modify your pages at anytime
What is Logic? • Writing the logic… • Is like writing a story • Tells the website or intervention exactly what you want it to do at each stage Just like using predictive text on your mobile You name everything in your logic
How do you write logic using LifeGuide? • Colour-coded • Error underling (just like word!)
Getting started ... • Navigation and making logic more manageable begindietsection showp5adietintro showp5dbalanceddiet showp5eavoidfood showp5fdietroutine end Simple commands – “show” is like telling the website to turn a page Create sections – just like chapter headings in a book or piece of writing The start of every logic command begins with a page name
Showing tailored advice... • Show users different pages depending on their specific characteristics, responses, preferences etc. • Logic commands: • Show, if, after, goto • And, or • Contains • Sum, >, <, =
Example 1: Tailoring based on a specific response show diet showdiet_goodifdiet.quality = “good") show diet_badifdiet.quality = “bad") Page called ‘diet’ show diet after diet if (diet.quality = “bad") gotodiet_bad showdiet_good show diet_bad Question called ‘quality’ Response 1 called ‘bad’ Response 2 called ‘good’
Example 2. Tailoring based on a score • Tailor content based on users answers to multiple questions Possible answers to the questions show p1habits if (p1habits.q1 =“yes”) set habit1 to 2 if (p1habits.q1 =“maybe”) set habit1 to 1 if (p1habits.q1 =“no”) set habit1 to 0 … sethabitscore to (sum(habit1, habit2, habit3, habit4)) show p2habitfeedback1 if (habitscore<= 5) show p2habitfeedback2 if (habitscore> 5) “set” function allows you to allocate your user a score based on their answers to a quiz Numeric functions – just like Microsoft Office Excel Questions for the user to answer “if” functions are like directions – think about “choose your own adventure” story books
Three different questions: ‘ frequency’, ‘type’, ‘duration’ Example 3: Tailoring based on a combination of responses showsymptoms #display questionnaire page #logic for deciding what feedback page is shown to Ps based on their symptoms show severe if (and(symptom.frequency = “often“,... or (symptom.typecontains “ache”,... symptom.typecontains “pain”), symptom.duration = “chronic”)) # severe page shown if symptoms are frequent, chronic, and at least one of them is either ache or pain show mild if (and(symptom.frequency = “infrequent“,... symptom.typecontains “none”,... symptom.duration = “short”)) #mild page shown if symptoms are infrequent, short in duration, and they don’t have any of the specific symptoms listed show symptoms show severe if (and(symptom.frequency = “often“,... or (symptom.typecontains “ache”,... symptom.typecontains “pain”), symptom.duration = “chronic”)) show mild if (and(symptom.frequency = “infrequent“,... symptom.typecontains “none”,... symptom.duration = “short”)) Multiple choice question Single choice question
Write your own logic… Test 1 • You are creating a three page intervention • The first page is called assessment. On this page there is a question called symptom. This question has 2 possible answers “yes” or “no”. Users can only pick one option. • The second page is called adviceno. It gives advice to users who answer “no” to this question (i.e. they have no symptoms). • The third page is called adviceyes. It gives advice for users who answer “yes” to this question (i.e. they are experiencing symptoms) What logic would you write to make sure users see the right pages in the right order based on their answers? HINT 1: The commands you can use are show, if, after, goto HINT 2: There are two ways to write this logic – can you work out both?
Write your own logic… Test 2 • You are creating another three page intervention. • The first page is called measurement. On this page there are four questions called: work, leisure, home, travel. • Each question on this page has three possible answers – “often”, “sometimes”, or “never”. • For each question participants get a score of 1 if they answer “never”, a score of 2 if they answer “sometimes”, and a score of 3 if they answer “often”. • The second page is called notactive. It gives advice to users who have a total score for all questions between 4-8. • The third page is called active. It gives advice to users who have a total score for all questions between 9-12. What logic would you write now? HINT 1: The commands you will need are show, if, set, sum, =, >, < HINT 2: You will need to think of a name for each question’s score, and the total score for all questions.
Write your own logic… Test 1 • You are creating a three page intervention • The first page is called assessment. On this page there is a question called symptom. This question has 2 possible answers “yes” or “no”. Users can only pick one option. • The second page is called adviceno. It gives advice to users who answer “no” to this question (i.e. they have no symptoms). • The third page is called adviceyes. It gives advice for users who answer “yes” to this question (i.e. they are experiencing symptoms) What logic would you write to make sure users see the right pages in the right order based on their answers? HINT 1: The commands you can use are show, if, after, goto HINT 2: There are two ways to write this logic – can you work out both?
Answer 1a: using show and if show assessment show adviceno if (assessment.symptom = “no“) show adviceyes if (assessment.symptom = “yes“)
Answer 1b: using show, after, if, goto show assessment after assessment if (assessment.symptom = “yes“) goto adviceyes show adviceno show adviceyes