# US 12,217,036 B2 · Automating interactions for health data collection and patient engagement

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,217,036 B2
- Document ID: US12217036B2
- Status: Granted
- Kind: B2
- Application number: 17/947,064
- Filed: 2022-09-16
- Published: 2023-01-19
- Granted: 2025-02-04
- Earliest claimed: 2016-02-10
- Assignees: VigNet Incorporated
- Applicants: VigNet Incorporated
- Inventors: Praduman Jain; Dave Klein; Neeta Jain; Yue Cao
- Web page: https://patentgrep.com/patent/US12217036B2

## CPC

- G06F 8/60: Software deployment
- G06F 3/04817: using icons (graphical or visual programming using iconic symbols G06F8/34)
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 8/61: Installation
- G16H 20/30: relating to physical therapies or activities, e.g. physiotherapy, acupressure or exercising
- G16H 40/20: for the management or administration of healthcare resources or facilities, e.g. managing hospital staff or surgery rooms
- G16H 40/63: for local operation
- G16H 40/67: for remote operation
- G16H 80/00: ICT specially adapted for facilitating communication between medical practitioners or patients, e.g. for collaborative diagnosis, therapy or health monitoring
- H04L 67/01: Protocols
- H04L 67/025: for remote control or remote monitoring of applications
- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L 67/125: involving control of end-device applications over a network
- H04L 67/306: User profiles
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L 67/53: using third party service providers
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- G06F 8/38: for implementing user interfaces
- G16H 10/20: for electronic clinical trials or questionnaires
- G16H 10/60: for patient-specific data, e.g. for electronic patient records
- G16H 40/40: for the management of medical equipment or devices, e.g. scheduling maintenance or upgrades
- G16H 50/20: for computer-aided diagnosis, e.g. based on medical expert systems
- H04L 41/0803: Configuration setting
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G16H: HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In some implementations, a system enables an administrator to customize a set of rules to dynamically adjust the configuration and output of an application provided to users. A configuration interface for setting rules that dynamically adjust output of an application is provided. Data indicating one or more rules are received through the configuration interface. Activity data indicating user interaction with the application or sensor data for at least some of a plurality of users of the application are then received from multiple client devices. A determination relating to the activity data satisfying at least one condition or trigger is then made. Instructions to adjust output of the application according to one or more system actions of the one or more rules are then communicated to client devices associated with the users in the first subset of the plurality of users.

## Claims

### Claim 1

A method performed by one or more computers, the method comprising:
providing, by the one or computers, a configuration interface for setting rules to adjust output of an application provided to a plurality of users, the configuration interface permitting the rules to be specified using combinations of triggers, conditions, and actions;
receiving, by the one or more computers through the configuration interface, data indicating one or more rules that adjust behavior of the application, including receiving, for each of the one or more rules, data that specifies (i) at least one trigger or condition, and (ii) one or more system actions to be performed in response to a satisfaction of the at least one trigger or condition;
receiving, by the one or more computers and from a client device of a user, activity data indicating (i) user interaction with the application by the user or (ii) sensor data collected for the user of the application;
in response to receiving the activity data, evaluating, by the one or more computers, applicability of rules for the application based on the activity data for the user, including:
determining that a first condition of a first rule for the application is satisfied based on the activity data for the user, wherein the first rule is configured to trigger processing of a second rule for the application when the first condition is satisfied; and
in response to determining that the first condition of the first rule is satisfied, processing the second rule to determine whether a second condition of the second rule of the application is satisfied based on the activity data for the user; and
adjusting, by the one or more computers, interaction of the application with the user through the client device to selectively perform an action specified by the second rule based on whether the second condition of the second rule is satisfied based on the activity data for the user.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving, by the one or more computers, activity data for each of plurality of users;
determining, by the one or more computers, that the activity data for a first subset of the plurality of the users satisfies the at least one trigger or condition and that the activity data for a second subset of the plurality of the users does not satisfy the at least one trigger or condition; and
communicating, by the one or more computers, with client devices associated with the users in the first subset to adjust output of the application according to the one or more system actions of the one or more rules, while not adjusting the output of the application for the users in the second subset based on the one or more rules.

