# Patent

## Title
Platform for patient monitoring

## Abstract

A system for storing data collected by a body-worn sensor includes a central processing unit (CPU) that is configured to control operation of a gateway device; and one or more computer readable data storage media storing software instructions that, when executed by the CPU, cause the gateway device to: receive a MAC address of a new sensor and a protocol version associated with the new sensor from a server; attempt to contact the new sensor using the protocol version and the MAC address; when a response is received, send the response to the server for validation; when the response is validated by the server, establish communications with the new sensor; and forward data from the new sensor to a second server.

## Background
CROSS REFERENCE TO RELATED APPLICATION(S)
This application is a divisional application of pending U.S. patent application Ser. No. 12/907,873, filed Oct. 19, 2010, the entirety of which is hereby incorporated by reference.


STATEMENT REGARDING FEDERALLY FUNDED RESEARCH OR DEVELOPMENT
These inventions were made with government support under Contract Nos. W81XWH-10-C-0159 and W81XWH-07-01-608 awarded by the United States Army Medical Research Acquisition Activity. The government may have certain rights in these inventions.


BACKGROUND
Healthcare practitioners can be constrained by the inability of devices used to monitor and collect physiological data from patients to communicate with electronic health records, existing infrastructure, and other devices. The medical device research community has responded by creating next generation devices that are small, wireless, and wearable. New devices may incorporate a display, processor, and multitude of companion sensors. There are one or more problems associated with patient monitoring devices that interface between wearable sensors and a network and/or external computing device. Such problems can include size, simplicity of operation, interface connectivity, and power supplies, among others.
SUMMARY
In one aspect, a gateway device includes a transceiver in electrical communication with a processor, the transceiver being configured to communicate over a wireless network to both receive data from at least one body-worn sensor and transmit the data, and a plurality of indicator lights in electrical communication with the processor. A first of the indicator lights indicates successful power-on of the gateway device. A second of the indicator lights indicates establishment of a Bluetooth connection with a body-worn sensor. A third of the indicator lights indicates successful creation of a WiFi connection. A fourth of the indicator lights indicate successful creation of a cellular connection.
In another aspect, a system for storing data collected by a body-worn sensor includes: a central processing unit (CPU) that is configured to control operation of a gateway device; and one or more computer readable data storage media storing software instructions that, when executed by the CPU, cause the gateway device to: receive a MAC address of a new sensor and a protocol version associated with the new sensor from a server; attempt to contact the new sensor using the protocol version and the MAC address; when a response is received, sending the response to the server for validation; when the response is validated by the server, establishing communications with the new sensor; and forwarding data from the new sensor to a second server.
In yet another aspect, a method for storing data from one or more body-worn sensors includes: receiving data from a gateway device, the gateway device being worn by a user associated with one or more body-worn sensors generating the data; identifying the user associated with the data; allowing a super application associated with the user to identify a database for storage of the data based on the user and a type of body-worn sensor that generated the data; and forwarding the data to the database for storage.



DESCRIPTION OF THE FIGURES
FIG. 1 shows an example system for collecting data associated with physiological parameters of patients.
FIG. 2 shows an example schematic view of a gateway device of the system of FIG. 1.
FIG. 3 shows a view of the gateway device of FIG. 1.
FIG. 4 shows another view of the gateway device of FIG. 3.
FIG. 5 shows another view of the gateway device of FIG. 3.
FIG. 6 shows another view of the gateway device of FIG. 3.
FIG. 7 shows a first portion of an example method for collecting physiological data using the gateway device of FIG. 1.
FIG. 8 shows a second portion of the method of FIG. 7.
FIG. 9 shows an example system for updating the gateway device of FIG. 1 to communicate with a new sensor device.
FIG. 10 shows another view of the system of FIG. 1.
FIG. 11 shows a view of the server of the system of FIG. 1.
FIG. 12 shows an example user interface for accessing data associated with the system of FIG. 1.
FIG. 13 shows another example user interface for accessing data associated with the system of FIG. 1.
FIG. 14 shows another example user interface for accessing data associated with the system of FIG. 1.
FIG. 15 shows another example user interface for accessing data associated with the system of FIG. 1.
FIG. 16 shows another example user interface for accessing data associated with the system of FIG. 1.
FIG. 17 shows another example user interface for accessing data associated with the system of FIG. 1.
FIG. 18 shows another example user interface for accessing data associated with the system of FIG. 1.
FIG. 19 shows another example user interface for accessing data associated with the system of FIG. 1.



