WO2019063392A1 - Simulation system to validate electronic programs - Google Patents
Simulation system to validate electronic programs Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H20/00—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
- G16H20/30—ICT 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
Claims
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)
| 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 |
-
2018
- 2018-09-20 WO PCT/EP2018/075409 patent/WO2019063392A1/en not_active Ceased
Patent Citations (3)
| 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 |