### Claim 3 (depends on 2)

The method of claim 2, wherein:
the system action specified by the rule comprises an action to provide content for display in the application; and
communicating with client devices associated with the users in the first subset comprises providing, by the one or more computers and to the client devices associated with users in the first subset, the content specified by the rule to the client devices associated with the users in the first subset.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
obtaining, by the one or more computers, data indicating historical information indicating the satisfaction of triggers or conditions over a particular period of time; and
providing, on the configuration interface, a user-selectable option on the configuration interface to adjust one or more existing rules.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
obtaining, by the one or more computers, data indicating historical information indicating received activity data that has satisfied one or more triggers or conditions over a particular period of time;
providing, on the configuration interface, a user-selectable list of preconfigured rules that are identified based on the received activity data; and
adding, based on a user selection from the user-selectable list, a particular rule of the preconfigured rules to a program provided through the application.

### Claim 6 (depends on 1)

The method of claim 1, wherein:
the application provides access to a plurality of programs that each provide different sets of interactive content through the application; and
the rules that adjust behavior of the application comprise (i) one or more global rules that are associated with each of the plurality of programs and (ii) one or more program rules associated with only a particular program of the plurality of programs.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
providing, by the one or more computers and for output on the configuration interface, a user-selectable option to:
(i) adjust a collection of rules associated with a particular program that includes at least one rule, or
(ii) adjust the combination of the triggers, conditions, and actions for the at least one rule.

### Claim 8 (depends on 6)

The method of claim 6, wherein:
the configuration interface includes a set of filters that each provide selections of program criteria for a particular program; and
providing the configuration interface for setting rules that adjust output of the application comprises providing a user-selectable list of preconfigured rules that are associated with the selections of program criteria for the particular program.

### Claim 9 (depends on 6)

The method of claim 6, wherein:
the configuration interface is provided to a plurality of administrators that are each associated with a different organization; and
the one or more rules are each associated with respective programs provided by the different organizations.

### Claim 10 (depends on 9)

The method of claim 9, wherein the configuration interface provided to the plurality of administrators is associated with a single application provided to a plurality of users.

### Claim 11 (depends on 1)

The method of claim 1, wherein the application has a set of rules in which:
one or more of the rules specifies for a server system to perform an action in response to a corresponding trigger or condition; and
one or more of the rules specifies for a client device to perform an action in response to a corresponding trigger or condition.

### Claim 12 (depends on 1)

The method of claim 1, wherein the rules for the application are configured so that individual rules interact with one another to configure interactions of the application with users, and wherein carrying out the system action for at least one of the rules comprises creating an event that is designated as a trigger for processing another of the rules.

### Claim 13 (depends on 1)

The method of claim 1, wherein the rules for the application include (i) one or more rules that are configured to be processed by a server system to adjust interactions presented to users and (ii) one or more rules that are configured to be processed by client devices to adjust interactions presented to users.

### Claim 14

A system comprising:
one or more computers; and
one or more storage devices storing instructions that, when executed by the one or more computers, cause the one or more computers to perform operations comprising:
providing, by the one or computers, a configuration interface for setting rules that adjust output of an application provided to a plurality of users, the configuration interface permitting the rules to be specified using combinations of triggers, conditions, and actions;
receiving, by the one or more computers through the configuration interface, data indicating one or more rules that adjust behavior of the application, including receiving, for each of the one or more rules, data that specifies (i) at least one trigger or condition, and (ii) one or more system actions to be performed in response to a satisfaction of the at least one trigger or condition;
receiving, by the one or more computers and from a client device of a user, activity data indicating (i) user interaction with the application by the user or (ii) sensor data collected for the user of the application;
in response to receiving the activity data, evaluating, by the one or more computers, applicability of rules for the application based on the activity data for the user, including:
determining that a first condition of a first rule for the application is satisfied based on the activity data for the user, wherein the first rule is configured to trigger processing of a second rule for the application when the first condition is satisfied; and
in response to determining that the first condition of the first rule is satisfied, processing the second rule to determine whether a second condition of the second rule of the application is satisfied based on the activity data for the user; and
adjusting, by the one or more computers, interaction of the application with the user through the client device to selectively perform an action specified by the second rule based on whether the second condition of the second rule is satisfied based on the activity data for the user.