DETAILED DESCRIPTION
The present disclosure relates to systems and methods that allow data from a plurality of sensor devices to be collected, processed, and displayed.
One embodiment includes a computer platform including a gateway device which wirelessly communicates with body-worn sensors. The gateway can be positioned on the patient or be located adjacent to the patient. The gateway device receives data from the body-worn sensors and communicates the data to a central server.
The example gateway device can include a power source, a transceiver in electrical communication with the processor, the transceiver being configured to communicate over a wireless network to both receive data from at least one sensor and transmit data, a plurality of indicator lights in electrical communication with the processor, and data storage including program instructions that, when executed by the processor, cause the gateway device to signal at least one of the plurality of indicator lights upon successful transmission of the data by the transceiver.
In one example, the gateway device includes a communications unit with one or more radios, including an uplink radio and a downlink radio, wherein the downlink, short range radio is configured to communicate with physiological sensors such as wireless wearable sensors to acquire data based on such protocols as Bluetooth or Zigbee, and the uplink radio is configured to wirelessly transmit data to a network based on such protocols as WiFi, 3G, and/or 4G. In another embodiment, the downlink and uplink radio maybe the same hardware multiplexing to service the downlink and uplink channels.
The gateway device can include on-board memory (such as SD card) configured to store data, such as patient medical history, to be used in emergencies or other data captured through the downlink, including data unable to complete the path to the network because of temporary uplink inaccessibility. The data storage can be further configured to store an operating system (e.g., Linux with Python support) and associated software to operate and control transmission of data, as well as employ various power saving techniques to increase battery life of the device for prolonged use.
Referring now to FIG. 1, a block diagram illustrates an example system 100 for collecting, processing, and displaying physiological data. In this example, the system 100 includes a plurality of sensor devices 110, a gateway device 120, a wall unit 130, networks 140, 150, a server 170, and a computing device 180.
The networks 140, 150 can be one or more electronic communication networks that facilitate communication between the sensor devices 110 and the gateway device 120 and the server 170. The networks 140, 150 can include a set of computing devices and links between the computing devices. The computing devices in the networks 140, 150 use the links to enable communication among the computing devices in the network.
The networks 140, 150 can include routers, switches, mobile access points, bridges, hubs, storage devices, standalone server devices, blade server devices, sensors, desktop computers, firewall devices, laptop computers, handheld computers, mobile telephones, and other types of computing devices. In various embodiments, the networks 140, 150 include various types of links. For example, the networks 140, 150 can include wired and/or wireless links. The networks 140, 150 can be implemented as one or more local area networks (LANs), metropolitan area networks, subnets, wide area networks (such as the Internet), or can be implemented at another scale.
In the example shown, the network 140 is a cellular network, and the network 150 is the Internet. Other configurations are possible.
The gateway device 120 is a computing system that allows for storage and forwarding of data collected by one or more of the sensor devices 110. As used herein, a computing system is a system of one or more computing devices. A computing device is a physical, tangible device that processes data. Example types of computing devices include personal computers, standalone server computers, blade server computers, mainframe computers, handheld computers, smart phones, special purpose computing devices, and other types of devices that process data.
As shown in FIG. 2, the gateway device 120 can include at least one central processing unit (“CPU” or “processor”) 212, a system memory 211, and a system bus 213 that couples the system memory 211 to the CPU 212.
In one example, the CPU 212 is a 266 MHz ARM926EJ-S core (16 KB I-Cache, 16 KB D-Cache) processor. The CPU 212 consumes approximately 1.8 volts and includes 32 MB Flash and 64 MB SDRAM onboard. Other configurations are possible.
The system memory 211 is one or more physical devices that can include a random access memory (“RAM”) and a read-only memory (“ROM”). A basic input/output system containing the basic routines that help to transfer information between elements within the gateway device 120, such as during startup, is stored in the ROM. The system memory 211 of the gateway device 120 further includes a mass storage device. The mass storage device is able to store software instructions and data.
The mass storage device and its associated computer-readable data storage media provide non-volatile, non-transitory storage for the gateway device 120. Although the description of computer-readable data storage media contained herein refers to a mass storage device, such as a hard disk or CD-ROM drive, it should be appreciated by those skilled in the art that computer-readable data storage media can be any available non-transitory, physical device or article of manufacture from which the gateway device 120 can read data and/or instructions.
Computer-readable data storage media include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable software instructions, data structures, program modules or other data. Example types of computer-readable data storage media include, but are not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROMs, digital versatile discs (“DVDs”), other optical storage media, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the gateway device 120.
The system memory 211 of the gateway device 120 can store software instructions and data. The software instructions include an operating system suitable for controlling the operation of the gateway device 120. The system memory 211 also stores software instructions, that when executed by the CPU 212, cause the gateway device 120 to provide the functionality of the gateway device 120 discussed herein.
For example, the mass storage device and/or the RAM can store software instructions that, when executed by the CPU 212, cause the gateway device 120 to store and forward data that is provided by the sensor devices 110.
As noted previously, the gateway device 120 can operate in a networked environment using logical connections to remote network devices through the networks 140, 150, such as a local network, the Internet, or another type of network. The gateway device 120 connects to the networks 140, 150 through a network interface unit, such as the radio uplinks 222, 224 and the radio downlinks 218, 220.
In one example, the gateway device 120 communicates using GSM, including one or more of: HSDPA 7.2 Mbps, UMTS/HSDPA 2100 MHz, Quad-band EGSM 850/900/1800/1900, GPRS multi-slot class 12, and EDGE multi-slot class 12. The gateway device 120 also communicates through WiFi, using 802.11b/g with data rates up to 54 Mbps, IEEE 802.11i encryption, 64/128-bit WEP, TKIP and AES, WPA and WPA2 security. The gateway device 120 also communicates through Bluetooth using Bluetooth v2.1+EDR compliant, CSR BlueCore 6 ROM, 2.40-2.480 GHz FHSS Radio, Max Data Rate 3 Mbps, Bluetooth Co-existence Support with 802.11. The gateway device 120 also communicates through RF, using a TI EZ2500 802.15.4 radio with a frequency range of 2400-2483.5 MHz and 1.2-500 kBaud data rate.
The gateway device 120 also includes a wired connection 216, such as a USB port for connection to a wired network and/or for connection to other processing and display units for integration, configuration and inter-operability purposes.
The gateway device 120 also includes a bank of indicator lights 230, such as LEDs 231-235. As described further below, such lights can be LEDs that indicate a status of the gateway device 120.
The gateway device 120 also includes a power source 214. In one example, the power source 214 is a 1500-1950 mAh Li-Po battery. Other configurations are possible.
In example embodiments, the gateway device 120 utilizes power management techniques that optimize power usage and battery life. For example, when not in use, the gateway device 120 enters a sleep state that involves no active power consumption. Upon waking, the OS of the gateway device 120 is optimized to allow for fast booting to an operating state.
Referring again to FIG. 1, in this example, each of the sensor devices 110 collects data from one or more patients. Such data can include, without limitation, physiological data like temperature, heart rate, blood pressure, oxygen saturation, etc.
In some examples, each of the sensor devices 110 is a computing device that is worn by the individual. Such sensor devices 110 typically include a system memory, a processing unit, a physiological sensor, a radio device, a housing, a printed circuit board, and a power source. Additional details regarding such example sensor devices are described in U.S. patent application Ser. No. 12/827,817 filed on Jun. 30, 2010, the entirety of which is hereby incorporated by reference. Other sensor devices, such as a weight scale, can also be used to measure physiological data.
In this example, an optional wall unit 130 is shown. The wall unit 130 is a computing device positioned in an examination room of a doctor's office or hospital. The wall unit 130 can also be located in other places as well, such as public places like malls or in the patient's home.
The wall unit 130 includes a transceiver that communicates with the gateway device 120 using known techniques, such as Bluetooth and/or WiFi. The wall unit 130 can forward data from the gateway device 120 to the server 170 using the networks 140, 150. In addition, the wall unit 130 can process and display data associated with the data from the gateway device 120, such as text and graphical representations of the data (e.g., blood pressure, temperature, etc.).
The wall unit 130 is optional, in that the gateway device 120 can communicate directly with the server 170 through one or both of the networks 140, 150 when not in range of the wall unit 130. For example, the gateway device 120 can communicate directly with the network 140 using GSM or CDMA, and/or the gateway device 120 can communicate directly with the network 150 using 802.11b/g. Other configurations are possible.
In some examples, the sensor devices 110, the gateway device 120, and the server 170 all communicate using a protocol such as the Welch Allyn Communications Protocol (WACP). WACP uses a taxonomy as a mechanism to define information and messaging. Taxonomy can be defined as description, identification, and classification of a semantic model. Taxonomy as applied to a classification scheme may be extensible. Semantic class-based modeling utilizing taxonomy can minimize the complexity of data description management by limiting, categorizing, and logically grouping information management and operational functions into families that contain both static and dynamic elements.
Referring now to FIGS. 3-6, the gateway device 120 is shown.
A housing 210 of the gateway device 120 is provided in a single color, and all writing on the housing 210 is provided in a contrasting color that is easy to read. In the example shown, the housing is black, and all writing on the housing (e.g., the icons identifying the indicator lights 230) is white. In this manner, it is easy for the user to identify and read the writing when using the gateway device 120. Other configurations, such as Braille to assist users with vision impairment, can also be provided on the housing 210.
The gateway device 120 includes a power button 221 that turns power on and off for the gateway device 120. When powered on, the gateway device 120 communicates with the sensor devices 110, as well as the optional wall unit 130 and/or the networks 140, 150.
In the example shown, the power button 221 is slid along the longitudinal axis of the housing 210 to turn the gateway device 120 on and off. In this example, the power button 221 is recessed within the housing 210 so that the possibility of the power button 221 being accidently actuated is reduced.
The power button 221 can be configured in other manners to reduce inadvertent actuation. For example, the power button could be spring biased into the off position. To turn on, the power button would be slid against the spring force into an on position for a certain period of time (e.g., two seconds) for power on. Other configurations are possible.
The gateway device 120 also includes a port 240 sized to receive a removable storage medium. Examples of such media include SD cards and memory sticks.
The indicator lights 230 are positioned along the housing 210 of the gateway device 120 so that the user can easily view the lights and ascertain the status of the gateway device 120. In some examples, the indicator lights 230 are each a specific color to readily identify the status of the gateway device 120. For example, as shown, the indicator lights are as follows: red LED 235-power up; blue LED 233-connection existing through Bluetooth; yellow LED 231-connection existing through RF radio; white LED 324-connection established through either WIFI radio; and green LED 232-connection established through either 3G radio.
Icons are positioned adjacent to each of the LEDs 231-235 to allow the user to easily determine the status of the gateway device 120. For each, when the LED 232 is lit, the user knows that the Bluetooth radio is actively connected to another device, such as the sensor devices 110. The icons are colored white to contrast with the black of the housing 210 to assist in patient recognition.
In this example, the indicator lights 230 provide the interface for the user. The gateway device 120 does not include any other display or user interface beyond the markings on the housing 210 and the indicator lights 230. In this manner, the gateway device 120 provides a simple interface that can be readily interpreted by the user.
The housing 210 of the gateway device 120 is sized to allow the gateway device 120 to be easily carried by the user. In one example, the housing 210 is approximately 8.6 cm in length by 5.4 cm in width by 0.635 cm in height. Such a size (approximately that of a typical credit card) allows the gateway device 120 to be readily carried in a pocket or wallet/purse. This allows the gateway device 120 to continuously receive data from the body-worn sensor devices 110 and to forward that data to the server 170 as the patient moves. Other configurations and sizes are possible.
Referring now to FIGS. 7 and 8, an example method 250 for collecting physiological data using the gateway device is shown.
Initially, at operation 252, the gateway device is powered on. Next, at operation 254, a determination is made regarding whether or not to illuminate the green power light. If the gateway device powers on normally, the green light is lit to indicate power on was successful, and control is passed to operation 262.
Alternatively, if power on is not successful, control is passed to operation 256, and a determination is made regarding whether or not the battery of the gateway device is too low or has failed. If so, the method 250 ends. Otherwise, if not, control is passed to operation 258, and a determination is made regarding whether or not a service connection to the network has been established. If not, the method 250 ends.
If so, control is passed to operation 260, and the power light is illuminated in a manner to allow the user to know that an error has occurred with establishing a connection to the network. For example, the power light can flash and/or be colored differently, such as amber, to indicate the failure. Control is then passed to operation 262.
At operation 262, the sensor is powered on. Next, at operation 264, a determination is made by the gateway device regarding whether or not a reading from the sensor has been received. If not, control is passed back to operation 262 so that the power on the sensor can be cycled.
If so, control is passed to operation 266, and the blue light on the gateway is illuminated to indicate that a Bluetooth link has been established with the sensor.
Next, at operation 268 (see FIG. 8), a determination is made regarding whether the data from the sensor should be stored or forwarded. If the data is to be stored on the local memory of the gateway for future forwarding (e.g., if the link to the network is currently unavailable), the method 250 ends.
If not, control is passed to operation 270, and the gateway device attempts to establish a link through the network to the server. Next, at operation 272, a determination is made regarding whether or not the link was established. If not, the method 250 ends. If so, control is passed to operation 274, and the appropriate light on the gateway device (e.g., the white WiFi light is lit), and the data is uploaded by the gateway device to the server.
Referring now to FIG. 9, in some examples, the gateway device 120 can be programmed to communicate with new sensor devices 110 while in the field, such as in use by the patient.
Such a process is initiated by the user connecting to an update server 320 using a computing device 180. For example, the user can browse to a specific web site using a browser. See, e.g., FIG. 17. The user then enters a sensor ID provided on the product packaging or other literature associated with the new sensor device 110. The ID is an encoded number based on various parameters, such as the original equipment manufacturer and device type.
Once entered, the ID is sent to the update server 320. At this point the ID is resolved to a device class, and the manufacturer's information is identified. The update server 320 thereupon queries a manufacturer portal 340 associated with the manufacturer of the sensor device 110 to determine the MAC address of the sensor device 110 and the protocol version. Once obtained by the update server 320, the MAC address and protocol information (e.g., the message exchange sequences and the respective message formats) is passed to the gateway device 120.
The gateway device 120 thereupon attempts to establish communication with the sensor device 110 using the MAC address and protocol encoding received from the update server 320 and requests the sensor device 110 to send a reading. If a response is received from the sensor device 110, the gateway device 120 strips out the expected value fields from the received message and transmits those fields back to the update server 320. The update server 320 validates the response against the expected values for that class of sensors and notifies the results on the user's computing device 180. If successful, the gateway device 120 can begin communicating with the new sensor device 110 to collect and forward data to the server 170.
Referring now to FIG. 10, additional details regarding the server 170 are shown.
The server 170 includes one or more computing devices. The server 170 executes a super application 410 that is specific for each user of the system 100. For example, as depicted, the user has two body-worn sensor devices 110A, 110B. Each of these sensor devices 110A, 110B communicates with the gateway device 120. The gateway device 120, in turn, forwards the data from the sensor devices 110A, 110B to the server 170.
Upon receipt, the data is routed to the super application 410 associated with the user based on a unique user identifier that is communicated with the data from the gateway device 120. The super application 410 maintains meta information regarding each sensor device that generates the data for the user. Upon receipt of the data, the super application 410 determines, based on the meta information, where the data should be stored.
For example, in this embodiment, there are device-specific repositories 420, 422 for each of the sensor devices 110A, 110B. When the super application 410 receives data from the gateway device 120 that originates from the sensor device 110A, that data is forwarded by the super application 410 to the database specific to that device (e.g., database 420) for storage. On a similar note, when the super application 410 receives data from the gateway device 120 that originates from the sensor device 110B, that data is forwarded by the super application 410 to the database 422 for storage.
The super application 410 controls all access to the data stored for the user. For example, the super application 410 retains the meta information about where the data is stored, and the super application 410 requires authentication before the super application 410 provides access to the data.
The super application 410 allows data movement between application suites that are installed for a particular user. The super application 410 also facilitates data movement across user profiles. The super application 410 has the authority to act as a proxy on behalf of the user and negotiate data exchange transactions with other super application entities.
To initiate a data exchange, the requesting entity sends out a message comprising of an authentication token, the type of data requested (e.g., weight readings), and the number of data items requested. On receiving this sequence, the super application 410 validates the token against a white list of acceptable tokens. If the token in invalid, it generates a notification for the user informing them about this request.
On receipt of a valid token, the super application 410 proceeds to locate a database containing the type of data requested. Notifications are sent out if such a database is not found and the incoming request is denied. Otherwise, the requested number of items is fetched from the relevant database and the request is serviced. Thus this framework eliminates the need for applications to know about the specific details of the databases, especially when the databases are residing in another user's profile.
For example, a third party application 430 (see FIGS. 15 and 16) can request data for a patient from the server 170. Such a request is routed to the super application 410 for that particular user. The super application 410 first determines whether or not the third party application 430 can provide the proper credentials to obtain the data. For example, the super application 410 can require a username and password for authentication before access is given.
If the proper credentials are provided, the super application 410 queries the proper database 420, 422 (for example, if the third party application 430 requests data from the sensor device 110A, the super application 410 would query the database 420) to obtain the data. Once obtained, the super application 410 sends the data to the third party application 430.
Referring now to FIG. 11, the server 170 is shown in more detail.
In this example, the server 170 is programmed to provide automatic and configurable medical device data notifications, the parameters of which can be determined by the patient or clinician.
For example, the server 170 includes an analyzer module 510 that communicates with the super application 410 to obtain data about the patient. The analyzer module 510 can be invoked by the reception of a new value from the gateway device 120. Exemplary devices and/or values can include blood pressure readings, temperature reading, blood glucose levels, weight, blood oxygen saturation, blood hemoglobin levels, blood hematacrit levels, ECG readings, heart rate, and any subjective reading communicated or provided by the patient.
The analyzer module 510 is configured to communicate with a notification module 520 based on received data and logical analysis of database parameters. Once invoked, the notification module 520 communicates with the super application 410 to retrieve the data from the databases 420, 422. The analyzer module 510 instructs the notification module 520 to provide notifications based on the configuration set by the doctor, nurse, and/or patient. The notifications can be provided in a variety of formats, including voice and data (e.g., SMS, MMS, e-mail, phone call or any other personal communication medium) and can be configured regarding to whom the notifications are provided (e.g., care provider, doctor, patient, and/or relative). See FIG. 12.
Other parameters are also configurable, such as frequency of notification, follow-up if receipt is not confirmed, and content of notification based on recipient type (doctor versus family member, e.g.). Further, a web-based portal can be used to fully configure the analysis and/or notification modules 510, 520.
In one embodiment, the notification module 520 maintains a user account table. For each user, a table of active applications is used to define the applications the user has activated. See FIGS. 15 and 16 regarding the various applications that are provided to the user. For each user application combination, a table is used to point to one or many analyzer scripts that may or may not be invoked in the analyzer module 510 on reception of a new result. For each analyzer script, a database table parameter is used to point to a notification group, which can be a single individual or multiple individuals. For each notification group defined in the notification module 520, there are one to many phone numbers and emails configured to receive the results of the clinical analyzer.
For example, the following data table defines the structure of configuration for facilitating this ability.
Apps











