IP Library Granted Patent US 9,870,451
Granted Patent B1
US 9,870,451 · App. 14/695,542 · Granted Jan 16, 2018

Dynamic management, assembly, and presentation of web-based content

Inventors: Nimesh Patel (Chicago, IL); Greg Blew (Glen Ellyn, IL); Paul Landes (Oak Park, IL)
Assignee: Emmi Solutions, LLC
G06F19/3487H04L67/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,870,451
App. No.
14/695,542
Granted
Jan 16, 2018
Kind
B1
Abstract

In a method for seamlessly providing health-related information, a patient presentation is identified. Each of at least some presentation nodes is selectively activated or not activated for a particular instance of the presentation, and corresponds to respective content assets to be presented if the node is activated. A first node sequence to be activated for an instance of the presentation is determined. First content to be at least partially presented during a first portion of the instance is identified based on the first node sequence, and sent to a client device. A message indicating when the client device is ready for additional content is received, and a second node sequence to be activated for the instance is determined. Second content that is to be at least partially presented during a second portion of the instance is identified based on the second node sequence, and sent to the client device.

Claims (80)

1. A method for seamlessly providing health-related information to an end-user, the method comprising:

identifying, at one or more servers, a patient presentation for the end-user, the patient presentation being associated with (i) a set of rules and (ii) a plurality of nodes, wherein each of at least some of the plurality of nodes

is selectively activated, or selectively not activated, for a particular instance of the patient presentation in accordance with the set of rules when operating upon a set of facts, and

corresponds to one or more respective content assets that are to be presented to the end-user if and only if the node is activated;

determining, at the one or more servers, a first node sequence to be activated for a first instance of the patient presentation, the first node sequence including a first subset of the plurality of nodes;

identifying, at the one or more servers and based on at least the first node sequence, first content that is to be at least partially presented to the end-user during a first portion of the first instance of the patient presentation, the first content including the respective content assets that correspond to the first subset of the plurality of nodes;

sending, from the one or more servers, the first content to a client device via a network;

receiving, at the one or more servers and from the client device, a message indicating when the client device is ready for additional content of the patient presentation;

determining, at the one or more servers and using at least (i) a first rule of the set of rules and (ii) a first fact of the set of facts, a second node sequence to be activated for the first instance of the patient presentation, the second node sequence including a second subset of the plurality of nodes;

identifying, at the one or more servers and based on at least the second node sequence, second content that is to be at least partially presented to the end-user during a second portion of the first instance of the patient presentation, the second content including at least a portion of the respective content assets that correspond to the second subset of the plurality of nodes; and

sending, from the one or more servers and after receiving the message, the second content to the client device via the network.

2. The method of claim 1 , wherein:

identifying first content that is to be at least partially presented to the end-user includes identifying first content that includes (i) the respective content assets that correspond to the first subset of the plurality of nodes, (ii) the respective content asset or assets that correspond to at least a starting node of the second node sequence, and (iii) the respective content asset or assets that correspond to at least a starting node of a third node sequence;

determining a second node sequence to be activated for the first instance of the patient presentation includes determining that the third node sequence is not to be activated for the first instance of the patient presentation; and

identifying second content that is to be at least partially presented to the end-user includes identifying second content that (i) includes a portion of the respective content assets that correspond to the second subset of the plurality of nodes, but (ii) omits at least the respective content asset or assets that correspond to the starting node of the second node sequence.

3. The method of claim 2 , wherein:

determining a first node sequence to be activated for a first instance of the patient presentation includes determining a first node sequence that ends at a decision point at which one or more conditions are evaluated, the starting node of the second node sequence corresponding to an evaluation of the one or more conditions producing a first result and the starting node of the third node sequence corresponding to the evaluation of the one or more conditions producing a second result.

4. The method of claim 1 , wherein:

sending the first content to the client device further includes sending first HTML5 instructions to the client device, the first HTML5 instructions including instructions for presenting the first content at the client device; and

sending the second content to the client device further includes sending second HTML5 instructions to the client device, the second HTML5 instructions including instructions for presenting the second content at the client device.

5. The method of claim 1 , wherein:

