Patent Description:
Certain activities, like eating particular foods or exercising, may cause a change in a biological indicator of a user, like blood pressure, glucose level, insulin level, heart rate, and/or the like. The user may not be aware of the impact that an activity has on the user's biological indicators prior to taking part in the activity (e.g., before eating a meal, before exercising, etc.). This can lead to a negative impact on the user's health.

<CIT> relates to use of wearable devices to trigger actions when a user is in a location However, said document relies on rules which are set up in advance by the user.

In some aspects, a server may include a memory and one or more processors coupled to the memory. The one or more processors may be configured to receive information that identifies a location associated with a mobile device. The one or more processors may be configured to determine a venue associated with the location, and to identify health information associated with the venue. The health information may be based on data previously received in association with the venue. The one or more processors may be configured to provide a health alert based on the health information.

In some aspects, a mobile device may include a memory and one or more processors coupled to the memory. The one or more processors may be configured to determine a location associated with the mobile device, and to access health information associated with the venue. The health information may be based on data previously received in association with the venue, and the venue may be associated with the location. The one or more processors may be configured to provide, based on the health information, a health alert.

In some aspects, a method may include determining, by a mobile device, a location associated with the mobile device. The method may include accessing, by the mobile device, health information associated with a venue. The health information may be based on data previously received in association with the venue, and the venue may be associated with the location. The method may include providing, by the mobile device and based on the health information, a health alert.

In some aspects, a method may include receiving, by a device, information that identifies a location associated with a mobile device. The method may include determining, by the device, a venue associated with the location. The method may include identifying, by the device, health information associated with the venue. The health information may be based on data previously received in association with the venue. The method may include providing, by the device and based on the health information, a health alert.

The detailed description includes specific details for providing a thorough understanding of the various concepts.

Certain activities, like eating particular foods or exercising, may cause a change in a biological indicator of a user, like blood pressure, glucose level, insulin level, heart rate, and/or the like. The user may not be aware of the impact that an activity has on the user's biological indicators prior to taking part in the activity (e.g., before eating a meal, before exercising, etc.). This can lead to a negative impact on the user's health. Some activities may be associated with a venue at a particular geographic location. Aspects described herein use a geographic location associated with a user's mobile device to provide the user with predictive health alerts associated with the geographic location or a venue at the geographic location. Such health alerts may be determined or identified based on data previously received in association with the geographic location or venue, such as input provided by the user (e.g., via the mobile device), input provided by other users, measured biological indicators of the user or other users, and/or the like. In this way, a user may be alerted of activities that would have a negative impact on the user's health, and may avoid such activities.

<FIG> is a diagram illustrating an example environment <NUM> in which techniques described herein may be implemented, in accordance with various aspects of the present disclosure. As shown in <FIG>, environment <NUM> may include a mobile device <NUM>, a set of Global Navigation Satellite System (GNSS) satellites <NUM>, a sensor device <NUM>, a base station <NUM>, a server <NUM>, and a network <NUM>. Devices of environment <NUM> may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.

Mobile device <NUM> includes one or more devices capable of receiving, generating, storing, processing, and/or providing health information, health alerts, location information, or other types of information. For example, mobile device <NUM> may include a communication device (e.g., a wireless communication device), such as a mobile phone (e.g., a smart phone, a radiotelephone, etc.), a laptop computer, a tablet computer, a handheld computer, a gaming device, a wearable communication device (e.g., a smart wristwatch, a pair of smart eyeglasses, smart clothing, etc.), or a similar type of device. In some aspects, mobile device <NUM> may communicate with GNSS satellites <NUM> (e.g., to determine a location of mobile device <NUM>), sensor device <NUM> (e.g., to receive sensor data associated with a biological indicator of a user), base station <NUM> (e.g., via an air interface), and/or server <NUM>.

GNSS satellite <NUM> includes one or more satellites that form part of the GNSS. For example, GNSS satellite <NUM> may include a Global Positioning System (GPS) satellite, a Global Orbiting Navigation Satellite System (GLONASS) satellite, a Galileo satellite, and/or the like. GNSS satellites <NUM> may communicate with mobile device <NUM> to provide location information used to determine a geographic location of mobile device <NUM>.

Sensor device <NUM> includes one or more devices used to sense or measure a biological indicator associated with a user. For example, sensor device <NUM> may include a heart rate monitor, a blood pressure sensor, a glucose monitor, a pulse monitor, an accelerometer, a pedometer, a gyroscope, a heat flux sensor, a skin conductivity sensor, a temperature sensor (e.g., a skin temperature sensor, an air temperature sensor, etc.), a calorie monitor, a sleep monitor, a motion sensor, a moisture sensor (e.g., a perspiration sensor), a chemical sensor or chemical compound sensor (e.g., to measure oxygen, carbon dioxide, lactate, testosterone, cortisol, glucose, glucagon, glycogen, insulin, starch, free fatty acid, triglycerides, monoglycerides, glycerol, pyruvate, lipids, other carbohydrates, ketone bodies, choline), a microphone (e.g., to detect noises from the stomach, a burp, passing gas, noises from a bathroom, etc.), and/or the like. In some aspects, sensor device <NUM> may measure or sense a parameter other than a biological indicator, such as an environmental parameter. In some aspects, sensor device <NUM> may be separate from mobile device <NUM>, and may communicate with mobile device <NUM> (e.g., via a wired connection or a wireless connection). In some aspects, sensor device <NUM> may be integrated into mobile device <NUM>.

Base station <NUM> includes one or more devices capable of transferring traffic, such as audio, video, text, and/or other traffic, destined for and/or received from mobile device <NUM>. In some aspects, base station <NUM> may include an evolved Node B (eNB) associated with a long term evolution (LTE) network. In some aspects, base station <NUM> may be associated with a radio access technology (RAT) other than LTE. Base station <NUM> may send traffic to and/or receive traffic from mobile device <NUM> via an air interface (e.g., using radio waves), and may provide mobile device <NUM> with access to network <NUM>. Base station <NUM> may transfer traffic between mobile device <NUM> and server <NUM> (e.g., via network <NUM>). In some aspects, base station <NUM> may include a small cell base station, such as a base station of a microcell, a picocell, and/or a femtocell.

Server <NUM> includes one or more server devices capable of communicating with mobile device <NUM> (e.g., via base station <NUM> and network <NUM>). For example, server <NUM> may include a host server, a web server, a server in a data center, a server in a cloud computing environment, and/or the like. In some aspects, server <NUM> may communicate with mobile device <NUM> to provide health alerts. Additionally, or alternatively, server <NUM> may host and/or access a data structure (e.g., a database) that stores health information, associated with multiple users and/or mobile device <NUM>, to assist with providing health alerts. Additionally, or alternatively, server <NUM> may host and/or access a data structure that stores user profile information to assist with providing health alerts.

Network <NUM> includes one or more wired and/or wireless networks. For example, network <NUM> may include a cellular network (e.g., a long-term evolution (LTE) network, a <NUM> network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber optic-based network, a cloud computing network, and/or the like, and/or a combination of these or other types of networks.

<FIG> is a diagram illustrating example components of a device <NUM>, in accordance with various aspects of the present disclosure. In some aspects, device <NUM> may correspond to mobile device <NUM>. Additionally, or alternatively, device <NUM> may correspond to sensor device <NUM>. As shown in <FIG>, device <NUM> may include a bus <NUM>, a processor <NUM>, a digital signal processor (DSP) <NUM>, a wireless transceiver <NUM>, an antenna <NUM>, a motion/location sensor <NUM>, a biometric sensor <NUM>, a memory <NUM>, an input/output component <NUM>, a GNSS receiver <NUM>, a GNSS antenna <NUM>, or any combination thereof.

Bus <NUM> includes one or more components that permit communication among the other components of device <NUM>. For example, bus <NUM> may include an internal bus, an external bus, a parallel bus, a serial bus, a wire, an optical fiber, and/or the like.

Processor <NUM> includes one or more processors capable of interpreting and/or executing instructions, and/or capable of being programmed to perform one or more techniques described herein. For example, processor <NUM> may include a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), and/or the like. Processor <NUM> is implemented in hardware, firmware, or a combination of hardware and software. In some aspects, processor <NUM> may process location information (e.g., received from GNSS receiver <NUM>) to determine a location associated with device <NUM>. Processor <NUM> may use the location to determine a venue and/or to identify health information associated with the location or the venue, as described in more detail elsewhere herein.