AppKey
Type







1
weight


2
pain


3
glucose


4
bloodpressure









User Account














Accountkey
USERNAME
AcntDetail1
AcntDetail2







1
jimdello@myemail.com
12 Maple st
NY


2
harrishmugun@mymail.com
14 Walnut st
NY









Account Apps















UserApp
AccountKey
AppKey
Share
DefaultText







1
1
1
True
‘user’ has taken a weight






reading of ‘value’


2
1
2
True
‘user’ has record a pain level






‘value1’ in the ‘value2’


3
2
1
True
‘user’ has taken a weight






reading of ‘value’









Apps Clinical Analyzer(s)

















ClinAnalysisKey
Accountkey
AppKey
Analyzer
Active
Share
NotificationGroup







1
1
1
CHFWeight.js
True
True
1-1


2
1
1
WeightLoss.js
False
True
1-2


3
1
2
CHFPain.js
True
False
1-3


4
2
1
WeightLoss.js
True
True
2-1









Clinical Analysis Notification


















NotificationKey
Group
MMS
SMS
EMAIL
Number
Email
Type







1
1-1
False
True
False
315-555-1234
Null
PVT


2
1-1
False
True
True
315-555-5555
psoderberg@doctor.com
MD


3
1-1
False
False
True
null
janedello@mymail.com
REL