determining a first node sequence to be activated for a first instance of the patient presentation includes determining the first node sequence at a rules engine server of the one or more servers;

identifying first content that is to be at least partially presented to the end-user includes identifying the first content at a content server of the one or more servers, the content server being a different one of the one or more servers than the rules engine server;

sending the first content to the client device includes sending the first content from the content server to the client device;

receiving a message indicating when the client device is ready for additional content includes receiving the message at the content server;

determining a second node sequence to be activated for the first instance of the patient presentation includes determining the second node sequence at the rules engine server;

identifying second content that is to be at least partially presented to the end-user includes identifying the second content at the content server; and

sending the second content to the client device includes sending the second content from the content server to the client device.

6. The method of claim 1 , wherein the first subset of the plurality of nodes includes a node that, when activated, causes the client device to present a user prompt to the end-user, and wherein the method further comprises:

receiving, at the one or more servers from the client device, first data indicative of an input made by the end-user at the client device in response to the user prompt; and

prior to determining the second node sequence, defining, by the one or more servers, at least the first fact according to the input made by the end-user.

7. The method of claim 1 , wherein determining the second node sequence to be activated for the first instance of the patient presentation is performed by the one or more servers prior to receiving the message indicating when the client device is ready for additional content.

8. The method of claim 1 , wherein one or both of:

identifying first content includes identifying first content that includes a first set of visual and audio elements; and

identifying second content includes identifying second content that includes a second set of visual and audio elements.

9. The method of claim 1 , wherein sending the first content to a client device includes sending the first content to a mobile device.

10. A system for seamlessly providing health-related information to an end-user, the system comprising:

one or more processors;

one or more memories storing instructions that, when executed by the one or more processors, cause the one or more processors to

identify a patient presentation for the end-user, the patient presentation being associated with (i) a set of rules and (ii) a plurality of nodes, wherein each of at least some of the plurality of nodes

is selectively activated, or selectively not activated, for a particular instance of the patient presentation in accordance with the set of rules when operating upon a set of facts, and

corresponds to one or more respective content assets that are to be presented to the end-user if and only if the node is activated,

determine a first node sequence to be activated for a first instance of the patient presentation, the first node sequence including a first subset of the plurality of nodes,

identify, based on at least the first node sequence, first content that is to be at least partially presented to the end-user during a first portion of the first instance of the patient presentation, the first content including the respective content assets that correspond to the first subset of the plurality of nodes,

send the first content to a client device via a network,

receive from the client device a message indicating that the client device is ready for additional content of the patient presentation,

determine, using at least (i) a first rule of the set of rules and (ii) a first fact of the set of facts, a second node sequence to be activated for the first instance of the patient presentation, the second node sequence including a second subset of the plurality of nodes,

identify, based on at least the second node sequence, second content that is to be at least partially presented to the end-user during a second portion of the first instance of the patient presentation, the second content including at least a portion of the respective content assets that correspond to the second subset of the plurality of nodes, and

send the second content to the client device via the network.

11. The system of claim 10 , wherein:

the identified first content includes (i) the respective content assets that correspond to the first subset of the plurality of nodes, (ii) the respective content asset or assets that correspond to at least a starting node of the second node sequence, and (iii) the respective content asset or assets that correspond to at least a starting node of a third node sequence;

the instructions cause the one or more processors to, in addition to determining a second node sequence to be activated for the first instance of the patient presentation, determine that the third node sequence is not to be activated for the first instance of the patient presentation; and

the identified second content (i) includes a portion of the respective content assets that correspond to the second subset of the plurality of nodes, but (ii) omits at least the respective content asset or assets that correspond to the starting node of the second node sequence.

12. The system of claim 11 , wherein:

the first node sequence ends at a decision point at which one or more conditions are evaluated;

the starting node of the second node sequence corresponds to an evaluation of the one or more conditions producing a first result; and

the starting node of the third node sequence corresponding to the evaluation of the one or more conditions producing a second result.

13. The system of claim 10 , wherein the instructions are configured to:

send first HTML5 instructions to the client device with the first content, the first HTML5 instructions including instructions for presenting the first content at the client device; and