DSP <NUM> includes one or more digital signal processors. For example, DSP <NUM> may include one or more processors <NUM> designed to perform digital signal processing. DSP <NUM> may measure, filter, and/or compress continuous real-world analog signals, such as signals received from one or more other components of device <NUM> (e.g., wireless transceiver <NUM>, a motion/location sensor <NUM>, biometric sensor <NUM>, GNSS receiver <NUM>, etc.).

Wireless transceiver <NUM> includes a transceiver and/or a separate receiver and transmitter that enables device <NUM> to communicate with other devices, such as via a wireless connection. Wireless transceiver <NUM> may permit device <NUM> to receive information from another device and/or provide information to another device. For example, wireless transceiver <NUM> may include a radio frequency (RF) communication component (e.g., a cellular modem), a Wi-Fi communication component, and/or the like.

Antenna <NUM> includes one or more antennas capable of transmitting or receiving information via an air interface (e.g., using radio waves). For example, device <NUM> (e.g., mobile device <NUM>) may use antenna <NUM> to communicate with base station <NUM> to receive and/or provide information associated with health alerts. Additionally, or alternatively, device <NUM> (e.g., mobile device <NUM>) may use antenna <NUM> to communicate with sensor device <NUM> to receive sensor data associated with one or more biological indicators of a user of device <NUM>.

Motion/location sensor <NUM> includes one or more devices capable of measuring motion and/or location. For example, motion/location sensor <NUM> may include an accelerometer, a gyroscope, an altimeter, a motion sensor, a pedestrian dead reckoning (PDR) sensor, or the like. In some aspects, motion/location sensor <NUM> may be used to measure a movement of device <NUM>. In this way, motion/location sensor <NUM> is capable of measuring movement of a user who is carrying device <NUM>. In some aspects, motion/location sensor <NUM> may be used to determine whether device <NUM> is in motion or at rest. Additionally, or alternatively, motion/location sensor <NUM> may measure a speed or acceleration of the motion of device <NUM>. This information may be used to determine an activity being performed by a user of device <NUM>.

Biometric sensor <NUM> includes one or more biometric sensors capable of sensing or measuring a biological indicator associated with a user of device <NUM>. For example, biometric sensor <NUM> may include a heart rate monitor, a blood pressure sensor, a glucose monitor, a pulse monitor, an accelerometer, a pedometer, a gyroscope, a heat flux sensor, a skin conductivity sensor, a temperature sensor, a calorie monitor, a sleep monitor, a motion sensor, a moisture sensor, a chemical sensor or chemical compound sensor, and/or the like, as described above in connection with sensor device <NUM>.

Memory <NUM> includes a random access memory (RAM), a read only memory (ROM), and/or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, and/or an optical memory). In some aspects, memory <NUM> may store information and/or instructions for use by processor <NUM>. In some aspects, memory <NUM> includes a non-transitory computer-readable medium that stores instructions for execution by processor <NUM>. When executed, the instructions may cause processor <NUM> to perform one or more operations described herein.

Input/output component <NUM> includes one or more input components and/or one or more output components. An input component includes a component that permits device <NUM> to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and/or a microphone). An output component includes a component that provides output information from device <NUM> (e.g., a display, a speaker, and/or one or more light-emitting diodes (LEDs)). For example, input/output component <NUM> may be used to receive user input associated with health information and/or to output a health alert.

GNSS receiver <NUM> includes a receiver that enables device <NUM> to receive information from GNSS satellites <NUM>. For example, GNSS receiver <NUM> may receive location information from a set of GNSS satellites <NUM>, and may process the location information (e.g., using processor <NUM>) to determine a geographic location of device <NUM>. The geographic location may be used to determine a venue and/or health information associated with the location or the venue, as described in more detail elsewhere herein.

GNSS antenna <NUM> includes one or more antennas capable of receiving information, from GNSS satellites <NUM>, via an air interface (e.g., using radio waves).

In some implementations, device <NUM> includes means for performing one or more processes described herein and/or means for performing one or more steps of the processes described herein, such as process <NUM> of <FIG>, process <NUM> of <FIG>, and/or one or more other processes described herein. For example, the means for performing the processes and/or steps described herein may include bus <NUM>, processor <NUM>, DSP <NUM>, wireless transceiver <NUM>, antenna <NUM>, motion/location sensor <NUM>, biometric sensor <NUM>, memory <NUM>, input/output component <NUM>, GNSS receiver <NUM>, GNSS antenna <NUM>, or any combination thereof.

<FIG> is a diagram illustrating example components of a device <NUM>, in accordance with various aspects of the present disclosure. Device <NUM> may correspond to mobile device <NUM>, GNSS satellite <NUM>, sensor device <NUM>, base station <NUM>, and/or server <NUM>. In some implementations, mobile device <NUM>, GNSS satellite <NUM>, sensor device <NUM>, base station <NUM>, and/or server <NUM> may include one or more devices <NUM> and/or one or more components of device <NUM>. As shown in <FIG>, device <NUM> may include a bus <NUM>, a processor <NUM>, a memory <NUM>, a storage component <NUM>, an input component <NUM>, an output component <NUM>, a communication interface <NUM>, or any combination thereof.

Bus <NUM> includes one or more components that permit communication among the other components of device <NUM>.

Processor <NUM> includes one or more processors capable of interpreting and/or executing instructions, and/or capable of being programmed to perform one or more techniques described herein, such as a CPU, a GPU, an APU, a microprocessor, a microcontroller, an FPGA, an ASIC, and/or the like. Processor <NUM> is implemented in hardware, firmware, or a combination of hardware and software.

Memory <NUM> includes a RAM, a ROM, and/or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, and/or an optical memory) that stores information and/or instructions for use by processor <NUM>.

In some aspects, memory <NUM> and/or storage component <NUM> may store one or more data structures (e.g., databases) described herein, such as a data structure that stores health information, a data structure that stores user profile information, a data structure that stores venue and/or location information, or the like. In some aspects, these data structures may be stored in non-volatile memory (e.g., a hard drive, a flash drive, etc.).

Device <NUM> may perform one or more processes described herein. Device <NUM> may perform these processes in response to processor <NUM> executing software instructions stored by a non-transitory computer-readable medium, such as memory <NUM> and/or storage component <NUM>. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.

In some implementations, device <NUM> includes means for performing one or more processes described herein and/or means for performing one or more steps of the processes described herein, such as process <NUM> of <FIG>, process <NUM> of <FIG>, process <NUM> of <FIG>, process <NUM> of <FIG>, and/or one or more other processes described herein. For example, the means for performing the processes and/or steps described herein may include bus <NUM>, processor <NUM>, memory <NUM>, storage component <NUM>, input component <NUM>, output component <NUM>, communication interface <NUM>, or any combination thereof.

<FIG> is a diagram illustrating an example <NUM> of providing location-based health alerts, in accordance with various aspects of the present disclosure. <FIG> shows an example of populating a database with health information and associating the health information with a location and/or a venue. In this way, health alerts can be provided in association with the location and/or the venue (e.g., when mobile device <NUM> is located at the location and/or venue).

As shown in <FIG>, and by reference number <NUM>, mobile device <NUM> may receive sensor data from sensor device <NUM>. The sensor data may include data measured or sensed by sensor device <NUM>, such as a biological indicator associated with a user. The biological indicator may relate to the user's health. For example, the biological indicator may indicate a heart rate of the user, a blood pressure of the user, a glucose level of the user (e.g., a blood glucose level), a pulse of the user, movement of the user (e.g., a speed of movement, a direction of movement, etc.), a quantity of steps taken by the user, a heat flux measurement associated with the user, a skin conductivity measurement associated with the user, a temperature associated with the user (e.g., a body temperature, a skin temperature, an environmental temperature, etc.), a calorie measurement associated with the user (e.g., a quantity of calories burned), a sleep measurement associated with the user (e.g., a quantity of hours slept, a sleep quality measurement based on movement of the user, etc.), a moisture measurement associated with the user (e.g., a measurement of skin perspiration, a humidity measurement, etc.), a measurement of a chemical level associated with the user, and/or the like.