4
1-2
False
True
False
315-555-1234
Null
REL


5
1-2
False
True
True
315-555-5555
psoderberg@doctor.com
MD


6
1-3
False
True
True
315-444-4321
marydello@mymail.com
REL


7
2-1
False
True
True
315-555-5555
psoderberg@doctor.com
MD


8
2-1
False
True
True
213-234-5678
janemugun@mymail.com
REL


9
2-1
False
True
False
789-555-1234
Null
PVT









In the tables: ACT=the account holder (the patient); MD=the doctor(s) or medical professional; REL=network relation or family member.
In another embodiment, additional analyzer scripts are included in the “application” or suite packages that can be selected by the patient or caregiver. See FIGS. 15 and 16. These analyzers can be specific depending on the types of sensor devices being used. For example, there may be an application associated with the congestive heart failure (CHF) suite of devices that can be configured to automatically engage the notification module 520 when a patient's weight scale readings deviate from the previous reading by a specified amount. The analyzer module 510 can be further configured to predict disease states and/or suggest a new application and/or medical device and transmit associated analysis to the care provider.
Over time, multiple new and varied analysis types might be added expanding the clinical advice or decision support that can be offered to the clinician or provider. Upon analysis of a device reading by one or many configured analysis packages, the result of one or many results may or may not invoke one or many configurable notification systems that can send one or many types of messages to a one or many individuals mobile phone via SMS text or MMS pictures, email text and pictures, a pager, or any other personal communication medium.
Such a notification system is advantageous for several reasons. For example, different levels can be defined which have different types of notifications to customize the notifications. Further, the number of people to whom notifications are sent and types (format and pattern) of messages being sent are fully configurable.
Referring now to FIGS. 12-19, an example interface 500 for accessing data stored on the server 170 is shown. The interface 500 can be accessed over the Internet using a browser on the computing device 180. The interface 500 can be configured for use by the caregiver, the patient, or another interested party such as a relative.
The configuration for the interface 500 can be tailored based on the user's goals. For example, a patient can find, store, and review data about the patient's health, while a caregiver can review data from a plurality of patients.
In FIG. 12, the interface 500 includes a profile screen that displays aspects of the user's profile. For patients, the interface 500 includes a toolbar 501 that allows the patient to access different functionality, including applications associated with the user's profile, details about sensor devices associated with the patient, and profile information.
The interface 500 also includes an identification menu 511 including bibliographic information like the patient's name and picture. The menu 511 also provides a list of connections to others on the system 100, such as friends, caregivers, patients, etc. Messages can be passed between users that are connected to one another, such as inspirational messages between patients or medical information from a doctor to a patient. See FIG. 14. Additional information, such as contact information and health-related information, can also be accessed.
The interface 500 further includes a notebook or file portion 502 that is configured to display different information to the user depending on the user selection. In this example, the notebook portion 502 includes a first section 512 including a plurality of “sticky” notes 513 populated with comments from the patient. The notes 513 can include any content desired by the patient, such as feelings and inspirational sayings.
The notes 513 can be moved around and placed at different spots on the notebook portion 502, can be overlapped on one another, and can be deleted. A second section 514 of the notebook portion 502 also includes notes and other information populated by the user and the user's connections.
In FIG. 13, the first section 512 includes a plurality of readings 521 associated with the patient. The readings 521 can include any physiologic readings associated with the patient such as, for example, weight readings collected using the sensor devices 110 and the gateway device 120.
In FIG. 14, the first section 512 of the interface 500 includes messages that have been exchanged between the user and the user's connections on the system 100. In addition, the messages can include notifications from the notification module 520. The messages are displayed as sticky notes that can be moved and deleted as desired.
In some examples, the messages are color-coded for easy recognition. For example, the notes that are blue are from the doctor or other clinical professionals. If the user clicks a pile of message 519 located on the second section 514 that is blue, all of the blue messages from the doctor are shown on the first section 512. Other example colors include: orange for medical device or subjective symptoms; green for comment threads started by the patient; and yellow for messages from relatives and friends. Other schemes can be used.
In some examples, the population and placement of the notes on the first and second sections 512 is automated. This process includes verification of the authenticity of an incoming request for a particular page for the notebook portion 502. If the request is from a valid user in a valid session, the screen geometry that is available for displaying the messages is analyzed. This information is retrieved from a message database, which acts as a persistent store for all messages intended for the user. For each message, a suitable template is selected based on the message type and screen geometry. This template is populated with the corresponding message and a visual object is created. On completion, a matrix including the location information for each visual object, relative to the screen real estate, as well as the object type is returned.
Each note can contain a plurality of information, including a signature of an application generating the note or a picture of a user if the note is a message. The note can also include recorded values and timestamps defining the time the values were recorded and the time the note was posted in the notebook. Other configurations are possible.
Referring now to FIGS. 15-17, the user can access a plurality of applications listed on the second section 514. These applications, when selected, can be used to manipulate the data collected by the system 100 and to provide the user with more information based on the data. For example, applications including topics like pulse, respiratory rate, temperature, etc., can be selected by the user.
Once selected, the user can manage the applications in the section 514. See FIG. 16. The selected applications can be deleted or privacy policies for each application defined. For example, in FIG. 17, an interface 530 is provided that allows the user to define the privacy policies for each selected application. The interface 530 allows the user to define how the application communicates with the user, including through SMS, email, and/or a feed. By checking the boxes associated with each mode of communication, the user authorizes the application to use that mode of communication.
Referring now to FIG. 18, the output from a plurality of the applications is shown in an interface 540. Examples of the output include trends and data at specific times. The information to create the trends and specific times was pulled from the server 170, and the user's applications manipulate the data to provide the information. Other configurations are possible.
FIG. 19 shows the section 514 of the notebook portion 502 including information about the sensor devices 110 that are associated with the user. For example, the section 514 lists a weight sensor, including the name of the sensor, product number, and gateway number corresponding to the gateway device 120. Any applications associated with the sensor device are also listed.
The various embodiments described above are provided by way of illustration only and should not be construed as limiting. Those skilled in the art will readily recognize various modifications and changes that may be made without following the example embodiments and applications illustrated and described herein, and without departing from the true spirit and scope of the disclosure.

