U.S. patent application number 13/925229 was filed with the patent office on 2013-12-26 for method and system to manipulate multiple selections against a population of elements.
This patent application is currently assigned to Quintiles Transnational Corp.. The applicant listed for this patent is Wade Kenneth Brant, Aaron Naas, Gavin Nichols. Invention is credited to Wade Kenneth Brant, Aaron Naas, Gavin Nichols.
Application Number | 20130342542 13/925229 |
Document ID | / |
Family ID | 49774051 |
Filed Date | 2013-12-26 |
United States Patent
Application |
20130342542 |
Kind Code |
A1 |
Brant; Wade Kenneth ; et
al. |
December 26, 2013 |
Method and System To Manipulate Multiple Selections Against a
Population of Elements
Abstract
Methods and systems to manipulate multiple selections against a
population of elements are disclosed. One method may include:
method for manipulating selections against a population of
elements, the method comprising: receiving a plurality of data
sets; determining one or more overlaps, each overlap comprising a
common region between at least two data sets in the plurality of
data sets; displaying a plurality of bars, each bar corresponding
to a data set from the plurality of data sets; and for each of the
one or more overlaps, displaying one or more elements in at least
one of the plurality of bars, each element corresponding to a size
of the common region between the at least two data sets.
Inventors: |
Brant; Wade Kenneth;
(Greenwood, IN) ; Naas; Aaron; (Durham, NC)
; Nichols; Gavin; (Raleigh, NC) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Brant; Wade Kenneth
Naas; Aaron
Nichols; Gavin |
Greenwood
Durham
Raleigh |
IN
NC
NC |
US
US
US |
|
|
Assignee: |
Quintiles Transnational
Corp.
Durham
NC
|
Family ID: |
49774051 |
Appl. No.: |
13/925229 |
Filed: |
June 24, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61663292 |
Jun 22, 2012 |
|
|
|
61663057 |
Jun 22, 2012 |
|
|
|
61663299 |
Jun 22, 2012 |
|
|
|
61663398 |
Jun 22, 2012 |
|
|
|
61663219 |
Jun 22, 2012 |
|
|
|
61663357 |
Jun 22, 2012 |
|
|
|
61663216 |
Jun 22, 2012 |
|
|
|
Current U.S.
Class: |
345/440.2 |
Current CPC
Class: |
G06T 11/206 20130101;
G06F 16/345 20190101; G06F 40/166 20200101; G16H 10/20 20180101;
G06F 3/0484 20130101; G06F 16/248 20190101; G06F 16/211 20190101;
G16H 40/63 20180101; G16H 10/60 20180101; G06F 17/10 20130101 |
Class at
Publication: |
345/440.2 |
International
Class: |
G06T 11/20 20060101
G06T011/20 |
Claims
1. A method for manipulating selections against a population of
elements, the method comprising: receiving a plurality of data
sets; determining one or more overlaps, each overlap comprising a
common region between at least two data sets in the plurality of
data sets; displaying a plurality of bars, each bar corresponding
to a data set from the plurality of data sets; and for each of the
one or more overlaps, displaying one or more elements in at least
one of the plurality of bars, each element corresponding to a size
of the common region between the at least two data sets.
2. The method of claim 1, wherein the one or more elements
comprises a color coding.
3. The method of claim 1, wherein the one or more elements
comprises segmenting the one or more bars.
4. The method of claim 1, wherein the one or more elements
comprises a textual identification of the overlaps.
5. The method of claim 1, wherein the plurality of data sets
comprise data associated with patient information
6. The method of claim 5, wherein the patient information comprises
one or more of: age, sex, race, prescription information, past
disease data, lifestyle data, residence data, employment data,
insurance data, or family data.
7. The method of claim 1, wherein the plurality of data sets
comprise data associated with one or more of: shopping data, career
and employment data, relationship information, or data from a
social networking site.
8. The method of claim 1, wherein one or more of the plurality of
data sets comprise an inclusion.
9. The method of claim 1, wherein one or more of the plurality of
data sets comprise an exclusion.
10. A non-transitory computer readable medium comprising program
code, which when executed by a processor is configured to cause the
processor to: receive a plurality of data sets; determine one or
more overlaps, each overlap comprising a common region between at
least two data sets in the plurality of data sets; display a
plurality of bars, each bar corresponding to a data set from the
plurality of data sets; and for each of the one or more overlaps,
display one or more elements in at least one of the plurality of
bars, each element corresponding to a size of the common region
between the at least two data sets.
11. The computer readable medium of claim 10, wherein the one or
more elements comprises a color coding.
12. The computer readable medium of claim 10, wherein the one or
more elements comprise segmenting the one or more bars.
13. The computer readable medium of claim 10, wherein the one or
more elements comprises a textual identification of the
overlaps.
14. The computer readable medium of claim 10, wherein the plurality
of data sets comprise data associated with patient information
15. The computer readable medium of claim 14, wherein the patient
information comprises one or more of: age, sex, race, prescription
information, past disease data, lifestyle data, residence data,
employment data, insurance data, or family data.
16. The computer readable medium of claim 10, wherein the plurality
of data sets comprise data associated with one or more of: shopping
data, career and employment data, relationship information, or data
from a social networking site.
17. The computer readable medium of claim 10, wherein one or more
of the plurality of data sets comprise an inclusion.
18. The computer readable medium of claim 10, wherein one or more
of the plurality of data sets comprise an exclusion.
19. A system for manipulating selections against a population of
elements, the method comprising: an interface configured to receive
a plurality of data sets; a display configured to output an image
to a user; a processor coupled to the interface and the display,
the processor configured to: determine one or more overlaps, each
overlap comprising a common region between at least two data sets
in the plurality of data sets; transmit a display signal to the
display, the display signal configured to display a plurality of
bars, each bar corresponding to a data set from the plurality of
data sets; and for each of the one or more overlaps, display one or
more elements in at least one of the plurality of bars, each
element corresponding to a size of the common region between the at
least two data sets.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional
Application No. 61/663,292, filed on Jun. 22, 2012, entitled
"Method and System to Manipulate Multiple Selections Against a
Population of Elements;" U.S. Provisional Application No.
61/663,057, filed on Jun. 22, 2012, entitled "Systems and Methods
For Predictive Analytics For Site Initiation and Patient
Enrollment;" U.S. Provisional Application No. 61/663,299, filed on
Jun. 22, 2012, entitled "Methods and Systems for Predictive
Clinical Planning and Design and Integrated Execution Services;"
U.S. Provisional Application No. 61/663,398, filed on Jun. 22,
2012, entitled "Systems and Methods for Subject Identification (ID)
Modeling;" U.S. Provisional Application No. 61/663,219, filed Jun.
22, 2012, entitled "Systems and Methods for Analytics on Viable
Patient Populations;" U.S. Provisional Application No. 61/663,357,
filed Jun. 22, 2012; entitled "Methods and Systems for a Clinical
Trial Development Platform;" U.S. Provisional Application No.
61/663,216, filed Jun. 22, 2012; entitled "Systems and Methods for
Data Visualization." The entirety of all of which is hereby
incorporated by reference herein.
FIELD OF THE INVENTION
[0002] Embodiments of the disclosure relate generally to displaying
complex and overlapping data in a usable fashion. More
particularly, embodiments of this disclose relate to methods for
displaying a modified Venn diagram.
BACKGROUND
[0003] The Venn diagram was conceived by John Venn. The goal of a
properly structured Venn diagram is to clearly show relationships
among a small group of data sets within a larger population. But a
Venn diagram lacks the ability to clearly show relationships among
a larger group of data sets. Accordingly, there is need for methods
and systems to manipulate multiple selections against a population
of elements.
SUMMARY
[0004] Embodiments of the disclosure provide systems and methods
for manipulation of multiple selections against a population of
elements. In one embodiment, the system comprises a database, a web
server that facilities entry and retrieval of data between the
database and the user, an application server that displays and
accepts information to and from one or more users, and a client
that is used to display information to users and to receive input
from users.
[0005] In another embodiment, the application server and the
display are configured to display a subset of data to the user in a
Venn bar diagram. In another embodiment, the Venn bar diagram
comprises a plurality of horizontal bars.
[0006] In another embodiment, each of the plurality of horizontal
bars is associated with a specific data set. In another embodiment,
each of the plurality of horizontal bars comprises a plurality of
columns. In another embodiment, each of the plurality of columns is
associated with the relationship between the data represented by
the present horizontal bar and the data represented by one or more
of the other horizontal bars.
[0007] In another embodiment, the horizontal width of the plurality
of columns is associated with the amount of overlap between the
data represented by the present horizontal bar and the data
represented by one or more of the other horizontal bars. In another
embodiment, the color of the plurality of columns is associated
with the amount of overlap between the data represented by the
present horizontal bar and the data represented by one or more of
the other horizontal bars.
[0008] These embodiments are mentioned not to limit or define the
disclosure, but to provide examples to aid understanding thereof.
Embodiments are discussed in the Detailed Description, and further
description is provided there. Advantages offered by the various
embodiments may be further understood by examining this
specification.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] These and other features, aspects, and advantages of the
present disclosure are better understood when the following
Detailed Description is read with reference to the accompanying
drawings, wherein:
[0010] FIG. 1 is a diagram illustrating an exemplary environment
for implementation according to one embodiment;
[0011] FIG. 2a is a diagram illustrating one embodiment of a Venn
diagram;
[0012] FIG. 2b is a diagram illustrating one embodiment of a Venn
diagram;
[0013] FIG. 2c is a diagram illustrating one embodiment of a Venn
diagram;
[0014] FIG. 2d is a diagram illustrating one embodiment of a Venn
diagram;
[0015] FIG. 3a is a diagram illustrating another embodiment of a
Venn diagram;
[0016] FIG. 3b is a diagram illustrating another embodiment of a
Venn diagram;
[0017] FIG. 4 is a diagram of a Venn bar according to one
embodiment;
[0018] FIG. 5 is a diagram of a Venn bar according to another
embodiment;
[0019] FIG. 6 is a diagram of a Venn bar according to another
embodiment;
[0020] FIG. 7 is a flow chart illustrating a method for
manipulation of multiple selection against a population of elements
according to one embodiment;
[0021] FIG. 8 is a diagram illustrating a patients editor according
to one embodiment;
[0022] FIG. 9 is a diagram illustrating a patients editor according
to another embodiment; and
[0023] FIG. 10 is diagram illustrating a patient population query
editor view according to one embodiment.
DETAILED DESCRIPTION
[0024] Embodiments of the invention provide systems and methods for
manipulation of multiple selections against a population of
elements.
Illustrative Embodiment of Systems and Methods for Manipulation of
Multiple Selections Against a Population of Elements
[0025] The goal of a properly structured Venn diagram is to clearly
show relationships among a small group of data sets within a larger
population. But a Venn diagram lacks the capability to clearly show
relationships among a larger group of data sets. Thus, there is a
need for a modified Venn diagram in the form of a "Venn bar." A
Venn bar has the capability to show relationships among any number
of data sets in a clean and efficient display.
[0026] For example, an illustrative embodiment of systems and
methods for manipulation of multiple selections against a
population of elements may comprise a client that allows a user to
interface with an application server, web server, and/or database
via a network. The client may comprise a display, and further be
configured to display data received from the web server or database
in a Venn bar.
[0027] A Venn bar is a new type of graphic element that extends
upon the basic idea of a Venn diagram but which displays the
overlap of data in a bar format rather than in the traditional view
of overlapping circles. An example of an illustrative Venn bar is
shown in and described in detail in relation to FIG. 4 below.
[0028] This illustrative example is given to introduce the reader
to the general subject matter discussed herein. The invention is
not limited to this example. The following sections describe
various additional embodiments and examples of systems and methods
for manipulation of multiple selections against a population of
elements
Illustrative Systems for Manipulation of Multiple Selections
Against a Population of Elements
[0029] Referring now to the drawings, in which like numerals
indicate like elements throughout the several figures, FIG. 1 is a
diagram illustrating an exemplary environment for implementation of
one embodiment of the disclosure. The embodiment shown in FIG. 1
includes a client 100 that allows a user to interface with an
application server 200, web server 300, and/or database 400 via a
network 500.
[0030] The client 100 may be, for example, a personal computer
(PC), such as a laptop or desktop computer, which includes a
processor and a computer-readable media. The client 100 also
includes user input devices, such as a keyboard and mouse or touch
screen, and one or more output devices, such as a display. In some
embodiments of the disclosure, the user of client 100 accesses an
application or applications specific to one embodiment of the
disclosure. In other embodiments, the user accesses a standard
application, such as a web browser on client 100, to access
applications running on a server such as application server 200,
web server 300, or database 400. For example, in one embodiment,
the memory of client 100 stores applications including a design
studio application for planning and designing clinical trials. The
client 100 may also be referred to as a terminal in some
embodiments of the present disclosure.
[0031] Such applications may be resident in any suitable
computer-readable medium and executable on any suitable processor.
Such processors may comprise, for example, a microprocessor, an
ASIC, a state machine, or other processor, and can be any of a
number of computer processors, such as processors from Intel
Corporation, Advanced Micro Devices Incorporated, and Motorola
Corporation. The computer-readable media stores instructions that,
when executed by the processor, cause the processor to perform the
steps described herein.
[0032] The client 100 provides a software layer, which is the
interface through which the user interacts with the system by
receiving and displaying data to and from the user. In one
embodiment, the software layer is implemented in the programming
language C# (also referred to as C Sharp). In other embodiments,
the software layer can be implemented in other languages such as
Java or C++. The software layer may be graphical in nature, using
visual representations of data to communicate said data to one or
more users. The visual representations of data may also be used to
receive additional data from one or more users. In one embodiment,
the visual representation appears as a spider-like layout of nodes
and connectors extending from each node to a central node. In
another embodiment the visual representation comprises a modified
Venn diagram, called a "Venn bar" as described in further detail
below.
[0033] Embodiments of computer-readable media comprise, but are not
limited to, an electronic, optical, magnetic, or other storage
device, transmission device, or other device that comprises some
type of storage and that is capable of providing a processor with
computer-readable instructions. Other examples of suitable media
comprise, but are not limited to, a floppy disk, CD-ROM, DVD,
magnetic disk, memory chip, ROM, RAM, PROM, EPROM, EEPROM, an ASIC,
a configured processor, all optical media, all magnetic tape or
other magnetic media, or any other medium from which a computer
processor can read instructions. Also, various other forms of
computer-readable media may be embedded in devices that may
transmit or carry instructions to a computer, including a router,
private or public network, or other transmission device or channel,
both wired and wireless. The instructions may comprise code from
any suitable computer-programming language, including, for example,
C, C++, C#, Visual Basic, Java, Python, Perl, and JavaScript.
[0034] The application server 200 also comprises a processor and a
memory. The application server may execute business logic or other
shared processes. The application server may be, for example, a
Microsoft Windows Server operating in a .NET framework, an IBM
Weblogic server, or a Java Enterprise Edition (J2E) server. While
the application server 200 is shown as a single server, the
application server 200, and the other servers 300, 400 shown may be
combined or may include multiple servers operating together to
perform various processes. In such embodiments, techniques such as
clustering or high availability clustering may be used. Benefits to
architectures such as these include redundancy and performance,
among others.
[0035] In the embodiment shown in FIG. 1, the application server
200 is in communication with a web server 300 via a network
connection 250. The web server 300 also comprises a processor and a
memory. In the memory are stored applications including web server
software. Examples of web server software include Microsoft
Internet Information Services (IIS), Apache Web Server, and Sun
Java System Web Server from Oracle, among others.
[0036] In the embodiment shown in FIG. 1, the web server 300 is in
communication with a database 400 via a network connection 350 and
a network connection 450. The web server 300 provides a web service
layer that, together or separate from application server 200, acts
as middleware between a database 400 and the software layer,
represented by the client 100. The web server 300 communicates with
the database 400 to send and retrieve data to and from the database
400.
[0037] The network 500 may be any of a number of public or private
networks, including, for example, the Internet, a local area
network ("LAN"), or a wide area network ("WAN"). The network
connections 150, 250, 350, and 450 may be wired or wireless
networks and may use any known protocol or standard, including
TCP/IP, UDP, multicast, 802.11b, 802.11g, 802.11n, or any other
known protocol or standard. Further, the network 100 may represent
a single network or different networks. As would be clear to one of
skill in the art, the client 100, servers 200, 300, and database
400 may be in communication with each other over the network or
directly with one another.
[0038] The database 400 may be one or a plurality of databases that
store electronically encoded information comprising the data
required to plan, design, and execute a clinical trial. In one
embodiment, the data comprises one or more design elements
corresponding to the various elements related to one or more
clinical trials. The database 400 may be implemented as any known
database, including an SQL database or an object database. Further,
the database software may be any known database software, such as
Microsoft SQL Server, Oracle Database, MySQL, Sybase, or
others.
[0039] Once data is received from the database, it may be displayed
to the user via a display of client 100. One option for displaying
the data is using a traditional Venn diagram. In a traditional Venn
diagram, data is displayed via circles or bubbles, which are
combined to show overlaps in the data. For example, FIG. 2a shows
one embodiment of a Venn diagram. As shown in FIG. 2a, circles A,
B, and C each represent a data set extracted from the entire
population of data. As shown in FIG. 2a, A and B each comprise
inclusion data, i.e. data that is to be included. For example, in
one embodiment of a medical test, a user may wish to include
patients with specific characteristics, e.g. heart disease, over a
certain age, taking a certain medication, or any other type of
data. Furthermore, as shown in FIG. 2a, data set C comprises
exclusion data, i.e., a type of data that is to be excluded. For
example, in one embodiment of a medical test, a user may wish to
exclude patients with specific characteristics, e.g., broken bones,
under a certain age, over a certain income threshold, etc.
[0040] In FIG. 2b, the data shown in FIG. 2a is shown combined to
form a single Venn diagram. As shown in FIG. 2b, there is some
overlap between data sets A, B, and C. This is shown in the regions
over which data bubbles A, B, and C overlap. Furthermore, as shown
in FIG. 2b, data set bubbles A, B, and C, all overlap with and are
therefore are contained in a larger data set, shown as the entire
population in FIG. 2a.
[0041] As shown in FIG. 2c, the overlaps between the data sets
shown in FIG. 2B are highlighted. For example, as shown in FIG. 2c,
segments of bubbles A, B, and C, do not overlap. These segments are
labeled simply as A, B, and C. Further, sections of each overlap
with only one other bubble, e.g. segments A,B, B,C, and A,C.
Furthermore, one segment of data shows overlap between all three,
segment A, B, C. In some embodiments, this data may further be
color coded, as shown in FIG. 2d.
[0042] Furthermore, as shown in FIG. 2c, bubbles A and B each
comprise data to be included, whereas bubble C comprises exclusion
data. Thus, the Venn diagram in FIG. 2c shows result data A,B, as
the result of the user's search, i.e. this is the segment that
includes data from both of inclusion bubbles A and B, but excludes
data from exclusion bubble C. However, given the scaling of this
type of Venn diagram, a user cannot easily determine how much of
segment A,B,C was excluded by C. This may be useful data. For
example, in a medical testing embodiment, bubble A may represent
patients with a heart condition, bubble B may represent patients
over a certain age, and bubble C may exclude patients taking a
statin or other drug. As part of forming a test, the user may need
to easily determine the impact of the exclusion C, but given the
display format of a traditional Venn diagram, the user cannot
easily make this determination. Additionally, information, such as
the size of the entire population is not easy to determine.
Furthermore, if the user wishes to include additional data points,
for example, additional bubbles associated with other drugs or
medical conditions, the Venn diagram becomes even more
cumbersome.
[0043] FIGS. 3a and 3b illustrate one embodiment of a Venn diagram.
Specifically, FIG. 3a shows the data represented in FIG. 2c, pulled
apart into fragments of a Venn diagram. FIG. 3b, shows this data
displayed differently, in a bar graph, showing the size of each
fragment clearly in comparison to one another.
[0044] FIG. 4 is a diagram of a Venn bar according to one
embodiment. Specifically, FIG. 4 shows the data from FIGS. 3a and
3b, recombined to form a Venn bar diagram. As shown in FIG. 4, the
original sets A, B, and C, are displayed as horizontal rows, A, B,
and C. In one embodiment, each horizontal bar represents patient
data for a different population of patients. For example, in one
embodiment, each bar may represent the number of instances of a
specific disease or ailment (e.g. heart disease, infection, broken
bones) or a different population group (e.g., age-group, ethnicity,
state of birth, career choice, etc.). For example, in the
embodiment shown in FIG. 4, the Venn bar may comprise four
horizontal bars, for example, bars A, B, and C.
[0045] Further, in the embodiment shown in FIG. 4, the Venn bar
further comprises a series of vertical columns. A vertical column
represents each horizontal bar, and the overlap between the data
represented by each vertical bar. For example, in the embodiment
shown in FIG. 4, there are individual vertical bars representing
the overlap between the data represented by various combinations of
horizontal bars. For instance, vertical bars may represent: the
overlap between bars A, B, and C, (the A,B,C bar), the overlap
between bars A and B (the A,B bar), the overlap between bars A and
C (the A,C bar), and the overlap between bars B and C (the B,C
bar). In some embodiments, vertical bars may further represent data
that is represented by the horizontal bars but for which there is
no overlap. For example, vertical bars for each of horizontal bars
A, B, and C, representing the data for which there is no overlap.
In some embodiments, the width of each vertical bar is associated
with the size of that data set. For example, if there are more
patients in the A,C bar than the A,B,C bar, then the A,C bar will
be wider than the A,B,C bar.
[0046] In the embodiment shown in FIG. 4, the vertical bars may be
overlaid on the horizontal bars. For example, a horizontal bar may
comprise the vertical bars representing the overlap between the
other bars as well as the section of the bar with no overlap. Thus,
the A horizontal bar may comprise the A,B,C bar, the A,B bar, the
A,C bar, and the A bar. Furthermore, in the embodiment shown in
FIG. 4, various color coding is used to represent the amount of
overlap. For example, the color green may represent the A,B, bar as
category overlaps. Further, blue may represent the vertical portion
of each bar for which there is no overlap
[0047] Further, in some embodiments, in addition to representing
overlap, one of the bars may represent an "exclusion" or data which
is not present. For example, in the embodiment shown in FIG. 4, bar
C is be assigned to a data set that does not include a specific
characteristic. For example, in one embodiment bar C may exclude
data associated with patients that are not taking a specific drug
or have not had a certain disease.
[0048] FIG. 5 is a diagram of a Venn bar according to one
embodiment, specifically, FIG. 5 shows the Venn bar comprising data
sets A, B, and C and further the rows broken up into vertical
columns representing the fragments of data shown in FIGS. 3b and
3c. As shown in FIG. 5, the width of each fragment is associated
with that fragment's percentage of the whole data set. For example,
fragment A,B,C is associated with its size in comparison to data
sets A, B, and C.
[0049] FIG. 6 is a diagram of a Venn bar according to one
embodiment, specifically, FIG. 6 comprises an illustration of one
embodiment of a completed Venn bar. This completed Venn bar enables
the user to easily see the relationships between data sets A, B,
and C, and the size of each overlapping section of these data sets.
Thus, in the embodiment described above, wherein A and B comprise
inclusions and C comprises an exclusion, the user can easily
determine relevant information, for example, the size of the data
set that the exclusion C removed. For example, this can be
determined simply by looking at the width of fragment A,B,C.
Furthermore, the other data section is easily shown to see what
percentage of the total size is not captured by these factors.
[0050] In some further embodiments, the Venn bar may assign
specific colors to varying vertical columns to enable the user to
quickly perceive overlaps. For example, in one embodiment, the
section that comprises all the user's inclusions and not the user's
exclusion may be green. In such an embodiment, the columns that
show all the users inclusions, but are excluded by the exclusion
may be yellow, enabling the user to determine the impact of that
exclusion. Further, in such an embodiment, other colors may be used
to display the remaining information. For example, blue may be
assigned to each set of data that does not have any overlap with
other data, red may be assigned to data from the exclusion that
does not overlap with any other data, purple may represent the
overlap between the exclusion and each of the other two data sets,
and gray may be assigned to data that is not included in one of the
selected data sets. In other embodiments, any other color may be
used in order to help the Venn bar clearly display raw data and
overlaps.
[0051] Furthermore, in other embodiments, the user may include
additional data sets, which will be displayed as additional
horizontal rows. This additional data will be displayed in the Venn
bar as additional rows divided into columns showing overlap with
other data sets, as described above. Thus, as opposed to a simple
Venn diagram, a user may include as much additional data as
necessary, and still see the relevant overlaps. Thus, in some
embodiments, the Venn bar may include more than three horizontal
rows.
[0052] In some embodiments, the Venn bar shown in FIG. 6 may be
used to present medical data. For example, in one embodiment
horizontal bar A may represent data associated with people ages
29-65, bar B may represent data associated with a type of
prescription drug, and bar C may represent data associated with
patients with heart disease. Thus, a user may view the Venn bar in
FIG. 6, and make determinations regarding heart disease, age, and
the prescription drug. In a further embodiment, the user may
incorporate additional data sets, for example, lifestyle data,
career choice, other prescription drugs, or any other combination
of data, and thereby make determinations based on the overlaps of
this data.
[0053] In other embodiments, a Venn bar may be used to display
other types of data. For example, a Venn bar may be used to display
data associated with homes for sale. For example, a user may
generate a search of housing data and set different parameters,
e.g. size of house, number of bedrooms, number of bathrooms,
garage, central air conditioning, location, or other data. Each of
these data points may appear as a horizontal bar in the Venn bar.
Then, based on the overlap data shown in the vertical bars the user
may refine home search parameters. For example, if one of the data
points requires a basement, but the user is searching in an area
where basements are very rare, the user will be able to see that
this requirement is greatly restricting the results of the search.
Thus, the user may change the requirement for a basement and
develop a more efficient search. Further, other types of data may
be displayed using a Venn bar, including, but not limited to,
shopping data (e.g., home, cars, boats, electronics, jewelry, or
other products), career and employment data, relationship
information (e.g., data from a dating website or database), data
from a social networking site, or any other available category of
data.
Illustrative Methods for Manipulation of Multiple Selections
Against a Population of Elements
[0054] FIG. 7 is a flow chart illustrating a method for
manipulation of multiple selections against a population of
elements according to one embodiment. In some embodiments, the
stages in FIG. 7 may be implemented in program code that is
executed by a processor, for example, the processor in a general
purpose computer, mobile device, or server. In some embodiments,
these stages may be implemented by a group of processors, for
example, a processor on a mobile device and processors on one or
more general purpose computers, such as servers.
[0055] The method 700 shown in FIG. 7 begins at step 702 when the
client 100 receives data from an application server 200, web server
300, or database 400. In some embodiments, the data may comprise
data associated with patients. In other embodiments, the data may
comprise data associated with shopping (e.g., homes, cars, boats,
electronics, jewelry, or other products), career and employment
data, relationship information (e.g., data from a dating website or
database), data from a social networking site or any other
available category of data.
[0056] Next, the client 100 determines overlaps between the
received data 704. For example, the system determines if sets of
data comprise any overlap. For example, in one embodiment, the data
may be associated with patients. In such an embodiment, one set of
data comprises patients that are under 65 and another set of data
may comprise patients with a heart condition. An overlap occurs
when patients under age 65 also have a heart condition identified
in the second set of data. In some embodiments, the overlaps may be
determined by another system, for example, application server 200,
web server 300, database 400, or another computer or server. In
such an embodiment, the client 100 further receives data associated
with the overlap.
[0057] Then client 100 displays the data 706. In one embodiment,
the client may display the data in a Venn bar format, as described
above. For example, in the embodiment described above, the client
100 may display a horizontal bar associated with the patients over
age 65. And further, the client 100 may display a second horizontal
bar associated with patients that have a heart condition. The
client 100 may further display vertical bars within the horizontal
bars, the vertical bars associated with the overlap between the two
sets of data.
[0058] Next the client 100 determines if additional data was
selected 708. For example, if the user requested additional data to
be included in the Venn bar. If so, the process returns to step 702
to receive the additional data, and then proceeds through the
remaining steps.
Illustrative Embodiments of Manipulation of Multiple Selections
Against a Population of Elements
[0059] FIG. 8 is a diagram illustrating a patients editor 800
according to one embodiment. In some embodiments, a patients editor
800 comprises a means by which one or more users may enter
information identifying optimal patient enrollment parameters. In
some embodiments, such as the one illustrated in FIG. 8, a patients
editor comprises sliders 802 which users configure to set patient
inclusion and exclusion limits within data categories. The data
categories may include any relevant data, such as one or more of:
co-morbidities, concomitant medications, body mass index, age,
gender, and ethnicity. In some embodiments, a patients editor
comprises graphs, tables, and other visual representations of data
804 showing the number of patients included and excluded pursuant
to user-defined criteria.
[0060] For example, in the embodiment illustrated in FIG. 8, a the
patients editor further comprises a Venn Bar diagram 806 represent
the exclusion and inclusion parameters and shows the number of
included and excluded patients due to particular selection
criteria. Users can manipulate the sliders to arrive at a desired
number of potential patients. Further, the patient editor may
present graphs, such as line and/or pie graphs of various facets,
such as age and ethnicity 804. Further, the system may provide a
bar graph of the patient population based on selected facet
limits.
[0061] FIG. 9 is a diagram illustrating a patients editor according
to one embodiment. Specifically, FIG. 9 depicts a portion of a Venn
Bar diagram 900. In this illustrative embodiment, Venn fragment A
represents age criteria, fragment B represents a history of
cardiovascular disease, and fragment C represents the absence of
opioid agonists. In some embodiments, upon selection of a fragment
a popup window displays the number of patients represented by the
fragment.
[0062] FIG. 10 is a screen shot of a patient population query
editor view 1000 according to one embodiment. In particular, FIG.
10 illustrates the use of a Venn Bar for comparing the query
represented by the element configuration displayed in query builder
window A and the query represented by the element configuration
displayed in query builder window B. The green segments in bars A
and B and located in the column "A,B" represent a portion of the
population that result from both queries. The blue segment in bar A
located in the column "A" that is not in bar B represents a portion
of the population that only results from query A. The grey segment
in the row and column labeled "0" indicates the portion of the
population that are not a result of either query.
Advantages of Systems and Methods for Manipulation of Multiple
Selections Against a Population of Elements
[0063] Embodiments described herein may have a wide range of
advantages. For example, a Venn bar may be useful to view
representative medical data. For example, in one embodiment a user
may design a Venn bar to include hundreds or thousands of data
points associated with lifestyle, age, prescribed drugs, income, or
any set of potential factors. Based on the overlaps in this data,
which may easily be determined by looking at the Venn bar, the user
or a computer system may be able to quickly determine correlations
between complex, and otherwise seemingly unrelated sets of data.
For example, by simply looking at the size of a data set that is
excluded by a particular exclusion, a user may be able to quickly
determine that that exclusion is removing more than the desired
amount of data. This information may be used to redesign a test, or
develop newer and better treatments.
[0064] Similarly, a user may use a Venn bar to generate more
efficient searches. For example, a user searching for a home may
determine that a specific inclusion or exclusion is greatly
excluding the number of available homes. For example, homes under a
certain price may not include a fireplace. A user may be able to
quickly determine viewing various housing search criteria in a Venn
bar.
GENERAL CONSIDERATIONS
[0065] The methods, systems, and devices discussed above are
examples. Various configurations may omit, substitute, or add
various procedures or components as appropriate. For instance, in
alternative configurations, the methods may be performed in an
order different from that described, and/or various stages may be
added, omitted, and/or combined. Also, features described with
respect to certain configurations may be combined in various other
configurations. Different aspects and elements of the
configurations may be combined in a similar manner. Also,
technology evolves and, thus, many of the elements are examples and
do not limit the scope of the disclosure or claims.
[0066] Specific details are given in the description to provide a
thorough understanding of example configurations (including
implementations). However, configurations may be practiced without
these specific details. For example, well-known circuits,
processes, algorithms, structures, and techniques have been shown
without unnecessary detail in order to avoid obscuring the
configurations. This description provides example configurations
only, and does not limit the scope, applicability, or
configurations of the claims. Rather, the preceding description of
the configurations will provide those skilled in the art with an
enabling description for implementing described techniques. Various
changes may be made in the function and arrangement of elements
without departing from the spirit or scope of the disclosure.
[0067] Also, configurations may be described as a process that is
depicted as a flow diagram or block diagram. Although each may
describe the operations as a sequential process, many of the
operations can be performed in parallel or concurrently. In
addition, the order of the operations may be rearranged. A process
may have additional steps not included in the figure. Furthermore,
examples of the methods may be implemented by hardware, software,
firmware, middleware, microcode, hardware description languages, or
any combination thereof. When implemented in software, firmware,
middleware, or microcode, the program code or code segments to
perform the necessary tasks may be stored in a non-transitory
computer-readable medium such as a storage medium. Processors may
perform the described tasks.
[0068] Having described several example configurations, various
modifications, alternative constructions, and equivalents may be
used without departing from the spirit of the disclosure. For
example, the above elements may be components of a larger system,
wherein other rules may take precedence over or otherwise modify
the application of the disclosure. Also, a number of steps may be
undertaken before, during, or after the above elements are
considered. Accordingly, the above description does not bound the
scope of the claims.
[0069] The use of "adapted to" or "configured to" herein is meant
as open and inclusive language that does not foreclose devices
adapted to or configured to perform additional tasks or steps.
Additionally, the use of "based on" is meant to be open and
inclusive, in that a process, step, calculation, or other action
"based on" one or more recited conditions or values may, in
practice, be based on additional conditions or values beyond those
recited. Headings, lists, and numbering included herein are for
ease of explanation only and are not meant to be limiting.
[0070] While the present subject matter has been described in
detail with respect to specific embodiments thereof, it will be
appreciated that those skilled in the art, upon attaining an
understanding of the foregoing may readily produce alterations to,
variations of, and equivalents to such embodiments. Accordingly, it
should be understood that the present disclosure has been presented
for purposes of example rather than limitation, and does not
preclude inclusion of such modifications, variations and/or
additions to the present subject matter as would be readily
apparent to one of ordinary skill in the art.
* * * * *