U.S. patent application number 16/928563 was filed with the patent office on 2021-01-07 for normalizing data sets for predicting an attribute of the data sets.
The applicant listed for this patent is PRA Health Sciences, Inc.. Invention is credited to Daniel J. Baker, Piotr J. Chaba.
Application Number | 20210005311 16/928563 |
Document ID | / |
Family ID | |
Filed Date | 2021-01-07 |
United States Patent
Application |
20210005311 |
Kind Code |
A1 |
Chaba; Piotr J. ; et
al. |
January 7, 2021 |
NORMALIZING DATA SETS FOR PREDICTING AN ATTRIBUTE OF THE DATA
SETS
Abstract
Systems and methods are provided for improving communication by
various computing systems in a network. Each computing system can
be used to receive and process data. The data can be associated
with a process represented by a chain of tasks. The computing
systems can determine various parameters associated with the chain
of tasks for determining a risk associated with the chain of tasks.
The computing system can also determine a risk associated with
multiple chains of tasks and aggregate the risks associated with
the multiple chains of tasks. Determining the risk associated with
each chain of tasks in the multiple chains of tasks can normalize a
risk represented by the chains of tasks. Determining the risk
associated with each chain of tasks or normalizing the risks
represented by the chains can improve communication by the various
computing systems in the network.
Inventors: |
Chaba; Piotr J.;
(Wilmington, NC) ; Baker; Daniel J.; (Letchworth,
GB) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
PRA Health Sciences, Inc. |
Raleigh |
NC |
US |
|
|
Appl. No.: |
16/928563 |
Filed: |
July 14, 2020 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
15193676 |
Jun 27, 2016 |
10748654 |
|
|
16928563 |
|
|
|
|
62188065 |
Jul 2, 2015 |
|
|
|
Current U.S.
Class: |
1/1 |
International
Class: |
G16H 40/20 20060101
G16H040/20; G16H 10/20 20060101 G16H010/20 |
Claims
1-20. (canceled)
21. A system comprising: a processing device; and a non-transitory
computer-readable medium including instructions that are executable
by the processing device for causing the processing device to:
generate a chain of tasks to be completed for implementing a
clinical trial by a critical date; determine a buffer index for the
chain of tasks, the buffer index being a numerical value indicating
a likelihood of completing the chain of tasks by the critical date;
determine a desired buffer index for the chain of tasks, the
desired buffer index being a numerical value that is different from
the buffer index and indicating a desired likelihood of completing
the chain of tasks; determine a new date for completing the chain
of tasks that is likely to achieve the desired buffer index, the
new date being different from the critical date; and generate a
graphical user interface for display that indicates the new
date.
22. The system of claim 21, wherein the desired buffer index is
predefined prior to determining the buffer index.
23. The system of claim 21, wherein the non-transitory
computer-readable medium further including instructions that are
executable by the processing device for causing the processing
device to determine the buffer index based on (i) a buffer
percentage indicating how close a buffer period in the chain of
tasks is to being completed, and (ii) a chain percentage indicating
how close the chain of tasks is to being completed, wherein the
buffer period is different from the buffer index and represents an
amount of time after a final task in the chain of tasks.
24. The system of claim 21, wherein the non-transitory
computer-readable medium further including instructions that are
executable by the processing device for causing the processing
device to determine the new date based on (i) the critical date,
(ii) the desired buffer index, and (iii) a buffer period associated
with the chain of tasks, wherein the buffer period is different
from the buffer index and represents an amount of time after a
final task in the chain of tasks.
25. The system of claim 21, wherein the non-transitory
computer-readable medium further including instructions that are
executable by the processing device for causing the processing
device to: generate a plurality of chains of tasks associated with
the clinical trial, the plurality of chains of tasks being
configured to be implemented concurrently to one another; for each
chain of tasks in the plurality of chains of tasks, determine a
respective likelihood of completing the chain of tasks by a common
target date selected by a user; and configure the graphical user
interface to indicate the respective likelihood of completing each
chain of tasks in the plurality of chains of tasks by the common
target date.
26. The system of claim 21, wherein the non-transitory
computer-readable medium further including instructions that are
executable by the processing device for causing the processing
device to update the buffer index associated with the chain of
tasks based on each task in the chain of tasks being performed or
completed.
27. The system of claim 21, wherein the non-transitory
computer-readable medium further including instructions that are
executable by the processing device for causing the processing
device to adjust an amount of one or more computing resources that
are allocated for subsequent use by the processing device based on
the buffer index.
28. A method comprising: generating, by a processing device, a
chain of tasks to be completed for implementing a clinical trial by
a critical date; determining, by the processing device, a buffer
index for the chain of tasks, the buffer index being a numerical
value indicating a likelihood of completing the chain of tasks by
the critical date; determining, by the processing device, a desired
buffer index for the chain of tasks, the desired buffer index being
a numerical value that is different from the buffer index and
indicating a desired likelihood of completing the chain of tasks;
determining, by the processing device, a new date for completing
the chain of tasks that is likely to achieve the desired buffer
index, the new date being different from the critical date; and
generating, by the processing device, a graphical user interface
for display that indicates the new date.
29. The method of claim 28, wherein the desired buffer index is
predefined prior to determining the buffer index.
30. The method of claim 28, further comprising determining the
buffer index based on (i) a buffer percentage indicating how close
a buffer period in the chain of tasks is to being completed, and
(ii) a chain percentage indicating how close the chain of tasks is
to being completed, wherein the buffer period is different from the
buffer index and represents an amount of time after a final task in
the chain of tasks.
31. The method of claim 28, further comprising determining the new
date based on (i) the critical date, (ii) the desired buffer index,
and (iii) a buffer period associated with the chain of tasks,
wherein the buffer period is different from the buffer index and
represents an amount of time after a final task in the chain of
tasks.
32. The method of claim 28, further comprising: generating a
plurality of chains of tasks associated with the clinical trial,
the plurality of chains of tasks being configured to be implemented
concurrently to one another; determining a subset of task chains
from among the plurality of chains of tasks; for each chain of task
chain in the subset, determining a respective likelihood of
completing the task chain by a common target date selected by a
user; and configure the graphical user interface to indicate an
overall likelihood of completing the subset of task chains by the
common target date.
33. The method of claim 28, further comprising updating the buffer
index associated with the chain of tasks based on each task in the
chain of tasks being performed or completed.
34. The method of claim 28, further comprising adjusting an amount
of one or more computing resources that are allocated for
subsequent use by the processing device based on the buffer
index.
35. A non-transitory computer-readable medium including
instructions that are executable by a processing device for causing
the processing device to: generate a chain of tasks to be completed
for implementing a clinical trial by a critical date; determine a
buffer index for the chain of tasks, the buffer index being a
numerical value indicating a likelihood of completing the chain of
tasks by the critical date; determine a desired buffer index for
the chain of tasks, the desired buffer index being a numerical
value that is different from the buffer index and indicating a
desired likelihood of completing the chain of tasks; determine a
new date for completing the chain of tasks that is likely to
achieve the desired buffer index, the new date being different from
the critical date; and generate a graphical user interface for
display that indicates the new date.
36. The non-transitory computer-readable medium of claim 35,
further including instructions that are executable by the
processing device for causing the processing device to determine
the buffer index based on (i) a buffer percentage indicating how
close a buffer period in the chain of tasks is to being completed,
and (ii) a chain percentage indicating how close the chain of tasks
is to being completed, wherein the buffer period is different from
the buffer index and represents an amount of time after a final
task in the chain of tasks.
37. The non-transitory computer-readable medium of claim 35,
further including instructions that are executable by the
processing device for causing the processing device to determine
the new date based on (i) the critical date, (ii) the desired
buffer index, and (iii) a buffer period associated with the chain
of tasks, wherein the buffer period is different from the buffer
index and represents an amount of time after a final task in the
chain of tasks.
38. The non-transitory computer-readable medium of claim 35,
further including instructions that are executable by the
processing device for causing the processing device to: generate a
plurality of chains of tasks associated with the clinical trial;
receive a common target date as input from a user, the common
target date being a desired date by which the plurality of chains
of tasks is to be completed; for each chain of tasks in the
plurality of chains of tasks, determine a respective likelihood of
completing the chain of tasks by the common target date; and
configure the graphical user interface to indicate the respective
likelihood of completing each chain of tasks in the plurality of
chains of tasks by the common target date.
39. The non-transitory computer-readable medium of claim 35,
further including instructions that are executable by the
processing device for causing the processing device to: generate a
plurality of chains of tasks associated with the clinical trial;
receive a user selection of a subset of task chains from among the
plurality of chains of tasks; receive a user input indicating a
common target date by which the subset of task chains is to be
completed; for each chain of task chain in the subset, determining
a respective likelihood of completing the task chain by the common
target date; and configure the graphical user interface to indicate
an overall likelihood of completing the subset of task chains by
the common target date.
40. The non-transitory computer-readable medium of claim 35,
further including instructions that are executable by the
processing device for causing the processing device to adjust an
amount of one or more computing resources that are allocated for
subsequent use by the processing device based on the buffer index.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. application Ser.
No. 15/193,676, titled "Normalizing Data Sets for Predicting an
Attribute of the Data Sets" and filed Jun. 27, 2016, which claims
priority to U.S. Provisional Application No. 62/188,065, titled
"Early Warning System" and filed Jul. 2, 2015, the entirety of both
of which are hereby incorporated by reference herein.
TECHNICAL FIELD
[0002] The present disclosure relates generally to computing
systems. More specifically, but not by way of limitation, this
disclosure relates to improving communication through data
processing in computing systems by normalizing data sets for
predicting an attribute of the data sets and displaying data
associated with the normalized data sets.
BACKGROUND
[0003] A network of computers can include multiple computing
systems or computing devices. Each of the computing systems can be
used to obtain a data set (e.g., from a database), which may be
associated with a process for planning or implementing a clinical
trial and the computing systems may process the data set. The
computing systems can communicate the data sets as the data sets
are processed (e.g., as the clinical trial is implemented). The
computing systems can also communicate the data sets after the data
sets are processed (e.g., after a portion of the clinical trial is
implemented). The computing systems can process and communicate the
data set as part of the process of planning or implementing the
clinical trial.
SUMMARY
[0004] In one example, a method of the present disclosure includes
receiving a data set associated with a clinical trial. The data set
can include data about various tasks to be completed for planning
or implementing the clinical trial and a predetermined date for
completing the various tasks. The method can further include
storing the data set and generating a chain of tasks based on the
stored data by determining a relationship between tasks within the
multiple tasks and electronically converting the stored data into
the chain of tasks based on the relationship. The method can
further include receiving a first subset of data associated with
the chain of tasks, which can include data for determining a
progress of completing the chain of tasks. The method also includes
determining a buffer index associated with the chain of tasks based
on the first subset of data. The buffer index can correspond to a
likelihood of completing the chain of tasks by the predetermined
date and the buffer index can be used to determine when a
processing device receives or processes an additional data set. The
method further includes generating an interface for display that
includes data associated with the chain of tasks, the first subset
of data, or the buffer index.
[0005] In another example, a system of the present disclosure
includes a processing device and non-transitory computer-readable
medium that is communicatively coupled to the processing device.
The processing device is configured to perform operations including
receiving a data set associated with a clinical trial. The data set
can include data about various tasks to be completed for planning
or implementing the clinical trial and a predetermined date for
completing the various tasks. The processing device is also
configured to perform operations including storing the data set and
generating a chain of tasks based on the stored data by determining
a relationship between tasks within the multiple tasks and
electronically converting the stored data into the chain of tasks
based on the relationship. The processing device is also configured
to perform operations including receiving a first subset of data
associated with the chain of tasks, which can include data for
determining a progress of completing the chain of tasks and
determining a buffer index associated with the chain of tasks based
on the first subset of data. The buffer index can correspond to a
likelihood of completing the chain of tasks by the predetermined
date and the buffer index can be used to determine when the
processing device receives or processes an additional data set. The
processing device is also configured to generate an interface for
display that includes data associated with the chain of tasks, the
first subset of data, or the buffer index.
[0006] In another example of the present disclosure, a
non-transitory computer-readable medium stores program code
executable by a processor device to cause a computing device to
perform operations, the operations include receiving a data set
associated with a clinical trial. The data set can include data
about multiple tasks to be completed for planning or implementing
the clinical trial and a predetermined date for completing the
various tasks. The operations can further include storing the data
set and generating a chain of tasks based on the stored data by
determining a relationship between tasks within the multiple tasks
and electronically converting the stored data into the chain of
tasks based on the relationship. The operations can also include
receiving a first subset of data associated with the chain of
tasks, which can include data for determining a progress of
completing the chain of tasks. The operations can further include
determining a buffer index associated with the chain of tasks based
on the first subset of data. The buffer index can correspond to a
likelihood of completing the chain of tasks by the predetermined
date and the buffer index can be used to determine when the
computing device receives or processes an additional data set. The
operations can further include generating an interface for display
that includes data associated with the chain of tasks, the first
subset of data, or the buffer index.
[0007] As described above, in some examples, the buffer index can
be used to determine when a processing device receives or processes
additional data, which can be used to manage the processing device
or a network of processing devices. For example, the buffer index
can be used to determine if the processing device may receive or
process an additional data set sooner or later, depending on the
buffer index. In some examples, using the buffer index to determine
when the processing device receives or processes additional data
can improve communication within a single processing device (e.g.,
improve intra-computing system communication within a single
computing system) or improve processing operations within the
single processing device (e.g., improve processor efficiency). In
still another example, managing the processing device or a network
of processing devices using a buffer index can include determining
one or more resources that, if made available to the processing
device or the network, may improve a performance of the processing
device.
[0008] Managing the processing device or the network based on the
buffer index can improve a performance of one or more processing
devices in the network. For example, using the buffer index to
determine when the processing device receives or processes
additional data may allow resources of the processing device or the
network to be preserved (e.g., may allow the processing device to
reserve resources when the likelihood of not completing a chain of
tasks by the predetermined date is low). As another example, buffer
indices associated with various processing devices in the network
can be used to determine an amount of data to be processed by each
processing device, a time that each processing device can process
an additional data set, or a duration of time that each processing
device can process the additional data set. In this manner, network
resources and resources of each processing device can be managed
and preserved using buffer indices associated with each processing
device, which may improve performance of the each processing device
or the network (e.g., by reserving resources until a later time or
by preserving a power of each processing device).
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] FIG. 1 is a block diagram of an example of an environment in
which a network of computing devices for normalizing data sets to
predict an attribute associated with the data sets operate
according to some aspects.
[0010] FIG. 2 is a flow chart depicting an example of a process for
normalizing data sets to predict an attribute associated with the
data sets according to some aspects.
[0011] FIG. 3 is a graph depicting an example of a chain of tasks
along with a critical date for the chain of tasks according to some
aspects.
[0012] FIG. 4 is a graph depicting an example of chains of tasks
along with a critical date common to the chains of tasks according
to some aspects.
[0013] FIG. 5 is an example of a graph depicting a shift in
original buffer periods of the chains of tasks of FIG. 4 according
to some aspects.
[0014] FIG. 6 is an example of a user interface that can be
generated by the computing device for normalizing data sets to
predict an attribute associated with the data sets according to
some aspects.
[0015] FIG. 7 is another example of a user interface that can be
generated by the computing device for normalizing data sets to
predict an attribute associated with the data sets according to
some aspects.
[0016] FIG. 8 is another example of a user interface that can be
generated by the computing device for normalizing data sets to
predict an attribute associated with the data sets according to
some aspects.
[0017] FIG. 9 is another example of a user interface that can be
generated by the computing device for normalizing data sets to
predict an attribute associated with the data sets according to
some aspects.
DETAILED DESCRIPTION
[0018] Certain aspects and features of the present disclosure
relate to normalizing data sets associated with various computing
systems to predict an attribute associated with the data sets.
Normalizing the data sets includes determining a risk common to the
various data sets, which can be used to improve communication
between the various computing systems. For example, the common risk
can be used to determine when each computing system performs one or
more operations on the data set associated with the computing
system or on an additional data set.
[0019] In some examples, an early warning system can include the
various computing systems. Each computing system can receive a data
set, detect data in the data set, and process data in the data set.
Each computing system can execute operations for normalizing the
data sets associated with the computing system to predict an
attribute associated with the data set. In some examples,
normalizing the data set includes determining a risk represented by
the data set and outputting a warning that can indicate the risk.
The computing systems can output the warning early (e.g., prior to
a condition related to the risk) to facilitate management of
network resources. For example, the warning indicating the risk can
be used to determine how or when each computing system
electronically receives, detects, stores, or process the data set
associated with the computing system or any additional data
set.
[0020] In some examples, an early warning system can include a
single computing system. The computing system can include multiple
elements that can be used to: 1) transfer risk information between
the multiple elements of the computing system and 2) standardize
and make risk information comparable between multiple projects
managed within the single computing system. For example, there may
be two different projects and different dates, or milestones, of
interest associated with each project. In certain examples, the
computing system can be used to determine and assess a risk
associated with each project. The computing system can also be used
to determine completion dates for chains of tasks associated with
each project based on a pre-set level of risk.
[0021] For example, a data set can be associated with one or more
chains of tasks. Each chain of tasks can correspond to a process
and include at least one task for completing the process. The data
set can also include a predetermined date for completing the chains
of tasks. A computing system can receive the data set and detect or
store at least some data in the data set and process the detected
or stored data. For example, the computing system can receive the
data set and detect a subset of the data set to be stored by the
computing system in a database associated with the computing
system. The computing system may then process the detected or
stored data by electronically converting the data into the chains
of tasks based on a relationship between tasks in each chain of
tasks or an order of the tasks. The computing system can also
process the data by converting data about the chains or a task in
each chain into an electronically readable form. The computing
system can receive other data associated with a progress of
completing the chains of tasks (e.g., a status of a task in a chain
of tasks, an amount of time for completing the chain of tasks,
etc.) and use the other data to normalize the data set by
determining a risk represented by the chains of tasks (e.g., a risk
of not completing the chain of tasks by the predetermined date).
The computing system may communicate with other computing systems
in a network while, or after processing data corresponding to the
chain of tasks and normalizing the data set can improve
communication by the computing systems in the network (e.g., by
improving when or how the computing system receives, transmits, or
processes data associated with one or more chains of tasks or
additional data).
[0022] As an illustrative example, a network of various computing
systems can be used to process data sets when planning or
implementing a clinical trial. The data sets can correspond to a
process for planning or implementing the clinical trial (e.g., a
process for activating of an investigative site for the clinical
trial). A data set can include multiple chains of tasks
corresponding to the process and each chain of tasks can include a
task for completing the process (e.g., completing site contracts,
securing the required site approvals, etc.). The data set can also
include a predetermine date for completing the chains of tasks. A
computing system can receive the data set and other data associated
with each chain of tasks. The other data can correspond to at least
one of: (i) a relationship between tasks in each chain of tasks;
(ii) a challenging time of a task in the chain (e.g., an amount of
time for completing the task); (iii) an original buffer period of
the chain (e.g., a duration of time after the challenging time of
the last task in the chain); (iv) an implementation indicator of a
task in the chain (e.g., a real-time status of the task or an
amount of time remaining before completing the task); or (v) a
critical sequence of tasks within the multiple chains of tasks
(e.g., a chain of tasks among multiple chains of tasks that has the
longest time or path from beginning to end). In the illustrative
example, the computing system can determine a progress of each
chain of tasks and various parameters associated with each chain of
tasks based on the data received to determine a risk associated
with the multiple chains of tasks (e.g., a risk of not completing
one or more of the chains of tasks by the predetermined date). In
some examples, the computing system can continuously or
periodically receive other data that can be used to determine the
progress of each chain of tasks and various parameters associated
with each chain of tasks to determine the risk associated with the
multiple chains of tasks. As an example, the computing system can
periodically receive additional data that includes at least one of:
(i) a relationship between tasks in each chain of tasks; (ii) the
challenging time of a task in the chain; (iii) an original buffer
period of the chain; (iv) an implementation indicator of a task in
the chain; or (v) a critical sequence of tasks within the multiple
chains of tasks as tasks in the chain of tasks are implemented or
performed. The computing system may determine an updated progress
of each chain of tasks or determine various updated parameters
associated with each chain of tasks based on the other data
received.
[0023] For example, the computing system can determine a buffer
index associated with a chain of tasks, which can indicate a
confidence level for completing the chain of tasks by the
predetermined date. In some examples, the computing system can
determine a risk level associated with the chain of tasks based on
the buffer index. For example, the computing system can determine
that there is a high risk of not completing the chain of tasks by
the predetermined date if the buffer index is below a risk
threshold. In another example, the computing system can determine
that there is a low risk of not completing the chain of tasks by
the predetermined date if the buffer index is above the risk
threshold. The computing system can determine the corresponding
buffer index for each chain of task in the multiple chains of
tasks, which can be used to determine a risk of not completing each
chain by the predetermined date.
[0024] Determining the buffer index for a chain of tasks within
multiple chains of tasks can normalize the risk associated with the
multiple chains of tasks. For example, the computing system can
aggregate the buffer index for each chain of tasks within the
multiple chains of tasks for normalizing the risk associated with
the multiple chains of tasks. Normalizing the risk associated with
the multiple chains of tasks can improve communication by computing
systems in a network. For example, the aggregated buffer index can
be used to determine when or how the computing system receives,
transmits, or otherwise processes data associated with the multiple
chains of tasks or an additional data set. Improving communication
by computing systems in this manner can facilitate management of
network resources for improving communications by computing systems
in the network.
[0025] In some examples, the computing system can also determine a
change in the predetermined date for adjusting the buffer index for
a chain of tasks in the multiple chains of tasks. For example, the
computing system can receive data representing a desired buffer
index for the chain of tasks and determine another predetermined
date that corresponds to the desired buffer index based on one or
more algorithms. Changing the predetermined to adjust the buffer
index can mitigate a risk associated with the chain of tasks (e.g.,
reduce the risk of not completing the chain of tasks).
[0026] In some examples, the computing system can generate an
interface for outputting data associated with the chain of tasks,
data received by the computing system, or the buffer index
associated with the chain of tasks. In some examples, the computing
system can output the data for selecting or implementing one or
more processes for adjusting the buffer index of the chain of
tasks. For example, the computing system can output data that
corresponds to any data associated with the chain of tasks or a
parameter of the chain of tasks for selecting a process for
adjusting the buffer index.
[0027] These illustrative examples are given to introduce the
reader to the general subject matter discussed here and are not
intended to limit the scope of the disclosed concepts. The
following sections describe various additional features and
examples with reference to the drawings in which like numerals
indicate like elements, and directional descriptions are used to
describe the illustrative examples but, like the illustrative
examples, should not be used to limit the present disclosure.
[0028] FIG. 1 is a block diagram of an example of an environment
100 in which a network of computing devices for normalizing data
sets to predict an attribute associated with the data sets operate.
In some embodiments, the environment 100 includes computing devices
102, 124. Each computing device 102, 124 can be positioned at a
site (e.g., a site for planning or implementing a clinical trial)
or offsite. Each computing device 102, 124 can receive data from
another computing device (e.g., another computing device in the
environment 100 or any other computing device) or an indicia of
user input (e.g., if a user programs the computing device to
include data). The environment also includes a network 101, which
can be any network that facilitates communication of data by the
computing device 102, 124 or nay other device in environment
100.
[0029] Each computing device 102, 124 can include one or more
components for normalizing data sets to predict an attribute
associated with the data sets. For example, the computing device
102 can include a processor 104, a bus 106, and a memory 108. The
processor 104 can execute one or more operations for operating the
computing device 102. The processor 104 can execute instructions
110 stored in the memory 108 to perform the operations.
Non-limiting examples of the processor 104 include a
Field-Programmable Gate Array ("FPGA"), an application-specific
integrated circuit ("ASIC"), a microprocessor, etc.
[0030] The processor 104 can be communicatively coupled to the
memory 108 via the bus 106. The memory 108 may include any time of
memory device that retains stored information when powered off.
Non-limiting examples of the memory 108 include electrically
erasable and programmable read-only memory ("EEPROM"), flash
memory, or any other type of non-volatile memory. In some examples,
at least some of the memory 108 can include a computer-readable
medium from which the processor 104 can read instructions 110. The
computer-readable medium can include electronic, optical, magnetic,
or other storage devices capable of providing the processor 104
with computer-readable instructions or other program code.
Non-limiting examples of a computer readable-medium include (but
are not limited to) magnetic disk(s), memory chip(s), ROM,
random-access memory ("RAM"), an ASIC, a configured processor,
optical storage, or any other medium from which a computer
processor can read instructions. The instructions can include
processor-specific instructions generated by a compiler or an
interpreter from code written in any suitable computer-programming
language, including, for example, C, C++, C#, etc.
[0031] In some examples, the computing device 102 can include
input/output interface components (e.g., a display device 120 and a
communication device 122). The computing device 102 can also
include other input/output interface components such as a keyboard,
a touch-sensitive surface, a mouse and additional storage.
[0032] The computing device 102 can transmit or receive data via a
communication device 122. In some examples, the communication
device 122 can represent one or more of any components that
facilitate a network connection. In some examples, the
communication device 122 may be wireless and can include wireless
interfaces such as IEEE 802.11, Bluetooth, or radio interfaces for
accessing cellular telephone networks (e.g., transceiver/antenna
for accessing a CDMA, GSM, UMTS, or other mobile communications
network). In another example, the communication device 122 can be
wired and can include interfaces such as Ethernet, USB, IEEE 1394,
or a fiber optic interface. The computing device 102 can transmit
or receive data (e.g., transmit data to the computing device 124 or
another device in the environment 100) via the communication device
122. In another example, the computing device 102 can transmit data
to a remote location (e.g., an offsite location or another
computing device outside the environment 100) via the communication
device 122. In the example shown in FIG. 1, the computing device
102 can transmit and receive data via a wireless interface. In
other examples, the computing device 102 can transmit and receive
data via a wired interface.
[0033] In some examples, the memory 108 can include a data sensing
module 112. The computing device 102 can use the data sensing
module 112 to receive a data set. The computing device 102 can
receive the data set from another computing device or system (e.g.,
the computing device 124, a server 148, or another computing
device) or from user input (e.g., if a user programs the computing
device 102 to include the data set). The data set can be associated
with data for planning or implementing a clinical trial (e.g., one
or more tasks associated with implementing the clinical trial). As
an example, the data set can correspond to a process for: planning
the clinical trial; financing the clinical trial; implementing the
clinical trial; or managing the clinical trial. In some examples,
the data set can include data about one or more chains of tasks
that correspond to a process associated with planning or
implementing the clinical trial and the chain of tasks can include
at least one task for completing the process. The data set may also
include a critical date for the chain of tasks (e.g., a date for
completing the tasks in the chain of tasks).
[0034] In some examples, the computing device 102 can also use the
data sensing module 112 to detect data in the data set. For
example, the computing device 102 can use the data sensing module
112 to receive a signal (e.g., from another computing device or
system) or user input that includes instructions for causing the
data sensing module 112 to detect at least some data in the data
set. As an example, the data set can include data associated with
various processes for planning or implementing the clinical trial
(e.g., a process for activating of an investigative site for the
clinical trial, a process for recruiting subjects for the clinical
trial, etc.) and the data sensing module 112 can detect data
corresponding to the process for recruiting subjects for the
clinical trial in the data set based on the signal or user
input.
[0035] In some examples, the computing device 102 can use the data
sensing module 112 to receive other data (e.g., from another
computing device or system). The other data can be associated with
one or more chains of tasks for planning or implementing the
clinical trial and the other data can be used for determining a
progress of completing the one or more chains of tasks. For
example, the other data can correspond to at least one of: (i) a
relationship between tasks in a chain of tasks, (ii) a challenging
time of a task in the chain (e.g., an amount of time for completing
the task), (iii) an original buffer period of the chain (e.g., a
duration of time after the challenging time of the last task in the
chain), (iv) an implementation indicator of a task in the chain
(e.g., a real-time status of the task or an amount of time
remaining before completing the task); or (v) a critical sequence
of tasks within multiple chains of tasks (e.g., a chain of tasks
among multiple chains of tasks that has the longest time or path
from beginning to end).
[0036] In some examples, the data sensing module 112 can cause the
computing device 102 to receive the data set or other data in
real-time (e.g., as a task in a chain of tasks is implemented).
[0037] The data sensing module 112 can also be used to store data.
For example, the data sensing module 112 can cause the computing
device 102 to store at least some of the received or detected data.
In some examples, the computing device 102 can store the data in a
database 118.
[0038] The memory 108 can also include a data-formatting module
114, which can be used to process data. In some examples, the
data-formatting module 114 can be electrically or communicatively
coupled to the data sensing module 112 and can receive data
detected or stored by the data sensing module 112 and process the
data. In some examples, the data-formatting module 114 can be used
to process the detected or stored data by electronically converting
the data into a chain of tasks (e.g., the chain of tasks 301 of
FIG. 3 described in detail below) that can include one or more
tasks for completing a process. For example, the data-formatting
module 114 can receive data about a chain of tasks and a
relationship between tasks in the chain of tasks from the data
sensing module 112 and the data-formatting module can
electronically convert the data into a chain of tasks that
corresponds to the process for planning a clinical trial and the
chain of tasks can include a task for completing the process (e.g.,
securing required site approvals for activating a site for the
clinical trial). In some examples, converting the data into the
chain of tasks includes analyzing the data received to determine an
order of the tasks included in the data or a relationship between
the tasks and generating the chain of tasks based on the order or
the relationship. For example, the data-formatting module 114 may
determine that a task is a first task and another task is a second
task and generate the chain of tasks based on the order of the
tasks. In some examples, the data-formatting module 114 can also
process data about the chain of tasks or a task in the chain and
convert the data into an electronically readable form.
[0039] The memory can also include a parameter-determining module
115, which can be used to determine various parameters associated
with a chain of tasks (e.g., the chain of tasks generated using the
data-formatting module 114). For example, the parameter-determining
module 115 can be used to determine the parameters based on data
received by the computing device 102 (e.g., via the data sensing
module 112). The various parameters can be used to determine a risk
associated with the chain of tasks, which can be used to normalize
a risk associated with multiple chains of tasks. As one example,
the parameter-determining module 115 can be used to determine a
buffer index associated with the chain of tasks. The buffer index
can indicate a confidence level for completing the chain of tasks
by the critical date of the chain of tasks. In some examples,
parameter-determining module 115 can determine a risk level
associated with the chain of tasks based on the buffer index. For
example, the parameter-determining module 115 can determine that
there is a high risk of not completing the chain of tasks by the
critical date if the buffer index is below a risk threshold. In
another example, the parameter-determining module 115 can determine
that there is a low risk of not completing the chain of tasks by
the critical date if the buffer index is above the risk threshold.
In some examples, the parameter-determining module 115 can
determine a buffer index associated with multiple chains of tasks
and determine a rank of each chain of tasks within the multiple
chains of tasks based at least in part on the buffer index
associated with each chain of tasks. For example, the
parameter-determining module 115 may compare a buffer index
associated with a first chain of tasks with another buffer index
associated with a second chain of tasks. The parameter-determining
module 115 may determine a rank of the first chain of tasks and the
second chain of tasks based on the comparison. The
parameter-determining module 115 can determine a risk level
associated with each chain of tasks within the multiple chains of
tasks (e.g., a risk of not completing the chain of tasks by the
critical date) based at least in part on the rank of each chain of
tasks.
[0040] The memory can also include a critical date adjustment
module 116. The critical date adjustment module 116 can include one
or more algorithms for analyzing one or more buffer indices
associated with one or more chains of tasks. The critical date
adjustment module 116 can also be used to determine a change in a
critical date of a chain of tasks for adjusting a buffer index of
the chain of tasks. For example, the critical date adjustment
module 116 can use various formulas or algorithms to determine a
change in the critical date based at least in part on: (i) a
desired buffer index, (ii) the critical date of the chain of tasks
(iii) the original buffer period of the chain of tasks; (iv) a
desired date to begin the chain of task; or (v) the amount of time
remaining before completing the chain as a percentage of the chain
duration. In some examples, changing the critical date to adjust a
buffer index of the chain of tasks can mitigate a risk associated
with the chain of tasks (e.g., reduce the risk of not completing
the chain of tasks).
[0041] In some examples, the computing device 102 can generate an
interface for outputting or displaying data associated with a chain
of tasks, data received by the computing device, a parameter of the
chain of tasks, or the buffer index associated with the chain of
tasks. For example, the computing device 102 can display the data
via the display device 120. In some examples, the computing device
102 can output the data for selecting or implementing one or more
processes for adjusting the buffer index of the chain of tasks. For
example, the computing device 102 can output data that corresponds
to any data associated with the chain of tasks or a parameter of
the chain of tasks for selecting a process (e.g., one or more
steps) for adjusting the buffer index.
[0042] In some examples, the computing device 124 includes a
processor 126, a bus 128, a memory 130, a database 140, a display
device 142, and a communication device 146, each of which may be
configured in substantially the same manner as the processor 104,
bus 106, memory 108, database 118, display device 120, and
communication device 122 of the computing device 102, although they
need not be. In some embodiments, the memory 130 can include
instructions 132, data sensing module 134, data-formatting module
136, parameter-determining module 137, and critical date adjustment
module 138, each of which can be configured in substantially the
same manner as instructions 110, data sensing module 112,
data-formatting module 114, parameter-determining module 115, and
critical date adjustment module 116 of computing device 102,
although they need not be.
[0043] In some examples, the environment 100 can include a server
148 for storing or processing data from the computing devices 102,
124. The server 148 can be any computing system or storage device
and can include a communication device 150. The communication
device 150 can be configured in substantially the same manner as
communication devices 122, 146. The computing devices 102, 124 can
communicate with the server 148 via respective communication
devices 122, 146 and the communication device 150.
[0044] In some examples, the server 148 can transmit data to each
computing device 102, 124. For example, the server 148 can transmit
a data set associated with data for implementing or planning a
clinical trial to each computing device 102, 124. The data set can
be received by the corresponding data sensing module 112, 134 of
computing device 102, 124. In some examples, the computing devices
102, 124 can each transmit data to the server 148. The data can
correspond to data received or detected by the data sensing modules
112, 134 of computing devices 102, 124. The data can also include
data processed by the data formatting modules 114, 136 of computing
devices 102, 124. For example, the computing device 102 can
transmit data about the chain of tasks for the process for planning
the clinical trial generated by the data-formatting module 114. The
data can include various parameters of the chain of tasks
determined by the computing device 102 (e.g., via
parameter-determining module 115). In another example, the
computing device 102 can transmit data associated with the
electronically readable form of data about a task in the chain to
the server 148.
[0045] The server 148 can include a data processing engine 152. The
data processing engine 152 can be used to process data received by
the server 148. In some examples, the data processing engine 152
can be used to process data corresponding to various parameters of
a chain of tasks that can be determined by the computing devices
102, 124 (e.g., using the parameter-determining modules 115, 137).
In another example, the data processing engine 152 can be used to
process data corresponding to a risk level associated with the
chain of tasks that can be determined by the computing devices 102,
124 (e.g., using the parameter determining-modules 115, 137). In
some examples, the environment 100 may not include the server 148.
In such examples, the computing devices 102, 124 may communicate
(e.g., transmit and receive data), process data, or store data
directly.
[0046] In some examples, each computing device 102, 124 can
normalize a data set (e.g., a data set received, stored, or
processed by the computing device 102, 124) to predict an attribute
associated with the data set.
[0047] FIG. 2 is a flow chart depicting an example of a process for
normalizing data sets to predict an attribute associated with the
data sets. The process of FIG. 2 is described with reference to the
environment 100 of FIG. 1, but other implementations are
possible.
[0048] In block 202, a data set associated with a clinical trial is
received. In some examples, a computing device 102 receives the
data set. For example, the computing device 102 can receive the
data using the data sensing module 112. The computing device 102
can receive the data set from another computing device (e.g., the
computing device 124 or the server 148) or from user input (e.g.,
if a user programs the computing device to include the data set).
The data set can include data associated with one or more processes
for planning or implementing the clinical trial (e.g., a process
for activating of an investigative site for the clinical trial, a
process for recruiting subjects for the clinical trial, etc.). In
some examples, the data set includes one or more tasks to be
completed for planning or implementing the clinical trial. In some
examples, the data set may also include a critical date for
completing the one or more tasks (e.g., a predetermined date for
completing the tasks).
[0049] In block 204, the data set is stored. In some examples, the
computing device 102 stores the data set. For example, the
computing device 102 stores the data set using the data sensing
module 112. The computing device 102 may store the detected data in
a database 118 or the computing device 102 may transmit the data
set to another computing device to be stored (e.g., the server 148
or the computing device 124).
[0050] In block 206, a chain of tasks associated with the clinical
trial is generated based on the stored data. In some examples, the
computing device 102 can generate the chain of tasks by determining
a relationship between tasks in the stored data and electronically
convert the stored data into the chain of tasks based on the
relationship using the data-formatting module 114. For example, the
computing device 102 can receive data that includes a relationship
between one or more tasks in the data set (e.g., the data may
indicate that a task is a first task and another task is a second
task) and the computing device can generate the chain of tasks
based on the relationship.
[0051] As an example, FIG. 3 is a graph depicting an example of a
chain of tasks 301 along with a critical date for the chain of
tasks. In the example depicted in FIG. 3, the computing device 102
can generate the chain of tasks 301 (e.g., in block 206 of FIG. 2).
In some examples, the chain of tasks 301 corresponds to a process
and includes tasks for completing the process. For example, the
chain of tasks 301 can include tasks 302, 304, 306, 308, 310 each
of which can represent actions or steps to be implemented for
completing the process. For example, chain of tasks 301 can
correspond to a process for activating an investigative site for a
clinical trial. Task 302 can represent the step of completing site
contracts or securing site approval. In the example depicted in
FIG. 3, tasks in the chain of tasks 301 can be implemented in a
sequence. For example, task 304 can be implemented after the task
302 is complete. In another example, tasks in the chain of tasks
301 can be implemented partially simultaneously. For example, task
304 and task 310 can be implemented partially simultaneously.
[0052] In some examples, each task in the chain of tasks 301 can
have a challenging time. The challenging time can represent a
duration of time for completing the task. For example, the task 302
can have a challenging time from T.sub.1 to T.sub.2. As an example,
the challenging time from T.sub.1 to T.sub.2 can represent a
duration of ten days. The task 304 can have a challenging time from
T.sub.2 to T.sub.3, which can represent a duration of four days.
The task 306 can have a challenging time from T.sub.3 to T.sub.4,
which can represent a duration of four days. The task 308 can have
a challenging time from T.sub.4 to T.sub.5 that represents a
duration of six days. The task 310 can have a challenging time from
T.sub.5 to T.sub.6 that represents a duration of six days.
[0053] In some examples, the chain of tasks 301 can have a chain
duration. The chain duration can be a duration of time for
completing the chain of tasks 301. In some examples, the chain
duration can be the sum of the challenging times of tasks in the
chain of tasks 301. For example, the chain duration of the chain of
tasks 301 can be the sum of the challenging times of tasks 302,
304, 306, 308, 310 (e.g., 30 days).
[0054] The chain of tasks 301 can also include an original buffer
period. The original buffer period can represent a duration of time
after the challenging time of the last task in the chain of tasks
301. For example, the chain of tasks 301 can include an original
buffer period 312. The original buffer period 312 for the chain of
tasks 301 can be from T.sub.6 to T.sub.7, which can represent a
duration of eight days. In some examples, the original buffer
period 312 can provide a cushion against fluctuations or delays in
completing tasks in the chain of tasks 301. Providing the cushion
against fluctuations can facilitate management of the chain of
tasks 301 (e.g., managing tasks in the chain of tasks 301 to assure
that the chain of tasks 301 can be completed by a critical date
CD).
[0055] In some examples, the chains of tasks 301 can have a
critical date C.sub.D, which can represent a desired date for
completing the chain of tasks 301 (e.g., a predetermined date for
completing each task 302, 304, 306, 308, 310 in the chain of tasks
301).
[0056] Returning to FIG. 2, in some examples, in block 206, the
computing device 102 can generate multiple chains of tasks
associated with the clinical trial. For example, FIG. 4 is a graph
depicting an example of chains of tasks 301, 303, 305 along with a
critical date C.sub.D common to the chains of tasks.
[0057] In the example depicted in FIG. 4, the chains of tasks 301,
303, 305 can correspond to various processes (e.g., processes for
planning or implementing a clinical trial). Each chain of tasks
301, 303, 305 can include tasks for completing the various
processes. For example, the chain of tasks 301 can include tasks
302, 304, 306, 308, 310. The chain of tasks 303 can include tasks
314, 316, 318, 320, 322. The chain of tasks 305 can include tasks
326, 328, 330, 332, 334. In some examples, tasks in the chains of
tasks 301, 303, 305 can be implemented in a sequence. For example,
task 316 in chain of tasks 303 can be implemented after task 302 in
chain of tasks 301 is complete. In another example, tasks in
different chains of tasks can be implemented partially
simultaneously. For example, task 314 in the chain of tasks 303 and
task 302 in the chain of tasks 301 can be implemented partially
simultaneously. Each task in the chains of tasks 301, 303, 305 can
be associated with a challenging time as described above with
reference to FIG. 3. Each chain of tasks 301, 303, 305 can have a
chain duration and an original buffer period 312, 324, 336 as
described above with reference to FIG. 3.
[0058] In some examples, at least one of the chains of tasks 301,
303, 305 can be a critical sequence of tasks. A critical sequence
of tasks can be a chain of tasks that has the longest time or
longest path to complete all the tasks in the chain. For example,
in FIG. 4, chain of tasks 301 can be the critical sequence of tasks
in the chains of tasks. In another example, the critical sequence
of tasks can be a chain of tasks involving tasks that have the
greatest sum of challenging times.
[0059] In the example depicted in FIG. 4, the chains of tasks 301,
303, 305 can have a common critical date C.sub.D that represents a
desired date for completing each of the chains of tasks 301, 303,
305.
[0060] With reference to FIGS. 2 and 4, in some examples, in block
208, the computing device 102 can also shift the original buffer
periods 312, 324, 336 of the chains of tasks 301, 303, 305. For
example, FIG. 5 is an example of a graph depicting a shift in
original buffer periods 312, 324, 336 of the chains of tasks 301,
303, 305 of FIG. 4. In the example depicted in FIG. 5, the
computing device 102 can shift the original buffer periods 312,
324, 336 by a corresponding duration of time 311, 323, 335. As an
example, the original buffer period 312 can be shifted by the
duration of time 311. The original buffer period 324 can be shifted
by the duration of time 323. The original buffer period 336 can be
shifted by the duration of time 335. In some examples, the
computing device 102 can shift the original buffer periods 312,
324, 336 such that the end of the original buffer periods 312, 324,
336 corresponds with the critical date C.sub.D for the chains of
tasks 301, 303, 305
[0061] In some examples, shifting an original buffer period of a
chain of tasks can adjust a chain duration of the chain of tasks.
For example, if the original buffer period is shifted, the chain
duration of the chain of tasks can be the sum of the challenging
times of tasks in the chain of tasks and the duration of time of
the shift in the original buffer period. In the example shown in
FIG. 5, a chain duration of each chain of tasks 301, 303, 305 can
be adjusted by the duration of time 311, 323, 335. For example, the
chain duration of chain of tasks 301 can be the sum of the
challenging times of tasks 302, 304, 306, 308, 310 and the duration
of time 311. The chain duration of chain of tasks 303 can be the
sum of the challenging times of tasks 314, 316, 318, 320, 322 and
the duration of time 323. The chain duration of chain of tasks 305
can be the sum of the challenging times of tasks 326, 328, 330,
332, 334 and the duration of time 335.
[0062] Returning to FIG. 2, in block 208, a first subset of data
associated with the chain of tasks (e.g., the chain of tasks 302,
303, 305 of FIGS. 3-5) is received. In some examples, the computing
device 102 receives the first subset of data from another computing
device or via user input using the data sensing module 112. The
first subset of data can include data about the chain of tasks or
one or more tasks in the chain of tasks (e.g., task 302 of FIGS.
3-5). For example, the first subset of data can correspond to: (i)
a relationship between tasks in each chain of tasks (e.g., a
relationship between task 302 and task 304 of FIGS. 3-5); (ii) a
challenging time of a task in the chain (e.g., a challenging time
of task 302); (iii) an original buffer period of the chain of tasks
(e.g., the original buffer period 312 of chain of tasks 301), (iv)
an implementation indicator of a task in the chain (e.g., a
real-time status of the task 302 or an amount of time remaining
before completing the task 302); or (v) a critical sequence of
tasks within multiple chains of tasks (e.g., a critical sequence of
tasks within chains of tasks 301, 303, 305). In some examples, the
first subset of data can be used to determine a progress of
completing the chain of tasks (e.g., a progress of completing the
chain of tasks 301).
[0063] In block 210, a buffer index associated with the chain of
tasks (e.g., the chain of tasks 301, 303, 305 of FIGS. 3-5) can be
determined based on the first subset of data (e.g., the first
subset of data received in block 208). In some examples, the
computing device 102 determines one or more parameters associated
with the chain of tasks for determining the buffer index, which can
be used to determine a risk associated with the chain of tasks. The
risk can be a risk of not completing the chain of tasks by a
specific date or a likelihood of completing the chain of tasks by
the specific date (e.g., the likelihood of completing the chain of
tasks 301 by the critical date C.sub.D of FIGS. 3-5).
[0064] For example, the computing device 102 can determine a chain
duration of the chain of tasks based at least in part on
challenging times of tasks in the chain of tasks. For example, the
computing device 102 can determine the chain duration based on the
sum of challenging times of the tasks in the chain (e.g., the sum
of the challenging times of tasks 302, 304, 306, 308, 310 in the
chain of tasks 301 of FIGS. 3-5). In some examples, the computing
device 102 can determine the chain duration based at least in part
on the challenging times of tasks in the chain of tasks and a shift
in the buffer in the original buffer period of the chain of tasks.
As an example, the computing device 102 can determine the chain
duration based on the sum of: (i) a duration of time of the shift
of the original buffer period (e.g., the duration of time 311 of
FIG. 5); and (ii) the sum of the challenging times of tasks in the
chain of tasks (e.g., the sum of the challenging times of tasks
302, 304, 306, 308, 310 in the chain of tasks 301 of FIGS.
3-5).
[0065] In some examples, the computing device 102 can determine an
amount of time remaining before completing the chain of tasks
(e.g., an amount of time remaining before completing the chain of
tasks 301 of FIGS. 3-5). The computing device 102 can determine the
amount of time remaining before completing the chain of tasks based
on an implementation indicator of a task in the chain of tasks
(e.g., an implementation indicator of task 302 of FIGS. 3-5), which
may correspond to an amount of time remaining before completing the
task. As an example, the computing device 102 can determine the
amount of time remaining before completing the chain of tasks by
determining a sum of: i) the amount of time remaining before
completing the task; and ii) the challenging times of subsequent
tasks in the chain of tasks (e.g., the challenging time of tasks
304, 306, 408, 310). For example, if there are 5 days remaining
before completing the task and sum of the challenging times of
subsequent tasks in the chain of tasks is 20 days, the computing
device 102 can determine that the amount of time remaining before
completing the chain of tasks is 30 days.
[0066] In some examples, the computing device 102 can compare the
amount of time remaining before completing the chain of tasks and
the chain duration. The computing device 102 can use the comparison
to determine the amount of time remaining as a percentage of the
chain duration. As an example, the computing device 102 can divide
the amount of time remaining before completing the chain of tasks
by the chain duration to determine the amount of time remaining as
a percentage of the chain duration.
[0067] In some examples, the computing device 102 can determine an
amount of the original buffer period remaining (e.g., an amount of
the original buffer period 312 of FIGS. 3-5 remaining). In some
examples, the computing device 102 can determine the amount of the
original buffer period remaining in real time, as a task in the
chain of tasks is implemented (e.g., as the task 302 is
implemented). For example, the computing device 102 can determine
the amount of the original buffer period remaining based on the
implementation indicator associated with the task (e.g., the
implementation indicator of task 302), which may correspond to the
amount of time remaining before completing the task. The computing
device 102 can subtract the amount of time remaining before the
completing the task from the original buffer period to determine
the amount of the original buffer period remaining. In some
examples, the computing device 102 can determine a percentage of
the original buffer period remaining (e.g., a percentage of the
original buffer period 312 remaining). As an example, the computing
device 102 can divide the amount of the original buffer period
remaining by the original buffer period to determine the percentage
of the original buffer period remaining.
[0068] In some examples, the computing device 102 can determine the
buffer index associated with the chain of tasks (e.g., the buffer
index associated with chain of tasks 301 of FIGS. 3-5) by
comparing: (i) the percent of the original buffer period remaining;
and (ii) the amount of time remaining before completing the chain
as a percentage of the chain duration. The computing device 102 can
use the comparison to determine the buffer index for the chain of
tasks. As an example, the computing device 102 can divide the
percent of the original buffer period remaining by the amount of
time remaining before completing the chain as a percentage of the
chain duration to determine the buffer index of the chain of tasks,
which can indicate a confidence level for completing the chain of
tasks by the critical date (e.g., a confidence of completing the
chain of tasks 301 by the critical date C.sub.D of FIGS. 3-5). In
some examples, the computing device 102 can determine a buffer
index associated with multiple chains of tasks (e.g., a buffer
index associated with each of chain of tasks 301, 303, 305). The
computing device 102 may determine a rank of each chain of tasks
within the multiple chains of tasks based at least in part on a
buffer index of the chain of tasks. For example, the computing
device 102 may determine a first buffer index associated with chain
of tasks 301 and a second buffer index associated with chain of
tasks 303. The computing device 102 can compare the first buffer
index and the second buffer index and determine a rank of the chain
of tasks 301 and a rank of the chain of tasks 303 based on the
comparison. For example, the computing device 102 may rank the
chain of tasks 301 first and rank the chain of tasks 303 second in
response to determining that the first buffer index associated with
the chain of tasks 301 is lower than the second buffer index
associated with the chain of tasks 303.
[0069] In some examples, the computing device 102 can determine a
risk level associated with the chain of tasks based on the buffer
index. For example, the computing device 102 can determine that
there is a high risk of not completing the chain of tasks by the
critical date if the buffer index is below a risk threshold. In
another example, the computing device 102 can determine that there
is a low risk of not completing the chain of tasks by the critical
date if the buffer index is above the risk threshold. In some
examples, the computing device 102 can determine a risk level
associated with one or more chains of task based at least in part
on a rank of the one or more chains of tasks. As an example, the
computing device 102 can determine the rank of the chain of tasks
301 and the rank of the chain of tasks 302 as described above and
determine a risk level associated with chain of tasks 301 and chain
of tasks 303. For example, the computing device 102 may rank the
chain of tasks 301 higher than the chain of tasks 303 as described
above, which may indicate a higher likelihood of not completing the
chain of tasks 301 by the critical date as compared to the chain of
tasks 303.
[0070] In some examples, the computing device 102 iteratively
determines the buffer index associated with the chain of tasks. For
example, the computing device 102 can receive a second subset of
data that includes at least one of: (i) a relationship between
tasks in each chain of tasks; (ii) the challenging time of a task
in the chain; (iii) an original buffer period of the chain; (iv) an
implementation indicator of a task in the chain; or (v) a critical
sequence of tasks within the multiple chains of tasks as tasks in
the chain of tasks are implemented or performed. The computing
device 102 can determine an updated buffer index associated with
the chain of tasks based on the second subset of data in
substantially the same manner as described above with respect to
the first subset of data. In some examples, the computing device
102 can continuously (e.g., in real-time relative to a status of a
task in the chain of tasks) or periodically receive subsequent
subsets of data as tasks in the chain of tasks are implemented or
performed, which can allow the computing device 102 to iteratively
determine or update the buffer index based on the progress of
completing tasks in the chain of tasks. In this manner, the
computing device 102 may provide a real-time update or status of
tasks in the chain of tasks as each task in the chain of tasks is
implemented, performed, or completed.
[0071] In some examples, in block 210, the computing device 102 may
normalize a risk associated with multiple chains of tasks (e.g.,
the chains of tasks 301, 303, 305 of FIGS. 4-5). Normalizing the
risk associated with the multiple chains of tasks can include
aggregating a buffer index for each chain of tasks within the
multiple chains of tasks. Normalizing the risk associated with the
multiple chains of tasks can improve communication by computing
systems in a network. For example, the aggregated buffer index can
be used to determine when or how one or more computing devices
(e.g., computing devices 102, 124 of FIG. 1) receives, transmits,
or otherwise processes data associated with the multiple chains of
tasks or an additional data set. Improving communication by
computing systems in this manner may facilitate management of
network resources for improving communications by the computing
devices.
[0072] As described above, in some examples, a buffer index or an
aggregated buffer index can be used to determine when or how one or
more computing devices 102, 124 receives, transmits or otherwise
processes additional data, which can be used to manage the
computing devices 102, 124 or a network of one or more computing
devices 102, 124. For example, the buffer index can be used to
determine if the computing devices 102, 124 may process additional
data sooner or later, depending on the buffer index. As an example,
each computing device 102, 124 may begin processing additional data
if a buffer index associated with each of the computing devices
102, 124 is above the risk threshold (e.g., there is a low risk of
not completing a chain of tasks by the critical date). As another
example, the computing devices 102, 124 may be delayed from
processing additional data if a buffer index associate with each of
the computing devices 102, 124 is below the risk threshold (e.g.,
there is a high risk of not completing a chain of tasks by the
critical date). As another example, using the buffer index to
determine when the computing devices 102, 124 receive or process
additional data associated with the clinical trial can allow each
of the computing devices 102, 124 to be used to process other data.
In still another example, managing the computing devices 102, 124
or a network of computing devices using a buffer index can include
determining one or more resource that, if made available to the
computing devices 102, 124, may improve a performance of the
computing devices 102, 124.
[0073] Managing the computing devices 102, 124 or a network of one
or more computing devices based on a buffer index can improve a
performance of each of the computing devices 102, 124. For example,
using the buffer index to determine when each of the computing
devices 102, 124 receives or processes additional data may allow
resources of each of the computing devices 102, 124 to be
preserved. As an example, using the buffer index to manage each of
the computing devices 102, 124 may allow each of the computing
devices 102, 124 to reserve resources (e.g., power) when the
likelihood of not completing a chain of tasks by the critical date
is low. As another example, buffer indices associated with each of
the computing devices 102, 124 can be used to determine an amount
of data to be processed by each of the computing devices 102, 124,
a time that each of the computing devices 102, 124 can process an
additional data set, or a duration of time that each of the
computing devices 102, 124 can process the additional data set. In
this manner, network resources or resources of each of the
computing devices 102, 124 can be managed and preserved using
buffer indices associated with the computing devices 102, 124,
which may improve performance of the computing devices 102, 124 or
the network (e.g., by reserving resources until a specific time or
by preserving a power of each of the computing devices 102,
124).
[0074] In some examples, in block 210, the computing device 102 can
determine a change in the critical date associated with one or more
chains of tasks (e.g., critical date C.sub.D of FIGS. 3-5) for
adjusting one or more buffer indices associated with the one or
more chains of tasks (e.g., using the critical date adjustment
module 116).
[0075] For example, the computing device 102 can receive data
corresponding to a desired buffer index for the chain of tasks
(e.g., a desired buffer index for the chain of tasks 301 of FIGS.
3-5). The computing device 102 can compare the desired buffer index
to a determined buffer index. The computing device 102 can
determine a change in the critical date for achieving the desired
buffer index by searching for such adjusted date by step-increasing
or decreasing the critical date and calculating the buffer index
for each step, until it reaches the desired value of the desired
buffer index. In some examples, the computing device 102 can
determine a change in the critical date for achieving the desired
buffer index by applying a linear or quadratic function to data
determined or received by the computing device (e.g., in blocks
202-210). The computing device 102 can apply the linear or
quadratic formula using a critical date adjustment module (e.g.,
the critical date adjustment module 116 of FIG. 1). As an example,
if the desired buffer index is less than the determined buffer
index, the critical date adjustment module can apply the following
function to determine a change in the critical date:
C.sub.D2=C.sub.D+BI.sub.Desired.times.BP.sub.1.times.CP
In the formula above, C.sub.D is the critical date of the chain of
tasks, BI.sub.Desired is the desired buffer index, BP.sub.1 is the
original buffer period of the chain (e.g., original the buffer
period of the chain received in block 208 of FIG. 2), CP is the
amount of time remaining before completing the chain as a
percentage of the chain duration (e.g., the amount of time
remaining before completing the chain divided by the chain
duration) and C.sub.D2 is a new critical date for achieving the
desired buffer index. As another example, if the desired buffer
index is greater than the determined buffer index, the critical
date adjustment module can apply the following formula to determine
a change in the critical date for achieving the desired buffer
index:
C D 2 = C D + - C D + chainStartDate planned + BP 1 + ( C D -
chainStartDate planned - BP 1 ) 2 + 4 .times. Duration remaining
.times. BP 1 .times. BI Desired 2 ##EQU00001##
[0076] In the formula above, C.sub.D is the critical date of the
chain of tasks, BP.sub.1 is the original buffer period of the
chain, BI.sub.Desired is the desired buffer index,
chainStartDate.sub.planned is a desired date to begin implementing
the chain, Duration.sub.remaining is the amount of time remaining
before completing the chain of tasks and C.sub.D2 is a new critical
date for achieving the desired buffer index.
[0077] In block 212, an interface for display that includes data
associated with the chain of task, the first subset of data, or the
buffer index is generated. In some examples, the computing device
102 can generate the interface and output the interface via a
display device 120. For example, FIG. 6 is an example of a user
interface 600 that can be generated by the computing device 102 for
normalizing data sets to predict an attribute associated with the
data sets.
[0078] In the example depicted in FIG. 6, the computing device 102
can generate the user interface 600 corresponding to data about a
chain of tasks and output the user interface. The chain of tasks
can correspond to a process for planning or implementing a clinical
trial. For example, the user interface 600 can indicate that a
chain of tasks is associated with a process for securing site
approvals, securing site contracts, securing essential documents,
or completing startup requirements.
[0079] In the example depicted in FIG. 6, the user interface 600
can also include a status or risk level associated with each chain
of tasks. For example, the user interface 600 can indicate that a
chain of tasks is at risk of not being complete by a critical date.
In the example shown in FIG. 6, the user interface 600 indicates
that the chain of tasks for securing site contracts is at risk of
not being completed by the critical date. The user interface 600
can also indicate that the chain of tasks for securing site
approvals is delayed. The user interface 600 can also indicate that
the chain of tasks for securing essential documents is complete,
and the chain of tasks for securing project-specific startup
requirements is on track to be completed by the critical date.
[0080] In some examples, the user interface 600 generated by the
computing device can also display an implementation indicator of a
task in a chain of tasks. The implementation indicator can include
data about the real-time status of the task. The implementation
indicator may also include data that corresponds to a cause of a
risk associated with the chain of tasks. In the example shown in
FIG. 6, the user interface 600 can indicate that the status or
cause of the risk associated with the chain of tasks for securing
site approvals is that a review is postponed to a later
meeting.
[0081] In the example shown in FIG. 6, the user interface can also
indicate a country associated with a clinical trial and dates
associated with the clinical trial.
[0082] FIG. 7 is another example of a user interface that can be
generated by the computing device 102 for normalizing data sets to
predict an attribute associated with the data sets. In the example
shown in FIG. 7, the user interface can include an amount of
desired sites for implementing a clinical trial, a date to have the
amount of desired sites active, a name associated with each of the
desired sites, a location of each of the desired sites. The user
interface can also include a number of the amount of desired sites
active to date, a number of the amount of desired sites remaining,
a number of the amount of desired sites on track to be active by
the date, a number of the amount of desired sites at risk of not
being active by the date, or a number of the amount of desired
sites delayed.
[0083] FIGS. 8-9 show other examples of a user interface that can
be generated by the computing device 102 for normalizing data sets
to predict an attribute associated with the data sets. In the
examples shown in FIGS. 8-9, the user interface can include a graph
or data about subject recruitment for a clinical trial.
[0084] In some examples, the computing device 102 can generate the
interface that includes data associated with the chain of task, the
first subset of data, or the buffer index for determining a process
or task for adjusting a parameter associated with the chain of
tasks. For example, the computing device 102 can output data for
determining a process or task for adjusting the buffer index of the
chain of task to correspond to a desired buffer index (e.g., the
desired buffer index received in block 210).
[0085] As described above, in some examples, the computing device
102 can continuously or periodically (e.g., in real-time relative
to a status of a task in the chain of tasks) receive subsequent
subsets of data as tasks in a chain of tasks are implemented or
performed, which can allow the computing device 102 to iteratively
determine or update the buffer index based on the progress of
completing tasks in the chain of tasks. In this manner, the
computing device 102 may provide a real-time update or status of
tasks in the chain of tasks as each task in the chain of tasks is
implemented, performed, or completed. In such embodiments, the
computing device 102 can update a user interface generated by the
computing device 102 (e.g., the user interfaces depicted in FIGS.
8-9) based on an updated status of tasks in the chain of tasks. As
an example, the computing device 102 may update the user interface
to indicate an updated implementation indicator of a task in a
chain of tasks (e.g., a real-time status of the task or an amount
of time remaining before completing the task). As another example,
the computing device 102 may update the user interface to indicate
an updated buffer index of the chain of tasks based on subsequent
subsets of data received by the computing device 102.
[0086] The foregoing description of certain examples, including
illustrated examples, has been presented only for the purpose of
illustration and description and is not intended to be exhaustive
or to limit the disclosure to the precise forms disclosed. Numerous
modifications, adaptations, and uses thereof will be apparent to
those skilled in the art without departing from the scope of the
disclosure.
* * * * *