WO2019048389A1 - Contextual health assistance - Google Patents

Contextual health assistance Download PDF

Info

Publication number
WO2019048389A1
WO2019048389A1 PCT/EP2018/073644 EP2018073644W WO2019048389A1 WO 2019048389 A1 WO2019048389 A1 WO 2019048389A1 EP 2018073644 W EP2018073644 W EP 2018073644W WO 2019048389 A1 WO2019048389 A1 WO 2019048389A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
activity
contextual data
insight
recommendation
Prior art date
Application number
PCT/EP2018/073644
Other languages
French (fr)
Inventor
Rithesh SREENIVASAN
Krishnamoorthy PALANISAMY
Ravindra Balasaheb Patil
Original Assignee
Koninklijke Philips N.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips N.V. filed Critical Koninklijke Philips N.V.
Publication of WO2019048389A1 publication Critical patent/WO2019048389A1/en

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/30ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to physical therapies or activities, e.g. physiotherapy, acupressure or exercising

Definitions

  • the present subject matter relates, in general, to virtual health assistance and, in particular, to providing contextual health assistance.
  • Activity trackers include devices and applications where fitness related data, such as activity completed, distance covered, calories burnt, sleep data, and the like, can be automatically tracked or manually entered by users.
  • wearable sensors for example, sensors in watches or wrist bands, are used for automatic tracking of activities performed by users. For example, if the activity performed by a user is running, the wearable sensor can count steps, speed, distance, heartbeat, and the like. In addition, they have been used to monitor physiological parameters and symptoms and generate alarms in case of abnormality.
  • the data obtained by the wearable sensor is communicated to the activity tracker which provides statistics to the user.
  • the user can also set fitness goals on such activity trackers and the activity tracker can provide alerts to the user to help achieve the goals.
  • the activity tracker indicates to the user that the goal has not been completed, though due to the busy schedule of the user it was not possible to achieve the goal on that day.
  • the user may not be able to achieve the goals and yet may receive an alert indicating a failure on part of the user to achieve the goal.
  • users may be unable to assess their efforts towards achieving the goals correctly and may get demotivated.
  • the user may also not be able to re-plan their fitness routine to achieve their goals in any alternative way.
  • the present disclosure relates to a system for providing contextual health assistance, the system being communicatively coupled to one or more devices and a database.
  • the system comprises a data aggregation engine to receive contextual data related to a user from the one or more devices and normalize the contextual data.
  • An insight generation engine accesses the normalized contextual data and a user profile corresponding to the user, and generates an insight to classify the user into one of a plurality of dynamically defined classes.
  • a recommendation engine determines a recommendation for an activity schedule of the user based on mathematical modeling of the insight, the user profile, and the normalized contextual data, wherein the recommendation of the activity schedule is provided to the user from among the one or more devices for being displayed to the user.
  • the present disclosure relates to a method for providing contextual health assistance, the method being implemented in a network environment comprising a system communicatively coupled to one or more devices and a database over a network.
  • the method comprises normalizing contextual data related to a user based on a big data analytics framework, wherein the contextual data is received from the one or more devices, generating an insight, based on deep neural learning applied on the normalized contextual data and a user profile corresponding to the user, to classify the user into one of a plurality of dynamically defined classes and determining a recommendation for an activity schedule of the user based on mathematical modeling of the insight, the user profile, and the normalized contextual data, wherein the recommendation of the activity schedule is provided to a user device from among the one or more devices for being displayed to the user.
  • Fig.l illustrates an example system for implementing contextual health assistance, in accordance with principles of the present subject matter
  • Fig. 2 illustrates a data aggregation engine of the example system, in accordance with principles of the present subject matter
  • Fig. 3 illustrates an insight generation engine of the example system, in accordance with principles of the present subject matter
  • Fig. 4 illustrates a recommendation engine of the example system, in accordance with principles of the present subject matter
  • Fig. 5 illustrates a method for providing contextual health assistance, in accordance with principles of the present subject matter
  • Fig. 6 illustrates a method of providing an insight by the insight generation engine, in accordance with principles of the present subject matter
  • Fig. 7 illustrates a method of providing a recommendation by the recommendation engine, in accordance with principles of the present subject matter.
  • activity trackers obtain data related to activities of users by means of wearable sensors. These wearable sensors can monitor steps, speed, heart rate, quality of sleep, and the like. Data provided by the wearable sensors is then communicated to the user through the activity tracker.
  • users can set goals on the activity tracker. For example, a user can set a goal of exercising for an hour a day. The activity tracker then provides alerts to the user if the goal has been completed or not based on the data provided by the wearable sensors.
  • the activity tracker indicates to the user that the goal has not been completed, though due to the busy schedule of the user it was not possible to achieve the goal on that day.
  • the user may not be able to achieve the goals and yet may receive an alert indicating a failure on part of the user to achieve the goal.
  • users may be unable to assess their efforts towards achieving the goals correctly and may get demotivated.
  • the user may also not be able to re -plan their fitness routine to achieve their goals in any alternative way.
  • aspects of the present subject matter are directed to providing contextual health assistance, which includes providing contextual alerts and recommendations of activities.
  • Recommendation of an activity may include an activity schedule and alternative activities in case an activity in the schedule cannot be performed by the user.
  • a health assistance system also referred to as system hereinafter, is provided.
  • the system may store a user profile, which includes the health goals.
  • the system can aggregate contextual data related to the user, which may be received from various devices.
  • the system analyzes the contextual data and provides an insight associated with the user. Based on the insight, the system provides recommendation to the user regarding one or more activities that can be performed to achieve a set goal.
  • context refers to factors that affect activities of the user and can include external factors, such as weather and calendar schedule, or internal factors, such as health and illness of the user.
  • contextual data refers to data about the factors that affect user activities.
  • contextual data includes one or more of health condition, location, weather condition, activity level, and calendar schedule of the user.
  • the contextual data can be aggregated and normalized using a big data analytics framework.
  • the normalized contextual data can be analyzed to provide an insight regarding the user.
  • the insight includes classifying the user, based on deep neural networks, into one of a plurality of dynamically defined classes. For example, if the normalized contextual data indicates that the user regularly performs physical activities, the user can be classified as highly active.
  • a recommendation can be provided to the user regarding possible activities that may be performed by the user.
  • the recommendation also includes a possible schedule for performing the possible activities. Therefore, by implementing aspects of the present subject matter, contextual alerts can be provided to the user so that the user can direct their efforts towards achieving a set goal based on the context.
  • contextual recommendation of possible activities can also be provided to the user to help the user plan their activity schedule for achieving the set goal.
  • contextual health assistance as per the present subject matter implements data analytics and machine learning techniques to help the user improve health, monitor fitness, and reduce incidence of ailments.
  • Fig.l illustrates an example system 100 for providing contextual health assistance, in accordance with one implementation.
  • the system 100 can be a desktop computer, a server, a laptop computer, a mobile device, and the like.
  • the system 100 is communicatively coupled to a plurality of devices and at least a database 106.
  • the plurality of devices can include, for example, user device 102 and other devices 104 that provide contextual data about the user.
  • the user devices and other devices may together be referred to as devices.
  • a single user device 102 is shown in Fig. 1 for the sake of brevity, it is to be understood that a plurality of user devices 102 can also be communicatively coupled to the system 100.
  • the user device 102 can be a mobile device, a desktop computer, a laptop computer, a wearable sensor, a smart watch, a smart goggle, and the like.
  • the user device 102 may also include processors, interfaces, modules, data, etc., which are not shown for the sake of brevity.
  • the user device 102 includes a display 103 and a health assistance engine 105.
  • the health assistance engine 105 also receives information provided by the system 100. The information received from the system 100 can be displayed on the user device 102 through the display 103.
  • the other devices 104 can provide contextual data to the system 100 and can include, for example, a Global Positioning System (GPS) unit, a speedometer, a pulse monitor, a device with a calendar scheduling application, and the like.
  • GPS Global Positioning System
  • Each of the other devices 104 can include one or more activity tracking engines for providing contextual data of the user to the system 100 as will be explained later.
  • different other devices 104 can include fitness tracking engine, calendar schedule engine, and the like.
  • one or more of the other devices 104 can be a part of the user device 102.
  • the user device 102 may be a smart gadget, such as a smart watch, and may include a pulse monitor, a speedometer, and the like.
  • the user device 102 may include activity tracking engines that provide contextual data related to the user to the system 100 for health assistance and to the display 103 for displaying to the user.
  • the database 106 may serve as a repository for storing data that may be fetched, processed, received, or created by system 100 or received from connected user device 102 or other devices 104. While the database 106 is shown as being external to the system 100, it will be understood that the database 106 may be a part of the system 100 and can be accessed by the system 100 using various communication means.
  • the system 100 may include various interfaces, memories, other data, and the like, which are not shown for brevity.
  • the interfaces may include a variety of computer- readable instructions-based interfaces and hardware interfaces that allow interaction with other communication, storage, and computing devices, such as network entities, web servers, databases, and external repositories, and peripheral devices.
  • the memories may include any non-transitory computer-readable medium including, for example, volatile memory (e.g., RAM), and/or nonvolatile memory (e.g., EPROM, flash memory, etc.).
  • the memories may include an external memory unit, such as a flash drive, a compact disk drive, an external hard disk drive, or the like.
  • the other modules may include modules for operation of the system 100, such as operating system, and other applications that may be executed on the system 100.
  • Other data may include data used, retrieved, stored, or in any way manipulated by the system 100.
  • the system 100 includes a processor(s) 108, a data aggregation engine 1 10, an insight generation engine 1 12, and a recommendation engine 1 14.
  • the processor(s) 108 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions.
  • the processor(s) 108 fetches and executes computer-readable instructions stored in a memory.
  • the functions of the various elements shown in the figure, including any functional blocks labeled as processor may be provided through the use of dedicated hardware as well as hardware capable of executing computer readable instructions.
  • the data aggregation engine 1 10, the insight generation engine 1 12, and the recommendation engine 1 14, collectively referred to as engines, maybe coupled to the processor(s) 108, and may include, amongst other things, routines, programs, objects, components, data structures, and the like, which perform particular tasks or implement particular abstract data types.
  • the engines may be implemented as hardware, software, or a combination of the two.
  • the system 100 may be integrated with the user device 102 or any one of the other devices 104 for receiving contextual data of the user, performing analysis of the contextual data, and providing recommendation activities to the user based on the contextual analysis.
  • the system 100 may be implemented in a cloud computing environment and may communicate with the user device 102, the other devices 104, and the database 106 over one or more communication networks.
  • one or more users may be registered with the system 100 for receiving contextual health assistance and the system 100 may store a user profile, corresponding to each registered user, for example, in the database 106 or a local memory.
  • the user profile can include user history, activity preferences, fitness goals, and the like.
  • the user history can include past athletic activity of the user, medical history of the user, and the like.
  • the user history may itself be obtained using a data aggregator that can receive historical data from multiple different databases, such as hospital databases.
  • the user history may be provided by the user.
  • the user history may include a summary of activities performed by the user in the past as tracked by the system 100.
  • the activity preferences, health goals, and other details may be received by the system 100 from the user and may be stored in the user profile.
  • the health goals may include, for example, a level of fitness to be achieved, health parameters or activity parameters to be achieved or maintained, and the like.
  • the user may provide the details through a device, such as the user device 102 or the other devices 104, or directly to the system 100 through an interface of the system 100.
  • the system 100 may communicate with one or more of the user device 102, the other devices 104, and the database 106 over a network (not shown in the figure).
  • the network may be a wireless network, a wired network, or a combination thereof.
  • the network can also be an individual network or a collection of many such individual networks, interconnected with each other and functioning as a single large network, e.g., the Internet or an intranet.
  • the network can include different types of networks, such as intranet, local area network (LAN), wide area network (WAN), the internet, and such.
  • the network may also include individual networks, such as, but not limited to, Global System for Communication (GSM) network, Universal Telecommunications System (UMTS) network, Long Term Evolution (LTE) network, etc.
  • GSM Global System for Communication
  • UMTS Universal Telecommunications System
  • LTE Long Term Evolution
  • the network includes various network entities, such as base stations, gateways, servers, and routers; however, such details have been omitted to maintain the
  • the data aggregation engine 110 may receive contextual data, such as health condition of the user, location, weather condition, activity level of the user and calendar schedule of the user.
  • the data aggregation engine 1 10 may receive the contextual data from one or more devices, including user device 102 and other devices 104, and may normalize the data using a big data analytics framework for subsequent use. Further, the normalized data may be saved in the database 106.
  • the insight generation engine 1 12 may perform deep learning on the normalized data, based on the user profile, to gain insights about the user.
  • the insights may include, for example, whether the user is a highly active user, whether the user travels frequently, whether the user has a chronic medical condition, etc.
  • the insight generation engine 112 may classify the user and may store the classification in the database 106.
  • the recommendation engine 114 may access the normalized data and the insight and may accordingly provide alerts and recommendations to the user through the user device 102.
  • the health assistance engine 105 of the user device 102 receives the recommendations and alerts and displays them on the display 103 of the user device 102.
  • Fig. 2 illustrates aggregation of contextual data by the data aggregation engine 1 10 in accordance with one example implementation.
  • the data aggregation engine 1 10 can receive contextual data of the user from a plurality of sources, such as applications or plugins installed in one or more of the user device 102 and the other devices 104.
  • the applications or plug-ins may in turn receive the contextual data from associated sensors, data stores, or computing devices.
  • the plurality of sources can include a fitness tracking engine 202, a calendar schedule engine 204, a weather engine 206, and a location detection engine 208.
  • the data aggregation engine 1 10 may receive contextual data from other sources also and the above-mentioned sources have been mentioned as example and not as limitation.
  • the fitness tracking engine 202, the calendar engine 204, the weather engine 206, and the location detection engine 208 are a part of the user device 102. In another example, the fitness tracking device 202, the calendar schedule 204, the weather engine 206, and the location detection engine 208 are present in individual devices.
  • the location detection engine 208 may be a GPS unit in the user device 102 or in another device.
  • the fitness tracking engine 202 is present in a wearable sensor, for example, in a watch, a wrist band, an ankle band, etc.
  • the fitness tracking engine 202 may sense and track data, such as heartbeat, pace, distance run, and the like, and communicate the data to the data aggregation engine 110.
  • the calendar schedule engine 204 is an electronic version of a calendar which can store appointments and meeting schedules, both personal and professional, of the user.
  • the calendar schedule engine 204 can also send reminders to the users regarding said appointments and meetings.
  • the calendar schedule engine 204 can be a local application present locally on a device, such as a smart phone, or a network application residing on a web server in communication with the system 100.
  • the calendar schedule engine 204 may be a single user engine for scheduling for an individual user or a multi-user engine that allows for sharing of schedules between multiple users.
  • the weather engine 208 is present in a standalone device that senses the temperature, pressure, humidity, and the like.
  • the weather engine 208 is an application, installed on a device, which receives weather-related data from a centralized weather forecasting server. The weather engine 208 communicates the weather-related data to the data aggregation engine 110.
  • the location detection engine 208 can be present in a standalone device or an application in a device that communicates the location details to the data aggregation engine 1 10.
  • the weather engine 208 and the location detection engine 210 correlate the location details and the weather-related details for said location and communicate the correlated details to the data aggregation engine 110.
  • the contextual data of the user which includes fitness data, calendar schedule, weather data, location data, and the like, can be received by the data aggregation engine 1 10, from the plurality of sources, over a network.
  • the contextual data received by the data aggregation engine 1 10 is pre-processed and normalized to a uniform time scale. For example, a single day's data for a user may include multiple rows. Each row would have data from the above sources for that time -period, i.e., for one day. For example, there may be a single row of location data for one day or multiple rows if the user is travelling. Similarly, there may be different number of rows of data corresponding to calendar schedule, weather data, etc. for that one day time period.
  • the data aggregation module works in real-time and makes use of big data analytics framework for ingestion of the contextual data.
  • the contextual data received by the data aggregation engine 1 10 and the normalized data can be stored in the database 106.
  • the database 106 can be shared between the data aggregation engine 1 10 and the insight generation engine 112 and can be further used for generation of insight as discussed below.
  • Fig. 3 depicts generation of insight by the insight generation engine 1 12 in accordance with one example implementation.
  • the insight generation engine 1 12 analyses the normalized contextual data along with the user profile and provides an insight corresponding to the user.
  • the insight is a class associated with the user where the class is one of a plurality of dynamically defined classes.
  • the insight generation engine 1 12 receives the normalized contextual data from the data aggregation engine 1 10.
  • the insight generation engine 112 can access the normalized contextual data from the database 106.
  • the insight generation engine 1 12 works on the principles of deep learning and includes a neural network to analyze the normalized contextual data.
  • the neural network can be a deep neural network, convoluted neural network, and the like.
  • the neural network includes an input layer 302, a hidden layer 304, and an output layer 306. It will be understood that there can be multiple hidden layers.
  • Each of the input layer 302, the hidden layer 304, and the output layer 306 includes a plurality of nodes 308.
  • Each node of the input layer 302 receives a vector x ; indicative of an aspect of the normalized contextual data or user profile of the user. For example, node 308-1 receives the fitness data of the user while node 308-2 receives location data of the user.
  • the vector x; of each aspect of the normalized contextual data is then replicated and sent to all the nodes of the hidden layer 306.
  • the rate of change of vector X is modelled based on equation as below:
  • Each feedback term includes an activity dependent nonlinear signal (fj(xj), gj ⁇ xj) ; a connection, or path, strength ⁇ ⁇ ) and an adaptive weight or Link Trace Message (LTM) trace (Z ⁇ z - ⁇ ).
  • the results of the mathematical modeling from the hidden layer 304 are then duplicated and applied to the output layer 306.
  • the nodes of the output layer 306 can provide positive and negative feedback to the hidden layer 304.
  • the output layer 306 provides the insight associated with the user based on the analysis.
  • the insight is a class associated with the user.
  • the class is defined dynamically based on the normalized contextual data of the user. For example, based on the analysis of the normalized contextual data of the user, the user can be classified into highly active and athletic, or moderately active and diabetic, etc.
  • the insight generation engine 1 12 can change the classification of a user over time based on contextual data being received. For example, if a highly active and athletic user has not performed any physical activity in a certain time -period, the insight generation engine 1 12 can dynamically change the class associated with the user to moderately active and athletic.
  • the insight generated by the insight generation engine 1 12 and the normalized contextual data provided by the data aggregation engine 1 10 are then analyzed by the recommendation engine 1 14 along with the user profile to provide the recommendation to the user.
  • the insight generated by the insight generation engine 1 10 is stored in the database 106.
  • the insight stored can be obtained by the recommendation engine 1 14 along with the normalized contextual data and user profile to provide recommendations to the user.
  • the recommendation can be alternative activities that can be performed including a possible schedule for performing the alternative activity based on the schedule of the user.
  • Fig. 4 depicts the recommendation engine 1 14 in accordance with one example implementation.
  • the recommendation engine 1 14 includes a first module 402, a second module 404, and a third module 406, collectively referred to as modules.
  • the said modules can be implemented as hardware or software.
  • the first module 402 is for determining an amount of activity required by the user.
  • the first module 402 receives the insight generated by the insight generation module 1 12 and the user profile. Based on the insight and the user profile, the first module 402 determines an amount of activity needed by the user at any particular time.
  • a Generalized Linear Model (GLM) is implemented by the first module 402 to determine the amount of activity required by the user.
  • the GLM is of the form
  • xn to x P i denote vector comparison of personal information and activity parameters and the following two functions
  • the amount of activity required by the user is then communicated to the second module 404.
  • the second module 404 receives the amount of activity required and accesses the user history and normalized contextual data including the calendar schedule of the user and the weather-related information based on location details of the user.
  • the second module 404 determines a recommended activity and time duration for which the recommended activity is to be performed.
  • the recommended activity and the time duration are determined by the second module 404 by implementing a Hidden Markov Model (HMM).
  • HMM Hidden Markov Model
  • a second order HMM is used by the second module 404 to determine the recommended activity and recommended time duration.
  • the sequence of activities, weather measurements along with calendar schedule can be represented as:
  • HMM can be used to define: p(xi, x 2 , xn, yi, y 2 , , y n )
  • y) are respectively represent transition and emission probabilities and are estimated using standard maximum likelihood estimation techniques.
  • the recommended activity and the time duration is then communicated to the third module 406.
  • the third module 406 receives the recommended activity and the time duration for performing the recommended activity along with the calendar schedule of the user. Based on the recommended activity, time duration, and the calendar schedule, the third module 406 provides a recommendation to the user for scheduling the activity.
  • the recommendation includes the recommended activity and a time-slot for performing the recommended activity based on the calendar schedule of the user. In an example, the recommendation is determined by the third module 406 based on an adaptive machine learning rule -based approach.
  • the schedule of activities can be planned in advance for a given time period, such as a week. Further, on a daily basis, the recommendation engine 114 can re -plan the schedule for that day based on any updates in the contextual data, such as a change in calendar schedule or weather conditions or health of the user. In another example, once the schedule is provided to the user, the user may request for an alternative activity instead of the recommended one and accordingly, the recommendation engine may provide an alternative based on the HMM computations. ⁇
  • the recommendation is communicated to the health assistance engine 105 on the user device 102.
  • the health assistance engine 105 then displays the recommendation to the user on the display 103.
  • contextual data of the user can be used to provide alerts and recommendation of possible activities to the user to help the user achieve their health and fitness goals.
  • the methods used for contextual health assistance as discussed above will now be further described with reference to Fig.(s) 5-7. While the methods illustrated in Figs. 5-7 may be implemented in any system, for discussion, the methods are described with reference to the implementations illustrated in Fig(s). 1-4.
  • Fig. 5 illustrates an example method 500 for providing health assistance to the user, in accordance with principles of the present subject matter.
  • Fig. 6 illustrates a method 600 of providing an insight by the insight generation engine, in accordance with principles of the present subject matter.
  • Fig. 7 illustrates a method 700 of providing a recommendation by the recommendation engine, in accordance with principles of the present subject matter.
  • steps of the methods 500, 600, and 700 can be performed by programmed computers.
  • program storage devices and non-transitory computer readable medium for example, digital data storage media, which are computer readable and encode computer-executable instructions, where said instructions perform some or all of the steps of the described methods.
  • the program storage devices may be, for example, digital memories, magnetic storage media, such as magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media.
  • the method 500 includes receiving contextual data of the user.
  • the user may be a registered user.
  • a user profile is created for the user.
  • the user profile includes, for example, user history, preferences, goals, etc.
  • the contextual data is received by the data aggregation engine 1 10 of the system 100.
  • the contextual data may be received, for example, from the fitness tracking engine 202, calendar engine 204, weather engine 206, and location detection engine 208 as shown in Fig. 2.
  • the contextual data may include fitness data, calendar schedule, weather data, location data, etc.
  • the method 500 may include additional steps for pre-processing the contextual data.
  • the method 500 can includes steps of normalizing the contextual data to a uniform time scale using a big data analytics framework.
  • the contextual data may be analyzed.
  • the contextual data is analyzed along with the user profile to provide an insight about the user.
  • analysis of the contextual data and user profile is performed by the insight generation engine 112 using deep learning.
  • a neural network used for the deep learning may include a plurality of layers, such as input layer, hidden layer, and output layer.
  • the input layer may receive the normalized contextual data and user profile as inputs.
  • Mathematic modeling based on data decay and positive and negative feedback may be used in hidden layers to obtain the insight at the output layer.
  • the insight generated includes, for example, a class associated with the user.
  • the class may be dynamically defined based on the analysis.
  • a recommendation is determined and provided to the user.
  • the recommendation is provided by the recommendation engine 114 based on the insight, the user profile, and the normalized contextual data using various data analysis models such as GLM and HMM.
  • the recommendation can include activities that can be performed, time durations for which the activities are to be performed and a schedule for performing the activities based on the schedule of the user.
  • contextual health assistance can be provided to the user to help the user achieve their health goals.
  • the method includes providing a neural network for insight generation.
  • the multi-layered neural network as shown in Fig. 3 is provided to the insight generation engine 112.
  • the normalized contextual data is received by the neural network.
  • the normalized contextual data can be received from, for example, the data aggregation engine 110 or from the database 106.
  • the user profile may also be received by the neural network from, for example, the database 106.
  • the method 600 includes analyzing by the neural network, the normalized contextual data and the user profile.
  • the neural network includes an input layer, a plurality of hidden layers, and an output layer.
  • Each of the input layer, the hidden layers, and the output layer include a plurality of nodes.
  • Each node of the input layer receives a vector x; indicative of an aspect of the normalized contextual data or user profile of the user.
  • the vector x; of each aspect of the normalized contextual data is then replicated and sent to all the nodes of the hidden layer.
  • the rate of change of vector x is modelled based on passive decay, positive feedback, negative feedback, and input.
  • each feedback term includes an activity dependent nonlinear signal, a connection strength or path strength, and an adaptive weight or Link Trace Message (LTM) trace.
  • LTM Link Trace Message
  • the results of the mathematical modeling from the hidden layers are then duplicated and applied to the output layer.
  • the nodes of the output layer can provide positive and negative feedback to the hidden layers.
  • the method 600 includes providing the insight associated with the user.
  • the output layer provides the insight associated with the user based on the analysis.
  • the insight is a class associated with the user.
  • the class is defined dynamically based on the contextual data of the user. For example, based on the analysis of the contextual data of the user, the user can be classified into highly active and athletic, or moderately active and diabetic, etc.
  • the method 600 can include additional steps of storing the insight in database 106.
  • the method 700 includes computing an amount of activity required to be performed by the user, based on the insight and the user profile.
  • the first module 302 of the recommendation engine 114 performs said computation. For example, the first module 302 may determine that the user needs to burn "X" amount of calories or needs to perform moderately strenuous activities to achieve a set goal.
  • the method 700, at block 704, includes determining, based on the normalized contextual data of the user and details regarding the amount of activity, the recommended activity and time duration for which the activity is to be performed.
  • the second module 304 identifies likely activities to be recommended and computes a time duration for which each of the activities is to be performed.
  • the method 700 includes determining an activity schedule based on the identified recommended activity, time duration, and the calendar schedule of the user.
  • the third module 306 determines the activity schedule.
  • the recommendation of the activity schedule is provided to the user.
  • the recommendation includes the recommended activity and the time-slot for performing the recommended activity based on the calendar schedule of the user.
  • the user may be given a choice to accept or request for an alternative to the recommended activity schedule.
  • the recommendation engine 1 14 may repeat method blocks 704-708 to determine an alternative activity schedule and recommend it to the user.
  • contextual health assistance can be provided to a user to help the user achieve their health and fitness goals while considering the factors that may affect the user's activity schedule.

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • Epidemiology (AREA)
  • Biomedical Technology (AREA)
  • Primary Health Care (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

Systems and methods for contextual health assistance are disclosed. Providing contextual health assistance includes normalizing contextual data related to a user based on a big data analytics framework. The contextual data may be received from one or more devices (102, 104). An insight may be generated, based on the normalized contextual data and a user profile corresponding to the user, to classify the user into one of a plurality of dynamically defined classes. The insight may be generated based on deep neural learning. Further, a recommendation for an activity schedule of the user may be determined based on mathematical modeling of the insight, the user profile, and the normalized contextual data. The recommended activity schedule may be provided to a user device (102) for being displayed to the user.

Description

Contextual Health Assistance
FIELD OF THE INVENTION
The present subject matter relates, in general, to virtual health assistance and, in particular, to providing contextual health assistance.
BACKGROUND OF THE INVENTION
Virtual health monitoring is typically performed using activity trackers. Activity trackers include devices and applications where fitness related data, such as activity completed, distance covered, calories burnt, sleep data, and the like, can be automatically tracked or manually entered by users. Generally, wearable sensors, for example, sensors in watches or wrist bands, are used for automatic tracking of activities performed by users. For example, if the activity performed by a user is running, the wearable sensor can count steps, speed, distance, heartbeat, and the like. In addition, they have been used to monitor physiological parameters and symptoms and generate alarms in case of abnormality. The data obtained by the wearable sensor is communicated to the activity tracker which provides statistics to the user. The user can also set fitness goals on such activity trackers and the activity tracker can provide alerts to the user to help achieve the goals. Typically, if the user is unable to achieve the set goal for the day, for example, due to a busy schedule, the activity tracker indicates to the user that the goal has not been completed, though due to the busy schedule of the user it was not possible to achieve the goal on that day. Similarly, in case of external factors, such as weather conditions, being unfavorable the user may not be able to achieve the goals and yet may receive an alert indicating a failure on part of the user to achieve the goal. Hence, users may be unable to assess their efforts towards achieving the goals correctly and may get demotivated. Moreover, the user may also not be able to re-plan their fitness routine to achieve their goals in any alternative way.
SUMMARY OF THE INVENTION
The present disclosure relates to a system for providing contextual health assistance, the system being communicatively coupled to one or more devices and a database. The system comprises a data aggregation engine to receive contextual data related to a user from the one or more devices and normalize the contextual data. An insight generation engine accesses the normalized contextual data and a user profile corresponding to the user, and generates an insight to classify the user into one of a plurality of dynamically defined classes. A recommendation engine determines a recommendation for an activity schedule of the user based on mathematical modeling of the insight, the user profile, and the normalized contextual data, wherein the recommendation of the activity schedule is provided to the user from among the one or more devices for being displayed to the user.
Further, the present disclosure relates to a method for providing contextual health assistance, the method being implemented in a network environment comprising a system communicatively coupled to one or more devices and a database over a network. The method comprises normalizing contextual data related to a user based on a big data analytics framework, wherein the contextual data is received from the one or more devices, generating an insight, based on deep neural learning applied on the normalized contextual data and a user profile corresponding to the user, to classify the user into one of a plurality of dynamically defined classes and determining a recommendation for an activity schedule of the user based on mathematical modeling of the insight, the user profile, and the normalized contextual data, wherein the recommendation of the activity schedule is provided to a user device from among the one or more devices for being displayed to the user.
BRIEF DESCRIPTION OF THE DRAWINGS
The detailed description is provided with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the figures to reference like features and components.
Fig.l illustrates an example system for implementing contextual health assistance, in accordance with principles of the present subject matter;
Fig. 2 illustrates a data aggregation engine of the example system, in accordance with principles of the present subject matter; Fig. 3 illustrates an insight generation engine of the example system, in accordance with principles of the present subject matter;
Fig. 4 illustrates a recommendation engine of the example system, in accordance with principles of the present subject matter;
Fig. 5 illustrates a method for providing contextual health assistance, in accordance with principles of the present subject matter;
Fig. 6 illustrates a method of providing an insight by the insight generation engine, in accordance with principles of the present subject matter; and
Fig. 7 illustrates a method of providing a recommendation by the recommendation engine, in accordance with principles of the present subject matter.
DETAILED DESCRIPTION OF THE EMBODIMENTS
Aspects of providing virtual health assistance are described herein. Typically, activity trackers obtain data related to activities of users by means of wearable sensors. These wearable sensors can monitor steps, speed, heart rate, quality of sleep, and the like. Data provided by the wearable sensors is then communicated to the user through the activity tracker. Generally, users can set goals on the activity tracker. For example, a user can set a goal of exercising for an hour a day. The activity tracker then provides alerts to the user if the goal has been completed or not based on the data provided by the wearable sensors.
Typically, if the user is unable to achieve the set goal for the day, for example, due to a busy schedule, the activity tracker indicates to the user that the goal has not been completed, though due to the busy schedule of the user it was not possible to achieve the goal on that day. Similarly, in case of external factors, such as weather conditions, being unfavorable the user may not be able to achieve the goals and yet may receive an alert indicating a failure on part of the user to achieve the goal. Hence, users may be unable to assess their efforts towards achieving the goals correctly and may get demotivated. Moreover, the user may also not be able to re -plan their fitness routine to achieve their goals in any alternative way. Aspects of the present subject matter are directed to providing contextual health assistance, which includes providing contextual alerts and recommendations of activities. Recommendation of an activity may include an activity schedule and alternative activities in case an activity in the schedule cannot be performed by the user. For this, a health assistance system, also referred to as system hereinafter, is provided. The system may store a user profile, which includes the health goals. The system can aggregate contextual data related to the user, which may be received from various devices. The system then analyzes the contextual data and provides an insight associated with the user. Based on the insight, the system provides recommendation to the user regarding one or more activities that can be performed to achieve a set goal.
As used herein, context refers to factors that affect activities of the user and can include external factors, such as weather and calendar schedule, or internal factors, such as health and illness of the user. Further, contextual data refers to data about the factors that affect user activities. In one example, contextual data includes one or more of health condition, location, weather condition, activity level, and calendar schedule of the user. The contextual data can be aggregated and normalized using a big data analytics framework.
The normalized contextual data can be analyzed to provide an insight regarding the user. In an example, the insight includes classifying the user, based on deep neural networks, into one of a plurality of dynamically defined classes. For example, if the normalized contextual data indicates that the user regularly performs physical activities, the user can be classified as highly active. Based on the class associated with the user, the user profile, and the normalized contextual data, a recommendation can be provided to the user regarding possible activities that may be performed by the user. In an example, the recommendation also includes a possible schedule for performing the possible activities. Therefore, by implementing aspects of the present subject matter, contextual alerts can be provided to the user so that the user can direct their efforts towards achieving a set goal based on the context. Additionally, contextual recommendation of possible activities can also be provided to the user to help the user plan their activity schedule for achieving the set goal. Thus, contextual health assistance as per the present subject matter implements data analytics and machine learning techniques to help the user improve health, monitor fitness, and reduce incidence of ailments.
Aspects of the present subject matter are further described in conjunction with Fig.(s) 1-7. It should be noted that the description and figures merely illustrate the principles of the present subject matter. It will thus be appreciated that various arrangements that embody the principles of the present subject matter, although not explicitly described or shown herein, can be devised from the description and are included within its scope. Moreover, all statements herein reciting principles, aspects, and implementations of the present subject matter, as well as specific examples thereof, are intended to encompass equivalents thereof.
Fig.l illustrates an example system 100 for providing contextual health assistance, in accordance with one implementation. The system 100 can be a desktop computer, a server, a laptop computer, a mobile device, and the like. The system 100 is communicatively coupled to a plurality of devices and at least a database 106. The plurality of devices can include, for example, user device 102 and other devices 104 that provide contextual data about the user. The user devices and other devices may together be referred to as devices. Though a single user device 102 is shown in Fig. 1 for the sake of brevity, it is to be understood that a plurality of user devices 102 can also be communicatively coupled to the system 100.
The user device 102 can be a mobile device, a desktop computer, a laptop computer, a wearable sensor, a smart watch, a smart goggle, and the like. The user device 102 may also include processors, interfaces, modules, data, etc., which are not shown for the sake of brevity. Among other components, the user device 102 includes a display 103 and a health assistance engine 105. The health assistance engine 105, among other data, also receives information provided by the system 100. The information received from the system 100 can be displayed on the user device 102 through the display 103.
The other devices 104 can provide contextual data to the system 100 and can include, for example, a Global Positioning System (GPS) unit, a speedometer, a pulse monitor, a device with a calendar scheduling application, and the like. Each of the other devices 104 can include one or more activity tracking engines for providing contextual data of the user to the system 100 as will be explained later. For example, different other devices 104 can include fitness tracking engine, calendar schedule engine, and the like.
In an example, one or more of the other devices 104 can be a part of the user device 102. For example, the user device 102 may be a smart gadget, such as a smart watch, and may include a pulse monitor, a speedometer, and the like. Thus, in such examples, the user device 102 may include activity tracking engines that provide contextual data related to the user to the system 100 for health assistance and to the display 103 for displaying to the user.
The database 106 may serve as a repository for storing data that may be fetched, processed, received, or created by system 100 or received from connected user device 102 or other devices 104. While the database 106 is shown as being external to the system 100, it will be understood that the database 106 may be a part of the system 100 and can be accessed by the system 100 using various communication means.
Additionally, the system 100 may include various interfaces, memories, other data, and the like, which are not shown for brevity. The interfaces may include a variety of computer- readable instructions-based interfaces and hardware interfaces that allow interaction with other communication, storage, and computing devices, such as network entities, web servers, databases, and external repositories, and peripheral devices. The memories may include any non-transitory computer-readable medium including, for example, volatile memory (e.g., RAM), and/or nonvolatile memory (e.g., EPROM, flash memory, etc.). The memories may include an external memory unit, such as a flash drive, a compact disk drive, an external hard disk drive, or the like. The other modules may include modules for operation of the system 100, such as operating system, and other applications that may be executed on the system 100. Other data may include data used, retrieved, stored, or in any way manipulated by the system 100. The system 100 includes a processor(s) 108, a data aggregation engine 1 10, an insight generation engine 1 12, and a recommendation engine 1 14. The processor(s) 108 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor(s) 108 fetches and executes computer-readable instructions stored in a memory. The functions of the various elements shown in the figure, including any functional blocks labeled as processor, may be provided through the use of dedicated hardware as well as hardware capable of executing computer readable instructions.
The data aggregation engine 1 10, the insight generation engine 1 12, and the recommendation engine 1 14, collectively referred to as engines, maybe coupled to the processor(s) 108, and may include, amongst other things, routines, programs, objects, components, data structures, and the like, which perform particular tasks or implement particular abstract data types. The engines may be implemented as hardware, software, or a combination of the two.
In one example implementation, the system 100 may be integrated with the user device 102 or any one of the other devices 104 for receiving contextual data of the user, performing analysis of the contextual data, and providing recommendation activities to the user based on the contextual analysis. In another example implementation, the system 100 may be implemented in a cloud computing environment and may communicate with the user device 102, the other devices 104, and the database 106 over one or more communication networks. According to the various example implementations, one or more users may be registered with the system 100 for receiving contextual health assistance and the system 100 may store a user profile, corresponding to each registered user, for example, in the database 106 or a local memory.
The user profile can include user history, activity preferences, fitness goals, and the like. The user history can include past athletic activity of the user, medical history of the user, and the like. In an example, the user history may itself be obtained using a data aggregator that can receive historical data from multiple different databases, such as hospital databases. In another example, the user history may be provided by the user. In yet another example, the user history may include a summary of activities performed by the user in the past as tracked by the system 100. Further, the activity preferences, health goals, and other details may be received by the system 100 from the user and may be stored in the user profile. The health goals may include, for example, a level of fitness to be achieved, health parameters or activity parameters to be achieved or maintained, and the like. The user may provide the details through a device, such as the user device 102 or the other devices 104, or directly to the system 100 through an interface of the system 100.
In various implementations, the system 100 may communicate with one or more of the user device 102, the other devices 104, and the database 106 over a network (not shown in the figure). The network may be a wireless network, a wired network, or a combination thereof. The network can also be an individual network or a collection of many such individual networks, interconnected with each other and functioning as a single large network, e.g., the Internet or an intranet. The network can include different types of networks, such as intranet, local area network (LAN), wide area network (WAN), the internet, and such. The network may also include individual networks, such as, but not limited to, Global System for Communication (GSM) network, Universal Telecommunications System (UMTS) network, Long Term Evolution (LTE) network, etc. Accordingly, the network includes various network entities, such as base stations, gateways, servers, and routers; however, such details have been omitted to maintain the brevity of the description.
In operation, the data aggregation engine 110 may receive contextual data, such as health condition of the user, location, weather condition, activity level of the user and calendar schedule of the user. The data aggregation engine 1 10 may receive the contextual data from one or more devices, including user device 102 and other devices 104, and may normalize the data using a big data analytics framework for subsequent use. Further, the normalized data may be saved in the database 106.
The insight generation engine 1 12 may perform deep learning on the normalized data, based on the user profile, to gain insights about the user. The insights may include, for example, whether the user is a highly active user, whether the user travels frequently, whether the user has a chronic medical condition, etc. Based on the insight, the insight generation engine 112 may classify the user and may store the classification in the database 106. The recommendation engine 114 may access the normalized data and the insight and may accordingly provide alerts and recommendations to the user through the user device 102. In one example, the health assistance engine 105 of the user device 102 receives the recommendations and alerts and displays them on the display 103 of the user device 102. The working of various engines illustrated in the system 100 will be now explained in more detail.
Fig. 2 illustrates aggregation of contextual data by the data aggregation engine 1 10 in accordance with one example implementation. The data aggregation engine 1 10 can receive contextual data of the user from a plurality of sources, such as applications or plugins installed in one or more of the user device 102 and the other devices 104. The applications or plug-ins may in turn receive the contextual data from associated sensors, data stores, or computing devices. For example, as shown in Fig. 2, the plurality of sources can include a fitness tracking engine 202, a calendar schedule engine 204, a weather engine 206, and a location detection engine 208. It is to be understood that the data aggregation engine 1 10 may receive contextual data from other sources also and the above-mentioned sources have been mentioned as example and not as limitation.
In an example, the fitness tracking engine 202, the calendar engine 204, the weather engine 206, and the location detection engine 208 are a part of the user device 102. In another example, the fitness tracking device 202, the calendar schedule 204, the weather engine 206, and the location detection engine 208 are present in individual devices. For example, the location detection engine 208 may be a GPS unit in the user device 102 or in another device.
In an example, the fitness tracking engine 202 is present in a wearable sensor, for example, in a watch, a wrist band, an ankle band, etc. The fitness tracking engine 202 may sense and track data, such as heartbeat, pace, distance run, and the like, and communicate the data to the data aggregation engine 110.
In an example, the calendar schedule engine 204 is an electronic version of a calendar which can store appointments and meeting schedules, both personal and professional, of the user. The calendar schedule engine 204 can also send reminders to the users regarding said appointments and meetings. The calendar schedule engine 204 can be a local application present locally on a device, such as a smart phone, or a network application residing on a web server in communication with the system 100. Further, the calendar schedule engine 204 may be a single user engine for scheduling for an individual user or a multi-user engine that allows for sharing of schedules between multiple users. In an example, the weather engine 208 is present in a standalone device that senses the temperature, pressure, humidity, and the like. In another example, the weather engine 208 is an application, installed on a device, which receives weather-related data from a centralized weather forecasting server. The weather engine 208 communicates the weather-related data to the data aggregation engine 110.
Further, as previously explained, the location detection engine 208 can be present in a standalone device or an application in a device that communicates the location details to the data aggregation engine 1 10. In another example, the weather engine 208 and the location detection engine 210 correlate the location details and the weather-related details for said location and communicate the correlated details to the data aggregation engine 110.
In an example, the contextual data of the user, which includes fitness data, calendar schedule, weather data, location data, and the like, can be received by the data aggregation engine 1 10, from the plurality of sources, over a network. The contextual data received by the data aggregation engine 1 10 is pre-processed and normalized to a uniform time scale. For example, a single day's data for a user may include multiple rows. Each row would have data from the above sources for that time -period, i.e., for one day. For example, there may be a single row of location data for one day or multiple rows if the user is travelling. Similarly, there may be different number of rows of data corresponding to calendar schedule, weather data, etc. for that one day time period. The data aggregation module works in real-time and makes use of big data analytics framework for ingestion of the contextual data. The contextual data received by the data aggregation engine 1 10 and the normalized data can be stored in the database 106. In one example, the database 106 can be shared between the data aggregation engine 1 10 and the insight generation engine 112 and can be further used for generation of insight as discussed below.
Fig. 3 depicts generation of insight by the insight generation engine 1 12 in accordance with one example implementation. The insight generation engine 1 12 analyses the normalized contextual data along with the user profile and provides an insight corresponding to the user. In an example, the insight is a class associated with the user where the class is one of a plurality of dynamically defined classes. In an example, the insight generation engine 1 12 receives the normalized contextual data from the data aggregation engine 1 10. In another example, the insight generation engine 112 can access the normalized contextual data from the database 106. The insight generation engine 1 12 works on the principles of deep learning and includes a neural network to analyze the normalized contextual data. The neural network can be a deep neural network, convoluted neural network, and the like. The neural network includes an input layer 302, a hidden layer 304, and an output layer 306. It will be understood that there can be multiple hidden layers. Each of the input layer 302, the hidden layer 304, and the output layer 306 includes a plurality of nodes 308. Each node of the input layer 302 receives a vector x; indicative of an aspect of the normalized contextual data or user profile of the user. For example, node 308-1 receives the fitness data of the user while node 308-2 receives location data of the user.
The vector x; of each aspect of the normalized contextual data is then replicated and sent to all the nodes of the hidden layer 306. In the hidden layer 306, the rate of change of vector X; is modelled based on equation as below:
d n n
— 0;) = -Atxi + fj (xj)BjiZjii+) - 9j (.Xj) CjiZji(~} + h
7 =1 y=l where, indicates passive decay,
Figure imgf000013_0001
indicates positive feedback,
—∑ =1 gj (xj^ CjiZji ^ indicates negative feedback, and Ii indicates input.
Each feedback term includes an activity dependent nonlinear signal (fj(xj), gj{xj) ; a connection, or path, strength Βμ θμ) and an adaptive weight or Link Trace Message (LTM) trace (Z^z - ^).
As a feedback channel is used, it is possible to store the different states of the patient details to define more accurate classes dynamically.
The results of the mathematical modeling from the hidden layer 304 are then duplicated and applied to the output layer 306. As indicated previously, the nodes of the output layer 306 can provide positive and negative feedback to the hidden layer 304. The output layer 306 provides the insight associated with the user based on the analysis. In an example, the insight is a class associated with the user. The class is defined dynamically based on the normalized contextual data of the user. For example, based on the analysis of the normalized contextual data of the user, the user can be classified into highly active and athletic, or moderately active and diabetic, etc.
As the insight generation engine 1 12 includes feedback and dynamically defined classes, the insight generation engine 1 12 can change the classification of a user over time based on contextual data being received. For example, if a highly active and athletic user has not performed any physical activity in a certain time -period, the insight generation engine 1 12 can dynamically change the class associated with the user to moderately active and athletic.
The insight generated by the insight generation engine 1 12 and the normalized contextual data provided by the data aggregation engine 1 10 are then analyzed by the recommendation engine 1 14 along with the user profile to provide the recommendation to the user. In an example, the insight generated by the insight generation engine 1 10 is stored in the database 106. The insight stored can be obtained by the recommendation engine 1 14 along with the normalized contextual data and user profile to provide recommendations to the user. For example, the recommendation can be alternative activities that can be performed including a possible schedule for performing the alternative activity based on the schedule of the user.
Fig. 4 depicts the recommendation engine 1 14 in accordance with one example implementation. The recommendation engine 1 14 includes a first module 402, a second module 404, and a third module 406, collectively referred to as modules. The said modules can be implemented as hardware or software. The first module 402 is for determining an amount of activity required by the user. The first module 402 receives the insight generated by the insight generation module 1 12 and the user profile. Based on the insight and the user profile, the first module 402 determines an amount of activity needed by the user at any particular time. In an example, a Generalized Linear Model (GLM) is implemented by the first module 402 to determine the amount of activity required by the user. In said example, the GLM is of the form
i = βο + βθχΐί+- -....+βρχρί where xn to xPi denote vector comparison of personal information and activity parameters and the following two functions
(i) a link function that describes how the mean, E(Yi) = μι depends on the linear predictor:
Figure imgf000015_0001
(ii) a variance function that describes how the variance, var(Yi) depends on the mean:
Figure imgf000015_0002
where the dispersion parameter φ is a constant.
The amount of activity required by the user is then communicated to the second module 404. The second module 404 receives the amount of activity required and accesses the user history and normalized contextual data including the calendar schedule of the user and the weather-related information based on location details of the user. The second module 404 then determines a recommended activity and time duration for which the recommended activity is to be performed. In an example, the recommended activity and the time duration are determined by the second module 404 by implementing a Hidden Markov Model (HMM). In an example, a second order HMM is used by the second module 404 to determine the recommended activity and recommended time duration. For example, the sequence of activities, weather measurements along with calendar schedule can be represented as:
X= Xl, X2, Xn and best activity type and duration for performing said activity can be represented as:
Y=yi, y2. . .., y„
For given measurements, HMM can be used to define: p(xi, x2, xn, yi, y2, , yn)
for any measurements xi, x2, . . .., xn and activity type yi, y2. . .., yn.
The most likely recommended activity type and duration for 'X' is
arg max p (Xi, x2, ... . xn, Xi, Vi,y2,, -■ , yn,)
Υι,Υ2,,--,Υη, n + 1 n
ρ(χ1 ; x2, ... . xn, Xi, y1y2i, yn+1) = ]^[ q(yj | Υι-2,Υι-ι) e( j lYi)
i=i i=i where, q(x|y) and e(x|y) are respectively represent transition and emission probabilities and are estimated using standard maximum likelihood estimation techniques.
The recommended activity and the time duration is then communicated to the third module 406. The third module 406 receives the recommended activity and the time duration for performing the recommended activity along with the calendar schedule of the user. Based on the recommended activity, time duration, and the calendar schedule, the third module 406 provides a recommendation to the user for scheduling the activity. The recommendation includes the recommended activity and a time-slot for performing the recommended activity based on the calendar schedule of the user. In an example, the recommendation is determined by the third module 406 based on an adaptive machine learning rule -based approach.
In one example, the schedule of activities can be planned in advance for a given time period, such as a week. Further, on a daily basis, the recommendation engine 114 can re -plan the schedule for that day based on any updates in the contextual data, such as a change in calendar schedule or weather conditions or health of the user. In another example, once the schedule is provided to the user, the user may request for an alternative activity instead of the recommended one and accordingly, the recommendation engine may provide an alternative based on the HMM computations. \
In one implementation, the recommendation is communicated to the health assistance engine 105 on the user device 102. The health assistance engine 105 then displays the recommendation to the user on the display 103.
Thus, by implementing various aspects of the present subject matter, contextual data of the user can be used to provide alerts and recommendation of possible activities to the user to help the user achieve their health and fitness goals. The methods used for contextual health assistance as discussed above will now be further described with reference to Fig.(s) 5-7. While the methods illustrated in Figs. 5-7 may be implemented in any system, for discussion, the methods are described with reference to the implementations illustrated in Fig(s). 1-4.
Fig. 5 illustrates an example method 500 for providing health assistance to the user, in accordance with principles of the present subject matter. Fig. 6 illustrates a method 600 of providing an insight by the insight generation engine, in accordance with principles of the present subject matter. Fig. 7 illustrates a method 700 of providing a recommendation by the recommendation engine, in accordance with principles of the present subject matter.
The order in which the methods 500, 600, and 700 are described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the methods or an alternative method. Additionally, individual blocks may be deleted from the methods 500, 600, and 700 without departing from the scope of the subject matter described herein. Furthermore, the methods 500, 600, and 700 may be implemented in any suitable hardware, computer readable instructions, firmware, or combination thereof.
A person skilled in the art will readily recognize that steps of the methods 500, 600, and 700 can be performed by programmed computers. Herein, some examples are also intended to cover program storage devices and non-transitory computer readable medium, for example, digital data storage media, which are computer readable and encode computer-executable instructions, where said instructions perform some or all of the steps of the described methods. The program storage devices may be, for example, digital memories, magnetic storage media, such as magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media.
With reference to method 500, as illustrated in Fig. 5, at block 502, the method 500 includes receiving contextual data of the user. The user may be a registered user. In one example, at the time of registration, a user profile is created for the user. The user profile includes, for example, user history, preferences, goals, etc. In an example, the contextual data is received by the data aggregation engine 1 10 of the system 100. The contextual data may be received, for example, from the fitness tracking engine 202, calendar engine 204, weather engine 206, and location detection engine 208 as shown in Fig. 2. Accordingly, the contextual data may include fitness data, calendar schedule, weather data, location data, etc. The method 500 may include additional steps for pre-processing the contextual data. For example, the method 500 can includes steps of normalizing the contextual data to a uniform time scale using a big data analytics framework. At block 504, the contextual data may be analyzed. In an example, the contextual data is analyzed along with the user profile to provide an insight about the user. In an example, analysis of the contextual data and user profile is performed by the insight generation engine 112 using deep learning. For example, a neural network used for the deep learning may include a plurality of layers, such as input layer, hidden layer, and output layer. The input layer may receive the normalized contextual data and user profile as inputs. Mathematic modeling based on data decay and positive and negative feedback may be used in hidden layers to obtain the insight at the output layer. The insight generated includes, for example, a class associated with the user. The class may be dynamically defined based on the analysis.
At block 506, a recommendation is determined and provided to the user. In an example, the recommendation is provided by the recommendation engine 114 based on the insight, the user profile, and the normalized contextual data using various data analysis models such as GLM and HMM. The recommendation can include activities that can be performed, time durations for which the activities are to be performed and a schedule for performing the activities based on the schedule of the user. Thus, contextual health assistance can be provided to the user to help the user achieve their health goals.
Analysis of normalized contextual data to provide the insight about the user will be explained now with reference to example method 600 of Fig. 6. At block 602, the method includes providing a neural network for insight generation. In an example, the multi-layered neural network as shown in Fig. 3 is provided to the insight generation engine 112. At block 604, the normalized contextual data is received by the neural network. The normalized contextual data can be received from, for example, the data aggregation engine 110 or from the database 106. Further, the user profile may also be received by the neural network from, for example, the database 106.
At block 606, the method 600 includes analyzing by the neural network, the normalized contextual data and the user profile. In one example, as discussed above, the neural network includes an input layer, a plurality of hidden layers, and an output layer. Each of the input layer, the hidden layers, and the output layer include a plurality of nodes. Each node of the input layer receives a vector x; indicative of an aspect of the normalized contextual data or user profile of the user. The vector x; of each aspect of the normalized contextual data is then replicated and sent to all the nodes of the hidden layer. In the hidden layer, the rate of change of vector x; is modelled based on passive decay, positive feedback, negative feedback, and input. Further, each feedback term includes an activity dependent nonlinear signal, a connection strength or path strength, and an adaptive weight or Link Trace Message (LTM) trace. The feedback channel helps to store the different states of the patient details to define more accurate classes dynamically.
The results of the mathematical modeling from the hidden layers are then duplicated and applied to the output layer. As indicated previously, the nodes of the output layer can provide positive and negative feedback to the hidden layers.
At block 608, the method 600 includes providing the insight associated with the user. The output layer provides the insight associated with the user based on the analysis. For example, the insight is a class associated with the user. The class is defined dynamically based on the contextual data of the user. For example, based on the analysis of the contextual data of the user, the user can be classified into highly active and athletic, or moderately active and diabetic, etc. The method 600 can include additional steps of storing the insight in database 106.
An example method 700 of providing the recommendation to the user based on the insight, the user profile, and the normalized contextual data, will be explained with reference to Fig. 7. The method 700, at block 702, includes computing an amount of activity required to be performed by the user, based on the insight and the user profile. In one implementation, the first module 302 of the recommendation engine 114 performs said computation. For example, the first module 302 may determine that the user needs to burn "X" amount of calories or needs to perform moderately strenuous activities to achieve a set goal. The method 700, at block 704, includes determining, based on the normalized contextual data of the user and details regarding the amount of activity, the recommended activity and time duration for which the activity is to be performed. In an example, the second module 304 identifies likely activities to be recommended and computes a time duration for which each of the activities is to be performed. At block 706, the method 700 includes determining an activity schedule based on the identified recommended activity, time duration, and the calendar schedule of the user. In one example, the third module 306 determines the activity schedule. At block 708, the recommendation of the activity schedule is provided to the user. As discussed, the recommendation includes the recommended activity and the time-slot for performing the recommended activity based on the calendar schedule of the user. Further, in one implementation, the user may be given a choice to accept or request for an alternative to the recommended activity schedule. In case the user requests for an alternative, the recommendation engine 1 14 may repeat method blocks 704-708 to determine an alternative activity schedule and recommend it to the user.
Thus, using the methods and systems of the present subject matter, contextual health assistance can be provided to a user to help the user achieve their health and fitness goals while considering the factors that may affect the user's activity schedule.
Although implementations for contextual virtual health assistance have been described in language specific to structural features and/or methods, it is to be understood that the invention is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed and explained in the context of a few example implementations. The methods are not only limited to Generalized Linear Model and Hidden Markov Model. It can be replaced by models that considers sequence of multiple conditions to come up with a decision (such as recurrent neural networks, kalman filters etc.,)

Claims

Claims:
1. A system (100) for providing contextual health assistance, the system (100) being communicatively coupled to one or more devices (102, 104) and a database (106), the system (100) comprising:
- a data aggregation engine (1 10) to receive contextual data related to a user from the one or more devices and normalize the contextual data;
- an insight generation engine (112) to access the normalized contextual data and a user profile corresponding to the user, and generate an insight to classify the user into one of a plurality of dynamically defined classes; and - a recommendation engine (1 14) to determine a recommendation for an activity schedule of the user based on mathematical model of the insight, the user profile, and the normalized contextual data, wherein the recommendation of the activity schedule is provided to a user device (102) from among the one or more devices (102, 104) for being displayed to the user.
2. The system (100) as claimed in claim 1 , wherein the contextual data comprises one or more of health condition, location, weather condition, activity level, and calendar schedule of the user; and the user profile comprises medical history and a health goal to be achieved by the user.
3. The system (100) as claimed in claim 1, wherein the data aggregation engine (110) is to normalize the contextual data based on a big data analytics framework.
4. The system (100) as claimed in claim 1 , wherein the one or more devices (102, 104) include at least one of a wearable sensor, a smart watch, and a mobile device.
5. The system (100) as claimed in claim 1 , wherein the insight generation engine (112) is to apply deep learning based on a neural network to generate the insight, wherein the neural network comprises: - an input layer to receive the normalized contextual data and user profile as input vectors;
- a hidden layer to receive the input vectors and determine a rate of change of each input vector based on passive decay of the input vector, a positive feedback, and a negative feedback; and
- an output layer to determine the class in which the user is classified and to provide the positive feedback, and the negative feedback to the hidden layer.
6. The system (100) as claimed in claim 5, wherein the positive feedback and the negative feedback are activity dependent and are each modulated by a respective path strength and a respective adaptive weight.
7. The system (100) as claimed in claim 1 , wherein the recommendation engine (1 14) comprises:
- a first module (402) to determine, based on the insight and the user profile, an amount of activity required to achieve a health goal of the user;
- a second module (404) to determine, based on the amount of activity and the normalized contextual data, a recommended activity and a time duration for performing the recommended activity; and
- a third module (406) to determine the recommendation for the activity schedule based on the recommended activity, the time duration, and the normalized contextual data.
8. The system (100) as claimed in claim 7, wherein
- the first module (402) is to implement a Generalized Linear Model on the insight and the user profile based on a vector comparison of personal information and activity parameters, a link function, and a variance function;
- the second module (404) is to implement a Hidden Markov Model based on maximum likelihood estimation techniques; and - the third module (406) is to implement an adaptive machine learning rule -based approach.
9. The system (100) as claimed in claim 1 , wherein the recommendation engine (1 14) is to re-determine the recommendation for the activity schedule based on a change in the contextual data or a user request.
10. A method for providing contextual health assistance, the method being implemented in a network environment comprising a system (100) communicatively coupled to one or more devices (102, 104) and a database (106) over a network, the method comprising:
- normalizing contextual data related to a user based on a big data analytics framework, wherein the contextual data is received from the one or more devices (102, 104);
- generating an insight, based on deep neural learning applied on the normalized contextual data and a user profile corresponding to the user, to classify the user into one of a plurality of dynamically defined classes; and - determining a recommendation for an activity schedule of the user based on mathematical modeling of the insight, the user profile, and the normalized contextual data, wherein the recommendation of the activity schedule is provided to a user device (102) from among the one or more devices (102, 104) for being displayed to the user.
1 1. The method as claimed in claim 10, wherein the contextual data comprises one or more of health condition, location, weather condition, activity level, and calendar schedule of the user; and the user profile comprises medical history and a health goal to be achieved by the user.
12. The method as claimed in claim 10, wherein the one or more devices (102, 104) include at least one of a wearable sensor, a smart watch, and a mobile device.
The method as claimed in claim 10, wherein the deep neural learning is performed neural network comprising: - an input layer to receive the normalized contextual data and user profile as input vectors;
- a hidden layer to receive the input vectors and determine a rate of change of each input vector based on passive decay of the input vector, a positive feedback, and a negative feedback; and
- an output layer to determine the class in which the user is classified and to provide the positive feedback, and the negative feedback to the hidden layer.
14. The method as claimed in claim 10, wherein determining the recommendation for the activity schedule comprises:
- implementing a Generalized Linear Model on the insight and the user profile, based on a vector comparison of personal information and activity parameters, a link function, and a variance function, to determine an amount of activity required to achieve a health goal of the user;
- implementing a Hidden Markov Model on the amount of activity and the normalized contextual data, based on maximum likelihood estimation techniques, to determine a recommended activity and a time duration for performing the recommended activity; and
- implementing an adaptive machine learning rule -based approach to determine the recommendation for the activity schedule based on the recommended activity, the time duration, and the normalized contextual data.
15. The method as claimed in claim 10, comprising re -determining the recommendation for the activity schedule in response to receiving a change in the normalized contextual data or a user request for an alternative activity.
PCT/EP2018/073644 2017-09-05 2018-09-04 Contextual health assistance WO2019048389A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP17189399.3 2017-09-05
EP17189399 2017-09-05

Publications (1)

Publication Number Publication Date
WO2019048389A1 true WO2019048389A1 (en) 2019-03-14

Family

ID=59811090

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2018/073644 WO2019048389A1 (en) 2017-09-05 2018-09-04 Contextual health assistance

Country Status (1)

Country Link
WO (1) WO2019048389A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110335683A (en) * 2019-06-14 2019-10-15 北京纵横无双科技有限公司 A kind of health big data analysis method and device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140052567A1 (en) * 2012-08-17 2014-02-20 Ebay Inc. Recommendations based on wearable sensors
US20150182843A1 (en) * 2014-01-02 2015-07-02 Sensoria Inc. Methods and systems for data collection, analysis, formulation and reporting of user-specific feedback

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140052567A1 (en) * 2012-08-17 2014-02-20 Ebay Inc. Recommendations based on wearable sensors
US20150182843A1 (en) * 2014-01-02 2015-07-02 Sensoria Inc. Methods and systems for data collection, analysis, formulation and reporting of user-specific feedback

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110335683A (en) * 2019-06-14 2019-10-15 北京纵横无双科技有限公司 A kind of health big data analysis method and device

Similar Documents

Publication Publication Date Title
Souri et al. A new machine learning-based healthcare monitoring model for student’s condition diagnosis in Internet of Things environment
US11200984B2 (en) Method for modeling behavior and psychotic disorders
US11481573B2 (en) Method and system of modelling a mental/emotional state of a user
Ganesan et al. IoT based heart disease prediction and diagnosis model for healthcare using machine learning models
US11195625B2 (en) Method for modeling behavior and depression state
US10874355B2 (en) Methods and apparatus to determine developmental progress with artificial intelligence and user input
US10102341B2 (en) Method for managing patient quality of life
Asri et al. Big data in healthcare: Challenges and opportunities
US20190171958A1 (en) Adaptive analytical behavioral and health assistant system and related method of use
US9955869B2 (en) System and method for supporting health management services
US20190073615A1 (en) Operations health management
US20180012242A1 (en) Automatically determining and responding to user satisfaction
US20160224763A1 (en) Method and system for remote patient monitoring, communications and notifications to reduce readmissions
US11132920B2 (en) Personalized intervention based on machine learning of behavior change states
US20200104935A1 (en) Systems and methods for wealth and health planning
US20210166816A1 (en) Dynamic caregiver support
US20210118557A1 (en) System and method for providing model-based predictions of beneficiaries receiving out-of-network care
Guzmán et al. A collaborative framework for sensing abnormal heart rate based on a recommender system: Semantic recommender system for healthcare
Wiernik et al. Using mobile sensors to study personality dynamics
US11256998B2 (en) Pattern recognition and prediction using a knowledge engine
WO2019048389A1 (en) Contextual health assistance
US20230290502A1 (en) Machine learning framework for detection of chronic health conditions
US20220399132A1 (en) Machine learning models for automated selection of executable sequences
US20220202375A1 (en) Wearable measurement management
US20210125695A1 (en) Medication adherence management

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18759646

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18759646

Country of ref document: EP

Kind code of ref document: A1