## Claims

1. A system for storing data collected by a body-worn sensor, the system comprising:
a central processing unit (CPU) that is configured to control operation of a gateway device; and
one or more computer readable data storage media storing software instructions that, when executed by the CPU, cause the gateway device to:
receive a MAC address of a new sensor and a protocol version associated with the new sensor from a server, the server being in communication with a manufacturer portal having access to the MAC address of the new sensor and the protocol version associated with the new sensor;
attempt to contact the new sensor using the protocol version and the MAC address;
when a response is received, send the response to the server for validation;
when the response is validated by the server, establish communications with the new sensor; and
forward data from the new sensor to a second server, the second server being different from the server, wherein the second server includes a super application associated with a user of the new sensor, with the super application being programmed to control access to the data by causing the second server to:
receive a request from another application for access to the data, the request including an authentication token;
validate the authentication token against a white list of acceptable tokens; and
permit access to the data by the another application upon validation of the authentication token.

2. The system of claim 1, wherein the super application identifies a database in which the data from the new sensor is stored.

3. The system of claim 2, wherein the super application identifies a plurality of databases in which data from a plurality of sensors associated with the user is stored.

4. The system of claim 1, further comprising a notification module programmed to generate a notification to a user when the data meets a certain criteria.

5. The system of claim 4, wherein the notification module is programmed to notify a plurality of individuals when the data meets a second criteria.