[go: up one dir, main page]

WO2019063392A1 - Simulation system to validate electronic programs - Google Patents

Simulation system to validate electronic programs Download PDF

Info

Publication number
WO2019063392A1
WO2019063392A1 PCT/EP2018/075409 EP2018075409W WO2019063392A1 WO 2019063392 A1 WO2019063392 A1 WO 2019063392A1 EP 2018075409 W EP2018075409 W EP 2018075409W WO 2019063392 A1 WO2019063392 A1 WO 2019063392A1
Authority
WO
WIPO (PCT)
Prior art keywords
simulation
data
user
program
parameters
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/EP2018/075409
Other languages
French (fr)
Inventor
Saskia VAN DANTZIG
Murtaza Bulut
Illapha Gustav Lars CUBA GYLLENSTEN
Robert Jochemsen
Dennis Lomans
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
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 NV filed Critical Koninklijke Philips NV
Publication of WO2019063392A1 publication Critical patent/WO2019063392A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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
    • 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 invention is generally related to electronic coaching systems.
  • personal coaches e.g., health coaches/ nutritionists/ sports trainers/ physiotherapists
  • create personalized coaching programs by which individual clients can reach their targets (e.g., losing a certain amount of weight, running 10K within a specific time limit, recovering from injury).
  • the coaching program is adapted to the client's constraints, preferences, abilities, physical and mental capacity, etc.
  • the personal coach needs to create the optimal program that guides the client to his personal target in the most effective way.
  • personal coaches use general models and heuristics to adapt their coaching. However, since these models and heuristics are based on the average user, this strategy will not always lead to the best solution for individual clients.
  • WO 2015103442A1 discloses methods and systems that provide user-specific feedback and recommendations to a user based on a user profile, contextual and/or biometric data, which may be collected using a sensing system, such as a wearable sensor device(s).
  • a host system formulates and provides reports to the user relating to the user's sensed activities or conditions, and may also provide recommendations relating to performance and goal achievement, what/if analysis, gait analysis, shoe purchase suggestions, and the like.
  • Data analysis algorithms may be used to identify similar patterns across large collections of user profiles and biometric data and apply data generated across a larger population to formulate recommendations for specific users.
  • Notification and alarm systems may be provided, and selectively enabled, to provide messages, warnings, alarms,
  • Notification and alarm limits and boundaries may be set by the user, or by an authorized third party, or may be determined and set by the host system.
  • User feedback may be provided in substantially real time, or delayed, and may be delivered to the user in accordance with user preferences and smart algorithms that predict the most effective notification timing, frequency and delivery mode.
  • the host system may observe changes in biometric user data patterns and recommend changes in user behavior to improve the user's performance, to prevent an injury, and/or keep the runner on target to attain his/her goal(s). As the user complies with a recommendation, the virtual coach can run multiple simulations of type "what if and "expected outcome is". The best one that applies to the running subject can be used by the system as the next recommendation that is going to be delivered to them. When the user ignores a recommendation, a motivational message can be used to win the confidence and build up the compliance with the recommendation system.
  • One object of the present invention is to provide an electronic coaching program that is validated before it is offered to one or more users.
  • a system is presented that provides simulation data based on a user or group profile and one or more context parameters, performs a simulation of an electronic program based on the simulation data and one or more simulation parameters, and provides an output of the simulation.
  • the invention addresses the inefficiencies of validation of one or more users that require actual implementation by simulating an electronic program, including an electronic coaching program, for one or more users or user types, enabling adjustments or corrections in the program before implementation.
  • a system wherein the output comprises one or any combination of feedback of a behavior of the electronic program or performance of the electronic program.
  • the feedback may take the form of a
  • visualization presented to a designer of the coaching program that shows, for instance, the monitored behavior, event-to-event messaging/news feeds, and the rules that triggered the messaging, enabling the designer to make corrections to the electronic program that provides, for instance, more context-suitable messaging or messaging that further enhances the personalization for a given user or type of user.
  • a system wherein the output comprises one or any combination of activated rules, behavioral data generated per defined period, quantity of the issued electronic interventions, content of the issued electronic interventions, or an indication of whether targets are met.
  • the output may be provided to another system (e.g., an automated system that aggregates the results and determines, for instance, optimal performance among several electronic programs), or may be provided as feedback according to a visualization of these features.
  • the output enables a designer or system to further tailor performance as necessary to suit a user or group of users or user types.
  • the simulation parameters of the system include one or any combination of simulation period or simulation interval, and wherein a duration of the simulation is based on the simulation parameters.
  • the simulation parameters may be configured by a designer according to fine-grain (shorter intervals) or course (longer intervals) processing, enabling the designer to determine the scope of the validation.
  • the simulation parameters are based on one or any combination of activated rules, behavioral data generated per defined period, quantity of the issued electronic interventions, content of the issued electronic interventions, or an indication of whether targets are met.
  • the simulation period, interval, and/or duration may be driven/set by the output. For instance, a designer may wish to find out how long the simulation takes until the user reaches a set target, or until a defined amount (e.g., 100) messages are generated, or until he got an event-driven message related to food consumption. In effect, the simulation is run according to a feedback loop based on the output.
  • the system provides the simulation data by
  • the system is configured to enable a search of existing user or group profiles based on inputted data, but if the search fails to uncover a suitable match, data may be synthesized using one or more models (e.g., of human behavior, including activity, environmental parameters, etc.).
  • models e.g., of human behavior, including activity, environmental parameters, etc.
  • a system wherein the output comprises electronic interventions issued at simulated issuance times with content based on simulated events.
  • the use of historical or synthetic data enables the generation of events that mimic actual behavior for one or more users, enabling the designer of the electronic program to view how the electronic program interacts with a user (e.g., intended recipient of the program's features) without the inherent inefficiencies of actually requiring the subject to experience the program.
  • a system receives a target corresponding to an objective and receive inputs corresponding to one or more additional electronic programs designed to influence the user towards the objective, wherein the simulation is performed for all of the electronic programs.
  • a coach may determine which program, including an electronic coaching program, is best suited to a user without subjecting the user to each of the programs in trial and error fashion.
  • a system wherein the output comprises a comparison of all of the programs and associated performances or a ranking of all of the programs relative to the target.
  • the output may comprise a visualization (or communication to another system), and the objective comparison and ranking enables a quick view of the suitability for one or more users without requiring the one or more users to test each program.
  • FIG. 1 is a schematic diagram that illustrates an example computing environment in which an electronic program (e-program) simulation system is used in accordance with an embodiment of the invention.
  • e-program electronic program
  • FIG. 2 is a block diagram that illustrates an example computing device in which a one or more functions of an e-program simulation system may be implemented in accordance with an embodiment of the invention.
  • FIG. 3 is a schematic diagram that illustrates a logical diagram for an e- program simulation system in accordance with an embodiment of the invention.
  • FIGS. 4A-4B are screen diagrams that illustrate example interfaces for entering input for an e-program simulation system in accordance with an embodiment of the invention.
  • FIGS. 5A and 5B are screen diagrams that illustrate example interfaces for providing feedback of an e-program simulation of the simulation system in
  • FIG. 6 is a schematic diagram that illustrates a logical flow diagram for an e-program simulation system in accordance with an embodiment of the invention.
  • FIG. 7 is a screen diagram that illustrates an example interface for entering input for an e-program simulation system in accordance with an embodiment of the invention.
  • FIG. 8 is a screen diagram that illustrates an example interface for providing feedback of an e-program simulation of the simulation system in accordance with an embodiment of the invention.
  • FIG. 9 is a flow diagram that illustrates an example an e-program simulation method in accordance with an embodiment of the invention.
  • an electronic program (e- program) simulation system that enables a program designer or coach to simulate coaching programs for different users or user types without requiring the users to actually implement the coaching programs.
  • the system enables the designer or coach to validate and improve coaching programs in quick iterations.
  • the designer or coach can select the coaching program to be simulated, import historical user data (based on certain filters) or create synthetic user data, define context settings (e.g., location, weather), and/or define other simulation settings (e.g., duration, simulation interval, delay in data availability). All of these settings enable a realistic simulation of a planned program.
  • the simulation is performed, and the results of the simulation are output (e.g., visualized and/or provided as input to another device or software component) and the program's fit to a desired objective criteria (e.g. number of messages per day, per specific hour, type of messages per day, etc.) can be evaluated. If the simulation run reveals errors or anomalies, the designer or coach can adapt the coaching program and run a new simulation.
  • a desired objective criteria e.g. number of messages per day, per specific hour, type of messages per day, etc.
  • FIG. 1 illustrates an example computing environment in which an electronic program (e-program) simulation system is used in accordance with an embodiment of the invention.
  • the computing environment 10 is one example among many, and that some embodiments of an e-program simulation system may be used in environments with fewer, greater, and/or different components or system architectures than those depicted in FIG. 1.
  • the computing environment 10 comprises a plurality of devices that enable communication of, or access to, information via one or more networks.
  • the depicted computing environment 10 comprises one or more server devices 12 (e.g., 12A through 12N) of a server network 14 in communication with client devices 16 (e.g., 16A1 through 16N1 , 16A2 through 16N2, etc.) of one or more organizations 18 (e.g., 18A through 18N) over one or more networks 20.
  • the organizations 18 may include applications development organizations (e.g., coaching program development, including e-program simulation services, etc.) and coaching organizations that use the coaching programs and e-program simulation system provided by the server devices 12 of the server network 14.
  • the client devices 16 may include desktops, laptops, tablets, among other devices connected directly or indirectly to the network 20.
  • the client devices 16 for each organization 18 may be coupled over a local area network (LAN) (e.g., a company intranet), including via wireless LAN (WLAN).
  • LAN local area network
  • WLAN wireless LAN
  • the network 20 may be any type(s) and/or form of network or networks, including a LAN, wide area network (WAN), including the Internet or World Wide Web, a metropolitan area network (MAN), public, private, etc.
  • the network 20 may be comprised of devices interconnected over wireless or wired connections, or a combination of wired and wireless connections.
  • the network 20 may include any one or combination of the following: a point to point network, a broadcast network, a wide area network, a local area network, a telecommunications network, a data communication network, a computer network, an ATM (Asynchronous Transfer Mode) network, a SONET (Synchronous Optical Network) network, a SDH (Synchronous Digital Hierarchy) network, a wireless network and a wireline network.
  • the network 20 may comprise a wireless link, such as an infrared channel or satellite band.
  • the topology of the network 20 may be a bus, star, or ring network topology.
  • the network 20 and network topology may be of any such network or network topology as known to those ordinarily skilled in the art capable of supporting the operations described herein.
  • the server devices 12 of the server network 14 may provide cloud computing services, including remote data storage, data modeling applications, internet services, security services, content distribution, etc. to the client devices 16 of the organizations 18.
  • the server devices 12 may be coupled via a LAN (or wireless LAN, etc.), or coupled according to geographically separate facilities via the network 20 or other networks, such as to implement plural cloud systems.
  • the server devices 12 may comprise an internal cloud, an external cloud, a private cloud, or a public cloud (e.g., commercial cloud).
  • a private cloud may be implemented using a variety of cloud systems including, for example, Eucalyptus Systems, VMWare vSphere®, or Microsoft® HyperV.
  • a public cloud may include, for example, Amazon EC2®, Amazon Web Services®, Terremark®, Savvis®, or GoGrid®.
  • Cloud-computing resources provided by these clouds may include, for example, storage resources (e.g., Storage Area Network (SAN), Network File System (NFS), and Amazon S3®), network resources (e.g., firewall, load-balancer, and proxy server), internal private resources, external private resources, secure public resources, infrastructure-as-a-services (laaSs), platform-as-a-services (PaaSs), or software-as-a-services (SaaSs).
  • the cloud architecture of the server devices 12 may be embodied according to one of a plurality of different configurations.
  • roles are provided, which are discrete scalable components built with managed code.
  • Worker roles are for generalized development, and may perform background processing for a web role.
  • Web roles provide a web server and listen and respond for web requests via an HTTP (hypertext transfer protocol) or HTTPS (HTTP secure) endpoint.
  • VM roles are instantiated according to tenant defined configurations (e.g., resources, guest operating system). Operating system and VM updates are managed by the cloud.
  • a web role and a worker role run in a VM role, which is a virtual machine under the control of the tenant. Storage and SQL services are available to be used by the roles.
  • the hardware and software environment or platform including scaling, load balancing, etc., are handled by the cloud.
  • the server devices 12 may be configured into multiple, logically-grouped servers, referred to as a server farm.
  • the server devices 12 may be geographically dispersed, administered as a single entity, or distributed among a plurality of server farms, executing one or more applications on behalf of one or more of the client devices 16.
  • the server devices 12 within each farm may be heterogeneous.
  • One or more of the server devices 12 may operate according to one type of operating system platform (e.g., WINDOWS NT, manufactured by Microsoft Corp. of Redmond, Wash.), while one or more of the other server devices 12 may operate according to another type of operating system platform (e.g., Unix or Linux).
  • the group of server devices 12 may be logically grouped as a farm that may be interconnected using a wide-area network (WAN) connection or medium-area network (MAN) connection.
  • the server devices 12 may each be referred to as, and operate according to, a file server device, application server device, web server device, proxy server device, or gateway server device.
  • the server devices 12 provide an API or web interface that enables the client devices 16A1 -16N1 to develop e-programs and validate the e-programs using e-program simulation software that validate their e- programs using the e-program simulation software run on the server devices 12.
  • the e-program simulation software and/or e-programs may be located at the client devices 16.
  • FIG. 2 illustrates example circuitry for an example server device 12, in accordance with an embodiment of the invention.
  • an architecture similar to the server device 12 may be used for the client devices 16 (FIG. 1 ), such as when all or a portion of the processing for e-program simulation system is performed at the client devices 16.
  • the server device 12 may be embodied as an application server, computer, among other computing devices, and is also generally referred to herein as an apparatus.
  • the example server device 12 is merely illustrative of one embodiment, and that some embodiments of server devices may comprise fewer or additional components, and/or some of the functionality associated with the various components depicted in FIG. 2 may be combined, or further distributed among additional modules or computing devices, in some embodiments.
  • the server device 12 is depicted in this example as a computer system, such as one providing a function of an application server. It should be appreciated that certain well- known components of computer systems are omitted here to avoid obfuscating relevant features of the server device 12.
  • the server device 12 comprises a processing circuit 22 (PROCES CKT) that comprises hardware and/or software.
  • the processing circuit 22 comprises one or more processors, such as processor 24 (PROCESS), input/output (I/O) interface(s) 26 (I/O), which in one embodiment is optionally coupled to a display screen (DISP SCRN) and other user interfaces (e.g., keyboard, mouse, microphone, etc.), and memory 28 (MEM), all coupled to one or more data busses, such as data bus 30 (DBUS).
  • processor 24 PROCESS
  • I/O interface(s) 26 I/O
  • DISP SCRN display screen
  • other user interfaces e.g., keyboard, mouse, microphone, etc.
  • MEM memory 28
  • the display screen (and/or user interface (Ul)) may be coupled directly to the data bus 30.
  • the memory 28 may include any one or a combination of volatile memory elements (e.g., random-access memory RAM, such as DRAM, and SRAM, etc.) and nonvolatile memory elements (e.g., ROM, Flash, solid state, EPROM,
  • the memory 28 may store a native operating system, one or more native applications, emulation systems, or emulated applications for any of a variety of operating systems and/or emulated hardware platforms, emulated operating systems, etc. In some embodiments, an operating system may be omitted. In some embodiments, a separate storage device (STOR DEV) 32A may be coupled to the data bus 30 or as a network-connected device (or devices) 32B via the I/O interfaces 26 and the Internet 20.
  • STOR DEV separate storage device
  • the storage device(s) 32 may be embodied as persistent memory (e.g., optical, magnetic, and/or semiconductor memory and associated drives) to store various data, including historical data, population-based data, e-programs, including coaching programs, messages and rules associated with the e-programs, private (secured) user data, among other data).
  • the data may be stored in distributed fashion, including among several data storage devices 32A connected to the data bus 30 or network-connected storage 32B distributed over one or plural locations.
  • some network storage may include medical facility data storage, governmental statistical data, among others, that are accessed by the e-program simulation system.
  • the memory 28 comprises an optional operating system 34 (OS), and application software 36 (APP SW), which in one embodiment comprises e-program simulation software 38 and one or more e- programs.
  • OS operating system
  • APP SW application software 36
  • the e-programs may be stored in storage devices 32.
  • functionality of the e-program simulation software 38 may be distributed among plural devices, or reside at one or more of the client devices 16 (FIG. 1 ).
  • the e-program simulation software 38 described in more detail below in
  • FIG. 3 comprises a simulation tool that enables a designer or coach to validate coaching programs (e.g., stored in and accessed from storage devices 32) for different types of users and/or in different conditions.
  • Client devices 16 may access the services of the e-program simulation software 38 via an API or web-interface presented by the application software 36.
  • Execution of the application software 36, including the e-program simulation software 38, may be implemented by the processor 24 under the
  • the processor 24 may be embodied as a custom-made or commercially available processor, a central processing unit (CPU) or an auxiliary processor among several processors, a semiconductor based microprocessor (in the form of a microchip), a macroprocessor, one or more application specific integrated circuits (ASICs), a plurality of suitably configured digital logic gates, and/or other well-known electrical configurations comprising discrete elements both individually and in various combinations to coordinate the overall operation of the server device 12.
  • CPU central processing unit
  • ASICs application specific integrated circuits
  • the I/O interfaces 26 comprise hardware and/or software to provide one or more interfaces to the Internet 20, as well as to other devices such as the display screen and user interfaces and network storage devices 32B.
  • the I/O interfaces 26 may comprise any number of interfaces for the input and output of signals (e.g., analog or digital data) for conveyance of information (e.g., data) over various networks and according to various protocols (e.g., FTP, HTTP, etc.) and/or standards.
  • the user interfaces may include a keyboard, mouse, microphone, immersive head set, etc., which enable input and/or output by an administrator or other user.
  • the software e.g., including the application software 36, including the e-program simulation software 38
  • the software can be stored on a variety of non-transitory computer-readable medium for use by, or in connection with, a variety of computer-related systems or methods.
  • a computer-readable medium may comprise an electronic, magnetic, optical, or other physical device or apparatus that may contain or store a computer program (e.g., executable code or instructions) for use by or in connection with a computer-related system or method.
  • the software may be embedded in a variety of computer-readable mediums for use by, or in connection with, an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
  • an instruction execution system, apparatus, or device such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
  • FIG. 3 shown is a schematic diagram that illustrates a logical diagram for an e-program simulation system in accordance with an embodiment of the invention.
  • FIG. 3 shown is a schematic diagram that illustrates a logical diagram for an e-program simulation system in accordance with an embodiment of the invention.
  • FIG. 3 shown is a schematic diagram that illustrates a logical diagram for an e-program simulation system in accordance with an embodiment of the invention. In particular, FIG.
  • the e-program simulation software 38 comprises a user interface module or dashboard 40.
  • the user interface module 40 enables a designer or coach (hereinafter, designer/coach) to select or create a user profile (which may include a group profile) (42), set context parameters (44), select a coaching program (46) set simulation parameters (48), and view simulation results (50). Additional information on the features and/or functions of the user interface module 40 is described below.
  • the e-program simulation software 38 further comprises a data generator module 52.
  • the coaching program is applied to observations about the user, obtained either via devices such as a smart watch, or via direct input of the user (e.g. in an app).
  • observations may not come directly from real users and/or devices, but instead from the data generator module 52 (which may use data structures comprising such information).
  • historical observation data 54 may be drawn from an available data structure (e.g., database, including access via networked or local storage devices 32) of users that have used the app previously.
  • Filters selected via the user interface module 40 may then be applied by the data generator module 52 to select the appropriate user group for the current simulation.
  • Filters applied by the data generator module 52 include baseline user characteristics (e.g. age, gender, weight), tags that have been used by previous coaches to describe users (e.g. their motivation level: very motivated; their primary goal: weight loss; and psychological determinants of behavior: awareness, self-efficacy, attitude, etc.), which data is available (e.g. weight measurements, accelerometry, activity, sleep stages, heart rate and location data), and/or inferred patterns from device data (e.g. shift worker, retiree, runner, primarily sedentary, etc.).
  • the appropriate user group may be selected by comparing the recorded data of previous users to a relevant template set and scoring how well the data matches known profiles.
  • the historical data 54 may also include environmental data, including weather information, sunset and sunrise times, etc.
  • synthetically generated data 56 may be used that realistically emulates user activity.
  • synthetically generated data 56 may be generated by combining a known template set of realistic behaviors that correspond to the profile and link this with known data for a similar behavior.
  • data structures e.g., databases
  • coded activities exist, such as the ATUS time use survey, where users record and annotate their time period, activity and location (e.g., commuting from home to work in a car from 9:15 to 9:35, followed by office work from 9:35 to 12:00, etc.).
  • the data generator module 52 may then be combined by the data generator module 52 with data from known users participating in such an activity, or by using a data generation models from user data of known behavior.
  • a data generation models from user data of known behavior.
  • An example of this could be a Gaussian mixture Hidden Markov Model of steps during office work with states and transition probabilities fitted to the known data to replicate the observed behavior.
  • the data generation models combined with the diaries can then be used to generate realistic data 56 of a simulated user.
  • the population data and diaries may be used for synthetic data generation, the data models may be replaced with computational models.
  • the synthetic data 56 generated by the data generator module 52 may be stored in a local or cloud based data structure (e.g., database), including in data storage 32 (e.g., 32A and/or 32B).
  • the e-program simulation software 38 further comprises a data analytics module 58.
  • the data analytics module 58 accesses the data 54, 56 generated and/or filtered by the data generator module 52.
  • the use of a database for storage of the data 54, 56 makes it easy to organize and enable queries by the data analytics module 58 for specific data segments.
  • the queries performed by the data analytics module 58 are time or location based. In the time based queries, start and end times are specified, and the values for the parameter in question (e.g. step count, location, location enter and exit events) are collected. Alternatively, the same parameter values can be queried for a specific location, such as steps at home.
  • the output of the data analytics module 58 is not restricted to time and/or location.
  • an output can be generated by the data analytics module 58. For example, if weather information and heart rate were part of the data set, and if these are used in the simulation, then outputs related to weather and heart rate may be generated.
  • the e-program simulation software 38 further comprises a coaching engine module 60, which receives as inputs coaching content 62, coaching rules 64, and the data from the data analytics module 58.
  • a digital coaching program is technically designed for a population, not for each individual participant. Therefore, a designer/coach needs to specify the logic (e.g., algorithms, rules, parameters, thresholds, etc.) that determine how the program is automatically personalized for individual users.
  • the coaching engine module 60 receives observations about the user (e.g. activity level, heart rate) and his context (e.g. time, weather) generated by the data analytics module 58 as input and determines the appropriate interventions, e.g. a message with personalized content.
  • This logic is implemented as coaching rules 64 that define which message 62 is sent to a user at which moment.
  • the rules 64 may be triggered by an event (e.g., when an event occurs, the rule is evaluated).
  • Various types of events may be distinguished, including location events (e.g., the user enters or exits a specific GPS-location, passes an iBeacon, or enters/exits a certain geofence zone that he has defined and annotated earlier (e.g., "home”, "school”, “work”), time events (e.g., clock time equals a fixed moment (7:00 AM) or a personalized moment (e.g., average wakeup time), and/or behavior events (e.g., the user executes certain behavior, including reaching a step target, setting a new record, etc.).
  • location events e.g., the user enters or exits a specific GPS-location, passes an iBeacon, or enters/exits a certain geofence zone that he has defined and
  • events may be based on any type of data that is present in the simulation data and/or the events may be based on parameters calculated from the simulation data.
  • an event may be generated when the weather temperature becomes higher that 30 degrees, or when heart rate increases beyond 120 beats per minute.
  • a feature may be defined (e.g., active time: if the user is active for a continuous period of 10 minutes with a heart rate 50% higher that users average heart rate), which may be used to trigger an event.
  • rules 64 contain conditions that need to be met for the rule to fire (i.e., to deliver a message). These conditions are based on specific parameters delivered by the data analytics module 58.
  • An example of a coaching rule includes the following:
  • an e-program simulation system may use the same or similar software components that constitute a coaching program, which has an advantage that the simulation output may reveal issues with the coaching program as it is intended to work as well as practical programming bugs.
  • an alternative is to use functionally equivalent software components that are optimized for simulation (e.g. to achieve significant speed increases).
  • the e-program simulation software 38 further comprises an orchestrator module 66.
  • Simulation typically focuses on those software components that constitute the core of an automated coaching program.
  • the orchestrator module 66 binds together these components, triggering the data generator module 52 to deliver data to the coaching engine module 60 via the data analytics module 58, and to let the e- program (e.g., the digital coaching program) react to the incoming observations (e.g., simulation data).
  • the orchestrator module 66 uses simulated time progress instead of using the actual time.
  • the orchestrator module 66 may run at a fine-grained, fixed simulated time interval (e.g. 1 minute) for maximum accuracy, or at a more coarse-grained interval (e.g. 1 hour) for improved simulation speed.
  • a more advanced variant includes providing the orchestrator module 66 with some knowledge of the program, and calculate or estimate the next simulated moment at which a coaching intervention may be generated, and let time progress accordingly, providing both speed and accuracy.
  • the output of the simulation may include (with or without visualization) activated rules, behavioral data generated per a defined period, quantity of issued electronic interventions (including frequency and/or timing of the electronic interventions), content of issued electronic interventions, and/or an indication of whether targets are met and/or other features (e.g., statistics calculated from one or more of these listed output parameters, etc.).
  • FIGS. 4A-4B includes screen diagrams that illustrate an example interface 68 provided by the user interface module 40 (FIG. 3) for entering input for an e-program simulation system in accordance with an embodiment of the invention.
  • FIGS. 4A-4B includes screen diagrams that illustrate an example interface 68 provided by the user interface module 40 (FIG. 3) for entering input for an e-program simulation system in accordance with an embodiment of the invention.
  • the interface 68 depicted in FIGS. 4A-4B is for illustration, and that in some embodiments, variations in the format and/or content may be implemented, and hence are contemplated to be within the scope of the disclosure.
  • the interface 68 comprises a select coaching plan pane 70, a define user profile pane 72, a define context pane 74, a simulation settings pane 76, and a run simulation button icon 78.
  • the panes 70-76 are somewhat analogous to a window pane, providing distinct and separable areas of the interface 68 with separate functionality.
  • one or more panes 70-76 may be presented in separate interfaces (e.g., presented as a sequence upon completed entry of inputs for a prior pane), or formatted in a tree-like structure, among other formats.
  • the select coaching plan pane 70 enables selection by a designer/coach of an e-program (e.g., coaching program) to be simulated.
  • the coaching program comprises the coaching content 62 and the coaching rules 64 as shown in FIG. 3, wherein the coaching content 62 comprises coaching cards, media assets, etc., and the coaching rules 64 determine under which condition the coaching content 62 is delivered to a user.
  • the select coaching plan pane 70 shows drop down fields to select (or enter in some embodiments) a plan (e.g., active habits) and corresponding module (e.g., walking). Note that drop down fields described herein are illustrative of one mechanism for selection, and that other mechanisms may be used, including direct entry or auto-populate based on entry of a few letters.
  • the define user profile pane 72 enables selection or creation by an designer/coach of a user profile (which as indicated above, may include a group profile comprising more than one user). That is, a designer/coach may select certain features from the define user profile pane 72 that match the user or user group the
  • the designer/coach seeks to run a simulation on. That is, by using filters activated by entry of input in the user profile pane 72, the designer/coach can access an existing user profile (e.g., from a database, such as stored in data storage device 32 (FIG. 2)) that matches certain conditions.
  • Some example drop down fields (and parenthetically, the selection in this example) of the user profile pane 72 include a gender (e.g., male), an age range (e.g., 55-65), a lifestyle (e.g., Office job), an activity level, and a motivational level.
  • a result section 80 which in this example, provides matching profiles (e.g., three in this case) from the data entered in the define user profile pane 72.
  • matching profiles e.g., three in this case
  • the three matching profiles are provided in a drop down menu, and in this example, include Lazy Leo, Moderate Mike, and Athletic Albert.
  • FIG. 4B is a define user profile pane 72 having, in this example, fields of gender (e.g., male), age range (e.g., 65-75), lifestyle (e.g., retired), activity level (e.g., high), and
  • the define user profile pane 72 provides a field 82 to enable the designer/coach to enter a profile name for the data entered in the fields, and a create new profile button icon 84 that the designer/coach may select to record the creation of the new profile.
  • the define context pane 74 enables an designer/coach to define context parameters for the simulation.
  • the designer/coach may select from drop down fields a location (e.g., Netherlands in this example), season (e.g., winter), and weather, which may include such options as historical, good (e.g., sunny or overcast but no rain or snow), or bad (e.g., rain or snow), among other options in some embodiments.
  • the simulation settings pane 76 enables an designer/coach to define simulation parameters, including a simulated period via fields corresponding to start and end drop down selections (e.g., in this case starting on day 1 and ending on day 28), and a field having a drop down menu for the simulation interval (e.g., in this example, 1 hours). Based on the simulated period and interval, the duration of the simulation can be estimated (based on time needed for each processing step). The designer/coach may shorten the simulated period or increase the interval to reduce the simulation duration.
  • the simulation is executed according to the logic shown in FIG. 3.
  • FIGS. 5A and 5B are screen diagrams that illustrate example interfaces 86 (86A, 86B) for providing feedback of an e-program simulation of the simulation system in accordance with an embodiment of the invention. It should be appreciated by one having ordinary skill in the art, in the context of the present disclosure, that the interfaces 86A and 86B depicted in FIGS. 5A-5B, respectively, are for illustration, and that in some embodiments, variations in the format and/or content may be
  • the interface 86A provides a visualization for a designer/coach of an overview of the data generated per day and of the activated coaching rules.
  • the designer/coach gets an overview of the content delivered to the user for the simulation.
  • Visualization of the delivered content can be done in several ways, including being rendered (via user interface module 40 (FIG. 3) in an app or web view, as perceived by the user.
  • the interface 86A comprises a simulation settings pane 88, an output pane 90, a newsfeed pane 92, and activated coaching rules panes 94.
  • the simulation settings pane 88 provides an overview of the simulation settings selected in the interface 68 of FIG.
  • coaching plan e.g., active habits, module walking
  • user profile e.g., Lazy Leo
  • context e.g., Netherlands, bad weather
  • simulation period e.g., day 1 - day 28
  • simulation interval e.g., 1 hour
  • the output pane 90 provides a summary of the simulation (e.g., days 1 -9 are shown in this example), including feedback of the behavior (e.g., steps taken each day), whether the target was reached for the day, and quantity of electronic
  • interventions e.g., here the number of cards issued per day.
  • the newsfeed pane 92 provides a quick glance of the content of the electronic interventions issued for a selected day (e.g., day 4).
  • the newsfeed shows the simulated messaging on an event, location, or time basis. For instance, at a simulated time of 7:00 on day 4, the electronic intervention included the card that states, "Good morning, Lazy Leo, your step target for today is 10,000. Let's make today an active day.”
  • the activated coaching rules panes 94 illustrate the activated rules that triggered the electronic interventions. Continuing the example from 7:00 on day 4, the activated coaching rules is time based (e.g., at time 7:00, the rule triggers the electronic intervention). As noted by the other examples of the activated coaching rules panes 94, other triggers include those based on location, weather, behavior, progression relative to a goal/target, etc.
  • the simulated data and coaching content may be presented in a different format.
  • a visualization of the simulated output may be plotted on a timeline or on a geographical map.
  • the interface 86B shows a timeline format with four distinct sections, including a simulated behavior section 95, a simulated location section 96, a simulated environment section 97, and a message feed section 98.
  • the format and/or content illustrated for the interface 86B depicted in FIG. 5B is for illustration, and that some embodiments may comprise visualizations of other formats and/or content.
  • the simulated behavior section 95, simulated location section 96, simulated environment section 97, and message feed section 98 are all vertically aligned with a timeline 99 which, in this example, has half-hour increments, though not limited to this scale or increments.
  • the behavior depicted in the simulated comprises step counts, with the quantity of steps for a given period or instance of the day indicated by columnar bars relative to a vertical axis 100 having units of step count. Note that other graphics may be used for feedback of the behavior (e.g., steps).
  • the simulated location section 96 is depicted using a horizontal bar 102 that comprises visually distinct sections corresponding to the change in simulated location over time. Distinctions may be achieved via color, boundary marks, patterns, among other mechanisms.
  • the simulated environment section 97 provides feedback using a horizontal bar 103 of the simulated environmental conditions (e.g., weather) for one or more periods of the simulation over the 24 hour time period of the timeline 99.
  • a horizontal bar 103 of the simulated environmental conditions e.g., weather
  • the message feed section 98 shows the type of electronic interventions that are issued over the 24 hour period of the timelines 99, and in this example, include target setting, arrive at work tips, lunchwalk tips, lunch walk feedback, sportclub feedback, day feedback, though other types of electronic interventions may be presented.
  • the e-program simulation system provides an electronic intervention that includes a lunchwalk tip (e.g., to encourage the user to walk to lunch and then perhaps walk afterwards, including the return to work) while the user is at work and the weather is good.
  • the simulated behavior section 95 suggests that the user heeded that advice, and walked to lunch at noon (e.g., 400 steps), and after lunch, on the return to the office, walked additional steps (e.g., 1000) at 1 :00, after which the system provided another electronic intervention (e.g., lunchwalk feedback, such as presenting the amount of steps, words of encouragement, comparisons to target, etc.).
  • visualizations of the simulation outputs provide feedback of the behavior of the coaching program and/or performance of the coaching program, with such feedback influencing a user towards a given objective (e.g., more active) and/or for purposes of assessing and possibly correcting other parameters such as message frequency and/or timing.
  • FIGS. 4A-5B have illustrated various interfaces to enter input and visualize an output of an embodiment of an e-program simulation system, with primary emphasis on an designer/coach of the corresponding e-program simulation software 38 being an e-program designer (e.g., coaching program designer).
  • the designer/coach may be a coach (including trainer).
  • FIG. 6 illustrates a logical flow diagram for steps achieved by an embodiment of the e-program simulation software 38A.
  • the e-program simulation software 38A shares the same or similar modules to those illustrated in FIG. 3.
  • the e- program simulation software 38A comprises a simulation tool that enables the coach to run a simulation of different program options for a specific user (e.g., client), taking into account the user's target, as well as their personal characteristics, preferences and constraints.
  • the coach defines a client profile (104), based on client parameters (106) and (optionally) client data (108).
  • the coach selects programs (1 10) to be compared and defines the simulation settings (1 12). Based on these settings, the selected programs are simulated for the client profile (1 14). The results of the simulations are compared and visualized (1 16). Based on the outcomes of the simulations (1 18), the personal coach can select the optimal program option for a particular client.
  • the e-program simulation software 38A may share the same or similar modules to those illustrated in FIG. 3.
  • the data generator module 52 is used to create synthetic user data 56, based on client characteristics defined via the user interface module 40 by the (personal) coach (and/or via data gathered during a calibration period).
  • the data generation models explained above in association with FIG. 3 may be further tuned so that the parameters explaining step behavior during office work more closely resembles the specific user.
  • the data analytics module 58 is still used to analyze the generated data and create facts and events.
  • the coaching engine module 60 likewise still executes the selected program options (e.g., coaching content 62 and coaching rules 64).
  • the orchestrator module 66 enables the running of the programs at an accelerated pace (e.g., simulated), and activates other components similar to that shown in FIG. 3.
  • FIG. 7 illustrates an example interface 120A for entering input for an e-program simulation system in accordance with an embodiment of the invention.
  • the interface 120A is presented by the e- program simulation software 38A, and comprises a dashboard that enables a coach to perform several tasks.
  • the interface 120 comprises an enter client parameters pane 122, an optional load client data pane 124, a select programs pane 126, and a simulation settings pane 128.
  • the enter client parameters pane 122 enables the coach to specify the client parameters via various drop down fields, including gender, age, target distance, target time, fitness level, training frequency, motivation level, and may also include (not shown) preferences and/or other characteristics. Note that there may be fewer, additional, and/or different parameters in some embodiments. If any objective health data of the user (e.g., client) is available (and the client has given the coach permission to use this data), the coach may load the data into the simulator via the load client data pane 124, which in one embodiment has fields for the entry of a client ID and password.
  • the select programs pane 126 provides the coach the ability to select which of one or more programs to simulate for comparison of their respective outputs.
  • the simulation settings pane 128 comprises drop down fields (though other mechanisms may be used as explained above) for the selection of simulation parameters (e.g., simulated period, simulation interval).
  • the period is defined via fields for selection of a start day and end day.
  • the duration of the simulation can be estimated (based on time needed for each processing step).
  • the coach may select a run simulation button icon 130, which provides a visualization of the results of the simulations performed for the selected programs (from select programs pane 126) according to the various conditions entered in the interface 120A.
  • a run simulation button icon 130 provides a visualization of the results of the simulations performed for the selected programs (from select programs pane 126) according to the various conditions entered in the interface 120A.
  • FIG. 8 shown is an example interface 120B that provides a visualization of feedback (e.g., the results of the simulation) based on the inputs to the interface 120A (FIG. 7) and operations of the e-program simulation software 38A (FIG. 6).
  • the interface 120B comprises a simulation settings pane 132 that provides a summary of the inputs entered/selected in the interface 120A, and a simulation results pane 134.
  • the simulation results pane 134 provides a visualization of the results of the simulation for different selected programs. For instance, in the select programs pane 126 (FIG. 7), training programs A, C, and D
  • the results of the selected programs A, C, and D are presented.
  • the results may be formatted as a spreadsheet with columns labeled program, target time, target reached, effort required, and rank. Simulated results for each of these columns are presented as rows for respective program selections A, C, and D. For instance, for program A, the target time is 43 minutes, an indication is provided that the targeted time has been met for the program, the effort required is labeled as high, and the program is ranked relative to the other programs for meeting the targeted objectives (2 nd in this example). Note that program C is ranked last, since simulations of the program reveal that the targeted time has not been met. Note that variations in the interface 120B may be implemented, including other formats or additional, fewer, or different content representing the results in some embodiments.
  • the interface 120B provides an overview of the results of each simulated program, and ranks them based on the results. If desired, the coach may view the simulation of a particular program in more detail, as described in association with FIGS. 5A-5B.
  • an e- program simulation method comprises providing simulation data based on a user or group profile and one or more context parameters (138); performing a simulation of an electronic program based on the simulation data and one or more simulation parameters, the electronic program designed to influence a user towards an objective through issuance of electronic interventions (140); and providing an output of the simulation (142).
  • an e-program simulation system enables the designer or coach to simulate coaching programs for different users or user types, which enables validation and improvement in coaching programs in quick iterations.
  • the designer or coach can select the coaching program to be simulated, import historical user data (based on certain filters) or create synthetic user data, define context settings (e.g., location, weather), define other simulation settings (e.g., duration, simulation interval, delay in data availability). Based on these settings, the simulation is performed, and the results of the simulation are visualized. If the simulation run reveals errors or anomalies, the designer or coach can adapt the coaching program and run a new simulation.
  • a claim to a simulation system comprising: a memory comprising instructions; and one or more processors configured to execute the instructions to: provide simulation data based on a user or group profile and one or more context parameters; perform a simulation of an electronic program based on the simulation data and one or more simulation parameters, the electronic program designed to influence a user towards an objective through issuance of electronic interventions; and provide an output of the simulation.
  • a claim depending on the preceding system claim wherein the one or more processors are further configured to execute the instructions to provide a graphical user interface comprising plural fields for receiving inputs corresponding to the user or group profile, the electronic program, the one or more context parameters, and the one or more simulation parameters.
  • simulation parameters include one or any combination of simulation period or simulation interval, and wherein a duration of the simulation is based on the simulation parameters.
  • simulation parameters include one or any combination of simulation period or simulation interval, and wherein a duration of the simulation is based on the simulation parameters.
  • a claim depending on any one of the preceding system claims wherein the one or more processors are further configured to execute the instructions to provide the simulation data by accessing and using historical data, the historical data comprising population information having a correlation to the user profile and the context parameters.
  • the one or more processors are further configured to execute the instructions to provide the simulation data by generating synthetic data, the generation based on application of one or more computational models, one or more data models, or a combination of the one or more computational models and the one or more data models.
  • a claim depending on any one of the preceding system claims wherein the output comprises electronic interventions issued at simulated issuance times with content based on simulated events.
  • the one or more processors are further configured to execute the instructions to perform the simulation faster than real time.
  • a claim depending on any one of the preceding system claims wherein the one or more processors are further configured to execute the instructions to: receive a target corresponding to the objective; and receive inputs corresponding to one or more additional electronic programs designed to influence the user towards the objective, wherein the simulation is performed for all of the electronic programs.
  • a claim depending on any one of the preceding system claims wherein the output comprises a comparison of all of the programs and associated performances or a ranking of all of the programs relative to the target.
  • a claim depending on any one of the preceding system claims further comprising a display device, wherein the one or more processors are further configured to execute the instructions to present a graphical user interface and the output as a visualization on the display device.
  • a claim to a computer-implemented method comprising: providing simulation data based on a user or group profile and one or more context parameters; performing a simulation of an electronic program based on the simulation data and one or more simulation parameters, the electronic program designed to influence a user towards an objective through issuance of electronic interventions; and providing an output of the simulation.
  • a claim to a non-transitory, computer readable medium comprising instructions that, when executed by one or more processors, causes the one or more processors to: provide simulation data based on a user or group profile and one or more context parameters; perform a simulation of an electronic program based on the simulation data and one or more simulation parameters, the electronic program designed to influence a user towards an objective through issuance of electronic interventions; and provide an output of the simulation.
  • the outputs may be inputs to a second system (whether logic in the same device, logic in other devices) in addition to or in lieu of the visualizations.
  • the outputs of a given simulation may comprise a driver of another automated system.
  • the output of the simulation is given as an input to another system (coaching for example).
  • a visualization of the simulated output is not present.
  • the output of the simulation may be used as a driver to another system, with or without visualization.
  • the output of the simulation may be used for more than assessment by a designer/coach.
  • the output of the simulation may be used to influence subsequently inputted parameters. For instance, the simulation period, simulation interval, and/or duration may be set, driven, and/or determined according to the outputs of the simulation.
  • a designer/coach may wish to find out how long a simulation will take until the user reaches a set target, or until a defined amount of messages are generated, or until the user receives a particular event-driven message of interest (e.g., when he got an eating related message).
  • simulation uses its current output while determining the next simulation run, which approximates simulation with a feedback loop.
  • a single processor or other unit may fulfill the functions of several items recited in the claims.
  • the mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
  • a computer program may be stored/distributed on a suitable medium, such as an optical medium or solid-state medium supplied together with or as part of other hardware, but may also be distributed in other forms. Any reference signs in the claims should be not construed as limiting the scope.

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Engineering & Computer Science (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Dans un mode de réalisation, la présente invention concerne un système qui fournit des données de simulation sur la base d'un profil d'utilisateur ou de groupe et d'un ou plusieurs paramètres de contexte, effectue une simulation d'un programme électronique sur la base des données de simulation et d'un ou plusieurs paramètres de simulation, et fournit une sortie de la simulation. Le système résout les inefficacités de validation d'un ou plusieurs utilisateurs qui nécessitent une mise en œuvre réelle par simulation d'un programme électronique, comprenant un programme de guidage électronique, pour un ou plusieurs utilisateurs ou types d'utilisateurs, permettant des ajustements ou des corrections dans le programme avant la mise en œuvre.In one embodiment, the present invention relates to a system that provides simulation data based on a user or group profile and one or more context parameters, performs a simulation of an electronic program on the simulation data base and one or more simulation parameters, and provides an output of the simulation. The system solves the validation inefficiencies of one or more users that require actual implementation by simulation of an electronic program, including an electronic guidance program, for one or more users or types of users, allowing adjustments or corrections in the program before implementation.

Description

SIMULATION SYSTEM TO VALIDATE ELECTRONIC PROGRAMS
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This patent application claims the priority benefit under 35 U.S.C. § 1 19(e) of U.S. Provisional Application No. 62/565,371 filed on September 29, 2017, the contents of which are herein incorporated by reference.
FIELD OF THE INVENTION
[0002] The present invention is generally related to electronic coaching systems.
BACKGROUND OF THE INVENTION
[0003] When creating a digital coaching program, a coach needs to specify coaching rules, defining which events trigger specific messages. Once the set of coaching rules gets larger and more complex, it is very difficult for the coach to foresee how the program will unfold in different situations and for different types of users (i.e., which messages will be delivered to the users and at which moments). Thus, the coach has little insight into how the program will be experienced by different types of users and across different conditions.
[0004] As a more specific use case, personal coaches (e.g., health coaches/ nutritionists/ sports trainers/ physiotherapists) create personalized coaching programs by which individual clients can reach their targets (e.g., losing a certain amount of weight, running 10K within a specific time limit, recovering from injury). Ideally, the coaching program is adapted to the client's constraints, preferences, abilities, physical and mental capacity, etc. For each individual client, the personal coach needs to create the optimal program that guides the client to his personal target in the most effective way. Currently, personal coaches use general models and heuristics to adapt their coaching. However, since these models and heuristics are based on the average user, this strategy will not always lead to the best solution for individual clients.
[0005] One mechanism devised to personalize a coaching program to an individual's needs may be found in WO 2015103442A1 , which discloses methods and systems that provide user-specific feedback and recommendations to a user based on a user profile, contextual and/or biometric data, which may be collected using a sensing system, such as a wearable sensor device(s). A host system formulates and provides reports to the user relating to the user's sensed activities or conditions, and may also provide recommendations relating to performance and goal achievement, what/if analysis, gait analysis, shoe purchase suggestions, and the like. Data analysis algorithms may be used to identify similar patterns across large collections of user profiles and biometric data and apply data generated across a larger population to formulate recommendations for specific users. Notification and alarm systems may be provided, and selectively enabled, to provide messages, warnings, alarms,
notifications, and the like to the user, and/or to authorized third parties, substantially in real-time, based on sensed data. Notification and alarm limits and boundaries may be set by the user, or by an authorized third party, or may be determined and set by the host system. User feedback may be provided in substantially real time, or delayed, and may be delivered to the user in accordance with user preferences and smart algorithms that predict the most effective notification timing, frequency and delivery mode. The host system may observe changes in biometric user data patterns and recommend changes in user behavior to improve the user's performance, to prevent an injury, and/or keep the runner on target to attain his/her goal(s). As the user complies with a recommendation, the virtual coach can run multiple simulations of type "what if and "expected outcome is". The best one that applies to the running subject can be used by the system as the next recommendation that is going to be delivered to them. When the user ignores a recommendation, a motivational message can be used to win the confidence and build up the compliance with the recommendation system.
[0006] However, the system in WO 2015103442 A1 is set (fixed) once the user engages in the activity, and hence outcomes are limited to the confines or constraints of the programming design and the particular user experiencing the program.
SUMMARY OF THE INVENTION
[0007] One object of the present invention is to provide an electronic coaching program that is validated before it is offered to one or more users. To better address such concerns, in a first aspect of the invention, a system is presented that provides simulation data based on a user or group profile and one or more context parameters, performs a simulation of an electronic program based on the simulation data and one or more simulation parameters, and provides an output of the simulation. The invention addresses the inefficiencies of validation of one or more users that require actual implementation by simulating an electronic program, including an electronic coaching program, for one or more users or user types, enabling adjustments or corrections in the program before implementation.
[0008] In one embodiment, a system is presented wherein the output comprises one or any combination of feedback of a behavior of the electronic program or performance of the electronic program. The feedback may take the form of a
visualization presented to a designer of the coaching program that shows, for instance, the monitored behavior, event-to-event messaging/news feeds, and the rules that triggered the messaging, enabling the designer to make corrections to the electronic program that provides, for instance, more context-suitable messaging or messaging that further enhances the personalization for a given user or type of user.
[0009] In one embodiment, a system is presented wherein the output comprises one or any combination of activated rules, behavioral data generated per defined period, quantity of the issued electronic interventions, content of the issued electronic interventions, or an indication of whether targets are met. The output may be provided to another system (e.g., an automated system that aggregates the results and determines, for instance, optimal performance among several electronic programs), or may be provided as feedback according to a visualization of these features. Again, the output enables a designer or system to further tailor performance as necessary to suit a user or group of users or user types.
[0010] In one embodiment, the simulation parameters of the system include one or any combination of simulation period or simulation interval, and wherein a duration of the simulation is based on the simulation parameters. The simulation parameters may be configured by a designer according to fine-grain (shorter intervals) or course (longer intervals) processing, enabling the designer to determine the scope of the validation.
[0011] In one embodiment, the simulation parameters are based on one or any combination of activated rules, behavioral data generated per defined period, quantity of the issued electronic interventions, content of the issued electronic interventions, or an indication of whether targets are met. In other words, the simulation period, interval, and/or duration may be driven/set by the output. For instance, a designer may wish to find out how long the simulation takes until the user reaches a set target, or until a defined amount (e.g., 100) messages are generated, or until he got an event-driven message related to food consumption. In effect, the simulation is run according to a feedback loop based on the output.
[0012] In one embodiment, the system provides the simulation data by
generating synthetic data, the generation based on application of one or more computational models, one or more data models, or a combination of the one or more computational models and the one or more data models. The system is configured to enable a search of existing user or group profiles based on inputted data, but if the search fails to uncover a suitable match, data may be synthesized using one or more models (e.g., of human behavior, including activity, environmental parameters, etc.).
[0013] In one embodiment, a system is presented wherein the output comprises electronic interventions issued at simulated issuance times with content based on simulated events. The use of historical or synthetic data enables the generation of events that mimic actual behavior for one or more users, enabling the designer of the electronic program to view how the electronic program interacts with a user (e.g., intended recipient of the program's features) without the inherent inefficiencies of actually requiring the subject to experience the program.
[0014] In one embodiment, a system is presented that receives a target corresponding to an objective and receive inputs corresponding to one or more additional electronic programs designed to influence the user towards the objective, wherein the simulation is performed for all of the electronic programs. In this way, a coach may determine which program, including an electronic coaching program, is best suited to a user without subjecting the user to each of the programs in trial and error fashion.
[0015] In one embodiment, a system is presented wherein the output comprises a comparison of all of the programs and associated performances or a ranking of all of the programs relative to the target. The output may comprise a visualization (or communication to another system), and the objective comparison and ranking enables a quick view of the suitability for one or more users without requiring the one or more users to test each program.
[0016] These and other aspects of the invention will be apparent from and elucidated with reference to the embodiment(s) described hereinafter.
BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Many aspects of the invention can be better understood with reference to the following drawings, which are diagrammatic. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present invention. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
[0018] FIG. 1 is a schematic diagram that illustrates an example computing environment in which an electronic program (e-program) simulation system is used in accordance with an embodiment of the invention.
[0019] FIG. 2 is a block diagram that illustrates an example computing device in which a one or more functions of an e-program simulation system may be implemented in accordance with an embodiment of the invention.
[0020] FIG. 3 is a schematic diagram that illustrates a logical diagram for an e- program simulation system in accordance with an embodiment of the invention.
[0021] FIGS. 4A-4B are screen diagrams that illustrate example interfaces for entering input for an e-program simulation system in accordance with an embodiment of the invention. [0022] FIGS. 5A and 5B are screen diagrams that illustrate example interfaces for providing feedback of an e-program simulation of the simulation system in
accordance with an embodiment of the invention.
[0023] FIG. 6 is a schematic diagram that illustrates a logical flow diagram for an e-program simulation system in accordance with an embodiment of the invention.
[0024] FIG. 7 is a screen diagram that illustrates an example interface for entering input for an e-program simulation system in accordance with an embodiment of the invention.
[0025] FIG. 8 is a screen diagram that illustrates an example interface for providing feedback of an e-program simulation of the simulation system in accordance with an embodiment of the invention.
[0026] FIG. 9 is a flow diagram that illustrates an example an e-program simulation method in accordance with an embodiment of the invention.
DETAILED DESCRIPTION OF EMBODIMENTS
[0027] Disclosed herein are certain embodiments of an electronic program (e- program) simulation system that enables a program designer or coach to simulate coaching programs for different users or user types without requiring the users to actually implement the coaching programs. The system enables the designer or coach to validate and improve coaching programs in quick iterations. In one embodiment, through the use of a graphical user interface, the designer or coach can select the coaching program to be simulated, import historical user data (based on certain filters) or create synthetic user data, define context settings (e.g., location, weather), and/or define other simulation settings (e.g., duration, simulation interval, delay in data availability). All of these settings enable a realistic simulation of a planned program. Based on these settings, the simulation is performed, and the results of the simulation are output (e.g., visualized and/or provided as input to another device or software component) and the program's fit to a desired objective criteria (e.g. number of messages per day, per specific hour, type of messages per day, etc.) can be evaluated. If the simulation run reveals errors or anomalies, the designer or coach can adapt the coaching program and run a new simulation.
[0028] Digressing briefly, when creating a digital coaching program, the designer or coach needs an efficient way to validate if the coaching rules that he has defined will result in an effective and user-friendly coaching program across different situations and for different types of users. One way of validating the program is by experiencing it oneself (e.g., by pilot testing the program). However, this is a time-consuming process, and moreover, this strategy is not suitable for testing the program in various conditions and/or for different types of users. Furthermore, a designer or personal coach needs to create personalized coaching programs, adapted to the characteristics of individuals. The designer or coach needs a way to validate the personalized program before offering it to the user. Certain embodiments of an e-program simulation system address these and/or other shortcomings of conventional electronic coaching systems through simulation, using data and/or computational models, of these electronic programs using historical or synthetic data.
[0029] Having summarized certain features of an e-program simulation system of the present disclosure, reference will now be made in detail to the description of an e- program simulation system as illustrated in the drawings. While an e-program simulation system will be described in connection with these drawings, there is no intent to limit it to the embodiment or embodiments disclosed herein. For instance, though emphasis is placed on electronic coaching applications, other electronic applications designed to influence a user towards an objective through issuance of electronic interventions (e.g., financial, business, health and wellness, etc.) may also be used, and hence are contemplated to be within the scope of the disclosure. Further, although the description identifies or describes specifics of one or more embodiments, such specifics are not necessarily part of every embodiment, nor are all of any various stated advantages necessarily associated with a single embodiment. On the contrary, the intent is to cover all alternatives, modifications and equivalents included within the principles and scope of the disclosure as defined by the appended claims. Further, it should be appreciated in the context of the present disclosure that the claims are not necessarily limited to the particular embodiments set out in the description.
[0030] Attention is now directed to FIG. 1 , which illustrates an example computing environment in which an electronic program (e-program) simulation system is used in accordance with an embodiment of the invention. It should be appreciated by one having ordinary skill in the art in the context of the present disclosure that the computing environment 10 is one example among many, and that some embodiments of an e-program simulation system may be used in environments with fewer, greater, and/or different components or system architectures than those depicted in FIG. 1. The computing environment 10 comprises a plurality of devices that enable communication of, or access to, information via one or more networks. The depicted computing environment 10 comprises one or more server devices 12 (e.g., 12A through 12N) of a server network 14 in communication with client devices 16 (e.g., 16A1 through 16N1 , 16A2 through 16N2, etc.) of one or more organizations 18 (e.g., 18A through 18N) over one or more networks 20. For instance, the organizations 18 may include applications development organizations (e.g., coaching program development, including e-program simulation services, etc.) and coaching organizations that use the coaching programs and e-program simulation system provided by the server devices 12 of the server network 14. The client devices 16 may include desktops, laptops, tablets, among other devices connected directly or indirectly to the network 20. The client devices 16 for each organization 18 may be coupled over a local area network (LAN) (e.g., a company intranet), including via wireless LAN (WLAN).
[0031] The network 20 may be any type(s) and/or form of network or networks, including a LAN, wide area network (WAN), including the Internet or World Wide Web, a metropolitan area network (MAN), public, private, etc. The network 20 may be comprised of devices interconnected over wireless or wired connections, or a combination of wired and wireless connections. For instance, the network 20 may include any one or combination of the following: a point to point network, a broadcast network, a wide area network, a local area network, a telecommunications network, a data communication network, a computer network, an ATM (Asynchronous Transfer Mode) network, a SONET (Synchronous Optical Network) network, a SDH (Synchronous Digital Hierarchy) network, a wireless network and a wireline network. In some embodiments, the network 20 may comprise a wireless link, such as an infrared channel or satellite band. The topology of the network 20 may be a bus, star, or ring network topology. The network 20 and network topology may be of any such network or network topology as known to those ordinarily skilled in the art capable of supporting the operations described herein.
[0032] In one embodiment, the server devices 12 of the server network 14 may provide cloud computing services, including remote data storage, data modeling applications, internet services, security services, content distribution, etc. to the client devices 16 of the organizations 18. In some embodiments, the server devices 12 may be coupled via a LAN (or wireless LAN, etc.), or coupled according to geographically separate facilities via the network 20 or other networks, such as to implement plural cloud systems. When embodied as a cloud service or services, the server devices 12 may comprise an internal cloud, an external cloud, a private cloud, or a public cloud (e.g., commercial cloud). For instance, a private cloud may be implemented using a variety of cloud systems including, for example, Eucalyptus Systems, VMWare vSphere®, or Microsoft® HyperV. A public cloud may include, for example, Amazon EC2®, Amazon Web Services®, Terremark®, Savvis®, or GoGrid®. Cloud-computing resources provided by these clouds may include, for example, storage resources (e.g., Storage Area Network (SAN), Network File System (NFS), and Amazon S3®), network resources (e.g., firewall, load-balancer, and proxy server), internal private resources, external private resources, secure public resources, infrastructure-as-a-services (laaSs), platform-as-a-services (PaaSs), or software-as-a-services (SaaSs). The cloud architecture of the server devices 12 may be embodied according to one of a plurality of different configurations. For instance, if configured according to MICROSOFT AZURE™, roles are provided, which are discrete scalable components built with managed code. Worker roles are for generalized development, and may perform background processing for a web role. Web roles provide a web server and listen and respond for web requests via an HTTP (hypertext transfer protocol) or HTTPS (HTTP secure) endpoint. VM roles are instantiated according to tenant defined configurations (e.g., resources, guest operating system). Operating system and VM updates are managed by the cloud. A web role and a worker role run in a VM role, which is a virtual machine under the control of the tenant. Storage and SQL services are available to be used by the roles. As with other clouds, the hardware and software environment or platform, including scaling, load balancing, etc., are handled by the cloud.
[0033] In some embodiments, the server devices 12 may be configured into multiple, logically-grouped servers, referred to as a server farm. The server devices 12 may be geographically dispersed, administered as a single entity, or distributed among a plurality of server farms, executing one or more applications on behalf of one or more of the client devices 16. The server devices 12 within each farm may be heterogeneous. One or more of the server devices 12 may operate according to one type of operating system platform (e.g., WINDOWS NT, manufactured by Microsoft Corp. of Redmond, Wash.), while one or more of the other server devices 12 may operate according to another type of operating system platform (e.g., Unix or Linux). The group of server devices 12 may be logically grouped as a farm that may be interconnected using a wide-area network (WAN) connection or medium-area network (MAN) connection. The server devices 12 may each be referred to as, and operate according to, a file server device, application server device, web server device, proxy server device, or gateway server device.
[0034] In one embodiment, the server devices 12 provide an API or web interface that enables the client devices 16A1 -16N1 to develop e-programs and validate the e-programs using e-program simulation software that validate their e- programs using the e-program simulation software run on the server devices 12. In some embodiments, the e-program simulation software and/or e-programs may be located at the client devices 16.
[0035] Having described an example computing environment 10 in which an embodiment of an e-program simulation system may be implemented, attention is now directed to FIG. 2, which illustrates example circuitry for an example server device 12, in accordance with an embodiment of the invention. In some embodiments, an architecture similar to the server device 12 may be used for the client devices 16 (FIG. 1 ), such as when all or a portion of the processing for e-program simulation system is performed at the client devices 16. The server device 12 may be embodied as an application server, computer, among other computing devices, and is also generally referred to herein as an apparatus. One having ordinary skill in the art should appreciate in the context of the present disclosure that the example server device 12 is merely illustrative of one embodiment, and that some embodiments of server devices may comprise fewer or additional components, and/or some of the functionality associated with the various components depicted in FIG. 2 may be combined, or further distributed among additional modules or computing devices, in some embodiments. The server device 12 is depicted in this example as a computer system, such as one providing a function of an application server. It should be appreciated that certain well- known components of computer systems are omitted here to avoid obfuscating relevant features of the server device 12. In one embodiment, the server device 12 comprises a processing circuit 22 (PROCES CKT) that comprises hardware and/or software. In the depicted embodiment, the processing circuit 22 comprises one or more processors, such as processor 24 (PROCESS), input/output (I/O) interface(s) 26 (I/O), which in one embodiment is optionally coupled to a display screen (DISP SCRN) and other user interfaces (e.g., keyboard, mouse, microphone, etc.), and memory 28 (MEM), all coupled to one or more data busses, such as data bus 30 (DBUS). In some
embodiments, the display screen (and/or user interface (Ul)) may be coupled directly to the data bus 30. The memory 28 may include any one or a combination of volatile memory elements (e.g., random-access memory RAM, such as DRAM, and SRAM, etc.) and nonvolatile memory elements (e.g., ROM, Flash, solid state, EPROM,
EEPROM, hard drive, tape, CDROM, etc.). The memory 28 may store a native operating system, one or more native applications, emulation systems, or emulated applications for any of a variety of operating systems and/or emulated hardware platforms, emulated operating systems, etc. In some embodiments, an operating system may be omitted. In some embodiments, a separate storage device (STOR DEV) 32A may be coupled to the data bus 30 or as a network-connected device (or devices) 32B via the I/O interfaces 26 and the Internet 20. The storage device(s) 32 may be embodied as persistent memory (e.g., optical, magnetic, and/or semiconductor memory and associated drives) to store various data, including historical data, population-based data, e-programs, including coaching programs, messages and rules associated with the e-programs, private (secured) user data, among other data). In some embodiments, the data may be stored in distributed fashion, including among several data storage devices 32A connected to the data bus 30 or network-connected storage 32B distributed over one or plural locations. For instance, some network storage may include medical facility data storage, governmental statistical data, among others, that are accessed by the e-program simulation system.
[0036] In the embodiment depicted in FIG. 3, the memory 28 comprises an optional operating system 34 (OS), and application software 36 (APP SW), which in one embodiment comprises e-program simulation software 38 and one or more e- programs. In some embodiments, the e-programs may be stored in storage devices 32. In some embodiments, functionality of the e-program simulation software 38 may be distributed among plural devices, or reside at one or more of the client devices 16 (FIG. 1 ). The e-program simulation software 38, described in more detail below in
association with FIG. 3, comprises a simulation tool that enables a designer or coach to validate coaching programs (e.g., stored in and accessed from storage devices 32) for different types of users and/or in different conditions. Client devices 16 may access the services of the e-program simulation software 38 via an API or web-interface presented by the application software 36.
[0037] Execution of the application software 36, including the e-program simulation software 38, may be implemented by the processor 24 under the
management and/or control of the operating system 34. The processor 24 may be embodied as a custom-made or commercially available processor, a central processing unit (CPU) or an auxiliary processor among several processors, a semiconductor based microprocessor (in the form of a microchip), a macroprocessor, one or more application specific integrated circuits (ASICs), a plurality of suitably configured digital logic gates, and/or other well-known electrical configurations comprising discrete elements both individually and in various combinations to coordinate the overall operation of the server device 12.
[0038] The I/O interfaces 26 comprise hardware and/or software to provide one or more interfaces to the Internet 20, as well as to other devices such as the display screen and user interfaces and network storage devices 32B. In other words, the I/O interfaces 26 may comprise any number of interfaces for the input and output of signals (e.g., analog or digital data) for conveyance of information (e.g., data) over various networks and according to various protocols (e.g., FTP, HTTP, etc.) and/or standards. The user interfaces may include a keyboard, mouse, microphone, immersive head set, etc., which enable input and/or output by an administrator or other user.
[0039] When certain embodiments of the server device 12 are implemented at least in part with software (including firmware), as depicted in FIG. 2, it should be noted that the software (e.g., including the application software 36, including the e-program simulation software 38) can be stored on a variety of non-transitory computer-readable medium for use by, or in connection with, a variety of computer-related systems or methods. In the context of this document, a computer-readable medium may comprise an electronic, magnetic, optical, or other physical device or apparatus that may contain or store a computer program (e.g., executable code or instructions) for use by or in connection with a computer-related system or method. The software may be embedded in a variety of computer-readable mediums for use by, or in connection with, an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
[0040] When certain embodiments of the server device 12 are implemented at least in part with hardware, such functionality may be implemented with any or a combination of the following technologies, which are all well-known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), relays, contactors, etc. [0041] Referring now to FIG. 3, shown is a schematic diagram that illustrates a logical diagram for an e-program simulation system in accordance with an embodiment of the invention. In particular, FIG. 3 provides illustrates the software modules and/or functionality of certain embodiments of the e-program simulation software 38. It should be appreciated by one having ordinary skill in the art, in the context of the present disclosure, that the logical flow is illustrative of one embodiment, and that in some embodiments, additional, fewer, and/or different modules (providing for the same or a different logical flow) may be used and hence are contemplated to be within the scope of the disclosure. The e-program simulation software 38 comprises a user interface module or dashboard 40. The user interface module 40 enables a designer or coach (hereinafter, designer/coach) to select or create a user profile (which may include a group profile) (42), set context parameters (44), select a coaching program (46) set simulation parameters (48), and view simulation results (50). Additional information on the features and/or functions of the user interface module 40 is described below.
[0042] The e-program simulation software 38 further comprises a data generator module 52. Digressing briefly, in a real-time operational, digital coaching system, the coaching program is applied to observations about the user, obtained either via devices such as a smart watch, or via direct input of the user (e.g. in an app). In certain embodiments of an e-program simulation system, which use a simulation environment, such observations may not come directly from real users and/or devices, but instead from the data generator module 52 (which may use data structures comprising such information). In one embodiment, historical observation data 54 may be drawn from an available data structure (e.g., database, including access via networked or local storage devices 32) of users that have used the app previously. Filters selected via the user interface module 40 may then be applied by the data generator module 52 to select the appropriate user group for the current simulation. Filters applied by the data generator module 52 include baseline user characteristics (e.g. age, gender, weight), tags that have been used by previous coaches to describe users (e.g. their motivation level: very motivated; their primary goal: weight loss; and psychological determinants of behavior: awareness, self-efficacy, attitude, etc.), which data is available (e.g. weight measurements, accelerometry, activity, sleep stages, heart rate and location data), and/or inferred patterns from device data (e.g. shift worker, retiree, runner, primarily sedentary, etc.). The appropriate user group may be selected by comparing the recorded data of previous users to a relevant template set and scoring how well the data matches known profiles. The historical data 54 may also include environmental data, including weather information, sunset and sunrise times, etc.
[0043] However, in many cases the appropriate user profile may not be available, or very few profiles may match the use-case which the designer/coach is interested in simulating. In these cases, synthetically generated data 56 may be used that realistically emulates user activity. For instance, synthetically generated data 56 may be generated by combining a known template set of realistic behaviors that correspond to the profile and link this with known data for a similar behavior. For example, data structures (e.g., databases) of coded activities exist, such as the ATUS time use survey, where users record and annotate their time period, activity and location (e.g., commuting from home to work in a car from 9:15 to 9:35, followed by office work from 9:35 to 12:00, etc.). These annotated time periods may then be combined by the data generator module 52 with data from known users participating in such an activity, or by using a data generation models from user data of known behavior. An example of this could be a Gaussian mixture Hidden Markov Model of steps during office work with states and transition probabilities fitted to the known data to replicate the observed behavior. The data generation models combined with the diaries can then be used to generate realistic data 56 of a simulated user. In some embodiments, though the population data and diaries may be used for synthetic data generation, the data models may be replaced with computational models. The synthetic data 56 generated by the data generator module 52 may be stored in a local or cloud based data structure (e.g., database), including in data storage 32 (e.g., 32A and/or 32B).
[0044] The e-program simulation software 38 further comprises a data analytics module 58. The data analytics module 58 accesses the data 54, 56 generated and/or filtered by the data generator module 52. The use of a database for storage of the data 54, 56 makes it easy to organize and enable queries by the data analytics module 58 for specific data segments. In one embodiment, the queries performed by the data analytics module 58 are time or location based. In the time based queries, start and end times are specified, and the values for the parameter in question (e.g. step count, location, location enter and exit events) are collected. Alternatively, the same parameter values can be queried for a specific location, such as steps at home.
Additional query methods based on day type (e.g. Monday, Tuesday, weekday, weekend), or location type (e.g. home, work, sports) or combination of these is also possible. In some embodiments, the output of the data analytics module 58 is not restricted to time and/or location. For any feature or parameter present in the simulation dataset, an output can be generated by the data analytics module 58. For example, if weather information and heart rate were part of the data set, and if these are used in the simulation, then outputs related to weather and heart rate may be generated.
[0045] The e-program simulation software 38 further comprises a coaching engine module 60, which receives as inputs coaching content 62, coaching rules 64, and the data from the data analytics module 58. In general, a digital coaching program is technically designed for a population, not for each individual participant. Therefore, a designer/coach needs to specify the logic (e.g., algorithms, rules, parameters, thresholds, etc.) that determine how the program is automatically personalized for individual users. In operation, the coaching engine module 60 receives observations about the user (e.g. activity level, heart rate) and his context (e.g. time, weather) generated by the data analytics module 58 as input and determines the appropriate interventions, e.g. a message with personalized content. This logic is implemented as coaching rules 64 that define which message 62 is sent to a user at which moment. The rules 64 may be triggered by an event (e.g., when an event occurs, the rule is evaluated). Various types of events may be distinguished, including location events (e.g., the user enters or exits a specific GPS-location, passes an iBeacon, or enters/exits a certain geofence zone that he has defined and annotated earlier (e.g., "home", "school", "work"), time events (e.g., clock time equals a fixed moment (7:00 AM) or a personalized moment (e.g., average wakeup time), and/or behavior events (e.g., the user executes certain behavior, including reaching a step target, setting a new record, etc.). Note that these events are merely illustrative, and that in general, the events may be based on any type of data that is present in the simulation data and/or the events may be based on parameters calculated from the simulation data. For example, an event may be generated when the weather temperature becomes higher that 30 degrees, or when heart rate increases beyond 120 beats per minute. In some instances, a feature may be defined (e.g., active time: if the user is active for a continuous period of 10 minutes with a heart rate 50% higher that users average heart rate), which may be used to trigger an event. In addition, rules 64 contain conditions that need to be met for the rule to fire (i.e., to deliver a message). These conditions are based on specific parameters delivered by the data analytics module 58. An example of a coaching rule includes the following:
[0046] If (event == "ARRIVEATHOME") AND (programday == 1 ) AND (time >
17:00)
[0047] then
[0048] sendMessage ArriveAtHomel
[0049] Note that certain embodiments of an e-program simulation system may use the same or similar software components that constitute a coaching program, which has an advantage that the simulation output may reveal issues with the coaching program as it is intended to work as well as practical programming bugs. In some embodiments, an alternative is to use functionally equivalent software components that are optimized for simulation (e.g. to achieve significant speed increases).
[0050] The e-program simulation software 38 further comprises an orchestrator module 66. Simulation typically focuses on those software components that constitute the core of an automated coaching program. The orchestrator module 66 binds together these components, triggering the data generator module 52 to deliver data to the coaching engine module 60 via the data analytics module 58, and to let the e- program (e.g., the digital coaching program) react to the incoming observations (e.g., simulation data). The orchestrator module 66 uses simulated time progress instead of using the actual time. This way, the simulation can progress much faster than real-time (e.g., running 20 simulated days in 2 minutes), which enables the designer/coach to test the e-program (e.g., digital coaching program) in quick iterations by running the program for several user profiles, evaluating, making changes, and running again. The orchestrator module 66 may run at a fine-grained, fixed simulated time interval (e.g. 1 minute) for maximum accuracy, or at a more coarse-grained interval (e.g. 1 hour) for improved simulation speed. In some embodiments, a more advanced variant includes providing the orchestrator module 66 with some knowledge of the program, and calculate or estimate the next simulated moment at which a coaching intervention may be generated, and let time progress accordingly, providing both speed and accuracy. The latter variant is also referred to as event-based simulation, and requires some supporting functionality in the software components, which may add additional complexity. Note that the output of the simulation may include (with or without visualization) activated rules, behavioral data generated per a defined period, quantity of issued electronic interventions (including frequency and/or timing of the electronic interventions), content of issued electronic interventions, and/or an indication of whether targets are met and/or other features (e.g., statistics calculated from one or more of these listed output parameters, etc.).
[0051] Having described an embodiment of the e-program simulation software 38, attention is directed to FIGS. 4A-4B, which includes screen diagrams that illustrate an example interface 68 provided by the user interface module 40 (FIG. 3) for entering input for an e-program simulation system in accordance with an embodiment of the invention. It should be appreciated by one having ordinary skill in the art, in the context of the present disclosure, that the interface 68 depicted in FIGS. 4A-4B is for illustration, and that in some embodiments, variations in the format and/or content may be implemented, and hence are contemplated to be within the scope of the disclosure. The interface 68 comprises a select coaching plan pane 70, a define user profile pane 72, a define context pane 74, a simulation settings pane 76, and a run simulation button icon 78. Note that the panes 70-76 are somewhat analogous to a window pane, providing distinct and separable areas of the interface 68 with separate functionality. In some embodiments, one or more panes 70-76 may be presented in separate interfaces (e.g., presented as a sequence upon completed entry of inputs for a prior pane), or formatted in a tree-like structure, among other formats.
[0052] The select coaching plan pane 70 enables selection by a designer/coach of an e-program (e.g., coaching program) to be simulated. The coaching program comprises the coaching content 62 and the coaching rules 64 as shown in FIG. 3, wherein the coaching content 62 comprises coaching cards, media assets, etc., and the coaching rules 64 determine under which condition the coaching content 62 is delivered to a user. In the depicted example of FIG. 4A, the select coaching plan pane 70 shows drop down fields to select (or enter in some embodiments) a plan (e.g., active habits) and corresponding module (e.g., walking). Note that drop down fields described herein are illustrative of one mechanism for selection, and that other mechanisms may be used, including direct entry or auto-populate based on entry of a few letters.
[0053] The define user profile pane 72 enables selection or creation by an designer/coach of a user profile (which as indicated above, may include a group profile comprising more than one user). That is, a designer/coach may select certain features from the define user profile pane 72 that match the user or user group the
designer/coach seeks to run a simulation on. That is, by using filters activated by entry of input in the user profile pane 72, the designer/coach can access an existing user profile (e.g., from a database, such as stored in data storage device 32 (FIG. 2)) that matches certain conditions. Some example drop down fields (and parenthetically, the selection in this example) of the user profile pane 72 include a gender (e.g., male), an age range (e.g., 55-65), a lifestyle (e.g., Office job), an activity level, and a motivational level. At the lower portion of the user profile pane 72 is a result section 80, which in this example, provides matching profiles (e.g., three in this case) from the data entered in the define user profile pane 72. As shown, the three matching profiles are provided in a drop down menu, and in this example, include Lazy Leo, Moderate Mike, and Athletic Albert.
[0054] However, if there is no existing user profile matching the conditions defined by the designer/coach in the define user profile pane 72, the designer/coach may create a new user profile based on synthetic data, as shown in FIG. 4B. FIG. 4B is a define user profile pane 72 having, in this example, fields of gender (e.g., male), age range (e.g., 65-75), lifestyle (e.g., retired), activity level (e.g., high), and
motivational level (e.g., high), yet where the result section 80 indicates that no matching profiles were found. In this case, the define user profile pane 72 provides a field 82 to enable the designer/coach to enter a profile name for the data entered in the fields, and a create new profile button icon 84 that the designer/coach may select to record the creation of the new profile.
[0055] Referring again to FIG. 4A, the define context pane 74 enables an designer/coach to define context parameters for the simulation. The designer/coach may select from drop down fields a location (e.g., Netherlands in this example), season (e.g., winter), and weather, which may include such options as historical, good (e.g., sunny or overcast but no rain or snow), or bad (e.g., rain or snow), among other options in some embodiments.
[0056] The simulation settings pane 76 enables an designer/coach to define simulation parameters, including a simulated period via fields corresponding to start and end drop down selections (e.g., in this case starting on day 1 and ending on day 28), and a field having a drop down menu for the simulation interval (e.g., in this example, 1 hours). Based on the simulated period and interval, the duration of the simulation can be estimated (based on time needed for each processing step). The designer/coach may shorten the simulated period or increase the interval to reduce the simulation duration. Upon the designer/coach selecting the run simulation button icon 78, the simulation is executed according to the logic shown in FIG. 3.
[0057] FIGS. 5A and 5B are screen diagrams that illustrate example interfaces 86 (86A, 86B) for providing feedback of an e-program simulation of the simulation system in accordance with an embodiment of the invention. It should be appreciated by one having ordinary skill in the art, in the context of the present disclosure, that the interfaces 86A and 86B depicted in FIGS. 5A-5B, respectively, are for illustration, and that in some embodiments, variations in the format and/or content may be
implemented, and hence are contemplated to be within the scope of the disclosure. Referring to FIG. 5A, the interface 86A provides a visualization for a designer/coach of an overview of the data generated per day and of the activated coaching rules.
Furthermore, the designer/coach gets an overview of the content delivered to the user for the simulation. Visualization of the delivered content can be done in several ways, including being rendered (via user interface module 40 (FIG. 3) in an app or web view, as perceived by the user. In the embodiment depicted in FIG. 5A, the interface 86A comprises a simulation settings pane 88, an output pane 90, a newsfeed pane 92, and activated coaching rules panes 94. The simulation settings pane 88 provides an overview of the simulation settings selected in the interface 68 of FIG. 4A, including the coaching plan (e.g., active habits, module walking), user profile (e.g., Lazy Leo), context (e.g., Netherlands, bad weather), simulation period (e.g., day 1 - day 28), and simulation interval (e.g., 1 hour).
[0058] The output pane 90 provides a summary of the simulation (e.g., days 1 -9 are shown in this example), including feedback of the behavior (e.g., steps taken each day), whether the target was reached for the day, and quantity of electronic
interventions (e.g., here the number of cards issued per day).
[0059] The newsfeed pane 92 provides a quick glance of the content of the electronic interventions issued for a selected day (e.g., day 4). In other words, the newsfeed shows the simulated messaging on an event, location, or time basis. For instance, at a simulated time of 7:00 on day 4, the electronic intervention included the card that states, "Good morning, Lazy Leo, your step target for today is 10,000. Let's make today an active day."
[0060] The activated coaching rules panes 94 illustrate the activated rules that triggered the electronic interventions. Continuing the example from 7:00 on day 4, the activated coaching rules is time based (e.g., at time 7:00, the rule triggers the electronic intervention). As noted by the other examples of the activated coaching rules panes 94, other triggers include those based on location, weather, behavior, progression relative to a goal/target, etc.
[0061] In some embodiments, the simulated data and coaching content may be presented in a different format. For instance, a visualization of the simulated output may be plotted on a timeline or on a geographical map. Referring to FIG. 5B, the interface 86B shows a timeline format with four distinct sections, including a simulated behavior section 95, a simulated location section 96, a simulated environment section 97, and a message feed section 98. Note that, as in other interfaces described herein, the format and/or content illustrated for the interface 86B depicted in FIG. 5B is for illustration, and that some embodiments may comprise visualizations of other formats and/or content. The simulated behavior section 95, simulated location section 96, simulated environment section 97, and message feed section 98 are all vertically aligned with a timeline 99 which, in this example, has half-hour increments, though not limited to this scale or increments. The behavior depicted in the simulated comprises step counts, with the quantity of steps for a given period or instance of the day indicated by columnar bars relative to a vertical axis 100 having units of step count. Note that other graphics may be used for feedback of the behavior (e.g., steps).
[0062] The simulated location section 96 is depicted using a horizontal bar 102 that comprises visually distinct sections corresponding to the change in simulated location over time. Distinctions may be achieved via color, boundary marks, patterns, among other mechanisms.
[0063] The simulated environment section 97 provides feedback using a horizontal bar 103 of the simulated environmental conditions (e.g., weather) for one or more periods of the simulation over the 24 hour time period of the timeline 99.
[0064] The message feed section 98 shows the type of electronic interventions that are issued over the 24 hour period of the timelines 99, and in this example, include target setting, arrive at work tips, lunchwalk tips, lunch walk feedback, sportclub feedback, day feedback, though other types of electronic interventions may be presented.
[0065] So for instance, at around 1 1 :30, the e-program simulation system provides an electronic intervention that includes a lunchwalk tip (e.g., to encourage the user to walk to lunch and then perhaps walk afterwards, including the return to work) while the user is at work and the weather is good. The simulated behavior section 95 suggests that the user heeded that advice, and walked to lunch at noon (e.g., 400 steps), and after lunch, on the return to the office, walked additional steps (e.g., 1000) at 1 :00, after which the system provided another electronic intervention (e.g., lunchwalk feedback, such as presenting the amount of steps, words of encouragement, comparisons to target, etc.). Note that the visualizations of the simulation outputs provide feedback of the behavior of the coaching program and/or performance of the coaching program, with such feedback influencing a user towards a given objective (e.g., more active) and/or for purposes of assessing and possibly correcting other parameters such as message frequency and/or timing.
[0066] FIGS. 4A-5B have illustrated various interfaces to enter input and visualize an output of an embodiment of an e-program simulation system, with primary emphasis on an designer/coach of the corresponding e-program simulation software 38 being an e-program designer (e.g., coaching program designer). However, in certain embodiments of an e-program simulation system, the designer/coach may be a coach (including trainer). For such coach-based implementations, reference is made to FIG. 6, which illustrates a logical flow diagram for steps achieved by an embodiment of the e-program simulation software 38A. In one embodiment, the e-program simulation software 38A shares the same or similar modules to those illustrated in FIG. 3. The e- program simulation software 38A comprises a simulation tool that enables the coach to run a simulation of different program options for a specific user (e.g., client), taking into account the user's target, as well as their personal characteristics, preferences and constraints. In one embodiment, the coach defines a client profile (104), based on client parameters (106) and (optionally) client data (108). In addition, the coach selects programs (1 10) to be compared and defines the simulation settings (1 12). Based on these settings, the selected programs are simulated for the client profile (1 14). The results of the simulations are compared and visualized (1 16). Based on the outcomes of the simulations (1 18), the personal coach can select the optimal program option for a particular client.
[0067] As indicated above, the e-program simulation software 38A may share the same or similar modules to those illustrated in FIG. 3. For instance, and with continued reference to FIGS. 3 and 6, the data generator module 52 is used to create synthetic user data 56, based on client characteristics defined via the user interface module 40 by the (personal) coach (and/or via data gathered during a calibration period). In the case of a specific user already having logged activities, the data generation models explained above in association with FIG. 3 may be further tuned so that the parameters explaining step behavior during office work more closely resembles the specific user. The data analytics module 58 is still used to analyze the generated data and create facts and events. The coaching engine module 60 likewise still executes the selected program options (e.g., coaching content 62 and coaching rules 64). The orchestrator module 66 enables the running of the programs at an accelerated pace (e.g., simulated), and activates other components similar to that shown in FIG. 3.
[0068] Attention is now directed to FIG. 7, which illustrates an example interface 120A for entering input for an e-program simulation system in accordance with an embodiment of the invention. In particular, the interface 120A is presented by the e- program simulation software 38A, and comprises a dashboard that enables a coach to perform several tasks. The interface 120 comprises an enter client parameters pane 122, an optional load client data pane 124, a select programs pane 126, and a simulation settings pane 128.
[0069] The enter client parameters pane 122 enables the coach to specify the client parameters via various drop down fields, including gender, age, target distance, target time, fitness level, training frequency, motivation level, and may also include (not shown) preferences and/or other characteristics. Note that there may be fewer, additional, and/or different parameters in some embodiments. If any objective health data of the user (e.g., client) is available (and the client has given the coach permission to use this data), the coach may load the data into the simulator via the load client data pane 124, which in one embodiment has fields for the entry of a client ID and password.
[0070] The select programs pane 126 provides the coach the ability to select which of one or more programs to simulate for comparison of their respective outputs.
[0071] The simulation settings pane 128 comprises drop down fields (though other mechanisms may be used as explained above) for the selection of simulation parameters (e.g., simulated period, simulation interval). In this example, the period is defined via fields for selection of a start day and end day. Based on the simulated period and interval, the duration of the simulation can be estimated (based on time needed for each processing step).
[0072] Upon completion of these fields, the coach may select a run simulation button icon 130, which provides a visualization of the results of the simulations performed for the selected programs (from select programs pane 126) according to the various conditions entered in the interface 120A. Referring to FIG. 8, shown is an example interface 120B that provides a visualization of feedback (e.g., the results of the simulation) based on the inputs to the interface 120A (FIG. 7) and operations of the e-program simulation software 38A (FIG. 6). In one embodiment, the interface 120B comprises a simulation settings pane 132 that provides a summary of the inputs entered/selected in the interface 120A, and a simulation results pane 134. The simulation results pane 134 provides a visualization of the results of the simulation for different selected programs. For instance, in the select programs pane 126 (FIG. 7), training programs A, C, and D were selected by the coach for simulation and
comparison. In the simulation results pane 134, the results of the selected programs A, C, and D are presented. In one embodiment, the results may be formatted as a spreadsheet with columns labeled program, target time, target reached, effort required, and rank. Simulated results for each of these columns are presented as rows for respective program selections A, C, and D. For instance, for program A, the target time is 43 minutes, an indication is provided that the targeted time has been met for the program, the effort required is labeled as high, and the program is ranked relative to the other programs for meeting the targeted objectives (2nd in this example). Note that program C is ranked last, since simulations of the program reveal that the targeted time has not been met. Note that variations in the interface 120B may be implemented, including other formats or additional, fewer, or different content representing the results in some embodiments.
[0073] In general, the interface 120B provides an overview of the results of each simulated program, and ranks them based on the results. If desired, the coach may view the simulation of a particular program in more detail, as described in association with FIGS. 5A-5B.
[0074] Having described various features of certain embodiments of an e- program simulation system, it should be appreciated that one embodiment of an e- program simulation method, denoted method 136 and illustrated in FIG. 9, comprises providing simulation data based on a user or group profile and one or more context parameters (138); performing a simulation of an electronic program based on the simulation data and one or more simulation parameters, the electronic program designed to influence a user towards an objective through issuance of electronic interventions (140); and providing an output of the simulation (142).
[0075] Any process descriptions or blocks in the flow diagram described above should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process, and alternate implementations are included within the scope of an embodiment of the present invention in which functions may be executed
substantially concurrently, and/or additional logical functions or steps may be added, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present invention.
[0076] As explain herein, when creating a digital coaching program, a designer or coach needs an efficient way to validate whether the coaching rules that he has defined will result in an effective and user-friendly coaching program, across different situations and for different types of users. Certain embodiments of an e-program simulation system enables the designer or coach to simulate coaching programs for different users or user types, which enables validation and improvement in coaching programs in quick iterations. In one embodiment, by means of a graphical user interface, the designer or coach can select the coaching program to be simulated, import historical user data (based on certain filters) or create synthetic user data, define context settings (e.g., location, weather), define other simulation settings (e.g., duration, simulation interval, delay in data availability). Based on these settings, the simulation is performed, and the results of the simulation are visualized. If the simulation run reveals errors or anomalies, the designer or coach can adapt the coaching program and run a new simulation.
[0077] In one embodiment, a claim to a simulation system is disclosed, the simulation system, comprising: a memory comprising instructions; and one or more processors configured to execute the instructions to: provide simulation data based on a user or group profile and one or more context parameters; perform a simulation of an electronic program based on the simulation data and one or more simulation parameters, the electronic program designed to influence a user towards an objective through issuance of electronic interventions; and provide an output of the simulation.
[0078] In one embodiment, a claim depending on the preceding system claim, wherein the one or more processors are further configured to execute the instructions to provide a graphical user interface comprising plural fields for receiving inputs corresponding to the user or group profile, the electronic program, the one or more context parameters, and the one or more simulation parameters.
[0079] In one embodiment, a claim depending on any one of the preceding system claims, wherein the context parameters include one or any combination of location or environmental data.
[0080] In one embodiment, a claim depending on any one of the preceding system claims, wherein the output comprises an input to a second system.
[0081] In one embodiment, a claim depending on any one of the preceding system claims, wherein the output comprises one or any combination of feedback of a behavior of the electronic program or performance of the electronic program.
[0082] In one embodiment, a claim depending on any one of the preceding system claims, wherein the feedback varies for one or any combination of different users, different user types, different simulation parameters, or different context parameters.
[0083] In one embodiment, a claim depending on any one of the preceding system claims, wherein the output comprises one or any combination of: activated rules; behavioral data generated per defined period; quantity of the issued electronic interventions; content of the issued electronic interventions; or an indication of whether targets are met.
[0084] In one embodiment, a claim depending on any one of the preceding system claims, wherein the simulation parameters include one or any combination of simulation period or simulation interval, and wherein a duration of the simulation is based on the simulation parameters.
[0085] In one embodiment, a claim depending on any one of the preceding system claims, wherein the simulation parameters are based on the output.
[0086] In one embodiment, a claim depending on any one of the preceding system claims, wherein the simulation parameters include one or any combination of simulation period or simulation interval, and wherein a duration of the simulation is based on the simulation parameters.
[0087] In one embodiment, a claim depending on any one of the preceding system claims, wherein the one or more processors are further configured to execute the instructions to provide the simulation data by accessing and using historical data, the historical data comprising population information having a correlation to the user profile and the context parameters.
[0088] In one embodiment, a claim depending on any one of the preceding system claims, wherein the population information comprises one or any combination of user characteristics, motivational level, goals, psychological determinants of behavior, monitored physiological or behavioral parameters, or inferred behavior from patterns.
[0089] In one embodiment, a claim depending on any one of the preceding system claims, wherein the one or more processors are further configured to execute the instructions to provide the simulation data by generating synthetic data, the generation based on application of one or more computational models, one or more data models, or a combination of the one or more computational models and the one or more data models.
[0090] In one embodiment, a claim depending on any one of the preceding system claims, wherein the output comprises electronic interventions issued at simulated issuance times with content based on simulated events. [0091] In one embodiment, a claim depending on any one of the preceding system claims, wherein the one or more processors are further configured to execute the instructions to perform the simulation faster than real time.
[0092] In one embodiment, a claim depending on any one of the preceding system claims, wherein the one or more processors are further configured to execute the instructions to: receive a target corresponding to the objective; and receive inputs corresponding to one or more additional electronic programs designed to influence the user towards the objective, wherein the simulation is performed for all of the electronic programs.
[0093] In one embodiment, a claim depending on any one of the preceding system claims, wherein the output comprises a comparison of all of the programs and associated performances or a ranking of all of the programs relative to the target.
[0094] In one embodiment, a claim depending on any one of the preceding system claims, further comprising a display device, wherein the one or more processors are further configured to execute the instructions to present a graphical user interface and the output as a visualization on the display device.
[0095] In one embodiment, a claim to a computer-implemented method is disclosed, the method comprising: providing simulation data based on a user or group profile and one or more context parameters; performing a simulation of an electronic program based on the simulation data and one or more simulation parameters, the electronic program designed to influence a user towards an objective through issuance of electronic interventions; and providing an output of the simulation.
[0096] In one embodiment, a claim to a non-transitory, computer readable medium is disclosed, the non-transitory, computer readable medium comprising instructions that, when executed by one or more processors, causes the one or more processors to: provide simulation data based on a user or group profile and one or more context parameters; perform a simulation of an electronic program based on the simulation data and one or more simulation parameters, the electronic program designed to influence a user towards an objective through issuance of electronic interventions; and provide an output of the simulation. [0097] While the invention has been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered illustrative or exemplary and not restrictive; the invention is not limited to the disclosed embodiments. Other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention, from a study of the drawings, the disclosure, and the appended claims. For instance, though the description above focuses on outputs of certain embodiments of an e- program simulation system as manifested as feedback (visualizations) (e.g., FIGS. 5A, 5B, 8), in some embodiments, the outputs may be inputs to a second system (whether logic in the same device, logic in other devices) in addition to or in lieu of the visualizations. For instance, the outputs of a given simulation may comprise a driver of another automated system. There may be applications where multiple simulations are run and the best result is selected based on a preset criteria, and the output of the simulation is given as an input to another system (coaching for example). In this scenario, a visualization of the simulated output is not present. In some applications, the output of the simulation may be used as a driver to another system, with or without visualization. Also, in some embodiments, the output of the simulation may be used for more than assessment by a designer/coach. The output of the simulation may be used to influence subsequently inputted parameters. For instance, the simulation period, simulation interval, and/or duration may be set, driven, and/or determined according to the outputs of the simulation. As one illustrative example, a designer/coach may wish to find out how long a simulation will take until the user reaches a set target, or until a defined amount of messages are generated, or until the user receives a particular event-driven message of interest (e.g., when he got an eating related message). In a sense, simulation uses its current output while determining the next simulation run, which approximates simulation with a feedback loop. Note that various combinations of the disclosed embodiments may be used, and hence reference to an embodiment or one embodiment is not meant to exclude features from that embodiment from use with features from other embodiments. In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality. A single processor or other unit may fulfill the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. A computer program may be stored/distributed on a suitable medium, such as an optical medium or solid-state medium supplied together with or as part of other hardware, but may also be distributed in other forms. Any reference signs in the claims should be not construed as limiting the scope.

Claims

CLAIMS At least the following is claimed:
1. A simulation system, comprising:
a memory comprising instructions; and
one or more processors configured to execute the instructions to:
provide simulation data based on a user or group profile and one or more context parameters;
perform a simulation of an electronic program based on the simulation data and one or more simulation parameters, the electronic program designed to influence a user towards an objective through issuance of electronic
interventions; and
provide an output of the simulation.
2. The simulation system of claim 1 , wherein the one or more processors are further configured to execute the instructions to provide a graphical user interface comprising plural fields for receiving inputs corresponding to the user or group profile, the electronic program, the one or more context parameters, and the one or more simulation parameters.
3. The simulation system of claim 1 , wherein the context parameters include one or any combination of location or environmental data.
4. The simulation system of claim 1 , wherein the output comprises an input to a second system.
5. The simulation system of claim 1 , wherein the output comprises one or any combination of feedback of a behavior of the electronic program or performance of the electronic program.
6. The simulation system of claim 5, wherein the feedback varies for one or any combination of different users, different user types, different simulation parameters, or different context parameters.
7. The simulation system of claim 1 , wherein the output comprises one or any combination of:
activated rules;
behavioral data generated per defined period;
quantity of the issued electronic interventions;
content of the issued electronic interventions; or
an indication of whether targets are met.
8. The simulation system of claim 7, wherein the simulation parameters include one or any combination of simulation period or simulation interval, and wherein a duration of the simulation is based on the simulation parameters.
9. The simulation system of claim 8, wherein the simulation parameters are based on the output.
10. The simulation system of claim 1 , wherein the simulation parameters include one or any combination of simulation period or simulation interval, and wherein a duration of the simulation is based on the simulation parameters.
1 1 . The simulation system of claim 1 , wherein the one or more processors are further configured to execute the instructions to provide the simulation data by accessing and using historical data, the historical data comprising population information having a correlation to the user profile and the context parameters.
12. The simulation system of claim 1 1 , wherein the population information comprises one or any combination of user characteristics, motivational level, goals, psychological determinants of behavior, monitored physiological or behavioral parameters, or inferred behavior from patterns.
13. The simulation system of claim 1 , wherein the one or more processors are further configured to execute the instructions to provide the simulation data by generating synthetic data, the generation based on application of one or more computational models, one or more data models, or a combination of the one or more computational models and the one or more data models.
14. The simulation system of claim 1 , wherein the output comprises electronic interventions issued at simulated issuance times with content based on simulated events.
15. The simulation system of claim 1 , wherein the one or more processors are further configured to execute the instructions to perform the simulation faster than real time.
16. The simulation system of claim 1 , wherein the one or more processors are further configured to execute the instructions to:
receive a target corresponding to the objective; and
receive inputs corresponding to one or more additional electronic programs designed to influence the user towards the objective, wherein the simulation is performed for all of the electronic programs.
17. The simulation system of claim 16, wherein the output comprises a comparison of all of the programs and associated performances or a ranking of all of the programs relative to the target.
18. The simulation system of claim 1 , further comprising a display device, wherein the one or more processors are further configured to execute the instructions to present a graphical user interface and the output as a visualization on the display device.
19. A computer-implemented method, comprising:
providing simulation data based on a user or group profile and one or more context parameters;
performing a simulation of an electronic program based on the simulation data and one or more simulation parameters, the electronic program designed to influence a user towards an objective through issuance of electronic
interventions; and
providing an output of the simulation.
20. A non-transitory, computer readable medium comprising instructions that, when executed by one or more processors, causes the one or more processors to:
provide simulation data based on a user or group profile and one or more context parameters;
perform a simulation of an electronic program based on the simulation data and one or more simulation parameters, the electronic program designed to influence a user towards an objective through issuance of electronic
interventions; and
provide an output of the simulation.
PCT/EP2018/075409 2017-09-29 2018-09-20 Simulation system to validate electronic programs Ceased WO2019063392A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762565371P 2017-09-29 2017-09-29
US62/565,371 2017-09-29

Publications (1)

Publication Number Publication Date
WO2019063392A1 true WO2019063392A1 (en) 2019-04-04

Family

ID=63667922

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2018/075409 Ceased WO2019063392A1 (en) 2017-09-29 2018-09-20 Simulation system to validate electronic programs

Country Status (1)

Country Link
WO (1) WO2019063392A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010016839A1 (en) * 1998-12-22 2001-08-23 Mark Stewart Nichols System, method and article of manufacturing for a runtime program analysis tool for a simulation engine
WO2015103442A1 (en) 2014-01-02 2015-07-09 Sensoria Inc. Methods and systems for data collection, analysis, formulation and reporting of user-specific feedback
US20170169190A1 (en) * 2015-12-10 2017-06-15 Koninklijke Philips N.V. Health coaching system based on user simulation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010016839A1 (en) * 1998-12-22 2001-08-23 Mark Stewart Nichols System, method and article of manufacturing for a runtime program analysis tool for a simulation engine
WO2015103442A1 (en) 2014-01-02 2015-07-09 Sensoria Inc. Methods and systems for data collection, analysis, formulation and reporting of user-specific feedback
US20170169190A1 (en) * 2015-12-10 2017-06-15 Koninklijke Philips N.V. Health coaching system based on user simulation

Similar Documents

Publication Publication Date Title
KR102571097B1 (en) Wellness support groups for mobile devices
US9430617B2 (en) Content suggestion engine
EP3455821B1 (en) Automatically determining and responding to user satisfaction
CN111079006B (en) Message pushing method and device, electronic equipment and medium
US20150118657A1 (en) Creating a workout routine in online and mobile networking environments
US11791033B1 (en) System, method, and program product for generating and providing simulated user absorption information
US20170200112A1 (en) Managing a set of shared tasks using biometric data
US10902735B2 (en) Education reward system and method
CA2770014A1 (en) Method and system of delivering an interactive and dynamic multi-sport training program
Son Toward a proposed framework for mood recognition using LSTM Recurrent Neuron Network
WO2016151494A1 (en) Environment-based pain prediction wearable
Dharia et al. PRO-Fit: Exercise with friends
US20180249948A1 (en) Providing activity information in relation to interactive user behavior
WO2019063392A1 (en) Simulation system to validate electronic programs
JP2020046881A (en) Device, method, and program for processing information
Ho et al. Integrating mobile devices with cohort analysis into personalised weather-based healthcare
US20150128057A1 (en) Remote Monitoring an Individual's Adherence to a Personalized Schedule
CN114969491A (en) Method and device for recommending object, computer equipment and storage medium
JP7194798B2 (en) Information processing device, information processing method, and information processing program
US10929817B2 (en) Scheduling programming events for users classified as having similar medical conditions utilizing natural language processing
JP2020046889A (en) Information processing apparatus, information processing method, and information processing program
JP7259110B2 (en) Information processing device, information processing method, and information processing program
CN115036012B (en) Personal health monitoring reminder method and electronic device
US20240379209A1 (en) Automated schedule generation with content filling
JP7061542B2 (en) Information processing equipment, information processing methods, and information processing programs

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: 18773430

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: 18773430

Country of ref document: EP

Kind code of ref document: A1