U.S. patent application number 12/906450 was filed with the patent office on 2011-07-14 for system and method for medical surveillance through personal communication device.
Invention is credited to Brent Gutekunst.
Application Number | 20110173308 12/906450 |
Document ID | / |
Family ID | 44259366 |
Filed Date | 2011-07-14 |
United States Patent
Application |
20110173308 |
Kind Code |
A1 |
Gutekunst; Brent |
July 14, 2011 |
SYSTEM AND METHOD FOR MEDICAL SURVEILLANCE THROUGH PERSONAL
COMMUNICATION DEVICE
Abstract
A medical monitoring and surveillance system uses a server
communicating with a general-purpose personal device running an
application. The application may be downloadable. The application
is configured by the server. The application configures the device
to perform medical tests using the sensors, preexisting
capabilities, and functionality built into the device. The device
may be a cellular telephone with data communication and other
functionality, a personal digital organizer, a portable
entertainment device, or another similar personal device. The
application reports the results of the medical tests to the server
or a third party device. Various trigger events and associated
tasks may be incorporated in the server or in the application
residing on the device. A trigger event may occur, for example, in
response to the test results meeting one or more predetermined
criteria. Once a trigger event occurs, a task associated with the
trigger event is performed.
Inventors: |
Gutekunst; Brent; (San
Diego, CA) |
Family ID: |
44259366 |
Appl. No.: |
12/906450 |
Filed: |
October 18, 2010 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61312943 |
Mar 11, 2010 |
|
|
|
61348367 |
May 26, 2010 |
|
|
|
61327386 |
Apr 23, 2010 |
|
|
|
61321568 |
Apr 7, 2010 |
|
|
|
61299568 |
Jan 29, 2010 |
|
|
|
61298077 |
Jan 25, 2010 |
|
|
|
61298068 |
Jan 25, 2010 |
|
|
|
61295917 |
Jan 18, 2010 |
|
|
|
61295104 |
Jan 14, 2010 |
|
|
|
Current U.S.
Class: |
709/222 |
Current CPC
Class: |
G06F 21/6245 20130101;
G06Q 2220/10 20130101; G16H 40/63 20180101; G16H 40/67
20180101 |
Class at
Publication: |
709/222 |
International
Class: |
G06F 15/177 20060101
G06F015/177 |
Claims
1. A method of operating a portable communication device, the
method comprising steps of receiving a master configuration file by
the portable communication device, the master configuration file
comprising information sufficient for an initialization application
to configure each application of one or more applications to
execute on the portable communication device for a user of
the-portable communication device; receiving by the portable
communication device the initialization application and-said each
application of the one or more applications; executing the
initialization application by the personal communication device,
the step of executing the initialization application comprising
providing for said each application configuration information
corresponding to said each application; and executing said each
application by the portable communication device, the step of
executing said each application comprising said each application
reading the application configuration information corresponding to
said each application and configuring the portable communication
device in accordance with the application configuration information
corresponding to said each application.
2. The method of claim 1, wherein: the one or more applications
comprise a first application and a second application; and the
first application generates first data used by the second
application.
3. The method of claim 2, wherein: the step of providing for said
each application configuration information corresponding to said
each application comprises providing for said each application an
application configuration file corresponding to said each
application, a different configuration file per application; and
the first application comprises a medical application.
4. The method of claim 3, wherein the second application generates
second data used by the first application.
5. The method of claim 1, further comprising: receiving from at
least one server first configuration information and second
configuration information; wherein: the one or more applications
comprise a first application and a second application, the first
application generates first data, and the second application
generates second data.
6. The method of claim 5, further comprising: sending to the at
least one server a request for the first configuration information
and the second configuration information, wherein the step of
receiving from the at least one server the first configuration
information and the second configuration information is performed
in response to the request for the first configuration information
and the second configuration information.
7. The method of claim 6, wherein the first configuration
information comprises at least one parameter of a diagnostic
assessment, test, monitoring protocol, or surveillance protocol,
the at least one parameter being specific to the user.
8. The method of claim 6, wherein the first configuration
information comprises at least one parameter selected from a group
consisting of a diagnostic assessment parameter, a test parameter,
a monitoring protocol parameter, and a surveillance protocol
parameter.
9. The method of claim 6, wherein the second application generates,
based on interaction provided by the user, data related to
condition of the user, timestamps the data related to the condition
of the user, and transmits the data related to the condition of the
user to at least one remote device when a connection to the at
least one remote device is available.
10. The method of claim 6, wherein the second application
generates, based on interaction provided by the user, data related
to condition of the user, timestamps the data related to the
condition of the user, and transmits the data related to the
condition of the user to the at least one server at periodic
intervals.
11. The method of claim 6, wherein the second application
generates, based on interaction provided by the user, data related
to condition of the user, and transmits the data related to the
condition of the user to the at least one server when the data
related to the condition becomes available.
12. The method of claim 6, wherein the second application
generates, based on interaction provided by the user, data related
to condition of the user, timestamps the data related to the
condition of the user, and transmits the data related to the
condition of the user to the at least one server.
13. The method of claim 6, wherein: the first application
generates, based on interaction provided by the user, data related
to condition of the user; the first data (1) comprises the data
related to the condition of the user, or (2) is generated based on
the data related to the condition of the user; and the second
application causes the portable communication device to modify a
regimen of the user in response to the data related to the
condition of the user meeting a predefined condition.
14. The method of claim 13, wherein the second application causes
the portable communication device to modify the regimen of the user
by displaying regimen modification information to the user.
15. The method of claim 13, wherein the second application causes
the portable communication device to modify the regimen of the user
by changing time of an action performed by the portable
communication device.
16. The method of claim 13, wherein the second application causes
the portable communication device to modify the regimen of the user
by changing time of a reminder provided to the user by the portable
communication device.
17. The method of claim 6, wherein: the first application
generates, based on interaction provided by the user, data related
to condition of the user; the first data (1) comprises the data
related to the condition of the user, or (2) is generated based on
the data related to the condition of the user; and the second
application causes the portable communication device to send to the
at least one server information related to trigger generation in
response to the data related to the condition of the user meeting a
predefined condition.
18. The method of claim 17, wherein the data related to trigger
generation comprises information related to scheduling of an
appointment.
19. The method of claim 17, wherein the data related to trigger
generation comprises information related to modification of a
regimen.
20. The method of claim 17, wherein the data related to trigger
generation comprises information related to scheduling a
communication from a provider.
21. The method of claim 17, wherein the data related to trigger
generation comprises at least a portion of the data related to the
condition of the user.
22. The method of claim 17, wherein the data related to trigger
generation comprises at least a portion of the data related to the
condition of the user and a request for evaluation of the data
related to the condition of the user.
23. The method of claim 17, wherein the data related to trigger
generation comprises a request for evaluation of the data related
to the condition of the user.
24. The method of claim 17, wherein the data related to trigger
generation comprises a request for a third application for the
portable communication device, the method further comprising
receiving by the portable communication device, the third
application in response to the request for the third
application.
25. The method of claim 17, wherein the data related to trigger
generation comprises a request for a third application for the
portable communication device and third configuration information
corresponding to the third application, the method further
comprising receiving by the portable communication device, the
third application and the third configuration information in
response to the request for the third application and the third
configuration information.
26. The method of claim 6, wherein the first configuration
information comprises a menu option determination for the first
application or the second application.
27. The method of claim 6, further comprising configuring an
external device collocated with the personal communication device
based on the first configuration information, the second
configuration information, or the first and the second
configuration information.
28. The method of claim 27, wherein the external device and the
personal communication device communicate using a short range radio
frequency communication standard.
29. The method of claim 6, further comprising configuring an
external glucose monitoring device collocated with the personal
communication device based on the first configuration information,
the second configuration information, or the first and the second
configuration information.
30. The method of claim 6, further comprising configuring an
external heart rate monitoring device collocated with the personal
communication device based on the first configuration information,
the second configuration information, or the first and the second
configuration information.
31. The method of claim 6, further comprising configuring an
external blood pressure monitoring device collocated with the
personal communication device based on the first configuration
information, the second configuration information, or the first and
the second configuration information.
32. The method of claim 6, wherein the second application
generates, based on interaction provided by the user, data related
to condition of the user, and the second configuration information
configures the personal communication device to prevent, in
response to a predetermined condition, the user from seeing at
least some test data resulting from the interaction provided by the
user.
33. The method of claim 32, wherein the predetermined condition is
based on the data related to the condition of the user.
34. The method of claim 32, further comprising receiving by the
personal communication device a display flag, wherein the
predetermined condition is based on status of the flag.
35. The method of claim 6, further comprising receiving by the
personal communication device an updated configuration file,
re-configuring the personal communication device in accordance with
the updated configuration file, the step of re-configuring causing
at least one of (1) elimination of a test performed by the first
application or the second application, (2) addition of a test to be
performed by the first application or the second application, and
(3) a change in a test to be performed by the first application or
the second application.
36. A portable communication device comprising: a first
transceiver; a display; an interaction mechanism configured to
enable a user of the portable communication device to provide
information to the portable communication device; at least one
processor; and at least one memory, the at least one memory storing
program code executable by the at least one processor; wherein the
portable communication device is configured by the at least one
processor, under control of the program code, to perform a method
comprising steps of: receiving a master configuration file, the
master configuration file comprising information sufficient for an
initialization application to configure each application of one or
more applications to execute on the portable communication device
for the user of the portable communication device; receiving the
initialization application and said each application of the one or
more applications; executing the initialization application, the
step of executing the initialization application comprising
providing for said each application configuration information
corresponding to said each application; and executing said each
application by the portable communication device, the step of
executing said each application comprising said each application
reading the application configuration information corresponding to
said each application and configuring the portable communication
device in accordance with the application configuration information
corresponding to said each application.
37. The portable communication device of claim 36, wherein: the
first transceiver is a cellular telephone transceiver.
38. The portable communication device of claim 36, wherein: the
step of providing for said each application configuration
information corresponding to said each application comprises
providing, through the first transceiver, for said each application
an application configuration tile corresponding to said each
application, a different configuration file per application; and
the steps of receiving the master configuration file, receiving the
initialization application and said each application of the one or
more applications are performed through the first transceiver.
39. The portable communication device of claim 36, wherein: the one
or more applications comprise a first application and a second
application; the method steps further comprise receiving from at
least one server first configuration information and second
configuration information.
40. The portable communication device of claim 39, wherein the
method steps further comprise: sending to the at least one server a
request for the first configuration information and the second
configuration information, wherein the step of receiving from the
at least one server the first configuration information and the
second configuration information is performed in response to the
request.
41. The portable communication device of claim 40, wherein the
first configuration information comprises at least one parameter
selected from a group consisting of a diagnostic assessment
parameter, a test parameter, a monitoring protocol parameter, and a
surveillance protocol parameter.
42. The portable communication device of claim 40, wherein the
first application generates first data used by the second
application.
43. The portable communication device of claim 42, wherein the
second application generates second data used by the first
application.
44. The portable communication device of claim 42, wherein: the
first application generates, based on interaction provided by the
user, data related to condition of the user; the first data (1)
comprises the data related to the condition of the user, or (2) is
generated based on the data related to the condition of the user;
and the second application causes the portable communication device
to modify a regimen of the user in response to the data related to
the condition of the user meeting a predefined condition.
45. The portable communication device of claim 42, wherein: the
first application generates, based on interaction provided by the
user, data related to condition of the user; the first data (1)
comprises the data related to the condition of the user, or (2) is
generated based on the data related to the condition of the user;
and the second application causes the portable communication device
to send to the at least one server information related to trigger
generation in response to the data related to the condition of the
user meeting a predefined condition.
46. The portable communication device of claim 40, wherein the
method steps further comprise: configuring an external device
collocated with the personal communication device based on the
second configuration information.
47. The portable communication device of claim 46, further
comprising a radio frequency transceiver for communications using a
short range radio frequency communication standard, wherein the
external device and the personal communication device communicate
through the short range radio frequency transceiver.
48. A method of configuring a portable communication device, the
method comprising steps of: sending a master configuration file
from at least one server to the portable communication device, the
master configuration file comprising information sufficient for an
initialization application to configure each application of one or
more applications to execute on the portable communication device
for a user of the portable communication device; and sending from
the at least one server to the portable communication device the
initialization application; wherein when the initialization
application is executed by the personal communication device, the
personal communication device is provided with configuration
information corresponding to said each application, so that the
portable communication device is configured in accordance with the
application configuration information corresponding to said each
application.
49. The method of claim 48, wherein: the one or more applications
comprise a first application and a second application; and the
first application generates first data used by the second
application.
50. The method of claim 49, further comprising: sending from the at
least one server to the portable communication device an
application configuration file corresponding to said each
application, a different configuration file per application.
51. The method of claim 50, wherein at least one of the application
configuration files comprises at least one parameter selected from
a group consisting of a diagnostic assessment parameter, a test
parameter, a monitoring protocol parameter, and a surveillance
protocol parameter.
52. The method of claim 51, wherein the at least one parameter is
specific to the user.
53. A portable communication device comprising: a means for
receiving and transmitting; a means for displaying; a means for
enabling a user of the portable communication device to provide
information to the portable communication device; a means for
processing; and a means for storing data, the means for storing
data storing program code executable by the means for processing;
wherein the portable communication device is configured by the
means for processing, under control of the program code, to perform
a method comprising steps of: receiving a master configuration
file, the master configuration file comprising information
sufficient for an initialization application to configure each
application of one or more applications to execute on the portable
communication device for the user of the portable communication
device; receiving the initialization application and said each
application of the one or more applications; executing the
initialization application, the step of executing the
initialization application comprising providing for said each
application configuration information corresponding to said each
application; and executing said each application by the portable
communication device, the step of executing said each application
comprising said each application reading the application
configuration information corresponding to said each application
and configuring the portable communication device in accordance
with the application configuration information corresponding to
said each application.
54. An article of manufacture comprising at least one memory device
storing computer readable code for performing steps of a method of
operating a portable communication device, the method comprising:
receiving a master configuration file by the portable communication
device, the master configuration file comprising information
sufficient for an initialization application to configure each
application of one or more applications to execute on the portable
communication device for a user of the portable communication
device; receiving by the portable communication device the
initialization application and said each application of the one or
more applications; executing the initialization application by the
personal communication device, the step of executing the
initialization application comprising providing for said each
application configuration information corresponding to said each
application; and executing said each application by the portable
communication device, the step of executing said each application
comprising said each application reading the application
configuration information corresponding to said each application
and configuring the portable communication device in accordance
with the application configuration information corresponding to
said each application.
Description
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority from the following U.S.
Provisional Patent Applications: Ser. No. 61/312,943, entitled
System and Method for Diagnostics, Monitoring and Surveillance of
Individuals Utilizing a Smartphone or Other Remote Device, filed
Mar. 11, 2010; Ser. No. 61/348,367, entitled System & Method
for Identification and Diagnosis of Tremors, filed May 26, 2010;
61/327,386, entitled System & Method for Movement Disorder
Measurement and Quantification, filed Apr. 23, 2010; Ser. No.
61/321,568, entitled A System and Method to Utilize a Smartphone as
a Goniometer for Measurement of Range of Movement or Motion, filed
Apr. 7, 2010; Ser. No. 61/299,568, entitled Assessing Attention,
Fine Motor Skills, Appendicular Coordination, Visual Spatial
Processing, Utilizing the Drawing, Writing or Tracing on
Interactive Graphics on a Touch Sensitive Screen, filed Jan. 29,
2010; Ser. No. 61/298,077, entitled Visual Acuity, Eye Movement,
Color & Contrast Sensitivity Testing Utilizing Interactive
Graphics and a Touch Sensitive Screen, filed Jan. 25, 2010; Ser.
No. 61/298,068, entitled Visual Acuity, Eye Movement, Color &
Contrast Sensitivity Testing Utilizing Interactive Graphics and a
Touch Sensitive Screen, filed Jan. 25, 2010; Ser. No. 61/295,917,
entitled Reactive Response Test Utilizing Interactive Graphics and
a Touch Sensitive Screen, filed Jan. 18, 2010; and Ser. No.
61/295,104, entitled An Invention Measure Fine Motor Speed, Motor
Control, and Coordination in the Upper and Lower Extremities
Through Interactive Graphics on a Touch Sensitive Screen, filed
Jan. 14, 2010. Each of the above referenced patent applications is
hereby incorporated by reference in its entirety as if fully set
forth herein, including Figures, Tables, Computer Code, and Claims,
if present.
FIELD OF THE INVENTION
[0002] The present invention relates generally to medical
surveillance testing, assessing, and monitoring. In particular
aspects, the present invention relates to apparatus, systems, and
articles of manufacture for configuring general purpose portable
communication devices for medical surveillance testing, assessing,
monitoring, and processing information received from such
devices.
BACKGROUND
[0003] Today's healthcare system is complicated and cumbersome: The
processes of testing, diagnosing, monitoring, and performing
surveillance of an individual's health are modeled on and reflect
old technologies and systems. In many cases, the gathering of
diagnostic, monitoring, surveillance and other information occurs
through the patient's in-person interactions with another
individual, who records, interprets, and saves the information. In
other words, the information flows from the patient to an
information system indirectly, through an intermediary. There are a
number of disadvantages to this approach.
[0004] The traditional approach relies on physical proximity of a
health care provider (HCP) to the patient. (The concept of health
care professional includes, but is not necessarily limited to,
medical professionals, such as doctors, physicians, practitioners,
chiropractors, dentists, nurses, medical researchers, and medical
administrators.) Because many diagnostic tests are performed by an
HCP, they require simultaneous physical presence of both the HCP
and the patient. The patient thus has to go to the HCP's office or
some other location, or the HCP has to come to the patient. This is
the so-called Geographic Hindrance.
[0005] Moreover, under the traditional approach many tests and
evaluations occur in real time, so that the HCP and the patient
must be available at the same time. This is the so-called Time
Hindrance or restriction.
[0006] Even medical services available to patients outside the
medical surrounding have generally been restricted to use of custom
built medical devices in a client-server model, where the
individual accesses a distant server, such as a server hosting a
webpage related to the medical service. This limits the patient's
ability to access these services to places and times that allow the
patient access to the remote server while at the same time having
available special purpose medical testing equipment that is
acquired for exclusive use in a specific medical function.
[0007] Therefore, there is a need in the art to facilitate medical
testing, diagnosing, monitoring, and/or performing surveillance of
an individual's health. There is also a need in the art to reduce
costs associated with medical testing, diagnosing, monitoring,
and/or surveillance, and to remove or reduce Geographic Hindrance,
physical hardware limitations and/or Time Hindrance.
SUMMARY
[0008] Embodiments of the present invention are directed to
methods, apparatus, and articles of manufacture that may satisfy
one or more of these needs.
[0009] In selected aspects, the described embodiments allow a user,
such as an individual patient or a patient's caregiver, to
self-administer or administer medical test(s); to generate,
capture, and provide medical data and/or test results directly into
an information system of a healthcare professional, or directly
into general-purpose personal device. The general-purpose personal
device may be a smartphone, iPad.RTM., iPod.RTM., personal computer
(PC), a handheld computer, a personal digital assistant, a cellular
telephone, a network appliance, a camera, a smart phone, an
enhanced general packet radio service (EGPRS) mobile phone, a
network base station, a media player, a navigation device, an email
device, a game console, or a combination of any two or more of
these data processing devices or other data processing devices. The
medical data and/or test results may also go directly into an
information system maintained as part of this system, or that of a
third party. The results may also remain on the device to be
delivered at a physical meeting or appointment. The information may
then he analyzed and processed in various ways, providing multiple
efficiencies and new models for diagnostics, monitoring, and
surveillance.
[0010] The need for an intermediary to administer and observe the
medical test(s) and then input the results into an information
system may thus be eliminated. Moreover, HCP's and the patient's
schedules may be decoupled. In contrast to the existing methodology
where both parties must be at the same place at the same time, the
asynchronous aspect of certain embodiments allows the patient to
take a test at an appropriate time and the HCP to review the
results at a later time, allowing for remote monitoring and
surveillance.
[0011] In aspects, the described embodiments enable user-friendly
applications to be utilized by the user on a general-purpose
personal device, such as a smartphone, iPad.RTM., iPod.RTM.,
personal computer (PC), a handheld computer, a personal digital
assistant, a cellular telephone, a network appliance, a camera, a
smart phone, an enhanced general packet radio service (EGPRS)
mobile phone, a network base station, a media player, a navigation
device, an email device, a game console, or a combination of any
two or more of these data processing devices or other data
processing devices. The applications may be prescribed by an HCP to
the user, and downloaded, pushed, pulled or otherwise transferred
to the user's device to configure and enable the device to provide
testing, surveillance, and monitoring functions. The applications
transform the general-purpose device into a medical device
configured to gather information directly from the user, in real
time and/or periodically, in the form of surveys and
questionnaires, and by enabling tests that the user may perform to
create test data and information concerning the user's medical
condition or state of wellness. These prescriptive applications
extend the medical practitioners reach to the user's device. The
ability to integrate the device and communicate with a second
device or server enables a two-way means of gathering and
delivering data, monitoring the received data, and responding to
the data and the test results. The applications need not
necessarily prevent other, non-medical uses of the device.
[0012] In aspects, the described embodiments provide a means for an
HCP to define or identify one or more diagnostic assessments,
tests, monitoring protocols, surveillance protocols and/or other
medical applications, to configure or delineate user specific
parameters in the applications, and to electronically prescribe the
specified applications to one or more users, through remote
wireless or direct downloading of prescribed tests, assessments,
batteries, diagnostics, surveys, or general data parameter
collection applications onto the user's device, such as a handheld
smartphone. This allows the HCP to transform the device into a
testing, monitoring, surveillance, and diagnostic medical apparatus
that can provide the HCP with diagnostic data, diagnostic
assessments, and the ability to gather clinical parameters outside
the HCP's physical location. Tests can be prescribed for a single
point in time, or for specified time lines. Thus, the data can be
gathered for a single test, or can be gathered over a time period,
for example, over the course of a given disease, treatment, or drug
trial.
[0013] The described embodiments also allow for the monitoring,
surveillance, and testing of groups of individuals for study,
clinical trials, and medical supervision. For example, the
embodiments may be used for post-marketing surveillance data, such
as real-time post-marketing surveillance feedback for
pharmaceutical products prescribed to patients in trials. The
embodiments may also provide the ability to inform an HCP with
response to treatment data that can indicate efficacy or lack of
efficacy of a specified medical regimen, and of a need to modify
the regimen. The embodiments may remotely capture and send medical
diagnostic data to an HCP to indicate response or lack of response
to a given treatment. The diagnostic data sent from a user's device
and received by an HCP's device or computer can provide valuable
time stamped information indicating a need for an adjustment, such
as an increase or decrease of dosage for various pharmaceutical
products. Data may also he retained and remain accessible at a
third party device, the HCP's device, or as part of an integrated
information system. The diagnostic data can provide information
indicating the need for the user-patient to be seen by a medical
professional, for example, to determine whether a change in disease
management and treatment is needed. The embodiments can provide
tests which indicate the pharmacokinetics and pharmacodynamics of
pharmacologic agents.
[0014] In aspects, the described embodiments may also incorporate
an Application Programming Interface (API) that can be used by
third-party application developers to integrate and implement the
configurability of a common platform application into other
applications built by the developers. The server embodiments
described may enable registration and maintenance of third-party
applications through the common platform system. The third-party
applications may be integrated with the prescriptive and
configuration features and abilities of the common platform. The
API may be made available to authorized third parties for
generating, sending, and accessing data and information gathered by
the applications, for integration into other systems and programs.
Data access may be provided through automatic importation of the
data gathered by the applications into existing information systems
utilized by the medical community.
[0015] Advantageously, remote capture of diagnostic information of
an individual patient may enhance clinical decision-making for
disease management.
[0016] Advantageously, a device configured to monitor symptoms at
shorter intervals than Would be economically feasible under the
traditional model and obtaining test data in real-time, may also
enhance the reliability and accuracy of the information available
to HCPs. Efficacy of the treatment programs and/or medication
regimens may thus increase. This may be particularly advantageous
in for patients with neurodegenerative diseases, who often struggle
to have a clear recollection of symptoms that happened over a 4-6
week period between typical doctor's visits.
[0017] In embodiments, a method of operating a portable
communication device includes these steps: (1) receiving a master
configuration file by the portable communication device, the master
configuration file including information sufficient for an
initialization application to configure each application of one or
more applications to execute on the portable communication device
for a user of the portable communication device; (2) receiving by
the portable communication device the initialization application
and said each application of the one or more applications; (3)
executing the initialization application by the personal
communication device, the step of executing the initialization
application including providing for said each application
configuration information corresponding to said each application;
(4) executing said each application by the portable communication
device, the step of executing said each application including said
each application reading the application configuration information
corresponding to said each application and configuring the portable
communication device in accordance with the application
configuration information corresponding to said each
application.
[0018] In aspects, the one or more applications include a first
application and a second application; and the first application
generates first data used by the second application.
[0019] In aspects, the step of providing for said each application
configuration information corresponding to said each application
includes providing for said each application an application
configuration file corresponding to said each application, a
different configuration file per application; and the first
application includes a medical application.
[0020] In aspects, the second application generates second data
used by the first application.
[0021] In aspects, the method also includes receiving from at least
one server first configuration information and second configuration
information. The one or more applications include a first
application and a second application, the first application
generates first data, and the second application generates second
data.
[0022] In aspects, the method also includes sending to the at least
one server a request for the first configuration information and
the second configuration information, wherein the step of receiving
from the at least one server the first configuration information
and the second configuration information is performed in response
to the request for the first configuration information and the
second configuration information.
[0023] In aspects, the first configuration information includes at
least one parameter of a diagnostic assessment, test, monitoring
protocol, or surveillance protocol, the at least one parameter
being specific to the user.
[0024] In aspects, the first configuration information includes at
least one parameter selected from a group consisting of a
diagnostic assessment parameter, a test parameter, a monitoring
protocol parameter, and a surveillance protocol parameter.
[0025] In aspects, the second application generates, based on
interaction provided by the user, data related to condition of the
user, timestamps the data related to the condition of the user, and
transmits the data related to the condition of the user to at least
one remote device when a connection to the at least one remote
device is available.
[0026] In aspects, the second application generates, based on
interaction provided by the user, data related to condition of the
user, timestamps the data related to the condition of the user, and
transmits the data related to the condition of the user to the at
least one server at periodic intervals.
[0027] In aspects, the second application generates, based on
interaction provided by the user, data related to condition of the
user, and transmits the data related to the condition of the user
to the at least one server when the data related to the condition
becomes available.
[0028] In aspects, the second application generates, based on
interaction provided by the user, data related to condition of the
user, timestamps the data related to the condition of the user, and
transmits the data related to the condition of the user to the at
least one server.
[0029] In aspects, the first application generates, based on
interaction provided by the user, data related to condition of the
user. The first data includes the data related to the condition of
the user, or is generated based on the data related to the
condition of the user. The second application causes the portable
communication device to modify a regimen of the user in response to
the data related to the condition of the user meeting a predefined
condition.
[0030] In aspects, the second application causes the portable
communication device to modify the regimen of the user by
displaying regimen modification information to the user.
[0031] In aspects, the second application causes the portable
communication device to modify the regimen of the user by changing
time of an action performed by the portable communication
device.
[0032] In aspects, the second application causes the portable
communication device to modify the regimen of the user by changing
time of a reminder provided to the user by the portable
communication device.
[0033] In aspects, the first application generates, based on
interaction provided by the user, data related to condition of the
user; the first data includes the data related to the condition of
the user, or the first data is generated based on the data related
to the condition of the user; and the second application causes the
portable communication device to send to the at least one server
information related to trigger generation in response to the data
related to the condition of the user meeting a predefined
condition.
[0034] In aspects, the data related to trigger generation includes
information related to scheduling of an appointment.
[0035] In aspects, the data related to trigger generation includes
information related to modification of a regimen.
[0036] In aspects, the data related to trigger generation includes
information related to scheduling a communication from a
provider.
[0037] In aspects, the data related to trigger generation includes
at least a portion of the data related to the condition of the
user.
[0038] In aspects, the data related to trigger generation includes
at least a portion of the data related to the condition of the user
and a request for evaluation of the data related to the condition
of the user.
[0039] In aspects, the data related to trigger generation includes
a request for evaluation of the data related to the condition of
the user.
[0040] In aspects, the data related to trigger generation includes
a request for a third application for the portable communication
device, and the method also including receiving, by the portable
communication device, the third application in response to the
request for the third application.
[0041] In aspects, the data related to trigger generation includes
a request for a third application for the portable communication
device and third configuration information corresponding to the
third application, the method also including receiving by the
portable communication device, the third application and the third
configuration information in response to the request for the third
application and the third configuration information.
[0042] In aspects, the first configuration information includes a
menu option determination for the first application or the second
application.
[0043] In aspects, the method also includes configuring an external
device collocated with the personal communication device based on
the first configuration information, the second configuration
information, or the first and the second configuration
information.
[0044] In aspects, the external device and the personal
communication device communicate using:a short range radio
frequency communication standard.
[0045] In aspects, the method also include configuring an external
glucose monitoring device collocated with the personal
communication device based on the first configuration information,
the second configuration information, or the first and the second
configuration information.
[0046] In aspects, the method also includes configuring an external
heart rate monitoring device collocated with the personal
communication device based on the first configuration information,
the second configuration information, or the first and the second
configuration information.
[0047] In aspects, the method also includes configuring an external
blood pressure monitoring device collocated with the personal
communication device based on the first configuration information,
the second configuration information, or the first and the second
configuration information.
[0048] In aspects, the second application generates, based on
interaction provided by the user, data related to condition of the
user, and the second configuration information configures the
personal communication device to prevent, in response to a
predetermined condition, the user from seeing at least some test
data resulting from the interaction provided by the user.
[0049] In aspects, the predetermined condition is based on the data
related to the condition of the user.
[0050] In aspects, the method also includes receiving by the
personal communication device a display flag, wherein the
predetermined condition is based on status of the flag.
[0051] In aspects, the method also includes receiving by the
personal communication device an updated configuration tile,
re-configuring the personal communication device in accordance with
the updated configuration file, the step of re-configuring causing
at least one of (1) elimination of a test performed by the first
application or the second application, (2) addition of a test to be
performed by the first application or the second application, and
(3) a change in a test to be performed by the first application or
the second application.
[0052] In embodiments, a portable communication device includes a
first transceiver, a display, an interaction mechanism configured
to enable a user of the portable communication device to provide
information to the portable communication device, at least one
processor, and at least one memory. The at least one memory stores
program code executable by the at least one processor. The portable
communication device is configured by the at least one processor,
under control of the program code, to perform a method with the
following steps: (1) receiving a master configuration file, the
master configuration file including information sufficient for an
initialization application to configure each application of one or
more applications to execute on the portable communication device
for the user of the portable communication device; (2) receiving
the initialization application and said each application of the one
or more applications; (3) executing the initialization application,
the step of executing the initialization application including
providing for said each application configuration information
corresponding to said each application; and (4) executing said each
application by the portable communication device, the step of
executing said each application including said each application
reading the application configuration information corresponding to
said each application and configuring the portable communication
device in accordance with the application configuration information
corresponding to said each application.
[0053] In aspects, the first transceiver is a cellular telephone
transceiver.
[0054] In aspects, the step of providing for said each application
configuration information corresponding to said each application
includes providing, through the first transceiver, for said each
application an application configuration file corresponding to said
each application, a different configuration file per application;
and the steps of receiving the master configuration file, receiving
the initialization application and said each application of the one
or more applications are performed through the first
transceiver.
[0055] In aspects, the one or more applications include a first
application and a second application; and the method steps also
include receiving from at least one server first configuration
information and second configuration information.
[0056] In aspects, the method steps also include sending to the at
least one server a request for the first configuration information
and the second configuration information, wherein the step of
receiving from the at least one server the first configuration
information and the second configuration information is performed
in response to the request.
[0057] In aspects, the first configuration information includes at
least one parameter selected from a group consisting of a
diagnostic assessment parameter, a test parameter, a monitoring
protocol parameter, and a surveillance protocol parameter.
[0058] In aspects, the first application generates first data used
by the second application.
[0059] In aspects, the second application generates second data
used by the first application.
[0060] In aspects, the first application generates, based on
interaction provided by the user, data related to condition of the
user; the first data includes the data related to the condition of
the user, or is generated based on the data related to the
condition of the user; and the second application causes the
portable communication device to modify a regimen of the user in
response to the data related to the condition of the user meeting a
predefined condition.
[0061] In aspects, the first application generates, based on
interaction provided by the user, data related to condition of the
user; the first data includes the data related to the condition of
the user, or is generated based on the data related to the
condition of the user; and the second application causes the
portable communication device to send to the at least one server
information related to trigger generation in response to the data
related to the condition of the user meeting a predefined
condition.
[0062] In aspects, the method steps also include configuring an
external device collocated with the personal communication device
based on the second configuration information.
[0063] In aspects, the portable communication device also includes
a radio frequency transceiver for communications using a short
range radio frequency communication standard, wherein the external
device and the personal communication device communicate through
the short range radio frequency transceiver.
[0064] In embodiments, a method of configuring a portable
communication device includes these steps: (1) sending a master
configuration file from at least one server to the portable
communication device, the master configuration file including
information sufficient for an initialization application to
configure each application of one or more applications to execute
on the portable communication device for a user of the portable
communication device; and (2) sending from the at least one server
to the portable communication device the initialization
application. When the initialization application is executed by the
personal communication device, the personal communication device is
provided with configuration information corresponding to said each
application, so that the portable communication device is
configured in accordance with the application configuration
information corresponding to said each application.
[0065] In aspects, the one or more applications include a first
application and a second application; and the first application
generates first data used by the second application.
[0066] In aspects, the method also includes sending from the at
least one server to the portable communication device an
application configuration file corresponding to said each
application, a different configuration file per application.
[0067] In aspects, at least one of the application configuration
files includes at least one parameter selected from a group
consisting of a diagnostic assessment parameter, a test parameter,
a monitoring protocol parameter, and a surveillance protocol
parameter.
[0068] In aspects, the at least one parameter is specific to the
user.
[0069] In embodiments, a portable communication device includes a
means for receiving and transmitting, a means for displaying, a
means for enabling a user of the portable communication device to
provide information to the portable communication device, a means
for processing, and a means for storing data. The means for storing
data stores program code executable by the means for processing.
The portable communication device is configured by the means for
processing, under control of the program code, to perform a method
including the following. steps: (1) receiving a master
configuration file, the master configuration file including
information sufficient for an initialization application to
configure each application of one or more applications to execute
on the portable communication device for the user of the portable
communication device; (2) receiving the initialization application
and said each application of the one or more applications; (3)
executing the initialization application, the step of executing the
initialization application including providing for said each
application configuration information corresponding to said each
application; and (4) executing said each application by the
portable communication device, the step of executing said each
application including said each application reading the application
configuration information corresponding to said each application
and configuring the portable communication device in accordance
with the application configuration information corresponding to
said each application.
[0070] In embodiments, at least one memory device stores computer
readable code for performing steps of a method of operating a
portable communication device. The method includes (1) receiving a
master configuration file by the portable communication device, the
master configuration file including information sufficient for an
initialization application to configure each application of one or
more applications to execute on the portable communication device
for a user of the portable communication device; (2) receiving by
the portable communication device the initialization application
and said each application of the one or more applications; (3)
executing the initialization application by the personal
communication device, the step of executing the initialization
application including providing for said each application
configuration information corresponding to said each application;
and (4) executing said each application by the portable
communication device, the step of executing said each application
including said each application reading the application
configuration information corresponding to said each application
and configuring the portable communication device in accordance
with the application configuration information corresponding to
said each application.
[0071] These and other features and aspects of the present
invention will be better understood with reference to the following
description, drawings, and appended claims.
BRIEF DESCRIPTION OF THE FIGURES
[0072] FIG. 1 illustrates selected components of a server
configured to perform in accordance with selected aspects of the
present description;
[0073] FIGS. 2 and 3 are simplified representations of selected
aspects of communications between a user at a user device running
an application and another party;
[0074] FIG. 4 is a process flow diagram illustrating selected steps
and decision blocks of configuring an application on a user
device;
[0075] FIG. 5 illustrates selected steps of a process for creating
or modifying a configuration file for an application on a user
device; and
[0076] FIG. 6 illustrates selected steps and decisions of a process
for creating or modifying a trigger event, and acting on the
trigger event.
DETAILED DESCRIPTION
[0077] In this document, the words "embodiment," "variant," and
"example" refer to particular apparatus, process, or article of
manufacture, and not necessarily to the same apparatus, process, or
article of manufacture. Thus, "one embodiment" (or a similar
expression) used in one place or context can refer to a particular
apparatus, process, or article of manufacture; the same or a
similar expression in a different place can refer to a different
apparatus, process, or article of manufacture. The expression
"alternative embodiment" and similar expressions and phrases are
used to indicate one of a number of different possible embodiments.
The number of possible embodiments is not necessarily limited to
two or any other quantity. Characterization of an item as
"exemplary" means that the item is used as an example. Such
characterization of an embodiment does not necessarily mean that
the embodiment is a preferred embodiment; the embodiment may but
need not be a currently preferred embodiment. All embodiments are
described for illustration purposes and are not necessarily
strictly limiting.
[0078] The words "couple," "connect," and similar expressions with
their inflectional morphemes do not necessarily import an immediate
or direct connection, but include connections through mediate
elements within their meaning.
[0079] The expression "medical application" refers to a software
application (such as an iPhone.RTM. application and analogous
applications for competing platforms) for performing or
facilitating at least some part of a medical or health-related
diagnostic assessment, medical or health-related test, medical or
health-oriented monitoring protocol, medical or health-related
surveillance protocol, and similar activities related to provision
of healthcare and health maintenance services to a user of the
application, or to another person. Medical applications may relate
to drug testing and other similar activities that may or may not
benefit directly the person tested, diagnosed, monitored, or
subjected to surveillance. The term "application" includes within
its meaning "medical application." It also extends to applications
that are not strictly speaking "medical" in nature, although it may
integrate with one or more medical applications to achieve some
health-related benefit. For example, a software application for
monitoring a person's blood pressure or serum glucose level would
be both an "application" and a "medical application" as defined
herein. A software application for monitoring running
performance--speed, distance, calorie burn rate--is an example of
an "application," but not of a "medical application."
[0080] The word "interaction" and its inflectional morphemes, when
used in the context of a user's intercourse with a portable
communication device or applications executing on such device,
relate to providing information to the device or application(s).
The information may be "input" into the device or application by
providing it directly in the form of input through means designed
for the user to provide input defined data, such as a keyboard,
touchpad, touch sensitive screen, or microphone. An interaction
subsumes input of information, and additionally includes provision
of information through a sensor not intended for information input
by the user, such as a vibration sensor, a temperature sensor, and
a medical sensor (a glucose sensor, blood pressure sensor, heart
rate Monitor, etc.).
[0081] When used in relation to "applications," the word
"configure" and its inflectional morphemes signify setting up a
particular application for performing its intended function on a
specific operating platform of a personal communication device
(including both hardware and software components of such platform).
The word "configure" and its inflectional morphemes, when used in
relation to multiple applications, also refer to interrelating the
various elements of these multiple applications to facilitate some
end result of the use of these multiple applications. Interrelating
may include affecting not just the multiple applications, but also
setting up the hardware/software components of the operating
platform and, if applicable, to the hardware/software components of
external device(s) intended to be plugged into the operating
platform or otherwise connected to the operating platform via
short-range means (as discussed below) for functioning with an
application.
[0082] Other and further definitions and clarifications of
definitions, both explicit and implicit, may be found throughout
this document.
[0083] Reference will now be made in detail to one or more
embodiments selected aspects of which are illustrated in the
accompanying drawings. Same reference numerals may be used in the
drawings and the description to refer to the same apparatus
elements and method steps. The drawings are in a simplified form,
not to scale, and omit apparatus elements and method steps and
decisions that can be added to the described systems and methods,
while possibly including certain optional elements, steps, and
decisions.
[0084] FIG. 1 is a simplified block diagram representation of a
computer-based system 100 configured in accordance with selected
aspects described herein. As shown in FIG. 1, the system 100 is
coupled to portable user devices 180 via a communication network
190. FIG. 1 does not show many hardware and software modules of the
system 100, and omits several physical and logical connections. The
system 100 can be implemented as a special purpose data processor,
a general-purpose computer, a computer system, or a group of
networked computers or computer systems configured to perform the
steps of methods described below. In some embodiments, the system
100 is built on a personal computer platform, such as a Wintel PC,
Linux, Unix, or a Mac computer. The personal computer may be a
desktop or a notebook computer. In other selected embodiments, the
system is a dedicated or a non-dedicated server configured to
perform the method steps described in this document.
[0085] The exemplary system 100 includes a processor 110, read only
memory (ROM) module 120, random access memory (RAM) module 130,
network interface 140, a mass storage device 150, and a database
160. These components are coupled together by a bus 115. In the
illustrated embodiment, the processor 110 is a microprocessor, and
the mass storage device 150 is a magnetic disk drive. The mass
storage device 150 and each of the memory modules 120 and 130 are
connected to the processor 110 to allow the processor 110 to write
data into and read data from these storage and memory devices. The
network interface 140 couples the processor 110 to the network 190,
for example, the Internet. The nature of the network 190 and of the
devices that may be interposed between the system 100 and the
network 190 determine the kind of network interface 140 used in the
system 100. In some embodiments, for example, the network interface
140 is an Ethernet interface that connects the system 100 to a
local area network, which, in turn, connects to the Internet. A
cellular interface 195 provides a connection between the network
190 and the user devices 180. As noted above, the user devices 180
may include smartphones, iPads.RTM., iPods.RTM., PCs, and PDAs.
[0086] The database 160 is used for organizing and storing data
that may be needed or desired in performing the method steps
described in this document, including storing the test data
obtained from the user devices 180. The database 160 may be a
physically separate system coupled to the processor 110, as
illustrated in FIG. 1. In one alternative embodiment, the processor
110 and the mass storage device 150 are configured to perform the
functions of the database 160.
[0087] The processor 110 reads and executes program code
instructions stored in the ROM module 120, the RAM module 130,
and/or the mass storage device 150. Under control of the program
code, the processor 110 configures the system 100 to perform the
steps of the described methods. In addition to the modules 120/13
and the storage 150, the program code instructions may be embodied
in machine-readable storage media, such as hard drives, floppy
diskettes, CD-ROMs, DVDs, and similar devices. The program code can
also be transmitted over a transmission medium, for example, over
electrical wiring or cabling, through optical fiber, wirelessly, or
by any other form of physical transmission. The transmission can
take place over a dedicated link between telecommunication devices,
or through a wide- or local-area network, such as the Internet, an
intranet, extranet, or any other kind of public or private network.
In one embodiment, the program code is downloaded to the system 100
through the network interface 140.
[0088] FIG. 2 is a simplified representation of selected aspects of
communications and information transfer between a user 205, another
party or administrator 210, and servers 220A/B. The administrator
210 may be, for example, an HCP, a teacher, an organization such as
an educational institution, a public health system, a research
institution, and a law enforcement agency. The user 205 may be a
patient, a caregiver of a patient, or another individual. The
administrator 210 may prescribe the use of an application to the
user 205, to gather data. The user 205 may use a device 215 (such
as the device 180 of FIG. 1) on which the application can be run,
to access the servers 220A and 220B through the network 190. Note
that the two servers 220 may be identical or different; note
further that only one of the servers may be used, and therefore the
description below will refer generically to the server 220. (A
third party device 230 may also be used as a server.) The server
220 may be implemented as the system 100 shown in FIG. 1. The user
205 may download and install the application on the device 215. The
user may download the application from the server 220 or another
source, such as the Apple App Store. The application may be pushed
to the user's device via a connection to the server, or pulled by
an existing program, application, action, or event. The latter may
include a link in an email, sins, or other electronic communication
to the device, a trigger action or result with an existing
application or function on the device.
[0089] The administrator 210 may prescribe the application to the
user 205 in various ways, including through the server 220 or
another device such as a personal computer. The administrator may
also provide to the user 205 the device 215 pre-configured with the
prescribed application or applications. Alternatively, the user 205
may download and install the application on the device 215 and then
register with the administrator 210 through the server 220. The
registration may be automatic, triggered by the installation of the
application on the user's device 215, or may take place by the
user's providing/inputting the required information to the
application. The registration may be in the form of e-mail, text,
voice mail, a webpage form, or some other means of communication,
electronic or otherwise.
[0090] The user's information input into the application that may
trigger an automatic communication to the.sup.-administrator 210
may include a specific identification code that affects another
device, or information that allows the application to communicate
directly with the HCP, for example, by automatically generating an
email message or other communication to the HCP's e-mail address or
device. The application may also configure the user's device 215 to
send automatically the collected information to the administrator
210, a third party, a server, or another device at one or more
predetermined times or after a predetermined time interval.
[0091] FIG. 3 is another simplified representation of selected
aspects of communications and information transfer between the user
205, another party or administrator 210, and the server 220. The
communications shown in FIG. 3 are generally similar to those shown
in FIG. 2, with the difference being that the user's device 215 now
communicates with another device 218 co-located with the user's
device 215. The device 218 may be plugged into the device 215;
connected to the device 215 through a short cable, say less than
four feet in length; or configured to communicate with the device
215 using a communication standard (such as Bluetooth.TM.) that
operates over short distances, which may be, for example, 10 meters
or less, and 1 meter or less. In embodiments, the device 218 may be
implanted into a person's body. The device 218 may be a dedicated
device designed to facilitate the gathering of the user's medical
information. For example, the device 218 may be a blood pressure
gauge, a heart rate monitor, or a glucose monitor. The device 218
may be attached to the user's device 215, so that both portable
devices can be carried together. The device 218 may be configured
to communicate with the user device 215, and through the user's
device 215 and the network 190 with the server 220 or another
remote device. The user's device 215 may receive data from the
device 218, and may provide the device 218 with software and
configuration data, so that the device 218 may be configured by the
user 205 or by a remote device such as the server 220.
[0092] The application may employ a configuration file containing
configuration information that determines functional, aesthetic,
and/or other parameters of operation of the user device 215, under
control of the application. The configuration file may be an
eXtended Markup Language (XML) formatted file. The configuration
information for the user device 215 and the application is not
limited to this form. The configuration file may be stored by
various means, including text files stored in databases such as a
DataStore database. The configuration file may include one or more
settings, each setting being a key-value pair. Upon initial
installation or at a later startup of the application, the
application may read or import the data found in the configuration
file. The configuration file may be accessed and/or downloaded
every time the application starts-up, periodically, in response to
updates of the configuration file or data, in response to selection
of a new or additional configuration file, in response to an action
or result occurring with or from the application or other
application or source, or in response to downloading of a new
configuration file.
[0093] FIG. 4 is a process flow diagram illustrating selected steps
and decision blocks of a process 400 for configuring the
application and the user device 215 based on a key-value pair in
the configuration file. At flow point 401, the application is
executing on the user device 215. At step 405, the application
reads the configuration file; for example, the application reads
the configuration file from memory or other storage of the device
215 or connected to the device 215, or the application downloads
the configuration file from the server 220 or another source, such
as a Bluetooth, will, or hard wire connection, or through a means
such as a cellular network or the Internet. At step 410, a
configuration process of the application accesses a given key-value
pair of the configuration file. In decision blocks 415A, 415B, and
415C, the application selects a particular step in which the
application and/or the user device 215 is (or are, as the case may
be) configured according to the specific value of the given
key-value pair. Thus, step 420A is performed in response to the
key-value pair being a value_1, step 420B is performed in response
to the key-value pair being a value_2, and step 420C is performed
in response to the key-value pair being a value_3. If the key-value
is not equal to any of the predefined values, an exception (error)
is processed in step 450.
[0094] In the example shown in FIG. 4, the configuration file is
used to modify a menu option within the application. Here, the
application reads the configuration file (step 405), and the
configuration process determines (step 410) how a menu item will
function based upon a variable (the key-value pair) in the
configuration file. The configuration file may include key-value
pairs that are identification and data match pairs; an identifying
label or data is matched with the data or variable itself The
configuration file may also store variables in a pre-determined
order, or variables may be stored and identified in predefined
records. This allows the application to search the configuration
file for the existence of a particular variable. The application
may be programmed with a default selection if no variable is
present. The configuration variable may allow the application
multiple alternatives; three alternatives are shown in FIG. 3, but
a smaller or greater number of alternatives may be available. Once
the configuration file has been read and the variable accessed, the
application can present the menu item as a functional button. The
button may be visible and functional; and visible but grayed out,
indicating an inactive alternative. Moreover, the menu item and its
corresponding button may be entirely eliminated.
[0095] The configuration file may contain one or more variables
that determine (set) type font and type size for all or some of the
elements displayed by the user device 215. Other type
characteristics may also be determined by a variable in the
configuration file, for example, italicization, bolding, and color.
The configuration file may also contain a variable setting the
language of the displayed text, including menu items, labels, and
instructions.
[0096] The configuration file may contain one or more variables
that determine if particular test results are displayed. A variable
in the configuration file may allow the user to view one or more
current results and/or a variable number of past result(s). In
variants, a variable in the configuration file may determine that
specific results are to be concealed from the user, either by
default or as a function of the specific result value and/or
external variable(s). For example, a variable in the configuration
file may conceal results (current and/or past) if the application
does not receive authorization to display the results from the
server 220. The server 220 may be configured to block automatically
the display of the test results on the user device 215 if a
condition is or is not satisfied, for example, if the user has not
seen the HCP within a predetermined period, if payment has not been
received, or if test results fall in a range that is predetermined
as potentially upsetting to the user. The server 220 may control
display of the test results by granting or denying authorization in
response to an automatic request that the user device 215 sends in
accordance with a variable in the configuration file. The server
220 may also control the display of the test results by modifying
the configuration file so that at the application's current session
or next start-up the application reads the variable determining the
test results display is set not to allow display of selected test
results or of all the test results.
[0097] In embodiments, the server 220 uses the configuration file
to vary (add, delete, and/or change) machine-executable
instructions (i.e., computer code) of the application. The
configuration file may include variable(s) determining the specific
versions of the instructions, or contain links to different
versions of the user instructions that can be automatically
downloaded and integrated into the application. Varying the
instructions through a mechanism provided by the server 220 (i.e.,
the configuration file) may enable changes in the configuration of
the application, for example, addition or elimination of a test or
a test option. Varying the instructions through the server-provided
mechanism may also enable making changes in the intended way the
application is to be used, for example, a measurement of one kind
of movement (e.g., of a stylus or finger on a touch-sensitive
screen of the device 215) versus another kind of movement, or to
address individual user preferences or considerations such as the
user's medical condition. For example, the user may be asked to
trace various predetermined figures (straight lines, circles), so
that the resulting traced pattern can be compared to the
predetermined figure shown on the screen of the device 215.
Furthermore, varying the instructions through the server-provided
mechanism may enable changes to address environmental or other
external factors, such as the user's involvement with a specific
group, the user's association with a specific medical professional
study, or other externally-determined parameters.
[0098] In an embodiment, the application may allow the user to
select a configuration file, or the application may access a
default configuration file. The configuration file(s) utilized by
the application may be stored on the user device 215 or may have
been included with the application itself. The application may
access configuration files stored remotely (e.g., the server 220
being accessed by the user device 215). The existing configuration
file(s) may be updated or replaced with alternative file(s) that
may be located on the user device 215 or remotely. In an
embodiment, the user device 215 may access the remote configuration
tile(s) over the Internet. In embodiments, the application may
access the server utilizing a "URL Fetch" to issue HTTP and HTTPS
requests, and to receive responses. The URI, fetch may return a
list of available configurations to the application from which the
user 205 may select the desired configuration file, or the
application may automatically selects a configuration file based
upon preset parameters, such as the most recently created
configuration file.
[0099] In embodiments, the user 205 may be able to input into the
application an identification code corresponding to a particular
configuration file, so that that the application can identify the
configuration file to use in response to the user's input. The user
may also be able to input an identification code that is entered in
a link or embedded code sent to the device. The link or embedded
code may initiate the download of an application in turn inserting
the configuration code, or call and start an existing application
and inserting a configuration code. The application may use
multiple configuration files with multiple configuration sets,
either concurrently or alternatively. For example, one of the
configuration files may be used to provide data on a certain set of
application options, such as options expressing user preferences
(language, font style, font size, and other language-related
parameters). Additional configuration file(s) may provide variables
for other aspects of the application's functionality and
operations, such as restrictions imposed on the viewing of test
results, lengths of tests, availability of menu items, availability
of user configuration, and other parameters.
[0100] In embodiments, all configuration settings for a particular
application and/or a specific configuration version may be compiled
in the form of XML or other electronic format at the server 220.
Using a communication method such as URL Fetch; the application may
make a request ("http://<Server address>/config/list") with
parameters "secretkey--the Configuration key" and receives as a
response a configuration file, which is handled by the API of the
user device 215.
[0101] In embodiments, multiple configuration files for the same
application are available on the device 215, to accommodate
multiple users of the device 215. Any of the users can select his
or her name or other identification from a list, and, in response,
the device 215 under control of the application code would then
identify the corresponding configuration file(s) and configure
itself and/or the application accordingly, for the particular user.
In the list of users and user configurations, the application may
also include default configuration file(s). The application may
have multiple configuration files that reflect certain types,
groups, or other parameters. The application may include a list of
configuration files that are linked to specific medical conditions,
such as Parkinson's or multiple sclerosis (MS), or demographic
categories, such as gender, dominant hand, age, and similar
categories. The application can then configure the device 215 to
offer to the user the linked selections, without reference to the
identity of the user.
[0102] In embodiments, the configuration file may contain one or
more variables determining various test parameters of the
application. These parameters may include the time provided for a
test, variations in the test, items or parameters to be tested,
whether the results are to be displayed to the user, and other
parameters. In embodiments, there may be multiple tests or multiple
combinations of the tests for which a configuration file may enable
or limit accessibility, functionality, and implementation by the
user.
[0103] In embodiments, the configuration file may contain
information identifying a person or an entity that created it, date
of its creation, identity of application(s) for which it is
intended, a date range of validity of the configuration tile
(outside of which range it may be automatically prevented from
being used to configure the device 215), an implementation date, a
version or series identification, and/or other information.
[0104] In embodiments, there may be an "Initialization Application"
intended to implement a prescription of applications and their
corresponding configuration files. The Initialization Application
is configured to access a master configuration file that identities
additional applications (i.e., applications in addition to the
Initialization Application) and configuration file(s) to be
utilized with the additional applications. The Initialization
Application may be an independent application or a feature or
function previously incorporated in the device. Utilizing this
information, the Initialization Application may enable the device
215 to download and install the additional applications identified
in the master configuration file. In turn, each of the additional
applications downloaded and installed uses configuration file(s)
identified in the master configuration file as corresponding to the
additional application. The administrator 210 can identify the
tests, surveys, and applications for the user or a group of users.
The administrator 210 can also identify or create specific
configuration files for each of these additional applications. This
information can be compiled into a master configuration file with a
unique identification. The administrator can then prescribe to the
user 205 a single application to install, which in turn will allow
a single piece of identification to be placed within this
application, providing the Initialization Application with the
information and identification of the master configuration
file.
[0105] In embodiments, the user 205 may be presented with the list
of applications that the Initialization Application intends to
place on the user's device 215 and the applications' respective
configuration file(s). The user 205 may be given the ability to
allow the Initialization Application to install these applications
and configuration file(s), as the user selects. The user 205 may be
able to view detailed information about each application and its
corresponding configuration file(s) before deciding whether to
authorize installation. This detailed information may be contained
within the master configuration file, the individual configuration
file(s), or provided through another source. The information may
also be contained in the Initialization Application. The party
creating the master configuration file may select which steps are
visible to the user and what information is presented to the user,
and what degree of control and monitoring the user has over the
application installation process and its various steps.
[0106] In embodiments, the Initialization Application may allow the
user 205 to input into the device 215 and/or the server 220
information about the user 205, including demographic data, survey
responses, and other factors. To input the data, the Initialization
Application may present the user 205 a survey or series of
questions, the responses to which the Initialization Application
can then use to determine the proper master configuration file
and/or individual applications and additional configuration file(s)
corresponding to the additional applications that would be
appropriate for the specific user 205. In variants, the input of
the user 205 is limited to an identification code that indicates
other data related to the user, such as the user's doctor or other
HCP, the user's medical condition(s), and/or demographic data; in
other variants, the user 205 is enabled to enter other information
that the Initialization Application can use to determine (create
and/or edit) the master configuration file. In variants, the
Initialization Application configures the device 215 to present a
series of questions and results to suggest or guide the user to the
proper additional applications for the user's needs or objectives,
and the corresponding configuration file(s) for those additional
applications. The Initialization Application may then select the
appropriate applications and configuration file(s) based on the
user-provided information.
[0107] In embodiments, the configuration file(s) may be digitally
signed or encrypted using public key encryption or other form of
encryption. Encryption is useful to identify and verify the
identity of the creator of the configuration file(s), and prevent
modification by unauthorized parties. The applications
corresponding to the encrypted tiles may contain encryption keys,
or be otherwise enabled to obtain the keys, so that the
configuration files can be decrypted.
[0108] After the user 205 installs an application (which may be an
Initialization Application or another application) on the device
215, the application may configure the device 215 to enable the
user 205 to discover configuration file(s) appropriate for the user
205, for example, configuration file(s) appropriate to the user
within guidelines provided by a third party, such as the
administrator 210. The third party may also configure the
application that is installed on the device 215, through the use of
the configuration file or otherwise. The ability to change or
modify an existing configuration may be limited to changes in
specific data items, restricted to preauthorized entities, or made
entirely unavailable to the user 205. The server 220 may provide
the user 205 with the ability to configure the application by
providing the user a code or a password unlocking this feature,
fully or in part.
[0109] The third-party 210 may send, cause the user's device 215 to
transfer (download), or otherwise place configuration file(s) on
the user's device 215, to be used with one or more applications of
the device 215. The user 205 may also he able to access remote
configuration file(s) to be utilized with one or more applications,
before downloading the file(s). An is application itself may access
remote configuration file(s) and configuration file(s) already on
the device 215, to modify configuration of itself or of other
applications on the device 215.
[0110] The third-party 210 may also access the server 220 to create
configuration file(s). The third-party may access the server 220
through the Internet, for example, using an application on the
third party's device 230 that communicates and interrelates with
the server 220. (Two third party devices are shown, but one such
device or more than two such devices may be used in embodiments.)
The third party 210 or the user 205 may build, modify, and/or
update a configuration file for one or more applications of the
user device 215, including the master configuration file to be used
by the Initialization Application of the user device 215.
[0111] The party accessing the server 220 (e.g., the user 205 or
the third party 210) may select from a list of existing
applications, or define a new application to be used with the
device 215 and the server 220. With an existing application, the
configuring party may access any default configuration files
containing default parameters, modify or leave unmodified the
default application configuration file, and provide a unique
identification for the configuration file(s). Each application may
have associated with it one or a series of keys that identify
unique configurable options in that application. Each key may be
associated with an instruction, data to provide instruction, logic,
or some other trigger to configure the application. The configuring
party may create a configuration file for a single user, a
predetermined group of users, or a specific type of users. The
configuration the creator may limit access to the configuration
file to specific individuals or groups. The participating users or
groups of users may be provided with data to identify the
configuration files and authorization means (e.g., codes,
passwords) to access those files and install them with applications
on their devices 215.
[0112] The configuring party may access the server 220 to enable a
new or updated application to use configuration file(s) associated
with the new application. The configuring party may create a unique
identification for the application, and define the keys (of the
key-value pairs) that are available for configuring the
application. The configuring party may define the values that may
be associated with a particular key. Value definitions may be by a
value range, value types, specific values, or other parameters that
may be associated with those identifying keys. The party creating
the setup for access to a new or a modified application may be
restricted, and use of predetermined keys or certain configuration
abilities by other parties may be limited.
[0113] In embodiments, the application may be configured to define
what data may be obtained from the application, what parties may
access the data, how much of the data is available to various
parties, how the data may be stored, and how the data may be sent
to a remote location or retrieved from a remote location. The
application may have a series of menus and screens that allow the
user 205 or the third-party 210 to configure the generation,
collection, management, distribution, and use of the data created
and/or gathered by the application. The application may also use
configuration file(s) to set, modify, and update these parameters.
Configuration settings for the data gathered by the application may
include the amount of data collected, the number of results, what
data may be accessed by the user 205 or by the third party 210,
what data may be shared with other parties, and the manner in which
the data is made available (e.g., textual, graphic). The data may
remain on the device 215 and may be accessed directly by the user
205 or the third-party 210 from the device 215. The data may be
sent or pulled (uploaded) to a remote location such as the server
220, where it may be made available to the user 205, the third
party 210, or to other parties. The data may be sent under various
conditions defined by the application and/or the application's
configuration file(s). For example, the data may be sent every time
new data is created, periodically, after a certain number of data
gathering points, or in response to some other condition provided
from the application side. The data may be pulled by a device at
the remote location after the user device 215 has contacted the
device at the remote location, or after the device at the remote
location contacts the user device 215. The data may be stored in an
encrypted format and may be transferred through encrypted
means.
[0114] In embodiments, the applications may be configured to
transfer or send the gathered data to multiple servers, e.g., the
servers 220A and 220B. One of the multiple servers 220 may include
systems such as an individual user health data vault, and
third-party data storage systems. The data collected from the
application may also be sent to the server 220A, and then
automatically (or in response to satisfaction of predetermined
conditions) forwarded from the server 220A to the server 220B.
[0115] More generally, one of the servers 220 may be configured as
a store and forward device, for forwarding to any kind of entities.
The application can also send the data directly to another device,
database, or another application on the same device 215 or on
another user device. The application may send the data to the
server identified in the instructions of the application. The
instructions for data delivery may reside on the server 220.
[0116] In embodiments, one server (e.g., 220A) may act as the
configuration file server, while a second server (e.g., 220B) may
act independently or in conjunction to accept, transmit, and/or
store data generated by the applications or for the applications of
the user device 215.
[0117] In embodiments, an application's configuration file(s) may
be changed, updated, or otherwise modified based upon data gathered
or produced by the application or another application. A
configuration file or multiple configuration files may set
parameters in the application for the modification of configuration
file(s). Parameters may be set on the server which, upon receiving
data triggering a predetermined parameter, would in response
initiate a change in the configuration file, or the replacement of
an existing configuration file with a new configuration file.
[0118] The third party 210 may configure an application to survey
and gather data directly through the user's input. The
configuration file may define one or more questions for presenting
to the user 205. The user's responses or other feedback may be sent
to the third party 210. The application can be configured to
implement this dynamic form of data gathering by combining two sets
of key values. The first set may define one or more questions, and
the second may capture the user's response or responses. Multiple
sets of questions can be generated within the configuration file.
The survey may be initiated by the user 205, may be triggered by
test results obtained from the device 215, or may be responsive to
other interactions of the user 205 with the application or other
applications. The survey may also be performed at predefined times,
and/or periodically. The data type captured from the user may
include the following:
[0119] The choices of the user 205 from a list of multiple choice
responses (multiple choice);
[0120] Yes/no or true/false answers given by the user 205 in
responses to questions (binary);
[0121] Entries of a number value made by the user 205
(numeric);
[0122] The choice of a number within a specific range, such as a
pain scale rating, made by the user 205 (range-based);
[0123] Alphanumeric responses entered by the user 205, such as a
description, a phrase, or a word (textual); and
[0124] Audio and video responses recorded by the user 205
(audio/verbal, video/visual).
[0125] In embodiments, the application enables monitoring and
surveillance of the user 205 by the third-party 210, which may be
combined with automated means of gathering, monitoring, and
evaluating data generated by the application and or other
applications.
[0126] The features of the various embodiments described above may
be implemented through use of one or more trigger events on the
server 220, which can be established by the user 205 or the
third-party 210. For example, when the user 205 activates
assessment of a medical condition using an application on the
device 215, the diagnostic data yielded from the assessment is sent
via a wireless network to the third party 210, directly or through
the server 220. The server 220 (which receives the diagnostic data
directly, from the third party 210, or from the third party device
230) is configured to compare the diagnostic data to predetermined
triggering values (i.e., triggers), which may have been established
by the third party 210. In variants, the server 220 transmits the
data to the third party 210 in response to some datum being equal
to a trigger, exceeding a trigger, or being less than a trigger;
more generally, the data is transmitted from the server 220 to the
third party 210 in response to at least a portion of the data
(e.g., some baseline or normative datum/data of the user 205) being
in a predetermined relationship with at least one of the triggering
values. The server 220 then sends an alert signal to the third
party 210. The alert may include biological data of the user 205m
such as the test data. A decision rule engine configured in the
server 220 and/or another device of the third party 210 analyzes
the data and decides whether to send a message to the user 205 and
the content of the message. The server 220 may be configured to
bill and invoice a fee for using the system and processing the
alert.
[0127] In embodiments, the server 220 enables a party (e.g., the
user 220, the third party 210, or yet another party) to schedule
one or more trigger events to run manually or automatically at a
specified time or date. A trigger event is a program or a set of
logic constraints in a search that may cause a task to be performed
using the information on the server 220, or in the application on
the user device 215. Trigger events may occur at a single
predetermined time, periodically, or at scheduled times. Each
trigger event is paired with a corresponding trigger task, which
performs one or more specific tasks or functions as defined by the
users and other parties (e.g., the user 205 and the third party
210). A trigger task may run every time its corresponding trigger
event occurs, or its operation may be dependent upon specific data
results related to the trigger event. Predefined tasks may be
selected and scheduled by a party to analyze, utilize, or in some
other way interface with the data on the server 220 or in the
application on the user device 215. A task may include searching,
filtering, or some other evaluation or utilization of data that, if
meeting certain parameters, triggers a subsequent (different) task.
By accessing the server 220 through the web interface, the user 205
or the third party 210 may select from a predefined set of trigger
events and build new trigger events. A trigger event may include
the following indications obtained through searching of the data
from applications on the device 215:
[0128] An indication that the user 205 has failed to use a
particular application (or particular applications, or test(s) of
particular applications) within a specified time;
[0129] An indication that the user 205 has used a particular
application (or particular applications, or test(s) of particular
application(s)) within a specified time;
[0130] An indication that an application's configuration (e.g.,
configuration file) has been changed;
[0131] An indication that the results from an application are
above, below, or within a set of parameters; and
[0132] An indication that a specific number of data points
collected by an application has been reached.
[0133] A triggering task may be paired with an action task. The
server 220 and/or the device 215 can then initiate an action task
in response to predetermined parameters being met or not met. An
action task may include, for example, code for performing
notifications and other actions, including these:
[0134] Notification of a party (e.g., the user 205 and/or the third
party 210) in response to change(s) in an application's
configuration;
[0135] Notification of a party if one or more predetermined results
from an application are above a predetermined threshold, below a
predetermined threshold, within a predetermined range, or otherwise
meet(s) one or more predetermined criteria;
[0136] Notification in response to reaching a specific number of
data points for an application, for example, reaching a
predetermined number of test measurements obtained within a set
period or after a given point in time;
[0137] E-mail or text notification of the third party 210 or
another entity with results of a search of the data collected by an
application;
[0138] E-mail or text notification of the third party 210 or
another entity with the summary of data collected by an
application;
[0139] Notification of the third party 210 or another entity that
the results from an application fall below a predetermined range
threshold, above a predetermined range threshold, within a
predetermined range, or outside a predetermined range;
[0140] Provision of additional or follow-up information to the user
205 if certain trigger parameters are met or not met; and
[0141] Notification of the third-party 210 or another entity that a
trigger event has occurred.
[0142] In embodiments, a party (the user 205, the third party 210,
or another entity) may access the server 220 to create or modify a
unique trigger event, trigger task, and/ or action task. The party
may also schedule a task through a web interface or an application
interfacing with the server 220. A trigger or action task may
include searching, exporting, analyzing, or some other way of
utilizing data collected by application(s). A link may be defined
to initiate an action task if the trigger task delivered results
meeting predetermined criteria.
[0143] In embodiments, an application presents to the user 205 a
drawing on the touch-sensitive screen of the user device 215. The
user 205 then attempts to trace the drawing, which may be a simple
line or a circle, or a more complicated figure. The pattern
produced by the user is then transmitted to the server 220, which
compares it to the drawing presented to the user. Alternatively,
only the differences between the drawing and the user-produced
pattern are sent to the server 220. In yet another alternative, the
user device 215 generates a metric from the differences between the
drawing and the pattern, and transmits the metric to the server
220. The server 220 processes these data from the application to
determine whether a trigger event has occurred.
[0144] In embodiments, the user device 215 includes an
acceleration, vibration, or shock sensor. An application requests
the user to hold the device steady in hand, without support. The
application then measures acceleration/vibrations of the device
215, and transmits the results (such as actual vibration
measurements or a metric derived from the vibration measurements)
to the server 220. The server 220 processes these data from the
application to determined whether a trigger event has occurred.
[0145] As part of each medical test, the application may obtain
some form of verification of the identity of the user 205. For
example, the application may guide the user through performing a
fingerprint scan with a camera or a scanner of the user device 215,
taking the user's picture with the camera, or obtaining the user's
signature on the screen of the user device 215. In embodiments, the
verification is performed at the server 220, which compares the
biometric data to the corresponding sample previously stored on the
server 220 or on the device 215. The application transmits to the
server 220 the time of the identity verification, together with the
biometric or other security-verifying data. In embodiments, the
verification is performed at the server 220 after the application
transmits the verification data (e.g., the user's scanned
fingerprint, scanned signature, picture) together with the test
data. The server 220 then performs the verification by comparing
the verification data transmitted with the corresponding sample
stored on the server 220. The sample may be obtained at the time of
the user's registration with the server 220 or with the third party
210. If the verification data does not match the sample stored on
the server 220 or the user device 215, the user may be asked to
repeat the verification and the test.
[0146] FIG. 5 illustrates selected steps and decisions of an
exemplary process 500 through which the server 220 creates or
modifies a configuration file for an application on the device
215.
[0147] At a flow point 501, the server 220 is running and
configured to communicate with the user device 215.
[0148] In step 505, the server 220 receives an identification of
the application on the device 215. The server 220 may first request
the identification of the application, or the application may
initiate communications with the server 220 and inform the server
220 of its identity.
[0149] In step 510, the server 220 receives from the application
the current configuration-related information of the application.
The configuration-related information obtained from the application
may include the configuration file already on the user device 215
(if the file exists), the responses to survey(s)/questionnaire(s)
that the application obtained from the user 205, and identifiers of
the hardware and software of the device 215. The server 220 may
first request such configuration-related information from the
application, or the application may initiate communications with
the server 220 and provide the server 220 the configuration-related
information without a prior request.
[0150] In step 515, the server 220 obtains configuration-related
information from the third party 210, which may include specific
instructions for inclusion and/or exclusion of configuration
requirements and limitations in the configuration tile. The server
220 may first request such configuration-related information from
the third party 210, or the third party 210 (or the third party
device 230, or yet another device associated with the third party)
may provide the server 220 the configuration-related information
without a prior request. If the server 220 requests the
configuration-related information from the third party 210 (or the
third party device 230, or yet another device), the request may
contain data from the configuration-related information the server
220 obtained from the application. In embodiments, however, the
server 220 obtains the configuration-related information from the
third party 210 or its device 230 before obtaining the
configuration-related information from the user device 215; in such
embodiments, the request to the application for the
configuration-related information may include data from the
configuration-related information obtained from the third party 210
(or its device 230 or yet another device).
[0151] The server 220 may store the information received in the
steps 505, 510, and 515 in its database 160.
[0152] In step 520, the server 220 engages its rules-based engine
algorithm to create the configuration file for the application on
the user device 215, based on the information obtained in the steps
505, 510, and 515, and possibly other information. In examples, the
old configuration file (obtained from the user device 215) is
supplemented with additional information to create the new
configuration file in this step. In examples, information is
deleted from the old configuration file to create the new
configuration file in this step. In examples, information is
deleted from the old configuration file and then the resulting file
is supplemented with additional information to create the new
configuration file in this step.
[0153] In step 525, the server 220 transmits the new or modified
configuration file to the user device 215.
[0154] In step 530, the server receives one or more messages from
the user device 215 confirming that the user device 215 has
received the configuration file and is ready to use it.
[0155] Process flow then terminates at a flow point 599.
[0156] FIG. 6 illustrates selected steps and decisions of an
exemplary process 600 through which the server 220 creates or
modifies a trigger event, and then acts when the trigger event
occurs.
[0157] At a flow point 601, the server 220 is running and has been
configured to communicate with an application on the user device
215. The application has been configured, for example, as has been
described above in relation to the process 500. Note, however, that
some of the steps (or parts of the steps) of the process 600 may be
performed as part of the process 500.
[0158] In step 605, the server 220 receives trigger-related
information from the application, such as preferences of the user
205 for setting trigger events, scheduled times for events, and
actual trigger values or other conditions for triggering the
events.
[0159] In step 610, the server 220 receives trigger-related
information from the third party 205 (or its device 230, or yet
another device). This trigger-related information may be the same
as the trigger-related information described in relation to the
step 605.
[0160] In step 615, the server 220 stores the trigger-related
information received in'the steps 605 and 610.
[0161] In step 620, the server 220 engages a trigger generator to
generate one or more trigger events and tasks corresponding to the
one or more trigger events. The trigger generator may be a
rules-based engine that processes the trigger-related information
and other information received by the server 220.
[0162] In step 625, the server 220 stores the generated trigger
events.
[0163] In decision block 630, the server 220 monitors information
sources that may trigger the stored trigger events. For example,
the server 220 periodically compares the current time with the time
of the scheduled events, and reviews the data received from the
user device 220 to determine whether the data correspond to one of
the trigger events. As long as no trigger event takes place, the
decision block 630 loops on itself When a trigger event takes
place, process flow proceeds to step 635.
[0164] In the step 635, the server 220 retrieves code of the task
corresponding to the triggered event.
[0165] In step 640, the server 220 executes the task corresponding
to the trigger event. As discussed above, the task may include a
notification and a change to the configuration file(s) for the
application and/or other applications on the user device 215.
[0166] Process flow then returns to the decision block 630, to
monitor the information sources that may trigger the stored trigger
events.
[0167] The processes 500 and 600 may be performed, in whole or in
part, by the system 100 of FIG. 1, for example. Although the
process steps and decisions are described serially, certain steps
and decisions may be performed by separate elements in conjunction
or in parallel, asynchronously or synchronously, in a pipelined
manner, or otherwise. There is no particular requirement that the
steps and decisions be performed in the same order in which this
description lists them, except where a specific order is inherently
required, explicitly indicated, or is otherwise made clear from the
context. Furthermore, not every illustrated step and decision block
may be required in every embodiment in accordance with the
invention, while some steps and decision blocks that have not been
specifically illustrated, may be desirable or necessary in some
embodiments in accordance with the invention.
[0168] Various embodiments, variants, and examples have been
described above. We contemplate all possible combinations of two or
more of the embodiments, variants, and examples, unless a
combination is specifically excluded, is internally inconsistent,
or otherwise impossible to implement.
[0169] The various illustrative logical blocks, modules, and steps
described in this document may be implemented in the form of
electronic hardware, software, firmware, or combinations of
hardware, software, and firmware. Whether the functionality of the
blocks, modules, and steps is implemented as hardware, software,
firmware or combination of these may be implementation choices.
Such implementation choices should not be interpreted as
necessarily causing a departure from the scope of the present
specification.
[0170] The various illustrative logical blocks, modules, and steps
described herein may be implemented with a general purpose
processor, a signal processor, an application specific integrated
circuit (ASIC), and other logic devices, both integrated and
discrete, and combination thereof.
[0171] The software and firmware storing machine-readable code with
instructions for performing the steps described in this document
may be stored in RAM memory, flash memory, ROM memory, EPROM
memory, EEPROM memory, registers, hard disk, removable disk,
CD-ROM, or any other form of storage medium known in the art. The
code may also be transmitted wirelessly, over wires, through
fiberoptic lines, or otherwise.
[0172] This document describes in considerable detail the inventive
apparatus, methods, and articles of manufacture for performing
medical surveillance through a general-purpose personal
communication device. This was done for illustration purposes only.
Neither the specific embodiments of the invention as a whole, nor
those of its features, necessarily limit the general principles
underlying the invention. The specific features described herein
may be used in some embodiments, but not in others, without
departure from the spirit and scope of the invention as set forth
herein. Various physical arrangements of components and various
step sequences also fall within the intended scope of the
invention. Many additional modifications are intended in the
foregoing disclosure, and it will be appreciated by those of
ordinary skill in the art that in some instances, some features may
be employed in the absence of a corresponding use of other
features. The illustrative examples therefore do not necessarily
define the metes and bounds of the invention. It follows that the
illustrative examples do not necessarily define the legal
protection afforded the invention, which function is carried out by
the claims that may issue on this application and its related
applications, and their equivalents.
* * * * *