For the purpose of <FIG>, assume that sensor device <NUM> includes a blood pressure monitor that measures the user's blood pressure. Mobile device <NUM> may receive one or more blood pressure measurements from sensor device <NUM> (e.g., periodically). Mobile device <NUM> may determine that the sensor data (e.g., the blood pressure measurement) satisfies a threshold (e.g., that the user's blood pressure measurement satisfies a threshold, that the user's blood pressure increased or decreased by an amount that satisfies a threshold, that a set of the user's blood pressure measurements satisfies a threshold for a particular amount of time or for a particular number of blood pressure measurements, that a user's blood pressure has changed by a threshold amount relative to a baseline, such as a baseline measured over a period of time, etc.), and may determine a location or a venue associated with mobile device <NUM> based on the determination, as shown by reference number <NUM>. For example, mobile device <NUM> may communicate with multiple GNSS satellites <NUM> to determine a location of mobile device <NUM>. Additionally, or alternatively, mobile device <NUM> may use the location to identify a venue associated with the location (e.g., based on information stored in a data structure). In some aspects, mobile device <NUM> may identify a venue based on detecting an access point (e.g., a Wi-Fi access point) associated with the venue.

As shown by reference number <NUM>, mobile device <NUM> may request and receive user input based on determining that the measured biological indicator satisfies a threshold. For example, mobile device <NUM> may request the user input based on determining that the user's blood pressure is greater than or equal to <NUM> over <NUM> millimeters of mercury (mmHg). In some aspects, the threshold may be an absolute threshold (e.g., <NUM>, <NUM>, etc.). In some aspects, the threshold may be a relative threshold as compared to a baseline for the user. For example, the user may have a baseline blood pressure of <NUM> over <NUM>, which may be determined based on user input, based on measuring the user's blood pressure over a period of time, or the like. In this case, the threshold may be based on a rise of blood pressure of, for example, <NUM> points, or <NUM> over <NUM>. As shown, mobile device <NUM> may alert the user regarding the measured biological indicator by providing an indication of the measured biological indicator for display. Additionally, or alternatively, mobile device <NUM> may provide a user interface to obtain user input, such as a confirmation of the user's location or a venue where the user is located (e.g., shown as "Joe's Restaurant") and/or free-form input (e.g., text input), shown as "The soup is salty. " In some aspects, the user may interact with mobile device <NUM> to provide the user input without mobile device <NUM> first detecting that a biological indicator satisfies a threshold.

As shown by reference number <NUM>, mobile device <NUM> may provide, to server device <NUM> and via base station <NUM> and network <NUM>, the user input, information that identifies the measured biological indicator, information that identifies the location of mobile device <NUM>, and/or information that identifies a determined venue associated with the location. In some aspects, mobile device <NUM> may provide information that identifies the location, and server <NUM> may identify a venue associated with the location (e.g., based on information stored in a data structure).

As shown by reference number <NUM>, server <NUM> may populate one or more databases or other data structures with location information (e.g., information that identifies a location of mobile device <NUM>, such as by using GPS coordinates, a set of map tiles, a geofence, and/or the like), venue information (e.g., information that identifies a venue associated with the location), and health information. The health information may include the measured biological indicator (e.g., the measured blood pressure, as shown) and/or the user input (e.g., "The soup is salty"). Server <NUM> may associate the location, the venue, and/or the health information in the database.

In this way, server <NUM> may populate a database that stores health information associated with a location and/or a venue. Server <NUM> may populate the database with health information, which may be used to provide health alerts to mobile devices <NUM> (e.g., the illustrated mobile device <NUM> or other mobile devices <NUM>) when those mobile devices <NUM> are located at the location and/or the venue. In this way, a user of mobile device <NUM> can receive predictive health alerts associated with locations or venues, so that the user can make intelligent health-related decisions at those locations or venues. Furthermore, computing resources may be saved by proactively providing health alerts rather than consuming computing resources based on a user search for information.

Other examples are possible and may differ from what was described in connection with <FIG>.

<FIG> is a diagram illustrating another example <NUM> of providing location-based health alerts, in accordance with various aspects of the present disclosure. <FIG> shows an example of identifying health information, associated with a location and/or a venue, based on data previously received in association with the location or the venue. <FIG> further shows providing a health alert based on the health information.

As shown in <FIG>, and by reference number <NUM>, assume that mobile device <NUM> determines a location of mobile device <NUM>. For example, mobile device <NUM> may communicate with multiple GNSS satellites <NUM> to determine a location of mobile device <NUM>. In some aspects, mobile device <NUM> may use the location to identify a venue associated with the location (e.g., based on information stored in a data structure).

As shown by reference number <NUM>, mobile device <NUM> may provide, to server <NUM> (e.g., via base station <NUM> and network <NUM>), information that identifies the location. In some aspects, such as when mobile device <NUM> determines a venue associated with the location, mobile device <NUM> may provide, to server <NUM> (e.g., via base station <NUM> and network <NUM>), information that identifies the venue. In some aspects, server <NUM> may determine the venue based on the location.

As shown by reference number <NUM>, server <NUM> may determine the venue, based on the location, and may identify health information based on the location and/or the venue. For example, server <NUM> may identify the health information by performing a lookup in a database that stores the health information in association with the location and/or the venue.

For the purpose of <FIG>, assume that mobile device <NUM> is located in a location identified by the GPS coordinates <NUM> latitude and -<NUM> longitude, which corresponds to a venue of "Joe's Restaurant. " Using this location and/or venue, server <NUM> identifies data previously received in association with the location and/or venue. For example, server <NUM> may identify health information based on previously received user input indicating that "The soup is salty," and further based on a previously measured biological indicator received in association with the venue, such as a measured blood pressure of <NUM> over <NUM> mmHg while mobile device <NUM> was located in the location and/or venue, a measured increase of the user's blood pressure (e.g., from <NUM> over <NUM> to <NUM> over <NUM> mmHg), a percentage increase of the user's blood pressure, and/or the like.

As shown by reference number <NUM>, server <NUM> may provide, to mobile device <NUM>, a health alert. The health alert may be based on the health information. For example, the health alert may include at least a portion of the user input, may include the measured biological indicator, or may include the health information.

As shown by reference number <NUM>, mobile device <NUM> may output the health alert (e.g., on a display of mobile device <NUM>). For example, the health alert displayed by mobile device <NUM> indicates that during a previous visit to Joe's Restaurant, the user indicated that the soup is salty, and that sensor device <NUM> measured a blood pressure of <NUM> over <NUM> mmHg for the user. As another example, the health alert may indicate a measured increase of the user's blood pressure (e.g., from <NUM> over <NUM> to <NUM> over <NUM> mmHg), a percentage increase of the user's blood pressure, and/or the like.

