490 likes | 974 Views
NST Internship Summary. Jan Muzik. Presentation Outline. About the internship and NST Projects I have been involved in Results in CallMeSmart project Results in Diabetes project Practical example – a recent experience Further outlook Acknowledgement. Internship a t NST.
E N D
NST InternshipSummary Jan Muzik
Presentation Outline • About the internship and NST • Projects I have been involved in • Results in CallMeSmartproject • Results in Diabetes project • Practical example – a recent experience • Further outlook • Acknowledgement
Internship at NST • 6 months internship at Norwegian Centre for Telemedicine – NST • Summer 2012, spring 2013 • NST is the world's largest center for research and development in telemedicine and e-health • Located in Tromsø, NortherNorway • Founded by University Hospitalof NN • Cooperationwith University ofTromso
Participation in NST Projects • CallMeSmart Project • The Diabetes ICT Health Motivation Project
CallMeSmart Project • Context-sensitive systems for mobile communication in hospitals • Design, development and evaluation of a mobile communication infrastructure that balances communication availability and interruptions for hospital worker • My involvement: • Analysis and redesign of current software solution • Design and development of localization service • Evaluation of new software technologies
The Diabetes ICT Health Motivation Project • Long running project is focused on development and evaluation of ICT tools to increase insight of patients suffering diabetes into their disease • Currently focused on development of and Android application and its evaluation • My involvement • Investigation on possibility of integration of BlooTooth glucometers • Preparing of app evaluation in Czech Rep. • Integration of activity trackers • Preparing of a consortium for a grant application
Identified targets for improvements • Monolithic application • Lack of app layers • Lack of modules • Lack of interfaces • GUI application • Internal structure is hardcoded • Scalability • Redundancy
Proposed solution • David Wheeler: "All problems in computer science can be solved by another level of indirection... Except for the problem of too many layers of indirection” • Modularization • Make the system distributed • Redesign of the database model • Generalization of context sources • Formalization of decision rules • Using a modular framework (MEF)
Things to consider • Essentially a multiplatform solution • Linux, Android, Windows • Extendibility – prepare for context sources and decision rules not know at the time Technologies • Standards • Platform independent • Those we have experience with
Paradigms • First develop in technologies you are the most productive and than watch for the bottlenecks and try to optimize them (perhaps using more efficient technologies) • Donald Knuth: Premature optimization is the root of all evil. • Avoid reinventing the wheel. • Determinism – everything must be stored/logged into local the DB
Architecture Goals – Technical Details • Loosely bound components - SOAP WebServices • CMS Server • Also the CMS Server has internal modular architecture (Java Beans) • Star architecture • Multiple Context Providers • Centralized database contains all the data necessary for context estimation at any moment
Integration testing - Localization • Integration of Blueth localization service (Blue Tooth based) into CMS • Blueth Server first run at CTU in Prague, later moved to NST • Blueth Agents are running on 4 testing laptops at NST • Blueth API (all web-based) • Web Services – SOAP • Automatically generated proxy object in CMS CAS • REST – OData based – great flexibility – URL specified queries, result in XML or JSON • Currently periodic polling • WebSockets callback implementation started
WebSockets • Full-duplex HTTP communication • Enables building faster, more efficient application • Extends HTTP protocols, uses port 80 –avoids firewall problems • Implementation problems • New technology – still being standardized (HTML 5) • Supported only on IIS 8 – Windows 8, Windows Server 2012 • Support on older Windows platforms would require change in OS core – http.sys (IE 10?)
Blueth Localization Service • Resolves original problem of high energy consumption for phone invoked Bluetooth localization • Uses either : • Bluetooth device discovery • Station Connect • Method for detecting BT devices even when not discoverable – modern phones have only limited discoverable time • Periodically tries to open BT data channel • Client-Server architecture • Uses newest Microsoft technologies: NET 4.5, IIS 8, SQL Server 2012, EF 5 • In proposed architecture BT localization can easily be superseded by more precise localization technology (ultrasound)
Blueth Server • BluethHub – IIS hosted, WCF SOAP services • WebMonitor - ASP.NET web app. • DynamicData – Scaffolding web administration interface (web app) • DataServices – OData, universal REST web API, URL queries • Microsoft SQL Server 2012 Database
DataServices OData • http://ds.blueth/DataServices.svc/Areas?UserId=1&$orderby=DisplayName
Windows Phone 7.5 • Monitoring of localization process • Prototype application • Based on Silverlight WP7 app. • Connected via WCF (SOAP) • WebSockets not supported on WP 7.5 - Periodic polling • Built on MVVM architecture pattern • Extensive data binding, WPF • Declarative approach – almost no code
BlueTooth Glucometer Integration • Only true BT glucometers are made by Fora • Fora G31 • Fora Diamond • Same communication protocol • Just after the BG measurement device tries to connect to a paired mobile phone • If the connection is successful, measured values can be obtained
Prototype Application • Sugar Monitor • Receives BG data via BlueTooth • Sends measured values to a server • Communication module is running as a service in background • Received BG measurements are send to the server via OData service • OData library: kSOAP2 • Data can be reviewed only via web portal
Physical Activity Trackers • Energy expenditure is an important value that influences actual BG • Two approaches (or combination): • Continuous long term activity monitoring – pedometers • Fitbit, Nike Fuelband, Jawbone • Must be worn permanently • Only peak activity tracking – mobile applications • SportsTracker, Endomondo, Runkeeper • Relies on GPS – works outdoor • Requires manual specification of activity (walking, running, cycling)
Activity Tracker Integration • Most suitable tracker is Fitbit Ultra • Requires specialized app to upload data from the tracker • Supports both Android and iOS • Data can be obtained from server via web API – Oauth secured • Provides number of steps and calories burned per time period - up to 1 minute granularity • 3 month successful test of 4 users
Why to travel? A practical example • The Time-zone Problem • Telemedicine (IT, distributed systems) related problem • In Europe, not that actual problem • People (telemed. patients) not often cross the time zone boundaries • Daylight saving (letní čas) • Discontinuity in time • Example issue: • Mobile emergency system • Many dropout alarms generated
Time zones in the USA • Mostly 4 time zones… • People are crossing TZ borders frequently
Time zones in the USA • … but Arizona does not observer DTS
Time zones in the USA • …but Arizona’s Navajo Nation DOES observer DTS
Time zones in the USA • …except of Hopi Nation within Navajo reservation!
World Time Zones • Offset time zones: • India: UTC +5 ½ • Australian Central Time: UTC +9 ½ • Nepal: UTC +5 ¾! • Nepal time used to be UTC +5:40 20 years ago • Etc. • Whole China uses one time zone and no DTS
Solution: Coordinated Universal Time • UTC -> compromise between French Temps UniverselCoordonné TUC and English Coordinated Universal Time CUT • Derived from International Atomic Time • Most days have 84600 s, but adds leap seconds (25 in total since 1972) • Best practice: • Storing all times (in database) in UTC • Converting times to local time only when being presented to user • Even MS Windows works this way
Benefits for Students • New Erasmus agreement (2013-2014) • Possibility to study 1-2 semesters at UiT • EU co-financed stipendium • 30 student-months per academic year (Medical Technology) • All study levels: • Bachelor • Master • Postgradual • Life changing experience! • International Master’s Program in Telemedicine and eHealthatUiT
Further Perspective • Formation of a research consortium: • FBME CTU • NST • 1st Faculty of Medicine CU • Motol University Hospital • Several SMEs • ? • Preparing a grant application for Norway funds • Waiting for the call since spring 2012 • Grant proposal focused on Evaluation of telemonitoring motivation of diabetic patients
Acknowledgement • Radim Kliment • David Gillar • Miroslav Mužný • Jan Brož • Martina Oulická • Karel Hána • Jan Kašpar • Vojtěch Malina • Eva Caithamlová • Terje Solvoll • Lorenzo Gironi • Alain Giordanengo • Bernd Talsma • Eirik Arsand • Gunnar Hartvigsen • Rune Pedersen • Tonny Iversen • Yngve Bergheim