### Claim 15 (depends on 14)

The system of claim 14, wherein the operations further comprise:
receiving, by the one or more computers, activity data for each of plurality of users;
determining, by the one or more computers, that the activity data for a first subset of the plurality of the users satisfies the at least one trigger or condition and that the activity data for a second subset of the plurality of the users does not satisfy the at least one trigger or condition; and
communicating, by the one or more computers, with client devices associated with the users in the first subset to adjust output of the application according to the one or more system actions of the one or more rules, while not adjusting the output of the application for the users in the second subset based on the one or more rules.

### Claim 16 (depends on 12)

The system of claim 12, wherein:
the system action specified by the rule comprises an action to provide content for display in the application; and
communicating with client devices associated with the users in the first subset comprises providing, by the one or more computers and to the client devices associated with users in the first subset, the content specified by the rule to the client devices associated with the users in the first subset.

### Claim 17 (depends on 14)

The system of claim 14, wherein the operations further comprise:
obtaining, by the one or more computers, data indicating historical information indicating the satisfaction of triggers or conditions over a particular period of time; and
providing, on the configuration interface, a user-selectable option on the configuration interface to adjust one or more existing rules.

### Claim 18

A non-transitory computer-readable storage device encoded with computer program instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:
providing, by the one or more computers, a configuration interface for setting rules that adjust output of an application provided to a plurality of users, the configuration interface permitting the rules to be specified using combinations of triggers, conditions, and actions;
receiving, by the one or more computers through the configuration interface, data indicating one or more rules that adjust behavior of the application, including receiving, for each of the one or more rules, data that specifies (i) at least one trigger or condition, and (ii) one or more system actions to be performed in response to a satisfaction of the at least one trigger or condition;
receiving, by the one or more computers and from a client device of a user, activity data indicating (i) user interaction with the application by the user or (ii) sensor data collected for the user of the application;
in response to receiving the activity data, evaluating, by the one or more computers, applicability of rules for the application based on the activity data for the user, including:
determining that a first condition of a first rule for the application is satisfied based on the activity data for the user, wherein the first rule is configured to trigger processing of a second rule for the application when the first condition is satisfied; and
in response to determining that the first condition of the first rule is satisfied, processing the second rule to determine whether a second condition of the second rule of the application is satisfied based on the activity data for the user; and
adjusting, by the one or more computers, interaction of the application with the user through the client device to selectively perform an action specified by the second rule based on whether the second condition of the second rule is satisfied based on the activity data for the user.

### Claim 19 (depends on 18)

The non-transitory computer-readable storage device of claim 18, wherein the operations further comprise:
receiving, by the one or more computers, activity data for each of plurality of users;
determining, by the one or more computers, that the activity data for a first subset of the plurality of the users satisfies the at least one trigger or condition and that the activity data for a second subset of the plurality of the users does not satisfy the at least one trigger or condition; and
communicating, by the one or more computers, with client devices associated with the users in the first subset to adjust output of the application according to the one or more system actions of the one or more rules, while not adjusting the output of the application for the users in the second subset based on the one or more rules.

### Claim 20 (depends on 19)

The non-transitory computer-readable storage device of claim 19, wherein:
the system action specified by the rule comprises an action to provide content for display in the application; and
communicating with client devices associated with the users in the first subset comprises providing, by the one or more computers and to the client devices associated with users in the first subset, the content specified by the rule to the client devices associated with the users in the first subset.