In this way, a user of mobile device <NUM> may be provided with predictive health alerts so that the user can make healthy decisions. For example, the user may avoid eating an unhealthy food (e.g., the salty soup), may avoid a particular venue (e.g., Joe's Restaurant) for health reasons, may take medication (e.g., blood pressure medication) prior to visiting a venue or participating in an activity at the venue (e.g., eating, drinking, exercising, etc.), and/or the like.

<FIG> is a diagram illustrating another example <NUM> of providing location-based health alerts, in accordance with various aspects of the present disclosure. <FIG> shows an example of populating a database with health information based on user input (e.g., text input, measured biological indicators, etc.) received from multiple mobile devices <NUM>, and associating the health information with a location and/or a venue. In this way, crowd-sourced health alerts can be provided in association with the location and/or the venue (e.g., when mobile device <NUM> is located at the location and/or venue).

As shown in <FIG>, and by reference number <NUM>, mobile device <NUM> may determine a location and/or a venue of mobile device <NUM>. For example, mobile device <NUM> may communicate with multiple GNSS satellites <NUM> to determine a location of mobile device <NUM>. In some aspects, mobile device <NUM> may use the location to identify a venue associated with the location (e.g., based on information stored in a data structure).

As shown by reference number <NUM>, mobile device <NUM> may request and receive user input associated with the location (e.g., based on a biological indicator satisfying a threshold, such as an absolute threshold or a relative threshold). For example, mobile device <NUM> may request the user input based on determining that a user's insulin level has spiked (e.g., has increased by a threshold amount, has increased to a level that satisfies a threshold, etc.). As shown, mobile device <NUM> may alert the user regarding the measured biological indicator by providing an indication of the measured biological indicator for display. Additionally, or alternatively, mobile device <NUM> may provide a user interface to obtain user input, such as information that identifies an activity that the user is performing (e.g., shown as eating a blueberry muffin).

As shown, server <NUM> may receive this information from multiple mobile devices <NUM> associated with multiple users. For example, server <NUM> may receive the information over a period of time. In some aspects, server <NUM> may determine user profile information associated with mobile device <NUM>. The user profile information may indicate a health condition of a user of mobile device <NUM> (e.g., diabetic, allergies, high blood pressure, one or more medications being taken by the user, etc.), health preferences and/or activity preferences associated with the user (e.g., a type of food or drinks that the user enjoys, a manner in which the user likes his or her meals prepared, a type of exercise that the user enjoys, etc.), and/or the like.

As shown by reference number <NUM>, server <NUM> may populate one or more databases or other data structures with location information (e.g., information that identifies a location of mobile device <NUM>, such as by using GPS coordinates or other coordinates), venue information (e.g., information that identifies a venue associated with the location), and health information. The health information may include the measured biological indicator (e.g., a measured insulin level) and/or the user input (e.g., "blueberry muffin"). Server <NUM> may associate the location, the venue, and/or the health information in the database.

In some aspects, server <NUM> may associate the health information with user profile information. For example, some health information may only apply to users with a particular health condition. In this case, server <NUM> may store information that identifies the health condition or other user profile information in association with the health information. For example, server <NUM> may store an indication that users who are diabetic should avoid the blueberry muffin at Joe's Restaurant, as shown. This may conserve memory resources by only storing the health information in association with users with particular user profile information, rather than across all users.

In this way, server <NUM> may populate a database that stores health information associated with a location and/or a venue. Server <NUM> may populate the database with health information received from multiple mobile devices <NUM> associated with multiple users. This health information may be used to provide health alerts to mobile devices <NUM> (e.g., the illustrated mobile devices <NUM> or other mobile devices <NUM>) when those mobile devices <NUM> are located at the location and/or the venue. In this way, a user of mobile device <NUM> can receive predictive health alerts associated with locations or venues even if the user has not previously visited the location or venue (e.g., based on health information associated with other users, such as other users who have user profile information in common with the user). In some aspects, server <NUM> may selectively provide the health alert, such as when the health alert is applicable to the user, thereby conserving computing resources and network resources by preventing transmission of health alerts that are not applicable to a user.

<FIG> is a diagram illustrating another example <NUM> of providing location-based health alerts, in accordance with various aspects of the present disclosure. <FIG> shows an example of determining recommended health options associated with a location and/or venue, and providing the recommended health options to mobile device <NUM> as a health alert. In some aspects, the recommended health options may be determined based on user profile information.

As shown in <FIG>, mobile device <NUM> may determine that a user is sitting at a restaurant. In some aspects, mobile device <NUM> may use location information (e.g., received from GNSS satellites <NUM>) to determine that mobile device <NUM> is located in a restaurant. Additionally, or alternatively, mobile device <NUM> may use one or more sensors to determine that the user is sitting, such as motion/location sensor <NUM> that indicates that the user is not in motion.

As shown by reference number <NUM>, mobile device <NUM> may request, from server <NUM>, health options associated with the restaurant. For example, mobile device <NUM> may request the health options based on determining that the user is sitting in the restaurant. Additionally, or alternatively, mobile device <NUM> may request the health options based on input received from the user (e.g., via a user interface).

As shown by reference number <NUM>, server <NUM> may determine one or more health options based on the request. For example, the health options may indicate a type of food (or drink) to eat, a type of food (or drink) to avoid, a particular menu item to eat or avoid (e.g., based on menu information determined based on a location or venue of mobile device <NUM>), a type of exercise to perform, a type of exercise to avoid, a type of activity to perform, a type of activity to avoid, and/or the like.

In some aspects, server <NUM> may determine the health options based on data previously received in associated with the venue. For example, a user may indicate a food that the user liked or did not like, and server <NUM> may recommend that food or a similar food (e.g., based on characteristics of the food). Additionally, or alternatively, server <NUM> may determine the health options based on user profile information associated with a user of mobile device <NUM>.

As an example, and as shown, assume that user profile information indicates that the user is allergic to peanuts, has high blood pressure, likes spicy food, and is diabetic. As further shown, server <NUM> may store menu information that indicates characteristics of menu items associated with a venue in which mobile device <NUM> is located (e.g., shown as Joe's Restaurant). For example, the menu information may indicate whether a menu item contains peanuts or another type of ingredient, whether a menu item is salty or has another characteristic, whether a menu item is spicy or has another taste characteristic, whether the menu item has previously caused a biological indicator to satisfy a threshold (e.g., an insulin spike, an increase in blood pressure, etc.), and/or the like.

As shown by reference number <NUM>, server <NUM> may provide recommended health options to mobile device <NUM>. As shown by reference number <NUM>, mobile device <NUM> may output the recommended health options (e.g., via a user interface). For example, and as shown, the health options indicate that at Joe's Restaurant, the user should try the jerk chicken (e.g., because the jerk chicken is spicy, does not contain peanuts, is not salty, and will not cause an insulin spike). Further, the health options indicate that the user should avoid the peanut curry (e.g., because the peanut curry contains peanuts), should avoid the soup (e.g., because the soup is salty), and should avoid the blueberry muffin (e.g., because the blueberry muffin caused an insulin spike for one or more other users).

In some aspects, the health options may be ranked from most preferred to least preferred, or in some other manner. In some aspects, a health option may be displayed in association with a level of health risk associated with the health option (e.g., a menu item that may cause an allergic reaction may be associated with a high risk, whereas a menu item that is salty may be associated with a low risk). Additionally, or alternatively, health options (e.g., menu items) may be provided in association with a calorie count, a sugar content, a salt content, and/or the like.

In some aspects, display of the health options or another health alert by mobile device <NUM> may be triggered based on mobile device <NUM> being at a particular location, entering a particular venue, detecting performance of a particular activity, and/or the like. In some aspects, mobile device <NUM> may vibrate or otherwise provide an indication that the health alert has been received. In some aspects, the health alert may be provided based on a health application being installed on and/or executing on mobile device <NUM>.

In this way, a user of mobile device <NUM> may be provided with predictive health alerts so that the user can make healthy decisions. For example, the user may avoid an unhealthy menu item or a menu item that will have a negative impact on the user's health (e.g., the salty soup or blueberry muffin that caused an insulin spike), may avoid a menu item to which the user is allergic (e.g., peanut curry), and may try a menu item that the user is likely to enjoy (e.g., the jerk chicken).

<FIG> is a diagram illustrating an example process <NUM> for providing location-based health alerts, in accordance with various aspects of the present disclosure. In some implementations, one or more process blocks of <FIG> may be performed by mobile device <NUM>. In some implementations, one or more process blocks of <FIG> may be performed by another device or a group of devices separate from or including mobile device <NUM>, such as sensor device <NUM> and/or server <NUM>.

As shown in <FIG>, process <NUM> may include receiving sensor data (block <NUM>). For example, mobile device <NUM> may receive sensor data. In some aspects, mobile device <NUM> may measure the sensor data using biometric sensor <NUM> of mobile device <NUM>. Additionally, or alternatively, mobile device <NUM> may receive the sensor data from sensor device <NUM>. As described elsewhere herein, the sensor data may include a measured biological indicator of a user of mobile device <NUM>. In some aspects, the sensor data may include processed sensor data (e.g., raw sensor data that has been processed by sensor device <NUM> and/or mobile device <NUM>).

In some aspects, server <NUM> may receive the sensor data. For example, server <NUM> may receive the sensor data from mobile device <NUM>. Additionally, or alternatively, server <NUM> may receive the sensor data from sensor device <NUM> (e.g., a sensor device that communicates with base station <NUM>). When server <NUM> receives the sensor data from sensor device <NUM>, server <NUM> may determine a mobile device <NUM> associated with sensor device <NUM> (e.g., based on a mobile device identifier that identifies a mobile device <NUM> associated with sensor device <NUM>). In some aspects, server <NUM> may provide the sensor data to mobile device <NUM>.

As further shown in <FIG>, process <NUM> may include determining, based on the sensor data, that a biological indicator satisfies a threshold (block <NUM>). For example, mobile device <NUM> may determine that a biological indicator, represented by the sensor data, satisfies a threshold (e.g., an absolute threshold or a relative threshold). In some aspects, mobile device <NUM> may store one or more thresholds corresponding to one or more biological indicators. In some aspects, a threshold may be input by a user of mobile device <NUM>. In some aspects, a threshold may be determined based on a default threshold. In some aspects, a biological indicator may be associated with more than one threshold (e.g., a low threshold, a high threshold, etc.). Mobile device <NUM> may compare a measured biological indicator to the threshold to determine whether the measured biological indicator satisfies the threshold (e.g., is greater than the threshold, is greater than or equal to the threshold, is equal to the threshold, is less than or equal to the threshold, is less than the threshold, etc.). In some aspects, mobile device <NUM> may determine whether the biological indicator satisfies the threshold for more than a particular amount of time, whether a particular quantity of successive biological indicators satisfies the threshold, and/or the like.

In some aspects, server <NUM> may determine that the biological indicator satisfies a threshold (e.g., in a similar manner as described above). For example, server <NUM> may receive sensor data from mobile device <NUM>, and may determine that a biological indicator (e.g., included in the sensor data) satisfies a threshold. In some aspects, server <NUM> may provide information, indicating that the biological indicator satisfies the threshold, to mobile device <NUM>.

As further shown in <FIG>, process <NUM> may include requesting and receiving user input based on determining that the biological indicator satisfies the threshold (block <NUM>). For example, mobile device <NUM> may request user input based on determining that the biological indicator satisfies the threshold. In some aspects, mobile device <NUM> may prompt a user for user input via a display and/or user interface of mobile device <NUM>. For example, mobile device <NUM> may display a user interface and provide an input mechanism for a user to indicate an activity being performed by the user, a venue at which the user is located, and/or the like. In some aspects, mobile device <NUM> may provide an indication of the measured biological indicator for display. A user may interact with mobile device <NUM> to provide user input, and mobile device <NUM> may receive the user input based on the user interaction. Additionally, or alternatively, mobile device <NUM> may output a health alert to alert the user that the biological indicator satisfies the threshold, and may recommend that the user modify or stop an activity associated that caused the biological indicator to satisfy the threshold.

In some aspects, server <NUM> may request and receive user input based on determining that the biological indicator satisfies the threshold. For example, server <NUM> may determine that the biological indicator satisfies the threshold, and may provide a message to mobile device <NUM> requesting the user input. Mobile device <NUM> may obtain the user input (e.g., as described above), and may provide the user input to server <NUM>. Additionally, or alternatively, mobile device <NUM> may output a health alert to alert the user that the biological indicator satisfies the threshold, as described above.

As an example, in the case of a blood pressure alert, how mobile device <NUM> may request and/or receive user input to determine if the cause of the blood pressure alert is related to an activity (e.g., a temporary spike due to exercise) or to a substance eaten. If the blood pressure alert was caused by an activity, mobile device <NUM> may provide output to advise the user to slow or stop the activity, and/or may flag the activity as being associated with a blood pressure alert. In some aspects, mobile device <NUM> may keep track of sensor data, such as PDR or other sensor measurements, and may use such sensor data to predict future events, such as predicted blood pressure alerts related to an activity, such as a use running past a certain speed, weightlifting, and/or the like. If the blood pressure alert was caused by a substance eaten, mobile device <NUM> may immediately provide a health alert to warn the user to stop eating whatever it is that is causing the health issue. Additionally, or alternatively, mobile device <NUM> may output a menu to permit the user to identify, on the menu, an item that is causing the problem.

In this way, when the user returns to a venue, mobile device <NUM> may present an option to pull up the menu associated with that menu (e.g., rather than a generic health warning) with flags associated with items that cause health issues. Additionally, or alternatively, information output by mobile device <NUM> may be contributed by multiple users. In this case, mobile device <NUM> may use statistics, such as number of reports for a particular condition for a particular item, a date of the reports, or an age of the reports, and/or the like. In this case, if a venue changes a menu item, such as by changing a recipe, old data that is no longer relevant will eventually age out and no longer be reported.

Additionally, or alternatively, mobile device <NUM> and/or server <NUM> may generate a message (e.g., an email message, an SMS message, etc.), and may provide the message to a venue (e.g., an owner, manager, etc. associated with the venue) to alert the venue that a specific menu item is causing problems. In some aspects, such a message may be provided periodically so that the venue can change a recipe. In some aspects, such a message may be provided immediately so that the venue can replace the dish with something less salty, spicy, etc. In some aspects, the venue may provide a message to server <NUM> to indicate that a recipe has been adjusted (e.g., to reduce salt, spiciness, MSG, etc.). In this way, older and less relevant message may be aged out and not reported. In some aspects, a venue may be permitted to provide input (e.g., to server <NUM>) to provide menu information (e.g., information that identifies menu items, information that identifies food contents, such as an amount of salt, sugar and/or spice).

As further shown in <FIG>, process <NUM> may include determining a location or a venue associated with a mobile device that received the sensor data (block <NUM>). For example, mobile device <NUM> may determine a location of mobile device <NUM> (e.g., based on information received from GNSS satellites <NUM>). Additionally, or alternatively, mobile device <NUM> may determine a venue associated with mobile device <NUM>. For example, mobile device <NUM> may use a data structure, stored locally on mobile device <NUM> or remote from mobile device <NUM> (e.g., stored by server <NUM> or another device), to determine a venue based on a location.

In some aspects, mobile device <NUM> may identify a venue based on detecting an access point (e.g., a Wi-Fi access point) associated with the venue. For example, mobile device <NUM> may use a data structure, stored locally on mobile device <NUM> or remote from mobile device <NUM> (e.g., stored by server <NUM> or another device), to determine a venue based on an access point. For example, the data structure may store information that identifies associations between access points (e.g., using an access point identifier, such as an access point name, a network name, a service set identifier (SSID), and/or the like) and venues.

In some aspects, server <NUM> may determine a location and/or a venue associated with mobile device <NUM>. For example, mobile device <NUM> may provide information that identifies the location to server <NUM>. In some aspects, mobile device <NUM> may provide information that identifies a venue to server <NUM>. Additionally, or alternatively, server <NUM> may use the location to identify a venue associated with the location (e.g., using a data structure that associates locations and venues and/or performing a search based on the location).

As further shown in <FIG>, process <NUM> may include storing or providing health information in association with the location or the venue (block <NUM>). For example, mobile device <NUM> may store health information in association with the location and/or the venue. The health information may be identified based on the sensor data and/or the user input. In some aspects, the health information may include the sensor data, a portion of the sensor data, the user input, a portion of the user input, and/or the like. In some aspects, mobile device <NUM> may provide the health information. For example, mobile device <NUM> may provide the health information to server <NUM> (e.g., for storage).

In some aspects, server <NUM> may store the health information. For example, server <NUM> may receive, from mobile device <NUM>, the sensor data and/or the user input. Server <NUM> may identify the health information based on the sensor data and/or the user input, and may store the health information. Server <NUM> may store the health information is association with the location and/or the venue.

In this way, mobile device <NUM> and/or server <NUM> may populate a data structure that stores health information associated with a location and/or a venue. The data structure may be populated with health information, which may be used to provide health alerts to one or more mobile devices <NUM> when those mobile device(s) <NUM> are located at the location and/or the venue. In this way, a user of mobile device <NUM> can receive predictive health alerts associated with locations or venues, so that the user can make intelligent health-related decisions at those locations or venues.

<FIG> is a diagram illustrating another example process <NUM> for providing location-based health alerts, in accordance with various aspects of the present disclosure. In some implementations, one or more process blocks of <FIG> may be performed by server <NUM>. In some implementations, one or more process blocks of <FIG> may be performed by another device or a group of devices separate from or including server <NUM>, such as mobile device <NUM>.

As shown in <FIG>, process <NUM> may include receiving information that identifies a location associated with a mobile device (block <NUM>). For example, server <NUM> may receive, from mobile device <NUM>, information that identifies a location associated with mobile device <NUM>. For example, mobile device <NUM> may determine a location of mobile device <NUM> (e.g., based on information received from GNSS satellites <NUM>, and may provide information that identifies the location to server <NUM>. The information that identifies the location may include, for example, GPS data (e.g., a latitude, longitude, and/or altitude), a street address, a name of a location and/or venue, and/or the like.

In some implementations, the location may be associated with a list that identifies one or more venues (e.g., restaurants) within a threshold geographic proximity of the location. In this case, server <NUM> may store and/or receive the list of venues based on the information that identifies the location. In some implementations, server <NUM> may request the list of venues from another device. Server <NUM> may identify health information and/or a health alert based on the list of venues, as described in more detail below. Server <NUM> may provide the health information and/or the health alert to mobile device <NUM> so that a user can use the health information and/or the health alert to decide on a venue.

As further shown in <FIG>, process <NUM> may include determining a venue associated with the location (block <NUM>). For example, server <NUM> may use a location, associated with mobile device <NUM>, to identify a venue associated with the location (e.g., using a data structure that associates locations and venues and/or performing a search based on the location). Additionally, or alternatively, mobile device <NUM> may determine the venue, and may provide information that identifies the venue to server <NUM>. In some cases, a venue may be determined as described above in block <NUM> (e.g., based on a street address, based on a name of the venue, based on an Internet search of a location, and/or the like). In some aspects, when a venue is determined based on a location, server <NUM> may determine whether the location is within a threshold distance of a particular location, may determine the location with a threshold level of confidence, or the like.

As further shown in <FIG>, process <NUM> may include identifying health information, associated with the venue, based on data previously received in association with the venue (block <NUM>). For example, server <NUM> may identify health information associated with the venue. The health information may be identified based on data previously received in association with the venue (e.g., previously received from mobile device <NUM>). For example, server <NUM> may receive sensor data and/or user input from mobile device <NUM>, and may store health information, based on the sensor data and/or user input, in association with a venue where mobile device <NUM> is located. At a later time, server <NUM> may receive information that identifies a location and/or a venue associated with that mobile device <NUM> and/or a different mobile device <NUM>, and may identify the health information that was previously stored in association with the venue.

In some aspects, the health information could be provided and/or sorted specifically for a user, such as based on that user's particular past results, and/or based on group data combining all users' historical data. User-specific data may be especially helpful for exercise information, which may be user-specific. In some aspects, user-specific data may be stored locally by mobile device <NUM>. In some aspects, group data that combines input from other people can also be made available. Group data may be especially helpful for menu-related data where input from multiple people on various menu items is important so that a particular user don't have to actually eat the menu item to know whether the menu item will cause trouble. Group data may be useful for activities intended to evoke a physiological response, such as carnival rides. In some aspects, the user may be given a choice to receive user-specific data, group data, or both sets of data.

In some aspects, to prevent malicious attacks on a venue, data for a particular user may be analyzed for consistency with a particular condition or consistency with other people's reports, particularly when being used for group data. So, if a user only reports salty items at one venue but does not report salty items at other venues that serve known salty items or if a user provides a bunch of bad reports at a single venue without similar reports at other venues, that data might be treated as lower in confidence or perhaps even not combined into the group data. In this case, such data may still be used for user specific-data.

As further shown in <FIG>, process <NUM> may include providing a health alert based on the health information (block <NUM>). For example, server <NUM> may generate and/or provide a health alert based on the health information. In some aspects, server <NUM> may provide the health alert to a mobile device <NUM> from which the data was previously received. In some aspects, server <NUM> may provide the health alert to a different mobile device <NUM> (e.g., based on the different mobile device <NUM> being located at a venue associated with the health information). In some aspects, the health alert may include the health information. For example, server <NUM> may provide the health information to mobile device <NUM>, and mobile device <NUM> may output a health alert based on the health information. As another example, the health alert may include a measured biological indicator and/or user input previously received in association with a venue. In some aspects, the health alert may include a recommended health option, such as a recommendation regarding food, a recommendation regarding a drink, a recommendation regarding an exercise, a recommendation regarding an activity, and/or the like. In some aspects, server <NUM> and/or mobile device <NUM> may selectively provide the health alert based on user profile information. For example, if a user is not diabetic, then server <NUM> and/or mobile device <NUM> may prevent health alerts associated with diabetes from being provided, thereby conserving computing resources and/or network resources.

In this way, a user of mobile device <NUM> may be provided with predictive health alerts so that the user can make healthy decisions. For example, the user may avoid eating an unhealthy food, may avoid a particular venue for health reasons, may take medication prior to visiting a venue or participating in an activity at the venue, and/or the like.

As shown in <FIG>, process <NUM> may include receiving multiple biological indicators, associated with multiple users, measured in association with a location or a venue (block <NUM>). For example, server <NUM> may receive, from multiple mobile devices <NUM>, measured biological indicators and/or sensor data that includes the multiple biological indicators. For example, biological indicators of multiple users may be measured (e.g., at different times) by different sensor devices <NUM> and provided to server <NUM> by multiple mobile devices <NUM>. The multiple mobile devices <NUM> may be located in a particular venue or location when the biological indicators are measured.

In some implementations, server <NUM> may receive health reports from multiple mobile devices <NUM>. In some implementations, a health report may include a biological indicator, measured in association with a user of mobile device <NUM>, and information that identifies a location associated with mobile device <NUM>. In this case, server <NUM> may determine a venue associated with the location, as described elsewhere herein. Additionally, or alternatively, a health report may include the biological indicator and information that identifies the venue. Additionally, or alternatively, a health report may include the biological indicator, information that identifies the location, and information that identifies the venue. Additionally, or alternatively, a health report may include information that identifies an activity performed by the user. Additionally, or alternatively, a health report may include user input provided by a user of mobile device <NUM>. As described in more detail below, server device <NUM> may store received health reports. When aggregated, such health reports may cover multiple types of biological indicators, multiple locations, multiple venues, and/or multiple activities.

In some implementations, a health report may be anonymized and/or encrypted (e.g., by mobile device <NUM> and/or server <NUM>) to protect user privacy. In some implementations, a user may provide input (e.g., to mobile device <NUM> or another device) indicating whether user data, such as the health report, is to be anonymized and/or encrypted. In some cases, the user may decide not to anonymize health reports associated with the user so that the user can be provided with personalized health alerts.

As further shown in <FIG>, process <NUM> may include storing health information, in association with the location or the venue, based on the multiple biological indicators (block <NUM>). For example, server <NUM> may store health information in association with the location and/or the venue. The health information may be identified based on the sensor data, user input, and/or the multiple biological indicators, as described elsewhere herein. For example, the health information may include a measured biological indicator (e.g., a measured blood pressure or other biological indicators described herein), user input (e.g., "The soup is salty"), or other health information described herein. In some aspects, the health information may include the sensor data, a portion of the sensor data, the user input, a portion of the user input, one or more measured biological indicators, and/or the like. Server <NUM> may store the health information in association with the location and/or the venue.

As an example, health information may include food information associated with a location, venue, and/or menu item. Additionally, or alternatively, health information may include notes provided by users about which item on a dish is causing a problem, as a given order may contain more than one item (e.g., a note to avoid the sauce, the side dish, etc.). In some aspects, the health information may indicate a measure or degree of the biological reaction of one or more users (e.g., to rate items as causing extreme responses versus moderate responses). In some aspects, the health information may include a user identifier to associate a user with that users' own records that the user-specific information can be identified. In some aspects, the health information may be encrypted or otherwise protected.

In some aspects, the health information may include an activity indicator associated with a venue and/or location, such as a particular gym or hiking trail. In some aspects, the activity indicator may be independent of location and/or venue. For example, if a user is running, mobile device <NUM> may use one or more sensors, such as motion/location sensor <NUM>, to detect and/or record the activity. If mobile device <NUM> outputs a health alert for the activity, a sensor reading may be recorded for future detection of the same or similar activities. Additionally, or alternatively, the user may be queried as to the activity being performed. Additionally, or alternatively, the user may be alerted as to the condition that is causing the health alert, such as a blood pressure or a pulse over a particular threshold. Thus, an activity indicator may be linked to an activity itself and sensed via one or more sensors no matter where the activity occurs, may be linked to a location or venue (e.g., a gym, a set of stairs, a hiking trail, etc.), or may be linked to both. In some aspects, the one or more sensors may be preprogrammed to detect certain common activities, such as running, swimming, hiking up a grade (using a PDR and altimeter), and/or the like. In this case, the user may not need to be queried about what activity is being performed. Further, certain health alerts can be predicted, such as by the presence of a steep grade at a particular location, even if no prior data has been received in association with that that location.

In some implementations, server <NUM> may store the health reports, received in association with a location and/or a venue, as the health information. In this way, server <NUM> can provide (e.g., to mobile device <NUM>) a list of biological indicators and/or user input associated with the location, venue, and/or activity. In some implementations, server <NUM> may apply one or more rules to determine severity levels associated with different biological indicators, such that server <NUM> can provide the list of biological indicators in an order based on the severity levels. Additionally, or alternatively, server <NUM> may determine an order for the list of biological indicators and/or user input based on user feedback (e.g., user likes or dislikes), based on a date and/or time at which a health report was received (e.g., to prioritize information received in more recent health reports), and/or the like.

In some implementations, server <NUM> may remove, from the list, information received in health reports that are older than a particular time (e.g., information included in health reports received over a year in the past). Additionally, or alternatively, server <NUM> may store a particular quantity of health reports, and may remove an oldest health report when a new health report is received. Additionally, or alternatively, server <NUM> may remove health reports after a threshold quantity of health reports are received that indicate that older health reports are no longer relevant. For example, old health reports may indicate that a particular menu item cause a spike in blood pressure, while new health reports may not indicate such spike in blood pressure (e.g., because a recipe of the menu item has changed). After receiving a threshold quantity of such reports that indicate no spike in blood pressure, server <NUM> may remove the old reports that indicate the spike in blood pressure. In this way, the health information may be kept up-to-date.

In some implementations, server <NUM> may analyze and/or organize the health reports to store the health information. For example, server <NUM> may store health information the identifies a list of biological indicators affected by a location, venue, or activity, may store health information that identifies a list of locations that impact a particular biological indicator, may store health information that identifies a list of venues that impact a particular biological indicator, may store health information that identifies a list of activities that impact a particular biological indicator, may store health information that identifies a list of locations, venues, or activities that impact a particular biological indicator by a threshold amount, may store health information that identifies a list of locations, venues, or activities that impact multiple biological indicators, and/or the like. As an example, server <NUM> may aggregate health information from health reports associated with a particular activity at a particular venue, such as eating a particular menu item at a particular restaurant.

In some implementations, server <NUM> may aggregate values of biological indicators to store various statistics related to the biological indicators as the health information, such as mean, median, standard deviation, etc. For example, server <NUM> may determine an average value (e.g., a mean or median value) of a biological indicator (e.g., average blood pressure, average change in blood pressure, average glucose level, average change in glucose level, etc.), a maximum value of a biological indicator, a minimum value of a biological indicator, and/or the like. Server <NUM> may store such various statistics, as the health information, in association with a location, venue, or activity. For example, server <NUM> may receive information that identifies heart rates at various locations along a hiking trail from a plurality of mobile devices, and server <NUM> may use this information to determine an average heart rate at one or more of those locations.

Additionally, or alternatively, server150 may group health information based on user characteristics, and may determine various statistics for a particular characteristic group. For example, server <NUM> may receive data from users with a wide range of ages, such as five to seventy five years old, so rather than determine an average heart rate at a particular location for all users of all ages, server <NUM> may group data for users between, for example, ages twenty to twenty-five, ages twenty-five to thirty, etc. and then determine the average heart rate for that group at that particular location.

Additionally, or alternatively, server <NUM> may store information that identifies a quantity of health incidents associated with a location, venue, or activity (e.g., a quantity of health reports received that satisfy a condition, such as a biological indicator satisfying a threshold). For example, server <NUM> may store information that identifies a quantity of health incidents over a time period (e.g., <NUM> month, <NUM> months, <NUM> year, all time, etc.), a rate of health incidents (e.g., a quantity of health incidents reported per month, year, etc.), and/or the like.

In this way, server <NUM> may populate a database that stores health information associated with a location and/or a venue. Server <NUM> may populate the database with health information received from multiple mobile devices <NUM> associated with multiple users. This health information be used to provide health alerts to mobile devices <NUM> when those mobile devices <NUM> are located at the location and/or the venue. In this way, a user of mobile device <NUM> can receive predictive health alerts associated with locations or venues even if the user has not previously visited the location or venue (e.g., based on health information associated with other users, such as other users who have user profile information in common with the user).

As shown in <FIG>, process <NUM> may include receiving, from a mobile device, information that identifies a location (block <NUM>). For example, server <NUM> may receive, from mobile device <NUM>, information that identifies a location associated with mobile device <NUM>. For example, mobile device <NUM> may determine a location of mobile device <NUM> (e.g., based on information received from GNSS satellites <NUM>), and may provide information that identifies the location to server <NUM>.

As further shown in <FIG>, process <NUM> may include determining a venue based on the location (block <NUM>). For example, server <NUM> may use the location, associated with mobile device <NUM>, to identify a venue associated with the location (e.g., using a data structure that associates locations and venues). Additionally, or alternatively, mobile device <NUM> may determine the venue, and may provide information that identifies the venue to server <NUM>. The venue may be the same as a venue associated with mobile devices <NUM> that provided biological indicators to server <NUM> (e.g., as described in connection with <FIG>), and server <NUM> may use the biological indicators to generate a health alert to be provided to mobile device <NUM>, as described below.

As further shown in <FIG>, process <NUM> may include identifying health information, associated with the venue, based on multiple biological indicators, associated with multiple users, measured in association with the location or the venue (block <NUM>). For example, server <NUM> may identify health information associated with the venue. The health information may be previously stored by server <NUM> based on the multiple biological indicators measured in association with the venue, as described above. In some aspects, server <NUM> may obtain the health information based on storing the health information in association with the venue. In some aspects, server <NUM> may retrieve the health information (e.g., a from a data structure).

As further shown in <FIG>, process <NUM> may include providing a health alert based on the health information (block <NUM>). For example, server <NUM> may generate and/or provide a health alert based on the health information. In some aspects, server <NUM> may provide the health alert to a mobile device <NUM>, and mobile device <NUM> may output the health alert, despite not having previously received data from mobile device <NUM> (e.g., based on data, such as biological indicators, received from other mobile devices <NUM>).

Additionally, or alternatively, server <NUM> may receive, from mobile device <NUM>, a query associated with the health information, and may provide the health alert based on the query. For example, a user may interact with mobile device <NUM> to request locations, venues, or activities (e.g., menu items) that do not have a negative impact on a particular biological indicator, that do not have a negative impact on any biological indicators, and/or the like. As another example, the user may interact with mobile device <NUM> to identify a location, venue, or activity, and server <NUM> may return health information associated with the identified location, venue, or activity. In some implementations, server <NUM> may provide, as the health alert, information that identifies a quantity of health incidents associated with a location, venue, or activity.

<FIG> is a diagram illustrating another example process <NUM> for providing location-based health alerts, in accordance with various aspects of the present disclosure. In some implementations, one or more process blocks of <FIG> may be performed by mobile device <NUM>. In some implementations, one or more process blocks of <FIG> may be performed by another device or a group of devices separate from or including mobile device <NUM>, such as server <NUM>.

As shown in <FIG>, process <NUM> may include determining, based on sensor data, an activity associated with a user of a mobile device (block <NUM>). For example, mobile device <NUM> may use sensor data to determine an activity being performed by a user of mobile device <NUM>. As an example, mobile device <NUM> may use sensor data to determine that a user is sitting down (e.g., at a restaurant, based on location information and/or a lack of movement of mobile device <NUM>), that a user is eating (e.g., based on detecting a repetitive hand movement), that a user is exercising (e.g., based on a movement of mobile device <NUM>), and/or the like.

In some aspects, mobile device <NUM> may identify the activity, and may provide information identifying the activity to server <NUM>. Additionally, or alternatively, server <NUM> may determine the activity based on sensor data received from mobile device <NUM>. In some aspects, server <NUM> may receive data from mobile device <NUM>, such as sensor data, processed sensor data, user input, data received in association with a venue, and/or the like, and may determine the activity based on the data. The activity may include, for example, eating, drinking, exercising, and/or the like.

In some aspects, the activity may be identified based on sensor data from mobile device <NUM>, and information identifying the activity and/or activity parameters may be provided to server <NUM>. In some aspects, server <NUM> may send a periodically refreshed cache of health alert parameters to mobile device <NUM>, and mobile device <NUM> may use these health alert parameters to determine locally when a health alert is warranted. For example, mobile device <NUM> may determine that running faster than a particular speed or running up a particular grade will cause a user's blood pressure to exceed a threshold. Such information may be stored by mobile device <NUM>, by server <NUM>, or by both. Thus may result in a set of rules (e.g., stored locally on mobile device <NUM>) that indicate when to trigger a health alert. In some aspects, mobile device <NUM> may not send all the sensor data to server <NUM>, and may detect the activity locally on mobile device <NUM>, thereby conserving network resources.

As further shown in <FIG>, process <NUM> may include identifying health information based on the activity and data previously received in association with the activity (block <NUM>). For example, mobile device <NUM> and/or server device <NUM> may identify health information based on the activity. The health information may be identified based on data previously received in association with the activity (e.g., previously received by or from mobile device <NUM>). Additionally, or alternatively, the health information may be identified based on a current biological indicator (e.g., blood pressure) measured by one or more sensors associated with mobile device <NUM>. For example, mobile device <NUM> may determine a biological indicator, may provide the biological indicator to server <NUM>. Server <NUM> may identify health information based on the biological indicator (e.g., by filtering a collection of health information using the biological indicator), and may provide the health information to mobile device <NUM>. In some aspects, mobile device <NUM> may receive health information from server <NUM> and may filter the health information, based on a measured biological indicator, to generate a health alert.

For example, mobile device <NUM> and/or server <NUM> may receive sensor data and/or user input, and may store health information, based on the sensor data and/or user input, in association with an activity being performed by a user of mobile device <NUM>. In some aspects, the activity may be determined based on sensor data. Additionally, or alternatively, the activity may be determined based on user input that identifies the activity. At a later time, server <NUM> may receive information that identifies an activity being performed by a user of mobile device <NUM> and/or a different mobile device <NUM>, and may identify the health information that was previously stored in association with the activity. In some aspects, the health information, stored in association with the activity, may also be stored in association with a location and/or a venue where mobile device <NUM> is located.

In some implementations, mobile device <NUM> and/or server <NUM> may store the health information in association with the activity as well as a location and/or a venue associated with the biological indicator. Additionally, or alternatively, mobile device <NUM> and/or server <NUM> may analyze health reports to determine whether a particular biological indicator is impacted by an activity or by a location or venue, and may output such information. In this way, a user may determine whether a change in a biological indicator is triggered by a particular activity, a particular location, or a particular venue.

As further shown in <FIG>, process <NUM> may include providing a health alert based on the health information (block <NUM>). For example, mobile device <NUM> and/or server <NUM> may generate and/or provide a health alert based on the health information. In some aspects, server <NUM> may provide the health alert to a mobile device <NUM> from which the data was previously received. In some aspects, server <NUM> may provide the health alert to a different mobile device <NUM> (e.g., based on the different mobile device <NUM> indicating that a user is performing the activity associated with the health information). In some aspects, the health alert may include the health information. For example, the health alert may include a measured biological indicator and/or user input previously received in association with an activity.

In this way, a user of mobile device <NUM> may be provided with predictive health alerts so that the user can make healthy decisions regarding an activity. For example, the user may avoid participating in an activity that has a negative impact on the user's health, may be encouraged to participate in an activity that has a positive impact on the user's health, and/or the like.

As shown in <FIG>, process <NUM> may include receiving information that identifies a location or a venue associated with a mobile device (block <NUM>). For example, server <NUM> may receive, from mobile device <NUM>, information that identifies a location associated with mobile device <NUM>. For example, mobile device <NUM> may determine a location of mobile device <NUM> (e.g., based on information received from GNSS satellites <NUM>), and may provide information that identifies the location to server <NUM>. In some aspects, server <NUM> may use the location to identify a venue associated with the location (e.g., using a data structure that associates locations and venues). Additionally, or alternatively, mobile device <NUM> may determine the venue, and may provide information that identifies the venue to server <NUM>.

As further shown in <FIG>, process <NUM> may include identifying user profile information associated with a user of the mobile device (block <NUM>). For example, server <NUM> may use a data structure (e.g., stored by server <NUM> or another device) to identify user profile information associated with a user of mobile device <NUM>. In some aspects, the data structure may associate a mobile device identifier, of mobile device <NUM>, with the user profile information. Additionally, or alternatively, server <NUM> may receive the user profile information from mobile device <NUM>.

The user profile information may indicate a health condition of a user of mobile device <NUM> (e.g., diabetic, allergies, high blood pressure, one or more medications being taken by the user, etc.), health preferences and/or activity preferences associated with the user (e.g., a type of food or drinks that the user enjoys, a manner in which the user likes his or her meals prepared, a type of exercise that the user enjoys, etc.), and/or the like. Additionally, or alternatively, the user profile information may include information from one or more health reports received in association with a user. Additionally, or alternatively, the user profile information may include information from one or more health alerts provided to mobile device <NUM> associated with a user.

In some aspects, the user profile information may include information that indicates whether a user flagged a particular menu item as causing a problem. Additionally, or alternatively, the user profile information may include information that indicates whether a user flagged a particular menu item as safe. For example, the user may send a report (e.g., a report initiated by the user) indicating that one or more menu items did not cause an adverse reaction (e.g., no sugar crash, no blood pressure issues, no allergic reaction for a particular allergy, etc.). In this way, server <NUM> may be able to determine which items are safe to east for people with particular sensitivities and/or allergies. For example, people that are allergic to shrimp might worry that a sauce or other menu item includes a particular ingredient (e.g., shrimp, pork, peanuts, etc.). By marking items as safe, these users may be able to easily determine whether the menu items contain these ingredients.

As further shown in <FIG>, process <NUM> may include identifying health information, associated with the location or the venue, based on the user profile information and data previously received in association with the location or the venue (block <NUM>). For example, server <NUM> may identify health information associated with the location and/or the venue. The health information may be identified based on data previously received in association with the location and/or the venue (e.g., previously received from mobile device <NUM>).

Additionally, or alternatively, server <NUM> may identify the health information based on user profile information. For example, when server <NUM> stores health information, the health information may be associated with user profile information. When identifying the health information, server <NUM> may identify the health information based on a characteristic of user profile information associated with a user of mobile device <NUM> matching a characteristic of stored user profile information associated with the health information (e.g., that the user is diabetic, has a particular allergy, etc.).

As further shown in <FIG>, process <NUM> may include providing a health alert based on the health information (block <NUM>). For example, server <NUM> may generate and/or provide a health alert based on the health information. In some aspects, server <NUM> may provide the health alert to a mobile device <NUM> from which the data was previously received. In some aspects, server <NUM> may provide the health alert to a different mobile device <NUM> (e.g., based on the different mobile device <NUM> being associated with a user that has user profile information that matches user profile information of a user of mobile device <NUM>).

In this way, a user of mobile device <NUM> may be provided with predictive health alerts so that the user can make healthy decisions. The predictive health alerts can be generated based on user profile information to provide more accurate and relevant health alerts.

Aspects described herein use a geographic location associated with a user's mobile device to provide the user with predictive health alerts associated with the geographic location or a venue at the geographic location. Such health alerts may be determined based on data previously received in association with the geographic location or venue, such as input provided by the user (e.g., via the mobile device), input provided by other users, measured biological indicators of the user or other users, and/or the like. In this way, a user may be alerted of activities that would have a negative impact on the user's health, and may avoid such activities.

Certain user interfaces have been described herein and/or shown in the figures. A user interface may include a graphical user interface, a non-graphical user interface, a text-based user interface, etc. A user interface may provide information for display. In some implementations, a user may interact with the information, such as by providing input via an input component of a device that provides the user interface for display. In some implementations, a user interface may be configurable by a device and/or a user (e.g., a user may change the size of the user interface, information provided via the user interface, a position of information provided via the user interface, etc.). Additionally, or alternatively, a user interface may be pre-configured to a standard configuration, a specific configuration based on a type of device on which the user interface is displayed, and/or a set of configurations based on capabilities and/or specifications associated with a device on which the user interface is displayed.

Thus, the operation and behavior of the systems and/or methods were described herein without reference to specific software code-it being understood that software and hardware can be designed to implement the systems and/or methods based on the description herein.

Claim 1:
A mobile device, comprising:
a memory; and
one or more processors coupled to the memory, wherein the one or more processors are configured to:
determine (<NUM>) that a biological indicator satisfies a threshold at a first time at a venue, wherein the venue is associated with a location of the mobile device at the first time;
request (<NUM>) user input upon determining that the biological indicator satisfies the threshold;
receive (<NUM>) the user input;
provide data, including the biological indicator and the user input, for storage in association with information identifying the venue;
determine the venue associated with a location of the mobile device at a second time after the first time is the same as the venue associated with the location of the mobile device at the first time;
access (<NUM>, <NUM>) health information associated with the venue,
wherein the health information is based on the data previously provided in association with the venue; and
provide (<NUM>, <NUM>), based on the health information, a health alert that includes the user input.