send second HTML5 instructions to the client device with the second content, the second HTML5 instructions including instructions for presenting the second content at the client device.

14. The system of claim 10 , wherein:

the first subset of the plurality of nodes includes a node that, when activated, causes the client device to present a user prompt to the end-user; and

the instructions further cause the one or more processors to

receive, from the client device, first data indicative of an input made by the end-user at the client device in response to the user prompt, and

prior to determining the second node sequence, define at least the first fact according to the input made by the end-user.

15. The system of claim 10 , wherein one or both of:

the first content includes a first set of visual and audio elements; and

the second content includes a second set of visual and audio elements.

16. A system comprising:

a client device associated with an end-user;

a first data storage storing a knowledge base that includes a set of rules and a set of facts both associated with a patient presentation;

a second data storage storing a plurality of content assets for a plurality of nodes associated with the patient presentation, wherein each of at least some of the plurality of nodes (i) is selectively activated, or selectively not activated, for a particular presentation of the patient presentation in accordance with the set of rules when operating upon the set of facts, and (ii) corresponds to one or more respective content assets, of the plurality of content assets, that are to be presented to the end-user if and only if the node is activated; and

one or more servers configured to (i) determine a first node sequence to be activated for a first instance of the patient presentation, the first node sequence including a first subset of the plurality of nodes, (ii) identify, based on at least the first node sequence, first content that is to be at least partially presented to the end-user during a first portion of the first instance of the patient presentation, the first content including the respective content assets that correspond to the first subset of the plurality of nodes, and (iii) send the first content to the client device via a network,

wherein the client device is configured to (i) assemble the first content during the first instance of the patient presentation, (ii) present at least a portion of the assembled first content to the end-user, and (iii) prior to an entirety of the portion of the first content being presented to the end-user, send the one or more servers a message indicating when the client device is ready for additional content of the patient presentation,

wherein the one or more servers are further configured to, after receiving the message indicating when the client device is ready for additional content, (i) determine, using at least a first rule of the set of rules and a first fact of the set of facts, a second node sequence to be activated for the first instance of the patient presentation, the second node sequence including a second subset of the plurality of nodes, (ii) identify, based on at least the second node sequence, second content that is to be at least partially presented to the end-user during a second portion of the first instance of the patient presentation, the second content including at least a portion of the respective content assets that correspond to the second subset of the plurality of nodes, and (iii) send the second content to the client device via the network, and

wherein the client device is further configured to (i) assemble the second content during the first instance of the patient presentation, and (ii) present at least a portion of the assembled second content to the end-user.

17. The system of claim 16 , wherein the client device is a mobile device having a display device, a speaker, and one or more input devices.

18. The system of claim 16 , wherein the client device is configured to present at least the portion of the first content, and at least the portion of the second content, to the end-user via an HTML5-capable web browser.

19. The system of claim 16 , wherein the client device is configured to execute a multi-thread process, the multi-thread process including (i) a first thread for producing content, the first thread generating the message indicating when the client device is ready for additional content, and (ii) a second thread for consuming content, the second thread assembling the first content and the second content substantially in real-time as the first content and the second content, respectively, are received by the client device.

20. The system of claim 16 , wherein the message indicating when the client device is ready for additional content includes either (i) a message requesting additional content, or (ii) a message causing the one or more servers to refrain from sending additional content for a predetermined time period.

Assignments (5)
MERGER Recorded Jan 5, 2026
From: EMMI SOLUTIONS, LLC
To: UPTODATE, INC.
Reel/Frame 073367/0176 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2016
From: WELLS FARGO BANK, NATIONAL ASSOCIATION ("AGENT")
To: EMMI SOLUTIONS, LLC
Reel/Frame 040466/0894 →
SECURITY INTEREST Recorded Nov 2, 2015
From: EMMI SOLUTIONS, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 036936/0533 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2015
From: LANDES, PAUL
To: EMMI SOLUTIONS, LLC
Reel/Frame 035628/0480 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2015
From: BLEW, GREG; PATEL, NIMESH
To: EMMI SOLUTIONS, LLC
Reel/Frame 035537/0033 →
Continuity (1)
Provisional Application 62084439 · Nov 25, 2014