Health Aggregator

By realizing multi-partition display and emergency information processing in health data management applications, the functional limitations of existing applications in health data aggregation and sharing are solved, and data visualization and sharing efficiency are improved.

CN114995695BActive Publication Date: 2025-01-03APPLE INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210618961.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2015-05-26
Filing Date
2015-05-28
Publication Date
2025-01-03
Estimated Expiration
2035-05-28

AI Technical Summary

Technical Problem

Existing health data management applications have limited functions in storing, viewing and sharing health data, making it difficult to effectively aggregate and share health data collected by different devices.

Method used

Develop a process to aggregate and share health data, including displaying health data for multiple partitions on the device, selecting a subset in response to device orientation changes, allowing authorized users to access and share health data, and displaying emergency information in a locked state.

Benefits of technology

It realizes unified display and sharing of various types of health data, enhances user data access control and emergency information management, and improves the visualization and sharing efficiency of health data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114995695B_ABST
    Figure CN114995695B_ABST
Patent Text Reader

Abstract

The present disclosure relates to health aggregators. The present disclosure relates to aggregating and sharing health data. Health data can be received by a user device from any number of sensors external or internal to the user device, from a user who manually enters health data, or from other users or entities. The user device can securely store health data on the user device and transmit health data to be stored on a remote database. The user of the device can share some or all of the health data with friends, relatives, caregivers, medical service providers, etc. The user device can further display the user's health data in an aggregated view of different types of health data. If authorization has been received from other users, the health data of other users can also be viewed.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Priority claim

[0002] This application claims priority to U.S. Provisional Patent Application Serial No. 62 / 006,032, filed on May 30, 2014, and entitled “WELLNESS AGGREGATOR,” and U.S. Provisional Patent Application Serial No. 62 / 129,945, filed on March 8, 2015, and entitled “WELLNESS AGGREGATOR,” each of which is expressly incorporated herein by reference.

[0003] CROSS-REFERENCE TO RELATED APPLICATIONS

[0004] This application is a divisional application of the invention patent application with Chinese national application number 201510284850.3, application date May 28, 2015, and invention name “Health Aggregator”.

[0005] This application is related to U.S. Provisional Patent Application Serial No. 62 / 006,031, filed on May 30, 2014, and entitled “MANAGING USER INFORMATION.” Technical Field

[0006] The following disclosure relates generally to data management, and more specifically to aggregating and sharing health data. Background Art

[0007] About 133 million Americans currently suffer from at least one chronic disease. By 2020, this number is expected to rise to about 165 million. Therefore, the U.S. health care costs are expected to grow significantly. Attempts have been made to improve personal health by providing individuals with tools to monitor and track their health data. Health data can generally include any type of data associated with people's health, such as their weight, heart rate, blood pressure, blood sugar level, medication compliance, activity, etc. Users can use devices (such as blood pressure cuffs, blood sugar monitors, electrocardiograms, pedometers, etc.) to monitor their health. Software applications (e.g., Apps) associated with each of these devices have also been developed to allow users to track their health data over time. Although each application can be used to view useful information about user health, current applications are limited in their ability to allow users to store, view and share health data collected by different devices. Summary of the invention

[0008] The present disclosure relates to processes for aggregating and sharing health data. An example process may include: causing display of an aggregate view of multiple types of health data, wherein the aggregate view includes multiple partitions, each of the multiple partitions being associated with a type of health data in the multiple types of health data; receiving a selection of one of the multiple partitions; and causing display of an expanded view of the selected partition in the multiple partitions.

[0009] Another example process may include: causing display of multiple partitions on a device, wherein each of the multiple partitions is associated with one type of health data among multiple types of health data; in response to detecting a change in orientation of the device, selecting a subset of the multiple partitions; and causing display of the selected subset of the multiple partitions.

[0010] Another example process may include: causing display of a first plurality of partitions associated with a first user, wherein each of the first plurality of partitions is associated with a type of health data of the first user; and in response to receiving a request to view a second plurality of partitions associated with a second user, causing display of a second plurality of partitions associated with the second user, wherein each of the second plurality of partitions is associated with a type of health data of the second user.

[0011] Another example process may include: receiving an identification of a user authorized to access a health dataset; in response to detecting an update to the health dataset, transmitting a notification to the user authorized to access the health dataset that the user authorized to access the health dataset has detected an update to the health dataset; and transmitting at least a portion of the health dataset to the user authorized to access the health dataset.

[0012] Another example process may include: receiving a request from a first user to access health data associated with a second user; transmitting to the second user a request to authorize the first user to access health data associated with the second user; and in response to receiving authorization from the second user, transmitting the health data associated with the second user to the first user.

[0013] Another example process may include, at an electronic device including a display: displaying on the display a chart including a first data set representation of a first data set in which a first dependent variable changes as an independent variable changes and a second data set representation of a second data set in which a second dependent variable changes as the independent variable changes, wherein the first data set representation is associated with a first range of vertical positioning within the chart, and the second data set representation is associated with a second range of vertical positioning within the chart. The process may further include: detecting a user input at a corresponding position on the display; in response to detecting the user input: displaying on the display an indication that the first data set representation has been selected based on a determination that the corresponding position is within the first range of vertical positioning associated with the first data set representation; and displaying on the display an indication that the second data set representation has been selected based on a determination that the corresponding position is within the second range of vertical positioning associated with the second data set representation.

[0014] Another example process may include, at an electronic device including a display: when the electronic device is in a locked state: detecting a request to display emergency information about a user of the device; and in response to detecting the request, displaying an emergency information interface including the emergency information about the user of the device on the display without unlocking the device.

[0015] Another example process may include, at an electronic device: receiving information from a user identifying multiple approved sources of health data, wherein the information identifying the multiple approved sources identifies one or more types of health data approved to be received from the multiple approved sources and stored in a health database; and receiving information from the user identifying multiple approved destinations of health data, wherein the information identifying the multiple approved destinations identifies one or more types of health data approved to be accessed from the health database by the multiple approved destinations of health data.

[0016] The present disclosure also relates to a method for providing emergency information about a user. An example process may include, when an electronic device is in a locked state: detecting a request to display emergency information about a user of the device; and in response to detecting the request, displaying an emergency information interface including emergency information about a user of the device on a display of the electronic device without unlocking the device.

[0017] In some examples, when the electronic device is in a locked state, one or more functions of the electronic device are restricted from use. In some examples, when the electronic device is in a locked state, at least a subset of data stored on the device is inaccessible. In some examples, when the electronic device is in a locked state, communications from the electronic device are restricted.

[0018] In some examples, the emergency information about the user includes information associated with an emergency contact, and wherein the information associated with the emergency contact includes a name of the emergency contact and a relationship between the user and the emergency contact.

[0019] In some examples, the method further includes: detecting a request for communication while the electronic device is in a locked state; and in response to detecting the request for communication, initiating communication with the emergency contact.

[0020] In some examples, initiating communication with the emergency contact includes sending an SMS message or an email to the emergency contact. In some examples, initiating communication with the emergency contact includes calling a phone number associated with the emergency contact. In some examples, calling the phone number associated with the emergency contact includes marking the call to the phone number as an emergency call. In some examples, the information associated with the emergency contact further includes the phone number associated with the emergency contact. In some examples, the information associated with the emergency contact does not include the phone number associated with the emergency contact.

[0021] In some examples, the method further includes, before displaying the emergency information interface: displaying an emergency dialing interface including a numeric input pad and an emergency information option; when the emergency dialing interface is displayed, detecting a selection of the emergency information option; and in response to detecting the selection of the emergency information option, displaying the emergency information interface.

[0022] In some examples, the method further includes: when the electronic device is in a locked state, detecting a predefined telephone number entered using a numeric input pad; and in response to detecting the predefined telephone number, calling the predefined telephone number.

[0023] In some examples, calling the predefined phone number includes marking the call to the predefined phone number as an emergency call. In some examples, the call marked as an emergency call will be accepted by the receiving electronic device in any operating state.

[0024] In some examples, the method further includes, before displaying the emergency dialing interface: displaying a lock screen interface including an emergency option; detecting a selection of the emergency option; and in response to detecting the selection of the emergency option, displaying the emergency dialing interface.

[0025] In some examples, emergency information about the user includes one or more of: the user's name, birthday, medical conditions, allergies and reactions, medications, and one or more emergency contacts of the user.

[0026] Apparatus and non-transitory computer-readable storage media for performing these processes are also provided. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] For a better understanding of the various described embodiments, reference should be made to the following description of the various embodiments in conjunction with the accompanying drawings, wherein like reference numerals designate corresponding parts throughout the drawings.

[0028] Figure 1A is a block diagram illustrating a portable multifunction device with a touch-sensitive display in accordance with some embodiments.

[0029] Figure 1B is a block diagram illustrating exemplary components for event handling according to some embodiments.

[0030] Figure 2 A portable multifunction device with a touch screen is illustrated in accordance with some embodiments.

[0031] Figure 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface in accordance with some embodiments.

[0032] Figure 4A Illustrated is an exemplary user interface for a menu of applications on a portable multifunction device in accordance with some embodiments.

[0033] Figure 4B An exemplary user interface for a multifunction device having a touch-sensitive surface that is separate from the display is illustrated in accordance with some embodiments.

[0034] Figure 5A A personal electronic device is illustrated in accordance with some embodiments.

[0035] Figure 5B is a block diagram illustrating a personal electronic device in accordance with some embodiments.

[0036] Figure 6 A block diagram of an example system for aggregating health data according to various examples is illustrated.

[0037] Figure 7 Illustrated is a block diagram of an example system for sharing health data according to various examples.

[0038] Figure 8 Illustrated are example processes for authorizing and pushing health data to other users who are authorized, according to various examples.

[0039] Fig. 9 An example process for authorizing a user to pull health data according to various examples is illustrated.

[0040] Figures 10 to 15 Illustrated are example interfaces for displaying aggregated health data according to various examples.

[0041] Fig.16 Illustrated are example interfaces for displaying aggregated health data according to various examples.

[0042] Fig.17 Illustrated are example interfaces for displaying aggregated health data according to various examples.

[0043] Fig.18 An example process for displaying aggregated health data according to various examples is illustrated.

[0044] Fig.19 Illustrated are example interfaces for displaying aggregated health data of other users according to various examples.

[0045] Fig. 20 Another example interface for displaying aggregated health data of other users according to various examples is illustrated.

[0046] Fig.21 An example process for displaying aggregated health data of other users according to various examples is illustrated.

[0047] Figure 22 to Figure 26 Example interfaces for displaying health data or non-health data according to various examples are illustrated.

[0048] Fig. 27 Example processes for displaying wellness data or non-wellness data according to various examples are illustrated.

[0049] Figures 28 to 37 Example interfaces for displaying health data or non-health data according to various examples are illustrated.

[0050] Fig.38A and Fig.38B Example processes for managing and displaying health data or non-health data according to various examples are illustrated.

[0051] Figures 39 to 44 An example interface for displaying emergency medical information according to various examples is illustrated.

[0052] Fig.45 An example process for displaying emergency medical information according to various examples is illustrated.

[0053] Fig.46 An example computing system for aggregating and sharing health data according to various examples is illustrated.

[0054] Fig.47 Illustrated is a functional block diagram of an electronic device configured to display health data or non-health data according to various examples.

[0055] Fig.48Illustrated is a functional block diagram of an electronic device configured to manage and display health data or non-health data according to various examples.

[0056] Fig.49 A functional block diagram of an electronic device configured to display emergency medical information according to various examples is illustrated.

[0057] Fig.50 Illustrated is a functional block diagram of an electronic device configured to display health data or non-health data according to various examples.

[0058] Fig.51 Illustrated is a functional block diagram of an electronic device configured to display health data or non-health data according to various examples.

[0059] Fig.52 Illustrated is a functional block diagram of an electronic device configured to display health data or non-health data according to various examples.

[0060] Fig.53 Illustrated is a functional block diagram of an electronic device configured to display health data or non-health data according to various examples.

[0061] Fig.54 Illustrated is a functional block diagram of an electronic device configured to display health data or non-health data according to various examples. DETAILED DESCRIPTION

[0062] The following description sets forth exemplary methods, parameters, etc. However, it should be appreciated that such description is not intended to limit the scope of the present disclosure, but is instead provided as a description of exemplary embodiments.

[0063] The present disclosure relates to aggregating and sharing health data. Health data can be received by a user device from any number of sensors external or internal to the user device, from a user who manually enters health data, or from other users or entities. The user device can securely store health data on the user device and transmit health data to be stored on a remote database. The user of the device can share some or all of the health data with friends, relatives, caregivers, health care providers, etc. The user device can further display the user's health data in an aggregated view of different types of health data. For example, the aggregate view may include a set of partitions, each of which corresponds to a different type of health data. If authorization has been received from other users, the health data of other users can also be viewed. In some examples, the partitions can be displayed as having an appearance and an associated card stacking animation, wherein each card corresponds to a different partition (and therefore, a different type of health data). In this view of the stacked cards, each card can display a partial view of a portion of its corresponding health data. When a user selects one of the cards in the card, a first expanded view of the selected card including at least one of the expanded views of the first reconfigured data, the additional data, or the original data can be displayed. In response to a change in the orientation of the user device, a second expanded view of the selected card can be displayed. A second expanded view may be displayed that may include at least one of the second reconfiguration data, the additional data, or an expanded view of the original data. In one example, the second expanded view may include a graph of the health data over time.

[0064] under, Figure 1A to Figure 1B , Figure 2 , Figure 3 , Figure 4A - to 4B and FIG. 5A to FIG. 5B A description of example devices for performing techniques for sharing health data is provided. Figures 10 to 15 , Fig.17 , Figures 19 to 20 , Figure 22 to Figure 26 , Figures 28 to 37 as well as Figures 39 to 44 An exemplary user interface for sharing health data is shown. The user interface in the figure is also used to illustrate the process described below, including Figure 8 , Fig. 9 , Fig.16 , Fig.18 , Fig.21 , Fig. 27 , FIG. 38A to FIG. 38B as well as Fig.45 process.

[0065] Although the following description uses the terms "first", "second", etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another element. For example, a first touch may be referred to as a second touch, and similarly, a second touch may be referred to as a first touch without departing from the scope of the various described embodiments. Both the first touch and the second touch are touches, but they are not the same touch.

[0066] The terms used in the description of the various described embodiments are used herein only for the purpose of describing specific embodiments and are not intended to be limiting. Unless the context otherwise clearly indicates, the singular forms of "one", "an" and "said" as used in the description of the various described embodiments and the appended claims are intended to also include plural forms. It should also be understood that the term "and / or" used herein refers to and covers any item in one or more items of the associated enumerated items and all possible combinations. It should be further understood that the terms "include", "have", "include" and / or "contain" specify the presence of stated features, wholes, steps, operations, elements and / or components when used in this specification, but do not exclude the appearance or addition of one or more other features, wholes, steps, operations, elements, components and / or their groupings.

[0067] The term "if" may be interpreted to mean "when" or "uponce" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [stated condition or event] is detected" may be interpreted to mean "uponce it is determined" or "in response to determining" or "uponce [stated condition or event] is detected" or "in response to detecting [stated condition or event]," depending on the context.

[0068] Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described. In some embodiments, the device is a portable communication device (such as a mobile phone) that also includes other functions, such as PDA and / or music player functions. Exemplary embodiments of portable multifunction devices include, but are not limited to: iPod and Device. Other portable electronic devices such as laptop computers or tablet computers with touch-sensitive surfaces (e.g., touch screen displays and / or touch pads) may alternatively be used. It should also be understood that in some embodiments, the device is not a portable communication device, but rather a desktop computer with a touch-sensitive surface (e.g., touch screen displays and / or touch pads).

[0069] In the following discussion, an electronic device including a display and a touch-sensitive surface is described. However, it should be understood that the computing device may optionally include one or more other physical user interface devices, such as a physical keyboard, mouse, and / or joystick.

[0070] The device can support various applications, such as one or more of the following applications: a drawing application, a presentation application, a word processing application, a website creation application, a disk authoring application, a spreadsheet application, a game application, a telephone application, a video conferencing application, an email application, an instant messaging application, a workout support application, a photo management application, a digital camera application, a digital video recorder application, a web browsing application, a digital music player application, and / or a digital video player application.

[0071] Various applications executed on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and corresponding information displayed on the device are optionally adjusted and / or changed from one application to the next and / or within each application. In this way, the common physical architecture of the device (such as a touch-sensitive surface) optionally supports various applications with a user interface that is intuitive and transparent to the user.

[0072] Attention is now turned to embodiments of portable devices having touch-sensitive displays. Figure 1A 1 is a block diagram illustrating a portable multifunction device 100 with a touch-sensitive display system 112 in accordance with some embodiments. Touch-sensitive display 112 is sometimes referred to as a "touch screen" for convenience, and is sometimes considered or referred to as a "touch-sensitive display system." Device 100 includes memory 102 (which optionally includes one or more computer-readable storage media), memory controller 122, one or more processing units (CPUs) 120, peripheral device interface 118, RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, input / output (I / O) subsystem 106, other input control devices 116, and external ports 124. Device 100 optionally includes one or more optical sensors 164. Device 100 optionally includes one or more contact intensity sensors 165 for detecting the intensity of contacts on device 100 (e.g., a touch-sensitive surface, such as touch-sensitive display system 112 of device 100). Device 100 optionally includes one or more tactile output generators 167 for generating tactile output on device 100 (e.g., generating tactile output on a touch-sensitive surface such as touch-sensitive display system 112 of device 100 or touch pad 335 of device 300). These components optionally communicate over one or more communication buses or signal lines 103.

[0073] As used in the specification and claims, the term "intensity" of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or to a surrogate (proxy) for the force or pressure of a contact on the touch-sensitive surface. The intensity of a contact has a range of values ​​that includes at least four different values ​​and more typically includes hundreds of different values ​​(e.g., at least 256). The intensity of a contact is optionally determined (or measured) using various methods and various sensors or combinations of sensors. For example, one or more force sensors below or adjacent to the touch-sensitive surface are optionally used to measure force at various points on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (e.g., weighted averaged) to determine an estimated force of a contact. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size of the contact area detected on the touch-sensitive surface and / or its change, the capacitance of the touch-sensitive surface in proximity to the contact and / or its change, the resistance of the touch-sensitive surface in proximity to the contact and / or its change are optionally used as a substitute for the force or pressure of the contact on the touch-sensitive surface. In some implementations, the substitute measurement for the contact force or contact pressure is directly used to determine whether the intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the substitute measurement). In some implementations, the substitute measurement for the contact force or contact pressure is converted into an estimated force or pressure, and the estimated force or pressure is used to determine whether the intensity threshold has been exceeded (e.g., the intensity threshold is the pressure threshold measured in units of pressure). Using the intensity of the contact as an attribute of the user input allows for user access to additional device functions that may otherwise be inaccessible to the user on a reduced size device (e.g., on a touch-sensitive display) with limited real estate for displaying functional affordances and / or receiving user input (e.g., via a touch-sensitive display, a touch-sensitive surface, or a physical / mechanical control, such as a knob or button).

[0074] As used in the specification and claims, the term "tactile output" refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device, which will be detected by a user having a sense of touch. For example, in the case where a device or a component of the device is in contact with a surface of a user that is sensitive to touch (e.g., a finger, palm, or other part of the user's hand), the tactile output generated by the physical displacement will be interpreted by the user as a tactile sensation corresponding to a perceived change in the physical characteristics of the device or component of the device. For example, the movement of a touch-sensitive surface (e.g., a touch-sensitive display or a touchpad) is optionally interpreted by the user as a "down click" or "up click" of a physical actuator button. In some cases, even when there is no movement of a physical actuator button associated with a touch-sensitive surface that is physically pressed (e.g., displaced) by the user's movement, the user will feel a tactile sensation, such as a "down click" or "up click". As another example, movement of a touch-sensitive surface may optionally be interpreted or felt by a user as "roughness" of the touch-sensitive surface even when there is no change in the smoothness of the touch-sensitive surface. While such interpretation of touch by a user is influenced by the user's personalized sensory perception, there are many sensory perceptions of touch that are common to most users. Thus, when tactile outputs are described as corresponding to a particular sensory perception of a user (e.g., "up click," "down click," "roughness"), unless otherwise specified, the generated tactile outputs correspond to physical displacements of the device or components thereof that would generate the described sensory perception for a typical (or average) user.

[0075] It should be appreciated that device 100 is merely one example of a portable multifunction device and that device 100 may optionally have more or fewer components than shown, may optionally combine two or more components, or may optionally have a different configuration or arrangement of components. Figure 1A The various components shown in the drawings may be implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing and / or application specific integrated circuits.

[0076] The memory 102 may include one or more computer-readable storage media. The computer-readable storage media may be tangible and non-transient. The memory 102 may include high-speed random access memory, and may also include non-volatile memory, such as one or more disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. The memory controller 122 may control access to the memory 102 by other components of the device 100.

[0077] The peripheral device interface 118 may be used to couple the input and output peripheral devices of the device to the CPU 120 and the memory 102. The one or more processors 120 run or execute various software programs and / or instruction sets stored in the memory 102 to perform various functions for the device 100 and process data. In some embodiments, the peripheral device interface 118, the CPU 120, and the memory controller 122 may be implemented on a single chip, such as the chip 104. In some other embodiments, they may be implemented on separate chips.

[0078] RF (radio frequency) circuit 108 receives and sends RF signals, also referred to as electromagnetic signals. RF circuit 108 converts electrical signals into / converts electromagnetic signals into electrical signals, and communicates with a communication network and other communication devices via electromagnetic signals. RF circuit 108 optionally includes well-known circuits for performing these functions, including but not limited to: an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, a memory, etc. RF circuit 108 optionally communicates with the Internet, also referred to as the World Wide Web (WWW), an intranet, and / or a wireless network such as a cellular telephone network, a wireless local area network (LAN), and / or a metropolitan area network (MAN), and other devices via wireless communication. RF circuit 108 optionally includes well-known circuits for detecting a near field communication (NFC) field, such as by a short-range communication radio. Wireless communication may optionally use any of a variety of communication standards, protocols, and technologies, including, but not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), High Speed ​​Downlink Packet Access (HSDPA), High Speed ​​Uplink Packet Access (HSUPA), Evolution Data Only (EV-DO), HSPA, HSPA+, Dual Cell HSPA (DC-HSPDA), Long Term Evolution (LTE), Near Field Communication (NFC), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n, and / or IEEE 802.11ac), Voice over Internet Protocol (VoIP), Wi-MAX, protocols for email (e.g., Internet Message Access Protocol (IMAP) and / or Post Office Protocol (POP)), instant messaging (e.g., Extensible Messaging and Presence Protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and / or Short Message Service (SMS), or any other suitable communications protocol, including communications protocols that have not been developed as of the filing date of this document.

[0079] The audio circuit 110, the speaker 111, and the microphone 113 provide an audio interface between the user and the device 100. The audio circuit 110 receives audio data from the peripheral device interface 118, converts the audio data into electrical signals, and transmits the electrical signals to the speaker 111. The speaker 111 converts the electrical signals into sound waves audible to humans. The audio circuit 110 also receives electrical signals converted from sound waves by the microphone 113. The audio circuit 110 converts the electrical signals into audio data and transmits the audio data to the peripheral device interface 118 for processing. The audio data can be retrieved from and / or transmitted to the memory 102 and / or the RF circuit 108 via the peripheral device interface 118. In some embodiments, the audio circuit 110 also includes a headphone jack (e.g., Figure 2 The headphone jack provides an interface between the audio circuit 110 and a removable audio input / output peripheral device, such as an output-only headset or a headset capable of both output (e.g., a single or dual-ear headset) and input (e.g., a microphone).

[0080] The I / O subsystem 106 couples input / output peripherals on the device 100, such as the touch screen 112 and other input control devices 116, to a peripherals interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, an intensity sensor controller 159, a tactile feedback controller 161, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive / send electrical signals from / to other input or control devices 116. Other input or control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels, etc. In some alternative embodiments, (one or more) input controllers 160 are optionally coupled to any (or none) of the following: a keyboard, an infrared port, a USB port, and a pointing device such as a mouse. One or more buttons (e.g., Figure 2 208) optionally includes up / down buttons for volume control of the speaker 111 and / or the microphone 113. The one or more buttons optionally include a push button (e.g., Figure 2 206).

[0081] A quick press of the push button may cause the touch screen 112 to unlatch or begin the process of using gestures on the touch screen to unlock the device, as described in U.S. Patent Application No. 11 / 322,549, filed on December 23, 2005, U.S. Patent No. 7,657,849, "Unlocking a Device by Performing Gestures on an Unlock Image," which is incorporated herein by reference in its entirety. A longer press of the push button (e.g., 206) may cause the device 100 to power on or off. The user may be able to customize the function of one or more of the buttons. The touch screen 112 is used to implement virtual or soft buttons and one or more soft keyboards.

[0082] The touch-sensitive display 112 provides an input interface and an output interface between the device and the user. The display controller 156 receives electrical signals from the touch screen 112 and / or sends electrical signals to the touch screen 112. The touch screen 112 displays visual output to the user. The visual output may include graphics, text, icons, videos, and any combination of the above (collectively referred to as "graphics"). In some embodiments, some or all of the visual output may correspond to user interface objects.

[0083] The touch screen 112 has a touch-sensitive surface, sensor, or set of sensors that accepts input from a user based on haptic and / or tactile contact. The touch screen 112 and display controller 156 (along with any associated modules and / or instruction sets in memory 102) detect contact (and any movement or interruption of contact) on the touch screen 112 and convert the detected contact into interaction with a user interface object (e.g., one or more soft keys, icons, web pages, or images) displayed on the touch screen 112. In an exemplary embodiment, the point of contact between the touch screen 112 and the user corresponds to a finger of the user.

[0084] The touch screen 112 may use LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, although other display technologies may be used in other embodiments. The touch screen 112 and display controller 156 may use any of a variety of touch sensing technologies now known or later developed to detect contact and any movement or interruption of contact, including but not limited to: capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch screen 112. In an exemplary embodiment, a touch screen such as that available from Apple Inc. in Cupertino, California is used. and iPod Projected mutual capacitance sensing technology found in .

[0085] The touch-sensitive display in some embodiments of the touch screen 112 may be similar to the multi-touch sensitive touch pads described in the following U.S. Patents: 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman) and / or U.S. Patent Publication 2002 / 0015024A1, each of which is incorporated herein by reference in its entirety. However, the touch screen 112 displays visual output from the device 100, whereas the touch-sensitive touch pad does not provide visual output.

[0086] The touch-sensitive display in some embodiments of the touch screen 112 may be as described in the following applications: (1) U.S. patent application Ser. No. 11 / 381,313, filed May 2, 2006, “Multipoint Touch Surface Controller”; (2) U.S. patent application Ser. No. 10 / 840,862, filed May 6, 2004, “Multipoint Touchscreen”; (3) U.S. patent application Ser. No. 10 / 903,964, filed July 30, 2004, “Gestures For Touch Sensitive Input Devices”; (4) U.S. patent application Ser. No. 11 / 048,264, filed January 31, 2005, “Gestures For Touch Sensitive Input Devices”; (5) U.S. patent application Ser. No. 11 / 038,590, filed January 18, 2005, “Mode-Based Graphical User Interfaces For Touch Sensitive No. 11 / 228,737, filed on September 16, 2005, “Activating Virtual Keys Of A Touch-Screen Virtual Keyboard”; and (9) No. 11 / 367,749, filed on March 3, 2006, “Multi-Functional Hand-Held Device”. All of these applications are hereby incorporated by reference in their entirety.

[0087] The touch screen 112 may have a video resolution of more than 100 dpi. In some embodiments, the touch screen has a video resolution of about 160 dpi. The user may use any suitable object or appendage such as a stylus, finger, etc. to make contact with the touch screen 112. In some embodiments, the user interface is designed to work primarily through finger-based contacts and gestures, which may be less accurate than stylus-based inputs due to the larger contact area of ​​the finger on the touch screen. In some embodiments, the device translates the rough finger-based input into precise pointer / cursor positioning or commands for performing the actions desired by the user.

[0088] In some embodiments, in addition to the touch screen, the device 100 may also include a touch pad (not shown) for activating or deactivating specific functions. In some embodiments, the touch pad is a touch-sensitive area of ​​the device that is different from the touch screen and does not display visual output. The touch pad can be a touch-sensitive surface separate from the touch screen 112 or an extension of the touch-sensitive surface formed by the touch screen.

[0089] The device 100 also includes a power system 162 for powering the various components. The power system 162 may include a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a charging system, a power fault detection circuit, a power converter or inverter, a power status indicator (e.g., a light emitting diode (LED)), and any other components associated with the generation, management, and distribution of power in a portable device.

[0090] The device 100 may also include one or more optical sensors 164 . Figure 1AAn optical sensor coupled to an optical sensor controller 158 in the I / O subsystem 106 is shown. The optical sensor 164 may include a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS) phototransistor. The optical sensor 164 receives light from the environment projected through one or more lenses and converts the light into data representing an image. In combination with the imaging module 143 (also referred to as a camera module), the optical sensor 164 can capture still images or videos. In some embodiments, the optical sensor is located on the back of the device 100, opposite the touch screen display 112 on the front of the device, so that the touch screen display can be used as a viewfinder for still and / or video image acquisition. In some embodiments, the optical sensor is located on the front of the device so that the user's image can be acquired for the video conference while the user is viewing other video conference participants on the touch screen display. In some embodiments, the positioning of the optical sensor 164 can be changed by the user (e.g., by rotating the lens and sensor in the device housing) so that a single optical sensor 164 can be used with the touch screen display for both video conferencing and still and / or video image acquisition.

[0091] Device 100 optionally also includes one or more contact intensity sensors 165 . Figure 1A A contact force sensor is shown coupled to force sensor controller 159 in I / O subsystem 106. Contact force sensor 165 optionally includes one or more compressive resistive strain gauges, capacitive force sensors, electrical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other force sensors (e.g., sensors used to measure the force (or pressure) of a contact on a touch-sensitive surface). Contact force sensor 165 receives contact force information (e.g., pressure information or a proxy for pressure information) from the environment. In some embodiments, at least one contact force sensor is juxtaposed or proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact force sensor is located on the back of device 100, opposite touch screen display 112 located on the front of device 100.

[0092] Device 100 may also include one or more proximity sensors 166 . Figure 1AA proximity sensor 166 is shown coupled to the peripherals interface 118. Alternatively, the proximity sensor 166 can be coupled to the input controller 160 in the I / O subsystem 106. The proximity sensor 166 can be implemented as described in the following U.S. patent applications: No. 11 / 241,839, "Proximity Detector In Handheld Device"; No. 11 / 240,788, "Proximity Detector In Handheld Device"; No. 11 / 620,702, "Using Ambient Light Sensor To Augment Proximity Sensor Output"; No. 11 / 586,862, "Automated Response To And Sensing Of User Activity In Portable Devices"; and No. 11 / 638,251, "Methods And Systems For Automatic Configuration Of Peripherals," which are incorporated herein by reference in their entireties. In some embodiments, when the multifunction device is near the user's ear (eg, when the user is on a phone call), the proximity sensor turns off and the touch screen 112 is disabled.

[0093] Device 100 optionally also includes one or more tactile output generators 167 . Figure 1A A tactile output generator is shown coupled to a tactile feedback controller 161 in I / O subsystem 106. Tactile output generator 167 optionally includes one or more electroacoustic devices (such as a speaker or other audio component) and / or an electromechanical device that converts energy into linear motion (such as a motor, solenoid, electroactive polymer, piezoelectric actuator, electrostatic actuator, or other tactile output generating component (e.g., a component that converts an electrical signal into a tactile output on the device)). Contact intensity sensor 165 receives tactile feedback generation instructions from tactile feedback module 133 and generates tactile output on device 100 that can be felt by a user of device 100. In some embodiments, at least one tactile output generator is juxtaposed or proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112) and optionally generates tactile output by moving the touch-sensitive surface vertically (e.g., into / out of the surface of device 100) or laterally (back and forth in the same plane as the surface of device 100). In some embodiments, at least one tactile output generator sensor is located on the back of device 100 , opposite touch screen display 112 located on the front of device 100 .

[0094] Device 100 may also include one or more accelerometers 168 . Figure 1A An accelerometer 168 is shown coupled to the peripherals interface 118. Alternatively, the accelerometer 168 can be coupled to the input controller 160 in the I / O subsystem 106. The accelerometer 168 can be implemented as described in the following U.S. Patent Publication: No. 20050190059, "Acceleration-based Theft Detection System for Portable Electronic Devices" and No. 20060017692, "Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer", both of which are incorporated herein by reference in their entirety. In some embodiments, information is displayed on the touch screen display in a portrait view or a landscape view based on analysis of data received from one or more accelerometers. In addition to the accelerometer 168 , the device 100 optionally includes a magnetometer (not shown) and a GPS (or GLONASS or other global navigation system) receiver (not shown) for obtaining information regarding the position and orientation (e.g., portrait or landscape) of the device 100 .

[0095] In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or instruction set) 128, a contact / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a text input module (or instruction set) 134, a global positioning system (GPS) module (or instruction set) 135, and an application (or instruction set) 136. In addition, as shown in Figure 1A and Figure 3 As shown in FIG. , in some embodiments, the memory 102 ( Figure 1A ) or memory 370( Figure 3 ) stores device / global internal state 157. Device / global internal state 157 includes one or more of the following: active application state, indicating the currently active application (if any); display state, indicating which applications, views, or other information occupy various areas of the touch screen display 112; sensor state, including information obtained from the device's various sensors and input control devices 116; and position information related to the device's position and / or posture.

[0096] The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.), and facilitates communication between various hardware and software components.

[0097] The communication module 128 facilitates communication with other devices on one or more external ports 124 and also includes various software components for handling data received through the RF circuit 108 and / or the external port 124. The external port 124 (e.g., Universal Serial Bus (USB), FIREWIRE, etc.) is suitable for coupling to other devices directly or indirectly through a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external port is connected to the (trademark of Apple Inc.) devices.

[0098] The contact / motion module 130 optionally detects contact with the touch screen 112 (in combination with the display controller 156) and other touch-sensitive devices (e.g., a touchpad or physical click wheel). The contact / motion module 130 includes various software components for performing various operations related to the detection of contact, such as determining whether contact has occurred (e.g., detecting a finger down event), determining the strength of the contact (e.g., the force or pressure of the contact, or a substitute for the force or pressure of the contact), determining whether there is movement of the contact and tracking the movement across the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has stopped (e.g., detecting a finger up event or contact blocking). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact point (which is represented by a series of contact data) optionally includes determining the rate (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point. These operations optionally apply to a single contact (e.g., one finger contact), or multiple simultaneous contacts (e.g., "multi-touch" / multiple finger contacts). In some embodiments, contact / motion module 130 and display controller 156 detect contact on a touch pad.

[0099] In some embodiments, contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an operation has been performed by a user (e.g., to determine whether a user has "clicked" on an icon). In some embodiments, at least a subset of the intensity thresholds are determined according to software parameters (e.g., the intensity thresholds are not determined by the activation thresholds of specific physical actuators and can be adjusted without changing the physical hardware of device 100). For example, without changing the touchpad or touchscreen display hardware, a mouse "click" threshold for a touchpad or touchscreen display can be set to any of a large range of predefined thresholds. In addition, in some implementations, a user of the device is provided with a software setting for adjusting one or more intensity thresholds in a set of intensity thresholds (e.g., by utilizing a system-level click "intensity" parameter to adjust single and / or multiple intensity thresholds at once).

[0100] Contact / motion module 130 The contact / motion module 130 optionally detects gestures input by a user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different motions, timings, and / or intensities of detected contacts). Thus, gestures are optionally detected by detecting specific contact patterns. For example, detecting a finger tap gesture includes detecting a finger down event followed by detecting a finger up (lift) event at the same location (or substantially the same location) as the finger down event (e.g., at the location of an icon). As another example, detecting a finger swipe gesture on the touch surface includes detecting a finger down event followed by detecting one or more finger drag events and then followed by detecting a finger up (lift) event.

[0101] The graphics module 132 includes various known software components for rendering and displaying graphics on the touch screen 112 or other display, including components for changing the visual effects (e.g., brightness, transparency, saturation, contrast, or other visual attributes) of the displayed graphics. As used herein, the term "graphics" includes any object that can be displayed to a user, including but not limited to: text, web pages, icons (such as user interface objects including soft keys), digital images, videos, animations, etc.

[0102] In some embodiments, the graphics module 132 stores data representing graphics to be used. Each graphic is optionally assigned a corresponding code. The graphics module 132 receives one or more codes specifying the graphics to be displayed from an application or the like, along with (if necessary) coordinate data and other graphics attribute data, and then generates screen image data to be output to the display controller 156.

[0103] Haptic feedback module 133 includes various software components for generating instructions used by tactile output generator 167 to produce tactile output at one or more locations on device 100 in response to user interaction with device 100 .

[0104] Text input module 134, which may be a component of graphics module 132, provides a soft keyboard for entering text into various applications (eg, contacts 137, email 140, IM 141, browser 147, and any other application requiring text input).

[0105] GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to phone 138 for use in location-based dialing; to camera 143 as picture / video metadata; and to applications that provide location-based services such as weather widgets, local yellow pages widgets, and map / navigation widgets).

[0106] Application 136 may include the following modules (or instruction sets) or a subset or superset thereof:

[0107] Contacts module 137 (sometimes referred to as an address book or contact list);

[0108] Telephone module 138;

[0109] Video conferencing module 139;

[0110] Email client module 140

[0111] Instant messaging (IM) module 141;

[0112] Exercise support module 142;

[0113] A camera module 143 for still and / or video images;

[0114] Image management module 144;

[0115] Video player module;

[0116] Music player module;

[0117] Browser module 147;

[0118] Calendar module 148;

[0119] Widget module 149, which may include one or more of the following: weather widget 149-1, stock widget 149-2, calculator widget 149-3, alarm widget 149-4, dictionary widget 149-5, and other widgets obtained by the user, and user-created widget 149-6;

[0120] A widget creator module 150 for making user-created widgets 149-6;

[0121] Search module 151;

[0122] Video and music player module 152, which merges the video player module and the music player module;

[0123] Memo module 153;

[0124] Map module 154; and / or

[0125] Online video module 155.

[0126] Examples of other applications 136 that may be stored in memory 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication.

[0127] In combination with the touch screen 112, display controller 156, touch / motion module 130, graphics module 132 and text input module 134, the contact module 137 can be used to manage an address book or contact list (for example, stored in the application internal state 192 of the contact module 137 in memory 102 or memory 370), including: adding names to the address book; deleting names from the address book; associating phone numbers, email addresses, physical addresses or other information with names; associating images with names; categorizing and sorting names; providing phone numbers or email addresses to initiate and / or facilitate communications via telephone 138, video conferencing module 139, email 140 or IM 141, etc.

[0128] In conjunction with RF circuit 108, audio circuit 110, speaker 111, microphone 113, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, phone module 138 may be used to enter a sequence of characters corresponding to a phone number, access one or more phone numbers in contact module 137, modify a phone number that has been entered, dial a corresponding phone number, conduct a conversation, and disconnect or hang up when the conversation is complete. As described above, wireless communications may use any of a variety of communication standards, protocols, and technologies.

[0129] In combination with the RF circuit 108, the audio circuit 110, the speaker 111, the microphone 113, the touch screen 112, the display controller 156, the optical sensor 164, the optical sensor controller 158, the contact / motion module 130, the graphics module 132, the text input module 134, the contact module 137 and the telephone module 138, the video conferencing module 139 includes executable instructions for initiating, conducting and terminating a video conference between a user and one or more other participants in accordance with user instructions.

[0130] In conjunction with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, email client module 140 includes executable instructions for creating, sending, receiving, and managing emails in response to user instructions. In conjunction with image management module 144, email client module 140 makes it very easy to create and send emails with still or video images captured using camera module 143.

[0131] In conjunction with the RF circuit 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, the instant messaging module 141 includes executable instructions for entering a character sequence corresponding to an instant message, for modifying previously entered characters, for transmitting a corresponding instant message (e.g., using a short message service (SMS) or multimedia message service (MMS) protocol for phone-based instant messaging, or using XMPP, SIMPLE, or IMPS for Internet-based instant messaging), for receiving instant messages, and for viewing received instant messages. In some embodiments, as supported in MMS and / or enhanced messaging service (EMS), the transmitted and / or received instant messages may include graphics, photos, audio files, video files, and / or other attachments. As used herein, "instant messaging" refers to both phone-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).

[0132] In combination with RF circuitry 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and music player module 146, workout support module 142 includes executable instructions for creating workouts (e.g., with time, distance, and / or calorie burn goals); communicating with workout sensors (exercise equipment); receiving workout sensor data; calibrating sensors used to monitor workouts; selecting and playing music for a workout; and displaying, storing, and transmitting workout data.

[0133] In conjunction with the touch screen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion module 130, graphics module 132 and image management module 144, the camera module 143 includes executable instructions for capturing still images or videos (including video streams) and storing them in the memory 102, modifying the characteristics of the still images or videos, or deleting the still images or videos from the memory 102.

[0134] In conjunction with touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and camera module 143, image management module 144 includes executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, marking, deleting, presenting (e.g., in a digital slide show or album), and storing still and / or video images.

[0135] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132 and the text input module 134, the browser module 147 includes executable instructions for browsing the Internet according to user instructions (including searching, linking to, receiving and displaying web pages or portions of web pages as well as attachments and other files linked to web pages).

[0136] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132, the text input module 134, the email client module 140 and the browser module 147, the calendar module 148 includes executable instructions for creating, displaying, modifying and storing calendars and data associated with the calendar (e.g., calendar entries, to-do lists, etc.) in accordance with user instructions.

[0137] In conjunction with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and browser module 147, widget module 149 is a small application that can be downloaded and used by a user (e.g., weather widget 149-1, stock widget 149-2, calculator widget 149-3, alarm widget 149-4, and dictionary widget 149-5), or a small application created by a user (e.g., user-created widget 149-6). In some embodiments, the widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, the widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., Yahoo! widget).

[0138] In combination with the RF circuit 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134 and browser module 147, the widget creator module 150 can be used by a user to create a widget (e.g., convert a user-specified portion of a web page into a widget).

[0139] In combination with the touch screen 112, display controller 156, contact / motion module 130, graphics module 132 and text input module 134, the search module 151 includes executable instructions for searching the memory 102 for text, music, sound, image, video and / or other files that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with user instructions.

[0140] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147, video and music player module 152 includes executable instructions that allow a user to download and play back recorded music and other sound files stored in one or more file formats (such as MP3 or AAC files), and includes executable instructions to display, present, or otherwise play back video (e.g., on touch screen 112 or on a display connected externally via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player such as an iPod (trademark of Apple Inc.).

[0141] In conjunction with the touch screen 112, the display controller 156, the contact / motion module 130, the graphic module 132, and the text input module 134, the memo module 153 includes executable instructions to create and manage memos, to-do lists, etc. according to user instructions.

[0142] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132, the text input module 134, the GPS module 135 and the browser module 147, the map module 154 can be used to receive, display, modify and store maps and data associated with the maps (e.g., driving directions; data about stores and other points of interest at or near a particular location; and other location-based data) in accordance with user instructions.

[0143] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, text input module 134, email client module 140, and browser module 147, online video module 155 includes instructions that allow a user to access, browse, receive (e.g., by streaming and / or downloading), play back (e.g., on the touch screen or on a display connected externally via external port 124) a particular online video, send an email with a link to a particular online video, and otherwise manage online videos in one or more file formats such as H.264. In some embodiments, instant messaging module 141 is used instead of email client module 140 to send a link to a particular online video. Additional descriptions of online video applications can be found in the following U.S. patent applications: U.S. Provisional Patent Application No. 60 / 936,562, filed on June 20, 2007, "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," and U.S. Patent Application No. 11 / 968,067, filed on December 31, 2007, "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," the contents of which are incorporated herein by reference in their entirety.

[0144] Each of the above modules and applications corresponds to an instruction set for performing one or more of the functions described above and the methods described in this application (e.g., the computer-implemented methods and other information processing methods described herein). These modules (e.g., instruction sets) do not need to be implemented as separate software programs, processes, or modules, so various subsets of these modules can be combined or rearranged in various embodiments. For example, a video player module can be combined with a music player module into a single module (e.g., Figure 1A In some embodiments, the memory 102 may store a subset of the above modules and data structures. In addition, the memory 102 may store additional modules and data structures not described above.

[0145] In some embodiments, device 100 is a device in which the operation of a predefined set of functions on the device is performed exclusively through a touch screen and / or a touch pad. By using a touch screen and / or a touch pad as the primary input control device for the operation of device 100, the number of physical input control devices (such as push buttons, dials, etc.) on device 100 can be reduced.

[0146] The predefined set of functions performed exclusively by the touch screen and / or touchpad optionally includes navigation between user interfaces. In some embodiments, when touched by the user, the touchpad navigates the device 100 from any user interface on the device 100 display to a home screen, a main screen, or a root menu. In such embodiments, a "menu button" is implemented using a touchpad. In some other embodiments, the menu button is a physical push button or other physical input control device instead of a touchpad.

[0147] Figure 1B 1 is a block diagram illustrating exemplary components for event handling according to some embodiments. In some embodiments, memory 102 ( Figure 1A ) or memory 370( Figure 3 ) includes an event classifier 170 (e.g., in the operating system 126) and a corresponding application 136-1 (e.g., any of the aforementioned applications 137-151, 155, 380-390).

[0148] Event classifier 170 receives event information and determines application 136-1 and application view 191 of application 136-1 to which the event information is delivered. Event classifier 170 includes event monitor 171 and event dispatcher (eventdispatcher) module 174. In some embodiments, application 136-1 includes application internal state 192, which indicates the current application view displayed on touch-sensitive display 112 when the application is active or executed. In some embodiments, device / global internal state 157 is used by event classifier 170 to determine which applications are currently active, and application internal state 192 is used by event classifier 170 to determine the application view 191 to which the event information is delivered.

[0149] In some embodiments, application internal state 192 includes additional information, such as one or more of the following: resume information to be used when application 136-1 resumes execution, user interface state information indicating information that application 136-1 is displaying or ready to display, a state queue that enables a user to return to a previous state or view of application 136-1, and a redo / undo queue of previous actions performed by the user.

[0150] Event monitor 171 receives event information from peripherals interface 118. The event information includes information about sub-events (e.g., a user touch on touch-sensitive display 112 as part of a multi-touch gesture). Peripherals interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, accelerometer 168, and / or microphone 113 (through audio circuit 110). The information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.

[0151] In some embodiments, event monitor 171 sends requests to peripheral device interface 118 at predetermined intervals. In response, peripheral device interface 118 transmits event information. In other embodiments, peripheral device interface 118 transmits event information only when there is a significant event (e.g., receiving an input exceeding a predetermined noise threshold and / or longer than a predetermined duration).

[0152] In some embodiments, event classifier 170 also includes a hit view determination module 172 and / or an active event identifier determination module 173 .

[0153] Hit view determination module 172 provides software routines for determining where a sub-event occurs in one or more views when touch-sensitive display 112 displays more than one view. A view consists of controls and other elements that a user can see on the display.

[0154] Another aspect of the user interface associated with an application is a set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application view (of the respective application) in which a touch is detected can correspond to a programmatic level in the programmatic or view hierarchy of the application. For example, the lowest-level view in which a touch is detected can be referred to as a hit view, and the set of events recognized as correct input can be determined based at least in part on the hit view of the initial touch that started the touch-based gesture.

[0155] Hit view determination module 172 receives information related to sub-events of touch-based gestures. When an application has multiple views organized in a hierarchy, hit view determination module 172 identifies the lowest-level view in the hierarchy that should handle the sub-event as the hit view. In most cases, the hit view is the lowest-level view in which the initiating sub-event (e.g., the first sub-event that forms an event or potential event in a sequence of sub-events) occurs. Once a hit view is identified by hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source that caused it to be identified as the hit view.

[0156] Active event recognizer determination module 173 determines one or more views in the view hierarchy that should receive a particular sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive the particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that include the physical location of the sub-event are actively involved views, and therefore determines that all actively involved views should receive the particular sequence of sub-events. In other embodiments, even if the touch sub-event is completely confined to the area associated with a particular view, views higher in the hierarchy will still remain as actively involved views.

[0157] Event dispatcher module 174 dispatches event information to an event recognizer (e.g., event recognizer 180). In embodiments including active event recognizer determination module 173, event dispatcher module 174 delivers the event information to the event recognizer determined by active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores the event information in an event queue, which is retrieved by corresponding event receiver 182.

[0158] In some embodiments, operating system 126 includes event classifier 170. Alternatively, application 136-1 includes event classifier 170. In still other embodiments, event classifier 170 is a separate module or is part of another module stored in memory 102, such as contact / motion module 130.

[0159] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each of which includes instructions for handling touch events occurring within a corresponding view of the user interface of the application. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, the corresponding application view 191 includes multiple event recognizers 180. In other embodiments, one or more event recognizers in event recognizers 180 are part of a separate module (such as a user interface kit (not shown)), or a higher-level object from which application 136-1 inherits methods and other properties. In some embodiments, each event handler 190 includes one or more of the following: data updater 176, object updater 177, GUI updater 178, and / or event data 179 received from event classifier 170. Event handler 190 can utilize or call data updater 176, object updater 177, or GUI updater 178 to update application internal state 192. Alternatively, one or more of application views 191 include one or more corresponding event handlers 190. Likewise, in some embodiments, one or more of data updater 176, object updater 177, and GUI updater 178 are included in corresponding application views 191.

[0160] A corresponding event identifier 180 receives event information (e.g., event data 179) from event classifier 170 and identifies an event based on the event information. Event identifier 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event identifier 180 also includes at least a subset of the following: metadata 183 and event delivery instructions 188 (which may include sub-event delivery instructions).

[0161] Event receiver 182 receives event information from event classifier 170. The event information includes information about a sub-event (e.g., a touch or touch movement). Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. When the sub-event involves the movement of a touch, the event information may also include the speed and direction of the sub-event. In some embodiments, the event includes a rotation of the device from one orientation to another (e.g., from portrait to landscape, or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the device posture).

[0162] Event comparator 184 compares event information with predefined event or sub-event definitions, and determines an event or sub-event based on the comparison, or determines or updates the state of an event or sub-event. In some embodiments, event comparator 184 includes event definition 186. Event definition 186 includes definitions of events (e.g., predefined sub-event sequences), such as event 1 (187-1), event 2 (187-2), and the like. In some embodiments, sub-events in event (187) include, for example, touch start, touch end, touch move, touch cancel, and multi-touch. In one example, the definition for event 1 (187-1) is a double tap on a displayed object. The double tap includes, for example, a first touch (touch start) of a predetermined stage on a displayed object, a first lift (touch end) of a predetermined stage, a second touch (touch start) of a predetermined stage on a displayed object, and a second lift (touch end) of a predetermined stage. In another example, the definition for event 2 (187-2) is a drag on a displayed object. The dragging includes, for example, a touch (or contact) of a displayed object for a predetermined period, movement of the touch across touch-sensitive display 112 , and lift-off of the touch (touch end). In some embodiments, the event also includes information for one or more associated event handlers 190 .

[0163] In some embodiments, event definition 187 includes definitions of events for corresponding user interface objects. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with a sub-event. For example, in an application view in which three user interface objects are displayed on touch-sensitive display 112, when a touch is detected on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects (if any) is associated with the touch (sub-event). If each displayed object is associated with a corresponding event handler 190, the event comparator uses the result of the hit test to determine which event handler 190 should be activated. For example, event comparator 184 selects an event handler associated with the sub-event and object that triggered the hit test.

[0164] In some embodiments, the definition for each event (187) also includes a delay action that delays delivery of the event information until it has been determined whether the sequence of sub-events corresponds to an event type of the event identifier.

[0165] When each event recognizer 180 determines that a series of sub-events does not match any event in event definition 186, the corresponding event recognizer 180 enters an event impossible, event failed, or event ended state, after which the corresponding event recognizer 180 ignores subsequent sub-events of the touch-based gesture. In this case, other event recognizers (if any) that remain active for the hit view continue to track and process sub-events of the ongoing touch-based gesture.

[0166] In some embodiments, each event recognizer 180 includes metadata 183 having configurable properties, flags, and / or lists that indicate how the event delivery system should perform sub-event delivery to the effectively involved event recognizers. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers may or can interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate whether sub-events are delivered to different levels in the view or program hierarchy.

[0167] In some embodiments, each event recognizer 180 activates an event handler 190 associated with the event when one or more specific sub-events of the event are recognized. In some embodiments, each event recognizer 180 delivers event information associated with the event to event handler 190. Activating event handler 190 is different from sending (or delaying sending) the sub-event to the corresponding hit view. In some embodiments, event recognizer 180 throws a flag associated with the recognized event, and event handler 190 associated with the flag grabs the flag and performs a predefined process.

[0168] In some embodiments, event delivery instructions 188 include sub-event delivery instructions that deliver event information about a sub-event without activating an event handler. Instead, the sub-event delivery instructions deliver event information to an event handler associated with a series of sub-events or an effectively involved view. The event handler associated with a series of sub-events or an effectively involved view receives the event information and performs a predetermined process.

[0169] In some embodiments, data updater 176 creates and updates data used in application 136-1. For example, data updater 176 updates phone numbers used in contact module 137, or video files stored in a video player module for use. In some embodiments, object updater 177 creates and updates objects used in application 136-1. For example, object updater 177 creates a new user interface object or updates the positioning of a user interface object. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends it to graphics module 132 for display on a touch-sensitive display.

[0170] In some embodiments, event handler 190 includes or has access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of the corresponding application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.

[0171] It should be understood that the preceding discussion regarding event handling of user touches on a touch-sensitive display also applies to other forms of user input for operating a multifunction device 100 having an input device, wherein not all user input is initiated on a touch screen, for example, mouse movement and mouse button presses optionally in conjunction with single or multiple keyboard presses or holds; contact motion on a touch pad (such as tapping, dragging, scrolling, etc.); stylus input, movement of the device; verbal commands; detected eye movement, biometric input; and / or any combination of the above, optionally used as input corresponding to a sub-event defined to be recognized.

[0172] Figure 2 A portable multifunction device 100 with a touch screen 112 is illustrated in accordance with some embodiments. The touch screen optionally displays one or more graphics within a user interface (UI) 200. In this embodiment, and other embodiments described below, a user is enabled to select one or more of the graphics by gesturing to the graphics (e.g., by one or more fingers 202 (not drawn to scale in the figure) or one or more styluses (not drawn to scale in the figure)). In some embodiments, selection of the one or more graphics occurs when the user breaks contact with the one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (from left to right, from right to left, up and / or down), and / or rotation of a finger that has been in contact with the device 100 (from right to left, from left to right, up and / or down). In some implementations or situations, unintentional contact with a graphic does not select the graphic. For example, a swipe gesture that sweeps across an application icon optionally does not select the corresponding application when the gesture corresponding to the selection is a tap.

[0173] The device 100 may also include one or more physical buttons, such as a “home” or menu button 204. As previously described, the menu button 204 may be used to navigate to any application 136 in a collection of applications that may be executed on the device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on the touch screen 112.

[0174] In some embodiments, the device 100 includes a touch screen 112, a menu button 204, a push button 206 for turning the device power on / off and locking the device, a volume adjustment button 208, a subscriber identity module (SIM) card slot 210, a headphone jack 212, and a docking / charging external port 124. The push button 206 is optionally used to turn the device power on / off by pressing the button and keeping the button in a pressed state for a predefined time interval; to lock the device by pressing the button and releasing the button before a predefined time interval has passed; and / or to unlock the device or initiate an unlocking process. In an alternative embodiment, the device 100 also accepts verbal input for activating or deactivating certain functions through the microphone 113. The device 100 optionally also includes one or more contact intensity sensors 165 for detecting contact intensity on the touch screen 112 and / or one or more tactile output generators 167 for generating tactile output for a user of the device 100.

[0175] Figure 3 300 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments. Device 300 need not be portable. In some embodiments, device 300 is a laptop computer, a desktop computer, a tablet computer, a multimedia player device, a navigation device, an educational device (such as a children's learning toy), a gaming device, or a control device (e.g., a home or industrial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, a memory 370, and one or more communication buses 320 for interconnecting these components. Communication bus 320 optionally includes circuits (sometimes referred to as chipsets) that interconnect and control communications between system components. Device 300 includes an input / output (I / O) interface 330 including a display 340 (which is typically a touch screen display). I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 for generating tactile output on device 300 (e.g., similar to the above referenced appendix). Figure 1A The tactile output generator 167 described above), the sensor 359 (e.g., as described in the above reference attachment Figure 1A1 ). Memory 370 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state storage devices; and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 370 optionally includes one or more storage devices remote from CPU 310. In some embodiments, memory 370 stores programs, modules, and data structures similar to or a subset of the programs, modules, and data structures stored in memory 102 of portable multifunction device 100 ( FIG. 1 ). In addition, memory 370 optionally stores additional programs, modules, and data structures that are not present in memory 102 of portable multifunction device 100. For example, memory 370 of device 300 optionally stores a drawing module 380, a presentation module 382, ​​a word processing module 384, a website creation module 386, a disk writing module 388, and / or a spreadsheet module 390, while portable multifunction device 100 ( FIG. 1 ) may store a drawing module 380, a presentation module 382, ​​a word processing module 384, a website creation module 386, a disk writing module 388, and / or a spreadsheet module 390. Figure 1A )'s memory 102 optionally does not store these modules.

[0176] Figure 3 Each of the above-mentioned elements in can be stored in one or more devices in the aforementioned memory device. Each module in the above-mentioned modules corresponds to an instruction set for performing functions as described above. The above-mentioned modules or programs (e.g., instruction sets) do not need to be implemented as separate software programs, processes or modules, and therefore the various subsets of these modules can be combined or otherwise rearranged in various embodiments. In some embodiments, memory 370 can store a subset of the above-mentioned modules and data structures. In addition, memory 370 can store additional modules and data structures not described above.

[0177] Attention is now turned to embodiments of user interfaces that may be implemented on portable multifunction device 100, for example.

[0178] Figure 4A An exemplary user interface for an application menu on portable multifunction device 100 is illustrated in accordance with some embodiments. A similar user interface may be implemented on device 300. In some embodiments, user interface 400 includes the following elements, or a subset or superset thereof:

[0179] Signal strength indicators 402 for wireless communications, such as cellular signals and Wi-Fi signals;

[0180] Time 404;

[0181] Bluetooth indicator 405;

[0182] Battery status indicator 406;

[0183] A tray 408 with icons for frequently used applications, such as:

[0184] o an icon 416 for the phone module 138, labeled "Phone," which optionally includes an indicator 414 of the number of missed calls or voice email messages;

[0185] o an icon 418 of the email client module 140 , labeled “Mail”, which optionally includes an indicator 410 of the number of unread emails;

[0186] o an icon 420 of a browser module 147, labeled "Browser"; and

[0187] o Icon 422 of video and music player module 152, also referred to as iPod (trademark of Apple Inc.) module 152, labeled “iPod”; and

[0188] Icons for other apps, such as:

[0189] o Icon 424 of IM module 141, labeled "Messages";

[0190] o Icon 426 of calendar module 148, labeled "Calendar";

[0191] o Icon 428 of image management module 144, labeled "Photos";

[0192] o Icon 430 of camera module 143, labeled “Camera”;

[0193] o Icon 432 of online video module 155, labeled "online video";

[0194] o Icon 434 of the stock widget 149 - 2 , labeled “Stocks”;

[0195] o Icon 436 of the map module 154, labeled "Map";

[0196] o Icon 438 of the weather widget 149 - 1 , labeled “Weather”;

[0197] o Icon 440 of the alarm clock widget 149 - 4 , labeled “Clock”;

[0198] o Icon 442 of exercise support module 142, labeled "Exercise Support";

[0199] o Icon 444 of memo module 153, labeled "memo";

[0200] o An icon 446 for a settings application or module, labeled “Settings,” that provides access to settings for the device 100 and its various applications 136 .

[0201] It should be noted that in Figure 4A The icon labels illustrated in the figure are exemplary only. For example, the icon 422 of the video and music player module 152 may optionally be labeled "Music" or "Music Player". Other labels are optionally used for various application icons. In some embodiments, the label of the corresponding application icon includes the application name corresponding to the corresponding application icon. In some embodiments, the label of a particular application icon is different from the application name corresponding to the particular application icon.

[0202] Figure 4B A touch-sensitive surface 451 (eg, touch screen display 112) is shown having a separate touch-sensitive surface 451 from a display 450 (eg, touch screen display 112). Figure 3 A device (e.g., a tablet computer or touch pad 355) Figure 3 Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more sensors of sensors 357) for detecting contact intensity on touch-sensitive surface 451 and / or one or more tactile output generators 359 for generating tactile output for a user of device 300.

[0203] Although some of the following examples will be given for input on a touch screen display 112 (where the touch sensitive surface is combined with the display), Figure 4B As shown in , in some embodiments, the device detects input on a touch-sensitive surface that is separate from the display. In some embodiments, the touch-sensitive surface (e.g., Figure 4B 451) has a main axis (e.g., Figure 4B 453) of the main axis (for example, Figure 4B According to these embodiments, the device detects at a location corresponding to a corresponding location on the display (e.g., at Figure 4B 460 corresponds to 468 and 462 corresponds to 470) of contact with touch-sensitive surface 451 (e.g., Figure 4B 460 and 462 in FIG. 4 ). In this way, when the touch-sensitive surface is separated from the display, the device may perform touch-sensitive operations on the touch-sensitive surface (e.g., Figure 4B 451) detected on the user input (e.g., contact 460 and contact 462 and movement thereof) is used by the device to manipulate the display of the multifunction device (e.g., Figure 4B It should be understood that similar methods can be optionally used for other user interfaces described herein.

[0204] In addition, although the following examples are primarily given for finger inputs (e.g., finger contacts, finger tap gestures, finger swipe gestures), it should be understood that in some embodiments, one or more of the finger inputs may be replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture may optionally be replaced by a mouse click (e.g., instead of contact) followed by movement of the cursor along a swipe path (e.g., instead of movement of the contact). As another example, a tap gesture may optionally be replaced by a mouse click when the cursor is at the location of the tap gesture (e.g., instead of detecting contact and then ceasing to detect the contact). Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice may optionally be used simultaneously, or a mouse and finger contacts may optionally be used simultaneously.

[0205] Figure 5A An exemplary personal electronic device 500 is illustrated. Device 500 includes a body 502. In some embodiments, device 500 may include reference device 100 and device 300 (e.g., Figures 1A to 4B ) may include some or all of the features described in the foregoing description. In some embodiments, device 500 has a touch-sensitive display screen 504, hereinafter referred to as touch screen 504. Alternatively, or in addition to touch screen 504, device 500 has a display and a touch-sensitive surface. As with device 100 and device 300, in some embodiments, touch screen 504 (or touch-sensitive surface) may have one or more intensity sensors for detecting the intensity of an applied contact (e.g., a touch). One or more intensity sensors of touch screen 504 (or touch-sensitive surface) may provide output data representing the intensity of the touch. The user interface of device 500 may respond to touches based on their intensity, meaning that touches of different intensities may invoke different user interfaces on device 500.

[0206] Technology for detecting and processing touch intensity can be found, for example, in related applications: International Patent Application Serial No. PCT / US2013 / 040061, filed on May 8, 2013, and entitled “Device, Method, and Graphical User Interface for Displaying UserInterface Objects Corresponding to an Application,” and International Patent Application Serial No. PCT / US2013 / 069483, filed on November 11, 2013, and entitled “Device, Method, and GraphicalUser Interface for Transitioning Between Touch Input to Display OutputRelationships,” each of which is hereby incorporated by reference in its entirety.

[0207] In some embodiments, the device 500 may have one or more input mechanisms 506 and 508. If input mechanisms 506 and 508 are included, they may be physical. Examples of physical input mechanisms include push buttons and rotatable mechanisms. In some embodiments, the device 500 has one or more attachment mechanisms. If such attachment mechanisms are included, they may allow the device 500 to be connected using, for example, hats, glasses, earrings, necklaces, shirts, jackets, bracelets, watchbands, chains, pants, belts, shoes, handbags, etc. These attachment mechanisms may allow the device 500 to be worn by a user.

[0208] Figure 5B An exemplary personal electronic device 500 is depicted. In some embodiments, device 500 may include a reference device Figure 1A , Figure 1B and Figure 3 Some or all of the components described. Device 500 has a bus 512 that operatively couples an I / O portion 514 with one or more computer processors 516 and a memory 518. The I / O portion 514 can be connected to a display 504 that can have a touch-sensitive component 522 and optionally a touch-intensity sensitive component 524. In addition, the I / O portion 514 can be connected to a communication unit 530 for receiving application and operating system data using Wi-Fi, Bluetooth, near field communication (NFC), cellular and / or other wireless communication technologies. Device 500 may include input mechanisms 506 and / or 508. For example, the input mechanism 506 can be a rotatable input device or a depressible and rotatable input device. In some examples, the input mechanism 508 can be a button.

[0209] In some examples, input mechanism 508 can be a microphone. Personal electronic device 500 can include various sensors, such as GPS sensor 532, accelerometer 534, orientation sensor 540 (e.g., compass), gyroscope 536, motion sensor 538, and / or combinations thereof, all of which can be operatively connected to I / O portion 514.

[0210] The memory 518 of the personal electronic device 500 may be a non-transitory computer-readable storage medium for storing computer-executable instructions, wherein when the instructions are executed by one or more computer processors 516, for example, the computer processors may perform the techniques described above, including processes 800, 900, 1600, 1800, 2100, 2700, 3800, and 4500 (corresponding Figure 8 , Fig. 9 , Fig.16 , Fig.18 , Fig.21 , Fig. 27 , FIG. 38A to FIG. 38B and Fig.45 ). Computer-executable instructions may also be stored and / or transferred to any non-transitory computer-readable storage medium for use by or in conjunction with an instruction execution system, apparatus, or device (such as a computer-based system, a system containing a processor, or other system that can obtain instructions from an instruction execution system, apparatus, or device and execute the instructions). For the purposes of this document, a "non-transitory computer-readable storage medium" may be any medium that can tangibly include or store computer-executable instructions for use by or in conjunction with an instruction execution system, apparatus, or device. Non-transitory computer-readable storage media may include, but are not limited to, magnetic, optical, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical disks based on CD, DVD, or Blu-ray technology, and persistent solid-state memory, such as flash memory, solid-state drives, and the like. The personal electronic device 500 is not limited to Figure 5B components and configurations, but may include other or additional components in a variety of configurations.

[0211] As used herein, the term "affordance" refers to a function that can be implemented in device 100, device 300, and / or device 500 (FIG. 1, Figure 3 5 ). For example, an image (e.g., an icon), a button, and text (e.g., a hyperlink) can each constitute a functional affordance.

[0212] As used herein, the term "focus selector" refers to an input element that indicates the current portion of a user interface that a user is interacting with. In some implementations, it includes a cursor or other position marker that acts as a "focus selector" so that when the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), on a touch-sensitive surface (e.g., Figure 3 Touchpad 335 or Figure 4B When an input (e.g., a press input) is detected on the touch-sensitive surface 451 in the display, a specific user interface element is adjusted according to the detected input. In the embodiment of the present invention, a touch screen display (e.g., a touch screen display) that enables direct interaction with the user interface element is included. Figure 1A The touch-sensitive display system 112 or Figure 4A In some implementations of the touch screen 112 in the embodiment of the present invention, a contact detected on the touch screen acts as a "focus selector" so that when an input (e.g., a press input by the contact) is detected on the touch screen display at the location of a particular user interface element, the particular user interface element is adjusted according to the detected input. In some implementations, the focus is moved from one area of ​​the user interface to another area of ​​the user interface without a corresponding movement of a cursor or movement of the contact on the touch screen display (e.g., by using a tab key or an arrow key to move the focus from one button to another); in these implementations, the focus selector moves according to the movement of the focus between different areas of the user interface. Regardless of the specific form taken by the focus selector, the focus selector is generally a user interface element (or contact on the touch screen display) that is controlled by the user to communicate the user's intended interaction with the user interface (e.g., by indicating to the device the element of the user interface with which the user intends to interact). For example, when a press input is detected on a touch-sensitive surface (e.g., a touchpad or touch screen), the position of the focus selector (e.g., a cursor, contact, or selection box) on the corresponding button will indicate that the user intends to activate the corresponding button (as opposed to other user interface elements shown on the display of the device).

[0213] As described in this specification and claims, the term "characteristic intensity" of a contact refers to a contact characteristic based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on multiple intensity samples. The characteristic intensity is optionally based on a predefined number of intensity samples or a set of intensity samples collected during a predetermined time period (e.g., 0.05 seconds, 0.1 seconds, 0.2 seconds, 0.5 seconds, 1 second, 2 seconds, 5 seconds, 10 seconds) relative to a predetermined event (e.g., after detecting the contact, before detecting the lifting of the contact, before or after detecting the beginning of the movement of the contact, before detecting the end of the contact, before or after detecting the increase in the contact intensity, and / or before or after detecting the decrease in the contact intensity). The characteristic intensity of the contact is optionally based on one or more of the following: the maximum value of the contact intensity, the mean value of the contact intensity, the average value of the contact intensity, the top 10% value of the contact intensity, the value at the half-maximum of the contact intensity, the value at the 90% maximum of the contact intensity, etc. In some embodiments, the duration of the contact is used in determining the characteristic intensity (e.g., when the characteristic intensity is the average of the contact intensity over time). In some embodiments, the characteristic intensity is compared to a set of one or more intensity thresholds to determine whether an operation has been performed by a user. For example, the set of one or more intensity thresholds may include a first intensity threshold and a second intensity threshold. In this example, a contact with a characteristic intensity that does not exceed the first threshold causes a first operation, a contact with a characteristic intensity that exceeds the first intensity threshold and does not exceed the second intensity threshold causes a second operation, and a contact with a characteristic intensity that exceeds the second threshold causes a third operation. In some embodiments, the comparison of the characteristic intensity with one or more thresholds is used to determine whether to perform one or more operations (e.g., to perform the corresponding operation or to abandon the corresponding operation), rather than to determine whether to perform the first operation or the second operation.

[0214] In some embodiments, a portion of a gesture is identified for the purpose of determining characteristic strength. For example, a touch-sensitive surface may receive a continuous sweep contact that transitions from a starting position and reaches an end position, at which point the contact strength increases. In this example, the contact characteristic strength at the end position may be based only on a portion of the continuous sweep contact, rather than on the entire sweep contact (e.g., only on the portion of the sweep contact at the end position). In some embodiments, before determining the contact characteristic strength, a smoothing algorithm may be applied to the sweep contact strength. For example, a smoothing algorithm may optionally include one or more of the following: an unweighted sliding average smoothing algorithm, a triangular smoothing algorithm, a median filter smoothing algorithm, and / or an exponential smoothing algorithm. In some cases, for the purpose of determining characteristic strength, these smoothing algorithms eliminate narrow peaks and valleys in the sweep contact strength.

[0215] The intensity of the contact on the touch-sensitive surface can be characterized by being equivalent to one or more intensity thresholds, such as a contact detection intensity threshold, a light press intensity threshold, a deep press intensity threshold, and / or one or more other intensity thresholds. In some embodiments, the light press intensity threshold corresponds to an intensity at which the device will perform an operation typically associated with clicking a button of a physical mouse or a trackpad. In some embodiments, the deep press intensity threshold corresponds to an intensity at which the device will perform an operation different from the operation typically associated with clicking a button of a physical mouse or a trackpad. In some embodiments, when a contact having a characteristic intensity below the light press intensity threshold (e.g., and above a nominal contact detection intensity threshold, where the contact is no longer detected when below the nominal contact detection intensity threshold) is detected, the device will move the focus selector in accordance with the movement of the contact on the touch-sensitive surface without performing an operation associated with the light press intensity threshold or the deep press intensity threshold. In general, unless otherwise stated, these intensity thresholds are consistent between different sets of user interface diagrams.

[0216] An increase in contact characteristic intensity from an intensity below a light press intensity threshold to an intensity between the light press intensity threshold and the deep press intensity threshold is sometimes referred to as a "light press" input. An increase in contact characteristic intensity from an intensity below a deep press intensity threshold to an intensity above the deep press intensity threshold is sometimes referred to as a "deep press" input. An increase in contact characteristic intensity from an intensity below a contact detection intensity threshold to an intensity between the contact detection intensity threshold and the light press intensity threshold is sometimes referred to as detecting contact on the touch surface. A decrease in contact characteristic intensity from an intensity above the contact detection intensity threshold to an intensity below the contact detection intensity threshold is sometimes referred to as detecting contact lifted from the touch surface. In some embodiments, the contact detection intensity threshold is zero. In some embodiments, the contact detection intensity threshold is greater than zero.

[0217] In some embodiments described herein, in response to detecting a gesture that includes a corresponding press input or in response to detecting a corresponding press input performed in conjunction with a corresponding contact (or multiple contacts), one or more operations are performed, wherein the corresponding press input is detected based at least in part on detecting an increase in the intensity of the contact (or multiple contacts) above a press input intensity threshold. In some embodiments, in response to detecting an increase in the intensity of the corresponding contact above the press input intensity threshold, the corresponding operation (e.g., a "downward stroke" of the corresponding press input) is performed. In some embodiments, the press input includes an increase in the intensity of the corresponding contact above the press input intensity threshold and a subsequent decrease in the intensity of the contact below the press input intensity threshold, and in response to detecting a subsequent decrease in the intensity of the corresponding contact below the press input threshold, the corresponding operation (e.g., an "upward stroke" of the corresponding press input) is performed.

[0218] In some embodiments, the device employs intensity hysteresis to avoid unexpected inputs, sometimes referred to as "jitter," where the device defines or selects a hysteresis intensity threshold that has a predefined relationship to a press input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units below the press input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable proportion of the press input intensity threshold). Thus, in some embodiments, a press input includes an increase in corresponding contact intensity above the press input intensity threshold and a subsequent decrease in contact intensity below a hysteresis intensity threshold that corresponds to the press input intensity threshold, and in response to detecting the subsequent decrease in corresponding contact intensity below the hysteresis intensity threshold, a corresponding action is performed (e.g., an "upswipe" of the corresponding press input). Similarly, in some embodiments, a press input is detected only when the device detects an increase in contact strength from an intensity at or below a hysteresis strength threshold to an intensity at or above a press input strength threshold and, optionally, a subsequent decrease in contact strength to an intensity at or below the hysteresis strength, and a corresponding operation is performed in response to detecting the press input (e.g., an increase in contact strength or a decrease in contact strength, depending on the actual situation).

[0219] For ease of explanation, a description of operations performed in response to a press input associated with a press input intensity threshold or in response to a gesture including a press input is optionally triggered in response to detecting any of: an increase in contact intensity above a press input intensity threshold, an increase in contact intensity from an intensity below a hysteresis intensity threshold to an intensity above the press input intensity threshold, a decrease in contact intensity below the press input intensity threshold, and / or a decrease in contact intensity below a hysteresis intensity threshold that corresponds to the press input intensity threshold. Additionally, in examples where operations are described as being performed in response to detecting a decrease in contact intensity below the press input intensity threshold, the operations are optionally performed in response to detecting a decrease in contact intensity below a hysteresis intensity threshold that corresponds to and is below the press input intensity threshold.

[0220] As used herein, the term "closed application" refers to a software application that does not have retained state information (e.g., state information for a closed application is not stored in the memory of a device). Thus, closing an application includes stopping and / or removing an application process for the application and removing state information for the application from the memory of the device. Generally speaking, opening a second application within a first application does not close the first application. When the second application is displayed and the first application stops being displayed, the first application becomes a background application.

[0221] System Overview

[0222] Figure 6An example system 600 for aggregating and sharing health data is illustrated. As described above, health data may include, but is not limited to, any type of data associated with a person's health, such as their weight, heart rate, blood pressure, blood sugar level, medication compliance, activity level, etc. The system 600 may be used to collect health data associated with a user, store the health data, present the health data to the user in a useful manner, and selectively share the user's health data with other users or entities based on permissions set by the user. In addition, in some examples, the system 600 may be further used to collect non-health data along with the health data, relate the non-health data to the health data, and display the non-health data together with the health data.

[0223] System 600 may include one or more user devices 610, which may include any electronic device, such as a mobile phone, a tablet computer, a desktop computer, a laptop computer, a PDA, etc. In some examples, user device 610 may include a computer that is compatible with Figure 1A and Figure 3 and those similar or identical to those shown in and described above. For example, the user device 610 may include an operating system and a health database 611 for securely storing health or non-health data along with associated metadata, such as the time the data was recorded, the type of data, the device used to record the data, the user associated with the data, etc. The user device 610 may further include an application programming interface (API) having access controls for storing data in the health database 611 and for accessing data stored in the health database 611.

[0224] The user device 610 may be configured to receive health or non-health data from various sources, and the received data may be stored in the health database 611. For example, the user device 610 may be configured to receive health or non-health data from sensors 602, 604, 606, and 608. These sensors may include any type of sensor capable of acquiring health data, such as a biometric sensor, an activity tracker, and the like. For example, sensors 602, 604, 606, and 608 may include, but are not limited to, scales, blood pressure cuffs, blood glucose monitors, electrocardiograms, pedometers, gyroscopes, accelerometers, blood oxygen saturation sensors, breathing sensors, posture sensors, stress sensors, vascular volume graphs, skin galvanic response sensors, temperature sensors, asthma inhalers, and the like. Sensors 602, 604, 606, and 608 may also include other types of sensors, such as audio sensors, ambient light sensors, electromagnetic sensors, touch sensors, capacitive sensors, and the like for acquiring non-health data, such as situational data, transient data, personal data, contact data, and the like. In some examples, each sensor can be a separate device, while in other examples, any combination of two or more sensors can be included in a single device. For example, a gyroscope, an accelerometer, a plethysmogram, a galvanic skin response sensor, and a temperature sensor can be included in a wearable electronic device (such as a smart watch), while a scale, a blood pressure cuff, a blood oxygen saturation sensor, a breathing sensor, a posture sensor, a stress sensor, and an asthma inhaler can each be a separate device. Although specific examples are provided, it should be appreciated that other sensors can be used and other combinations of sensors can be combined into a single device.

[0225] Sensors 602, 604, 606, and 608 can be used to measure health or non-health data continuously, intermittently, periodically, or at any other desired frequency or time interval. For example, sensors 602, 604, 606, and 608 can be used to obtain a single measurement or multiple measurements over a length of time. Sensors 602, 604, 606, and 608 can be configured to measure health or non-health data at the same time interval, or can be configured to measure health or non-health data at different time intervals. These intervals can be set by the user or can be default settings for each sensor. Additionally, sensors 602, 604, 606, and 608 can be used to measure health or non-health data at any time or location desired by the user. Moreover, sensors 602, 604, 606, and 608 can be used with or without the supervision of a health care provider. For example, a user can use sensors 602, 604, 606, and 608 to obtain sensor measurements without a medical professional at home.

[0226] In some examples, the user device 610 may include a software sensor application 613 (e.g., a third-party application) associated with each of the sensors 602, 604, 606, and 608 for interfacing with the sensors to allow the user device 610 to receive health or non-health data. In these examples, the application 613 may use the device's API to store health or non-health data in a health database 611 of the user device 610. In some examples, the software sensor application 613 may be an App, and the device 610 may be a smartphone, a tablet computer, etc. It should be understood that a "third party" may correspond to an entity different from the manufacturer of the device 610 and / or the entity that creates and / or maintains the operating system of the device 610. In these instances, the third-party applications and their corresponding sensors may communicate or function within the operating system of the device 610 according to a predefined device protocol associated with the device 610.

[0227] Application 613 can similarly use the device's API to access data stored in health database 611. In other examples, user device 610 can be configured to share one or more communication formats with sensors 602, 604, 606, and 608 to allow user device 610 to receive and interpret health or non-health data from the sensors. The received data can then be stored in health database 611 of user device 610.

[0228] The user device 610 may further receive health or non-health data from: its own health or non-health data sensor 615 (such as a GPS sensor, clock, gyroscope, accelerometer, etc.), a user interacting with the user device 610, another entity (such as a physician), or a non-sensor source. For example, using the device's API, health or non-health data may be received from an application 617 on the user device 610, such as a clock application, a calendar application, a game application, an application from a health care provider, a messaging application, etc. The health or non-health data from the application 617 may originate from a user interacting with an application, a remote database (e.g., a database for a medical website), a health care provider organization (e.g., via an organization's App), etc. In these examples, the following may be received by the user device 610 and stored in the health database 611: usage of the application 617 (e.g., how long you play a video game application, when you play video games, the number of times you interact with a stock application, the number of times you interact with a social networking application, the length of time you interact with a social networking application, etc.), usage of the user device 610 (e.g., length of phone calls or number of text messages sent as determined from a phone payment application, time spent browsing the Internet as determined from the user's browser, etc.), time spent listening to music as determined from a music or streaming radio application, time spent using a remote application for controlling a television, amount of time or money spent on shopping websites, time spent on adult websites (e.g., to identify addictions), weather data from a weather application (e.g., to determine how weather affects the user's health), types of events occurring in the user's life as determined from a calendar (e.g., meetings, birthdays, holidays, etc.), interactions with certain types of people as determined from the user device 610's contact list and / or calendar application and / or messaging application and / or phone, etc.

[0229] In some examples, default or user-selected settings may be provided to limit the access that at least one application (e.g., at least one of applications 613 and 617) on user device 610 has to health database 611 of user device 610 and to sensor data generated by sensor 615 within user device 610 and / or sensor data generated by sensors 602, 604, 606, and 608. For example, an application for tracking a user's running session may be authorized to access data generated by a GPS sensor of user device 610, but blocked from accessing the user's blood pressure data stored in health database 611. In some examples, entities other than the owner of user device 610 may set authorization settings for various applications on user device 610. For example, the maker of user device 610 and / or the entity that creates and / or maintains the operating system of user device 610 may evaluate applications to determine whether they should be given access to the user's health data and / or sensor data generated or received by user device 610. In some examples, these settings may be overridden by the user.

[0230] The user device 610 may further include a display for displaying the stored health data or non-health data. A more detailed description of the interface of the display of the user device 610 is provided with reference to FIG. Figures 12 to 18 Described below.

[0231] Figure 7 A system 700 for sharing user health data is illustrated. Figure 7 , the user server 614 can be communicatively coupled to the user device 610 via a network 612, which can include the Internet, an intranet, or any other wired or wireless public or private network. The user device 610 can be configured to securely transmit the aggregated health or non-health data and associated metadata stored on the device to the user server 614 for storage in the user device 616. In some examples, the health or non-health data and associated metadata can be transmitted to the user server 614 for storage in the user device 616 in response to an explicit request by the user of the device 610 for such transmission, while in other examples, the health or non-health data can be synchronized with the data in the user database 616 continuously, periodically, intermittently, or at any desired frequency. In other examples, the user's health or non-health data may be stored only on the user device 610 and may not be stored in an external database.

[0232] In some examples, the user server 614 and the user database 616 may be configured to securely store the user's health or non-health data using a public key / private key system that only allows the owner of the health or non-health data to decrypt the data. Additionally, the health or non-health data stored in the user database 616 may be stored anonymously (e.g., without identification and / or without personal information about the user, such as legal name, user name, time and location data, etc.). In this way, other users, hackers, and owners / operators of the user database 616 cannot determine the identity of the user associated with the data stored in the database 616. In some examples, the user may access their health or non-health data stored in the user database 616 from a user device that is different from the user device used to upload the health or non-health data to the user server 614. In these instances, the user may be required to provide login credentials to access their health or non-health data. The user server 614 may be configured to perform an authorization process to limit access to the data within the user database 616.

[0233] System 700 may further include any number of other user devices 622 and 624 coupled to network 612. In some examples, user devices 622 and 624 may be operated by the same user as user device 610. In these instances, the user may access their health or non-health data stored in user database 616 by providing appropriate credentials to user server 614. In some examples, the health and non-health data may be synchronized between user database 616 and one or more of user devices 610, 622, and 624. In other examples, the users of user devices 622 and 624 may be persons other than the user of user device 610. In these examples, the users of devices 622 and 624 may not access the health or non-health data of the user of user device 610 without authorization by the user of user device 610. If authorization is given, the health or non-health data may be shared by the users of user devices 622 and 624. This sharing of data will be referred to as Figures 7 and 8 are discussed in more detail below.

[0234] In some examples, any of the sources described above for health or non-health data can be configured to measure, generate, or receive health or non-health data continuously, periodically, or at any other desired frequency or time interval. In this way, health or non-health data can be similarly stored or uploaded to the health database 611 or the user database 616 continuously, periodically, or at any other desired frequency or time interval. The frequencies or time intervals used to measure, generate, receive, or store health or non-health may be the same or may be different. Additionally, these frequencies and intervals may be default values ​​or they may be set by the user to provide the user with health or non-health data that has been uploaded within the desired length of time.

[0235] Although not shown, it should be appreciated that numerous other user devices may be coupled to the user server 614 via the network 612 to collect and store health or non-health data for other users in a manner similar to that described above.

[0236] User Database

[0237] As discussed above, the user's health or non-health data can be stored in the user database 616 and can be shared with other users with the user's authorization. The other users can be any type of user, such as friends, family members, caregivers, physicians, social media providers, etc. Different types and levels of authorization can be granted to the health or non-health data contained in the health database 616.

[0238] In some examples, the shared health or non-health data may be pushed to user devices (eg, user devices 622 or 624 ) of other authorized user devices. Figure 8 An example process 800 for authorizing and pushing health or non-health data to authorized other users is illustrated. At box 802, an identification of the authorized other user may be received. This may be received by a user device (e.g., user device 610) from a user associated with the shared health or non-health data. The identification may include a username, legal name, contact information, or any other identifier or credential for the other user, along with an access level, such as access to all health or non-health data, or a subset of health or non-health data. In some examples, the authorized other users may be grouped into categories of users (e.g., family, friends, other, etc.), each of which is associated with a specific set of health data types that the authorized other users are allowed to view. For example, users in the family category may be allowed to view all types of health data, while users in the friend category may only view activity data.

[0239] At block 804, the user's health or non-health data may be monitored by the user device to determine whether any updates to the data have been made. If no updates have been made, the process may repeat block 804. However, if additions or changes to the user's health or non-health data have been identified, the process may proceed to block 806. In some examples, any changes to the user's health or non-health data may cause process 800 to proceed to block 806, while in other examples, only certain types of changes to the user's health or non-health data may cause process 800 to proceed to block 806.

[0240] At block 806, a notification may be transmitted to one or more authorized other users. For example, a notification may be transmitted from a user device (e.g., user device 610) to devices of other authorized users (e.g., user devices 622 or 624). The notification may include a message indicating that an update has been made to the user's health or non-health data. The process may then proceed to block 808.

[0241] At block 808, the updated health or non-health data may be transmitted to the authorized other users. For example, the updated health or non-health data may be transmitted from a user device (e.g., user device 610) to the authorized other users' devices (e.g., user devices 622 or 624). In some examples, this data is transmitted only if the authorized other users indicate a desire to view the updated health or non-health data, while in other examples, the updated health or non-health data may be transmitted to the authorized other users' user devices without receiving a request from the authorized other users to view the data.

[0242] The push of health or non-health data performed using process 800 can be useful in situations where a user wants to keep a caregiver or family member (or other user) updated with his / her health or non-health data. For example, an elderly parent can authorize the push of his / her health or non-health data to a child to allow the child to easily monitor the health or medication compliance of the elderly user without the need to continuously request this information from the parent.

[0243] In other examples, a user's health or non-health data may be shared with other users by allowing other users to push health or non-health data. Fig. 9An example of a process 900 for authorizing other users to push health or non-health data is illustrated. At box 902, a request to access health or non-health data for a particular user can be received. The request can identify the user associated with the requested health or non-health data and, optionally, the portion of the health or non-health data to be accessed. The identification can include a user name, a legal name, contact information, or any other identifier or credential for the user. The request can be received by a user device (e.g., user device 610) of a user associated with the requested data from a user device (e.g., user device 622 or 624) of the requesting user.

[0244] At block 904, a request for authorization may be transmitted to a user associated with the requested health or non-health data. In some examples, the request may be transmitted from a user device of the requesting user (e.g., user device 622 or 624) to a user device of a user associated with the requested data (e.g., user device 610). The request may then be displayed to the user associated with the requested data via the user's device (e.g., user device 610).

[0245] At block 906, it may be determined whether authorization has been received from the user associated with the requested health or non-health data. The authorization may be received in any manner. For example, a prompt may be displayed to the user associated with the requested data on their user device 610. If authorization is denied, the process may return to block 902. However, if authorization is granted, the process may proceed to block 908.

[0246] At block 908, the requested health or non-health data may be deleted to the entity that requested access to the health or non-health data at block 902. The requested health or non-health data may be transmitted from a user device (e.g., user device 610) to a device of the requesting entity (e.g., user device 622 or 624).

[0247] In some examples, if authorization to access the user's health or non-health data is granted prior to making the request at block 902, process 900 may proceed from block 902 to block 908 without performing blocks 904 or 906. For example, if a parent authorizes access to their health or non-health data to their child, a request by the child for the parent's health or non-health data may be received at block 902, and the requested health or non-health data may be transmitted to the child at block 908 without any intervening action by the parent.

[0248] The pulling of health or non-health data using process 900 can be useful in situations where other authorized users do not want to be continuously updated with updates to the user's health or non-health data, but want occasional access to the data. For example, a physician may want to access a patient's medical records and health or non-health data only before meeting with the patient. In this case, the physician can request the patient's health or non-health data and can receive the requested data or cause the request to be sent to the patient's user device 610. In response to receiving authorization from the patient, the requested data can be sent from the user device 610 to the physician's computing device (e.g., user device 622 or 624). In some examples, the received health or non-health data can be added to an electronic medical record (EMR) associated with the user.

[0249] In some examples, regardless of whether a push or pull sharing model is used, the user's health or non-health data may not be permanently stored on the user devices of other authorized users. In this way, the authorization of these other users can be revoked so that the user's health data cannot be accessed by other users who were previously authorized. Additionally, in some examples, a detailed or summary of the user's health or non-health data can be generated. These reports can then be transmitted to any desired recipient via email, secure delivery, etc. In other examples, the user device 610 may be configured to communicate some or all of the user's health or non-health data (such as medical insurance information, blood type, medical history, etc.) to medical professionals using near-field communication or another communication protocol. This can be useful when checking in to a hospital or during a medical emergency, when relevant medical data is needed.

[0250] Aggregated data view

[0251] As discussed above, the user device 610 can be configured to aggregate health or non-health data associated with the user received from the user, from one or more sensor frames 602, 604, 606, and 608, or from non-sensor sources. The user device 610 can also be configured to display the user's aggregated health or non-health data in various ways using various interfaces.

[0252] Fig.10 An example interface 1000 is illustrated which may be used by a user device 610 to display aggregated health or non-health data of a user. The interface 1000 may include any number of partitions 1002, 1004, 1006, 1008, 1010, and 1012, each containing a different type of health data associated with the user. Fig.10 In an aggregate view, partitions can be used to display partial views of different types of health data. Figures 10 to 15 , Fig.17 and Figures 19 to 20 In the example shown in , the partitions are illustrated as having the appearance of a card stack and associated animations, where each card corresponds to a different partition (and therefore to a different type of health data). However, it should be understood that the partitions may be displayed in any other desired manner.

[0253] Interface 1000 may include a first partition 1002 displayed at the top of the interface, which may include an identifier (e.g., name) of a user. As shown, the name "John Smith" of the user of user device 601 is displayed on partition 1002. Interface 1000 may further include a button 1001 for viewing health data associated with other users. This feature is described in more detail below with reference to Fig.15 and Fig.16 is described.

[0254] Interface 1000 may further include another partition 1004 displayed adjacent to partition 1002 so that it appears like a stack of cards covering partition 1002. This partition may include an indication of any type of health data contained on the partition and a partial view (e.g., a summary, an example, etc.) of a portion of the health data for the partition. Specifically, partition 1004 includes the word "weight" to indicate that the partition includes weight data associated with user "John Smith". Partition 1004 may further include the most recent weight of "John Smith," "185 pounds."

[0255] Interface 1000 may further include another partition 1006 displayed adjacent to partition 1004 so that it appears like a stack of cards covering partition 1004. The partition may include an indication of the type of any health data contained on the partition and a partial view (e.g., a summary, an example, etc.) of a portion of the health data of the partition. Specifically, partition 1006 includes the word "blood glucose" to indicate that the partition includes blood glucose data associated with user "John Smith". Partition 1006 may further include a recent blood glucose level of "164 mg / dL" for "John Smith".

[0256] Interface 1000 may further include another partition 1008 displayed adjacent to partition 1006 so that it appears like a stack of cards covering partition 1006. The partition may include an indication of the type of health data contained on the partition and a partial view (e.g., a summary, an example, etc.) of a portion of the health data of the partition. Specifically, partition 1008 includes the word "blood pressure" to indicate that the partition includes blood pressure data associated with user "John Smith". Partition 1006 may further include a recent blood pressure measurement of "117 / 67 mmHg" for "John Smith".

[0257] Interface 1000 may further include another partition 1010 displayed adjacent to partition 1008 so that it appears like a stack of cards covering partition 1008. The partition may include an indication of the type of health data contained on the partition and a partial view of a portion of the health data of the partition (e.g., a summary, an example, etc.). Specifically, partition 1010 includes the word "activity" to indicate that the partition contains activity data (e.g., calories burned) associated with user "John Smith". Partition 1010 may further include a current daily calorie burnt amount of "467 kcal" for "John Smith".

[0258] Interface 1000 may further include another partition 1012 displayed adjacent to partition 1010 so that it appears to cover partition 1010 like a stack of cards. The partition may include an indication of the type of health data contained on the partition and a partial view (e.g., summary, example, etc.) of a portion of the health data of the partition. Specifically, partition 1012 includes the word "heart rate" to indicate that the partition includes heart rate data associated with user "John Smith". Partition 1012 may further include the most recent heart rate measurement "122bpm" of "John Smith". Additionally, since partition 1012 is at the top of the stack of partitions, additional information 1014 and / or options 1016 may be displayed on the face of the partition. In the illustrated example, the additional information includes the minimum, maximum, and resting heart rates of "John Smith" over a span of one week, which is selected using option 1016.

[0259] The order of some or all of the partitions can be static or dynamic. For example, the partition 1002 containing the user's name can remain at the top of the display, and the remaining partitions can be sorted based on the time of day, how recently the health data associated with the partition has been updated, how often the health data associated with the partition is updated, whether an important event is approaching (e.g., medication should be taken, sensor measurements should be performed, etc.), etc. The order can also be changed manually by the user. If the interface 1000 includes more partitions than can be displayed on a single screen, vertical scrolling can be performed to display the remaining partitions. Alternatively, 3D scrolling of the partitions can be performed to give the appearance of browsing through stacked cards.

[0260] Although specific example partition types have been given above, it should be understood that partitions containing different types of health data can be included in interface 1000. Additionally, users can generate customized partitions that can be used to display any desired type of user-entered data. For example, a partition can be created to track a user's medication compliance. A user can enter the time, amount, and type of medication taken, and this data can be displayed on the created partition. Other customized partitions for different health data types (such as nutrition, sleep, smoking, etc.) can also be generated.

[0261] Additionally, although examples of partial views of a portion of partitioned health data have been provided above (e.g., summaries, examples, etc.), it should be appreciated that partitioned views can summarize or provide examples of health data in different ways. For example, instead of displaying the most recent value of a particular health data type, an average, mode, median, another single data point, etc. of health data over all or part of the time (e.g., week, month, year, etc.) can be displayed on a partition of an aggregate view. Alternatively, in other examples, current and average values ​​can be displayed on a partition in an aggregate view. In other examples, a partition in an aggregate view may include a display of current and target values ​​for a type of health data.

[0262] Partitions 1002, 1004, 1006, 1008, 1010, and 1012 may be selected to display an expanded view of the partition containing reconfigured data, additional data, or an enlarged view of the original data contained on the partition. For example, a user may select a partition by tapping on a desired partition displayed on a touch-sensitive display, may highlight or click on a partition using a mouse or other input device, or may select the desired partition using any other input means. In response to selection of a partition, user device 610 may hide the contents of other partitions and display the selected partition on all or most of the display of user device 610.

[0263] For example, Fig.11An example interface 1100 is illustrated that may be displayed in response to a user selecting a partition 1004 in the interface 1000. In the interface 1100, an expanded view 1005 of the partition 1004 may be prominently displayed in the display of the user device 610, and the remaining partitions may be animated to shrink away from the display into a stack of partitions 1102 displayed at the bottom of the display. In the illustrated example, the expanded view 1005 may include additional weight-related data, such as the user's weight, body mass index (BMI), and fat percentage, which are not displayed in the interface 1000. The expanded view 1005 may further include a summary of the user's weight data, such as a sliding scale 1140 indicating the user's weight relative to a weight range, and a chart 1141 that tracks the user's weight throughout the day, week, month, or year. The interface 1100 may further include a button 1104 that may cause the user device 610 to display options for sharing some or all of their health data using any desired communication medium (such as text messaging, email, social media providers, etc.). In these examples, the health data can be encrypted and sent directly from the user device 610 to the recipient's user device (rather than from the user server 614), where the health data can be decrypted. To return to the aggregated view of the partitions shown in the interface 1000, the user can select (e.g., tap, click, or otherwise select) the stack of partitions 1102. It should be appreciated that the contents of the interface 1100 and the expanded view 1005 are provided as examples, and that the expanded view 1005 can alternatively include any type of weight-related data or summary of weight-related data.

[0264] Fig.12An example interface 1200 is illustrated, which can be displayed in response to a user selecting a partition 1006 in the interface 1000. In the interface 1200, an expanded view 1007 of the partition 1006 can be prominently displayed within the display of the user device 610, and the remaining partitions can be animated to shrink away from the display into a stack of partitions 1102 displayed at the bottom of the display. In the illustrated example, the expanded view 1007 can include additional blood glucose related data, such as the user's blood glucose and units, which are not displayed in the interface 1000. The expanded view 1007 can further include a summary of the user's blood glucose data, such as a sliding scale 1142 indicating the range of the user's blood glucose relative to typical blood glucose levels, and a chart 1143 that tracks the user's blood glucose throughout the day, week, month, or year. The interface 1200 can further include a button 1104, as described above. To return to the aggregated view of the partitions shown in the interface 1000, the user can select (e.g., tap, click, or otherwise select) the stack of partitions 1102. It should be appreciated that the contents of interface 1200 and expanded view 1007 are provided as examples, and that expanded view 1007 may alternatively include any type of blood glucose-related data or summary of blood glucose-related data.

[0265] Fig.13 An example interface 1300 is illustrated, which can be displayed in response to a user selecting partition 1008 in interface 1000. In interface 1300, an expanded view 1009 of partition 1008 can be prominently displayed within the display of user device 610, while the remaining partitions can be animated to shrink away from the display into a stack of partitions 1102 displayed at the bottom of the display. In the illustrated example, the expanded view 1009 can include additional blood pressure related data, such as the user's blood pressure, beats per minute (bpm), which are not displayed in interface 1000. The expanded view 1009 can further include a summary of the user's blood pressure data, such as a sliding scale 1044 indicating the range of the user's blood pressure relative to typical blood pressure values, and a chart 1145 that tracks the user's blood pressure throughout the day, week, month, or year. Interface 1300 can further include button 1104, as described above. To return to the aggregated view of the partitions shown in interface 1000, the user can select (e.g., tap, click, or otherwise select) the stack of partitions 1102. It should be appreciated that the contents of interface 1300 and expanded view 1009 are provided as examples, and that expanded view 1009 may alternatively include any type of blood pressure-related data or summary of blood pressure-related data.

[0266] Fig.14An example interface 1400 is illustrated, which may be displayed in response to a user selecting partition 1010 in interface 1000. In interface 1400, an expanded view 1011 of partition 1010 may be prominently displayed within the display of user device 610, while the remaining partitions may be animated as shrinking away from the display into a stack of partitions 1102 displayed at the bottom of the display. In the illustrated example, expanded view 1009 may include additional activity-related data, such as calories burned, miles walked, and traveled by the user, which are not displayed in interface 1000. Expanded view 1011 may further include a summary of the user's blood pressure data, such as a chart 1146 tracking the intensity of the user's activity throughout the day, week, month, or year, and a summary 1147 showing the total time spent on activities, leisure, and exercise. Interface 1400 may further include button 1104, as described above. To return to the aggregated view of the partitions shown in interface 1000, the user may select (e.g., tap, click, or otherwise select) the stack of partitions 1102. It should be appreciated that the contents of interface 1400 and expanded view 1011 are provided as examples, and that expanded view 1011 may alternatively include any type of activity-related data or summary of activity-related data.

[0267] Fig.15 An example interface 1500 is illustrated, which can be displayed in response to a user selecting a partition 1012 in the interface 1000. In the interface 1500, an expanded view 1013 of the partition 1012 can be prominently displayed in the display of the user device 610, and the remaining partitions can be animated to shrink away from the display to be displayed in the stack of the partition 1102 at the bottom of the display. In the illustrated example, the expanded view 1013 can include additional heart rate related data, such as the maximum, minimum and user's resting heart rate in a day, a week, a month or a year. However, unlike partitions 1004, 1006, 1008 and 1010, the data is previously displayed in the interface 1000 because the partition 1012 is displayed in the aggregate view as being positioned at the top of the stack of the partition. The expanded view 1013 can further include a summary of the user's heart rate data, such as a chart 1148 that tracks the user's heart rate throughout the day, week, month or year. The interface 1500 can also include a button 1104, as described above. To return to the aggregated view of the partitions shown in interface 1000, the user may select (e.g., tap, click, or otherwise select) the stack of partitions 1102. It should be appreciated that the contents of interface 1500 and expanded view 1013 are provided as examples, and that expanded view 1013 may alternatively include any type of heart rate-related data or summary of heart rate-related data.

[0268] In some examples, it is used to generate Figures 10 to 15The user's health data of the interface shown may have been received from one or more sensor devices and / or applications. In these examples, the same type of health data from different devices may be combined and displayed on a single partition. Fig.11 The weight data shown in interface 1100 in FIG. 1141 may be obtained from repeated measurements taken using the same scale. Alternatively, some of the measurements may have been obtained from one scale, while the remaining measurements may have been obtained from one or more different scales. As a result, some points in graph 1141 may have been generated using weight data from one scale while other points in graph 1141 may have been generated using weight data from one or more other scales. In another example, in FIG. Fig.14 The activity data shown in interface 1400 in may have been acquired from a single pedometer device. Alternatively, the data may be aggregated from a pedometer device, a first GPS enabled watch used to record the user's running sessions, and a second GPS enabled watch used to record the user's rowing sessions. In these examples, chart 1146 showing the intensity of the user's activity may be a segmented chart generated from a merger of data acquired from the step tracking device and the first and second GPS enabled watches, where each segment is from one of these devices. In particular, chart 1146 may include a first segment 1150 generated from data from the pedometer device, a second segment 1152 generated from data from the first GPS enabled watch, and a third segment 1154 generated from data from the second GPS enabled watch. Aggregating data in this manner advantageously allows a user to record and view health data in a manner that does not directly tie the health data to a specific device or application (e.g., a smartphone application). Although in Fig.14 Three segments are shown in FIG, but it should be appreciated that the segmented diagram may include any number of segments corresponding to different sensors and / or applications.

[0269] Fig.16 An example process 1600 for displaying health data according to various examples is illustrated. At box 1602, an aggregate view of health data containing multiple partitions similar or identical to partitions 1002, 1004, 1006, 1008, 1010, and 1012 may be displayed on a user device similar or identical to user device 610. The partitions may include identifiers for the types of health data displayed on the partitions and partial views (e.g., summaries, examples, etc.) of a portion of the types of health data associated with the partitions. For example, an interface similar or identical to interface 1000 may be displayed to contain various health data partitions 1002, 1004, 1006, 1008, 1010, and 1012.

[0270] At box 1604, one of the displayed partitions may be received. The selection may be received by a user device and may be in the form of a mouse click, a tap on a touch-sensitive display, etc. In response to the selection of the partition, an expanded view of the selected partition may be displayed at box 1606. The expanded view may include a view showing a larger portion of the selected partition and at least one of the reconfigured health data (e.g., a rearranged view of the health data displayed on the selected partition in the aggregate view displayed at box 1602), additional health data (e.g., health data that was not previously displayed on the selected partition in the aggregate view displayed at box 1602), or an enlarged view of the health data displayed in the aggregate view displayed at box 1602 (e.g., a larger view of the same health data displayed on the selected partition in the aggregate view displayed at box 1602). Additionally, the unselected partition may be reduced in size or removed from the display. For example, any of interfaces 1100 , 1200 , 1300 , 1400 , or 1500 may be displayed in response to selection of partition 1004 , 1006 , 1008 , 1010 , or 1012 , respectively, of interface 1000 .

[0271] In some examples, the display presented at block 1606 may include a selectable option (e.g., button 1204) to share health data. In other examples, the display presented at block 1606 may further include a selectable option (e.g., partition 1202) to cause the aggregated view containing the partition displayed at block 1602 to be displayed again. The process may then return to block 1604, where a selection of another partition may be received.

[0272] Fig.17An example interface 1700 is illustrated, which can be displayed in response to a user rotating the user device 610 to a landscape view. In this orientation, the user device 610 can display an expanded view of a smaller subset of the partitions than displayed in the aggregate view of the interface 1000. For example, the interface 1700 may include an expanded view 1702 of a partition 1008, an expanded view 1704 of a partition 1006, and an expanded view 1706 of a partition 1012. In the illustrated example, the expanded view of the partition may include a graphical representation of health data over various time lengths. This may allow the user to view the displayed types of health data and see how they change over time relative to each other, and allow the user to assess how changes (or lack thereof) of one type of health data relative to another type of health data change. For example, a type of health data that can be displayed may include medications consumed over time. This data may be compared with the user's blood pressure and heart rate to determine whether the medication has a beneficial or harmful effect. In some examples, when the user device 610 is rotated to a landscape orientation, the user device 610 may select the type of health data to be displayed. The selection can be made based on a predetermined combination of health data types that are often associated with each other, or can be made based on an analysis of various types of health data. In the latter example, health data types identified as potentially related can be displayed. Health data types not shown in the initial display of interface 1700 can be viewed by scrolling through partitions. Additionally, partitions can be selected to display more detailed information in the same manner as performed in interface 1000.

[0273] Fig.18 An example process 1800 is illustrated for displaying health data based on the orientation of the device according to various examples. At box 1802, an aggregate view containing multiple partitions similar or identical to partitions 1002, 1004, 1006, 1008, 1010, and 1012 can be displayed by a user device similar or identical to user device 610. These partitions may include identifiers for the types of health data displayed on the partitions and partial views (e.g., summaries, examples, etc.) of a portion of the types of health data associated with the partitions. For example, an interface similar or identical to interface 1000 can be displayed to contain various health data partitions 1002, 1004, 1006, 1008, 1010, and 1012.

[0274] At block 1804, a change in the orientation of the user device may be detected. For example, a gyroscope and / or accelerometer within the user device may indicate that the orientation of the device has changed from portrait to landscape. In response to a change in orientation by a threshold amount detected, the process may proceed to block 1806.

[0275] At box 1806, a subset of the plurality of partitions displayed at box 1802 may be selected for display. In some examples, the subset may be a predetermined subset of the plurality of partitions. In other examples, the subset may be selected for display based on user-defined preferences. In other examples, a subset of the plurality of partitions may be selected based on an analysis of health data associated with each partition to determine whether any type of health data is potentially correlated. If a potential correlation is identified, the partition associated with the potentially correlated data may be selected at box 1806.

[0276] At block 1808, expanded views of the subset of partitions selected at block 1806 may be displayed. In some examples, identifiers for the types of health data displayed on the partitions and / or expanded views of summaries, examples, or other views of the types of health data associated with the partitions may be different than those displayed on the partitions at block 1802. For example, the summary or example data on each expanded view may be replaced with a graphical representation of the health data over time, such as in Fig.17 In this way, the relationship between the displayed types of health data can be observed. In some examples, in response to detecting a change in the orientation of the user device to a portrait orientation, the process can return to box 1802.

[0277] As discussed above, in some examples, a user of user device 610 may be granted access to health data of other users. In these examples, user device 610 may allow the user to access the health data of other users in accordance with the above-mentioned Figures 10 to 18 The format discussed above can be used to view other users' health data. For example, Fig.19 As shown in interface 1900 in FIG. 1 , to view health data of other users, the user can scroll the content of the interface horizontally in direction 1906 so that the first subset of partitions 1904 from the first user is displayed instead of the second subset of partitions 1902 from the second user. In particular, the second subset of partitions 1902 for the second user can be shifted away from the display in the direction 1906 of the scroll, while the first plurality of partitions 1904 can be shifted to the display in the same direction 1906 but from the opposite side of the display. It should be appreciated that Fig.19A transition state is illustrated in which partition 1902 is being removed from the display while partition 1904 is being scrolled onto the display in direction 1906. As such, only the left side of partition 1902 and the right side of partition 1904 are visible. As partitions 1902 and 1904 continue to scroll in direction 1906, a smaller portion of partition 1902 may be visible while a larger portion of partition 1904 may be visible until partition 1902 is completely removed from the display and partition 1904 occupies all or a majority of the display. Although not shown, the top portion of partition 1904 may include the name of the first user and may be displayed as the screen continues to be scrolled in direction 1906. This scrolling operation may be performed any number of times (or in any direction) to scroll through all of the users' partitions that the user of device 610 is authorized to access.

[0278] Fig. 20 Another example interface 2000 is illustrated, which is used to view the health data of other users. In some examples, the interface 2000 can be displayed in response to the selection of the button 1001 of the interface 1000. As shown, the interface 2000 may include a list of users 2002, 2004, 2006 and 2008, which have authorized the user of the user device 610 to access their health data. In some examples, the circle next to each user's name can be replaced by an image associated with the user. These images can be the same as the images used in the contact list of the device 610, or another image can be included. In the illustrated example, users 2002, 2004, 2006 and 2008 have been grouped into different categories (e.g., oneself, family and friends). These categories can be used to logically group users together, or as discussed above, the authorization level for viewing the health data of other users can be indicated. For example, users in the "family" category can have authorized a larger set of their health data to be viewed, while users in the "friends" category can have authorized a smaller set of their health data to be viewed. In response to selecting one of users 2002, 2004, 2006, and 2008, partition 2010 may be updated to reflect the health data of the selected user. This may include updating the type of health data displayed on the partition (e.g., based on the type of health data that other users have authorized the user of user device 610 to view) and the associated partial views of the portion of the health data (e.g., summary, example, etc.). In other examples, a list of users 2002, 2004, 2006, and 2008 may be displayed in response to vertically scrolling interface 1000 up and down to reveal the list of users.

[0279] Fig.21An example process 2100 is illustrated for displaying health data associated with two or more users according to various examples. At box 2102, a display of a first plurality of partitions associated with a first user may be displayed. These partitions may be similar or identical to partitions 1002, 1004, 1006, 1008, 1010, and 1012, and may be displayed by a user device that is the same or similar to user device 610. These partitions may include identifiers for the types of health data displayed on the partitions and partial views (e.g., summaries, examples, etc.) of portions of the types of health data associated with the partitions. For example, an interface similar or identical to interface 1000 may be displayed as containing various health data partitions 1002, 1004, 1006, 1008, 1010, and 1012.

[0280] At block 2104, a request to view a second plurality of partitions for a second user may be received. The second user may be a user who has authorized the first user to view their health data as described above. In some examples, the request may include user input to scroll the display of the first plurality of partitions displayed at block 2102 and may be received by the user device in the form of rotating a mouse wheel, arrow keys on a keyboard, touch and / or swipe on a touch-sensitive display, etc. Similar to the Fig.19 In the example shown in , the scrolling direction may be horizontal relative to the displayed content and may be perpendicular to the scrolling direction that causes additional partitions associated with the first user to be displayed. However, it should be appreciated that other scrolling directions may be used. In other examples, the request to view the second plurality of partitions may be received in the form of a selection by a second user from the user list. For example, the second user may select from a list of partitions associated with the first user. Fig. 20 The list may be displayed in response to selection of a button (e.g., button 1001) or other selection mechanism (such as vertically scrolling the first plurality of partitions displayed at block 2102 to reveal the user list). In response to receiving the request to view the second plurality of partitions at block 2104, the process may proceed to block 2106.

[0281] At block 2106, a display of a second plurality of partitions associated with the second user may be displayed. In some examples, when the request to view the second plurality of partitions received at block 2104 includes a request to scroll the display of the first plurality of partitions, the first plurality of partitions may be translated away from the display in the direction of the scroll, and the second plurality of partitions may be translated to the same direction but from the opposite side of the display, such as in Fig.19 In other examples, when the request to view the second plurality of partitions received at block 2104 includes a selection of a second user from the user list, the first plurality of partitions may be replaced by a display of the second plurality of partitions, as in Fig. 20 Additional requests to view health data partitions of other users may be received, and blocks 2104 and 2106 may be repeated to display some or all sets of partitions associated with users who have authorized the user of device 610 to view their health data.

[0282] It should be appreciated that the processes described above can be combined. For example, process 1800 can be combined with process 1600 so that after multiple partitions are displayed at block 1502, a change in the orientation of the user device can cause blocks 1804, 1806, and 1808 to be performed. Similarly, process 2100 can be combined with process 1500 so that after multiple partitions are displayed at block 1602, the receipt of a request to view partitions associated with other users can cause blocks 2104 and 2106 to be performed to display multiple partitions associated with another user.

[0283] As mentioned above, the system 600 and the system 700 can be configured to measure, generate, receive or store health or non-health data continuously, intermittently, periodically or at any other desired frequency or time interval. The processes 1600, 1800 and 2100 can be similarly performed to update the display of health data or non-health data continuously, intermittently, periodically or at any other desired frequency or time interval. For example, the device performing the process 1600, 1800 or 2100 can continuously, intermittently, periodically or at any other desired frequency or time interval receive updated health or non-health data from the health database 611 or the user database 616. In some examples, the device performing the process 1600, 1800 or 2100 can receive updates to all health or non-health data at the same frequency or time interval. In other examples, the device performing the process 1600, 1800 or 2100 can be configured to receive updates to different types of data at different frequencies or time intervals. For example, heart rate data can be updated every second, while weight data can be updated every day. These intervals and frequencies may be default values ​​or may be selected by the user.

[0284] Dashboard View

[0285] Fig. 22An example interface 2200 is shown, which can be displayed by a user device 610 to display a detailed view of a user's health or non-health data. Interface 2200 can include any number of partitions in partitions 2202, 2204, and 2206, each representing a different type of health or non-health data associated with the user (e.g., data stored in health database 611). In some examples, the partitions can be displayed in colors based on the type of health or non-health data they represent. For example, a partition representing nutritional data can be displayed in one color, while a partition representing physical fitness data can be displayed in another color.

[0286] In some examples, the partition may include an identification of the type of health or non-health data (e.g., calories, steps, weight, etc.) represented by the partition, a daily value of the type of health or non-health data represented, and a graphical representation of the type of health or non-health data represented. For example, partition 2202 may include the text "Calories" to indicate that it represents calorie data, a current daily value 2210 of 1250 calories burned, and a graphical representation 2208 of calorie data over time throughout the day. Similarly, partition 2204 may include the text "Steps" to indicate that it represents step data, a daily value 2211 of 3100 steps, and a graphical representation 2209 of step data over time throughout the day. Interface 2200 may further include a partial view of partition 2206 showing the text "Weight" to indicate that it represents weight data and a daily value 2212 of 160 pounds. In the illustrated example, the charts for each partition are non-overlapping.

[0287] In some examples, a detailed view of the user's health or non-health data may include partitions that are not displayed in partition 2200. In these examples, the user can initiate a scroll request by swiping up or down on a touch-sensitive display, by clicking or dragging on the display using a mouse or other input device, by operating a scroll wheel, by performing a swipe gesture on a touch pad, etc. In response to detecting a scroll request, user device 610 can scroll the view of interface 2200 to display other partitions that were not previously displayed (or partially displayed, such as partition 2206).

[0288] For example, Fig.23An example interface 2300 is illustrated, which can be displayed in response to a user initiating a scroll request to scroll the view of interface 2200 in an upward direction. In interface 2300, the remainder of partition 2206 can be displayed as a graphical representation 2214 showing weight data over time throughout a week. Another partition 2216 can also be displayed below partition 2206 in interface 2300. Partition 2316 can include the text "Blood Pressure" to indicate that it represents blood pressure data, a today's value 2210 of 117 / 67 mmHg, and a graphical representation 2218 of blood pressure data over time throughout a week. Fig.23 In the example shown in , the chart 2218 includes two vertical bars for each day. The top and bottom of the upper vertical bar for each day can represent the high and low diastolic pressure for a certain day, respectively. Similarly, the top and bottom of the lower vertical bar for each day can represent the high and low systolic pressure for a certain day, respectively.

[0289] In some examples, the order of the partitions within interface 2200 or 2300 can be changed in response to detecting a user's request to reorder the partitions. In some examples, the request to reorder can include selecting and holding one of the partitions for more than a threshold time length. After detecting that the threshold time length has elapsed, user device 610 can animate the partitions in a manner indicating that the partitions can be reordered. In some examples, the partitions can be reordered by dragging the selected partition to a desired location. However, in other examples, the partitions can be reordered in any other desired manner.

[0290] Although only four partitions 2202, 2204, 2206, and 2216 are shown in the detailed views illustrated by interfaces 2200 and 2300, it should be appreciated that the detailed views may include additional partitions representing any number and type of health or non-health data. Similar to partitions 2202, 2204, 2206, and 2216, these additional partitions may include identification of the type of health or non-health data represented by the partition, daily values ​​of the represented type of health or non-health data, and graphical representations of the represented type of health or non-health data.

[0291] In some examples, a chart view of some or all of the health or non-health data displayed in the detailed view can be displayed in response to a chart view input. In some examples, the chart view input can include a detected change in the orientation of the user device 610. For example, Fig.24An example interface 2400 is illustrated, which can be displayed in response to detecting that the user device 610 is rotated to a landscape view. The chart view of interface 2400 can include data set representations 2402, 2404, 2406, and 2408, each representing a different set of health or non-health data. In the illustrated example, the y-axis of the chart can represent the dependent variable of each data set, and the x-axis of the chart can represent the independent variable. For example, if data set representation 2402 represents a set of calorie data, the y-axis dependent variable can be calories, and the x-axis independent variable can be time. Similarly, if data set representation 2404 represents step data, the y-axis dependent variable can be the number of steps, and the x-axis independent variable can be time.

[0292] In some examples, a data set representation can be displayed in a color based on the type of health or non-health data it represents. For example, a data set representation representing nutritional data can be displayed in one color, while a data set representation of physical fitness data can be displayed in another color. In some examples, the colors used for different types of health or non-health data can correspond to the colors of the partitions used to display in the detailed views of interfaces 2200 and 2300. For example, a partition representing a collection of nutritional data can be displayed in the same color as a data set representation representing the same collection of nutritional data.

[0293] In some examples, the independent variable of the x-axis can be the same for all data sets shown in the chart view. For example, the time represented by the x-axis can be the same for each data set.

[0294] In some examples, the dependent variable on the y-axis can be measured in different units for some or all of the dataset representations in total. For example, the dependent variable for dataset representation 2402 can be expressed as calories, the dependent variable for dataset representation 2404 can be expressed as a number of steps, the dependent variable for dataset representation 2406 can be expressed as pounds (representing weight data), and the dependent variable for dataset representation 2408 can be expressed as mmHg (representing blood pressure data). Because these dataset representations with different units of measurement can be shown as overlapping on the same display, different vertical y-axis scaling can be used to display the various dataset representations. In some examples, in order to determine the vertical scale for one of the dataset representations, the minimum and maximum values ​​of the represented dataset to be displayed within the chart can be determined. For example, in order to determine the scaling factor for dataset representation 2402 representing calorie data, the maximum and minimum values ​​of the calorie data can be determined over the time period represented by the displayed x-axis. Fig.24In the example shown in , this can include determining a maximum and minimum value of calorie data for a week. The determined maximum value can be multiplied by a first scaling factor that can have any value (e.g., a value greater than or equal to 1, such as 1.1), and the determined minimum value can be multiplied by a second scaling factor that can be the same as or different from the first scaling factor (e.g., a value less than or equal to 1, such as 0.9). The product of the maximum and minimum values ​​multiplied by the first and second scaling factors is assigned to the maximum vertical positioning (e.g., the highest positioning on the y-axis) and the minimum vertical positioning within the chart (e.g., the lowest positioning on the y-axis), respectively. This allows the data set representation to be fully displayed within the chart. For example, if the maximum and minimum values ​​of the calorie data represented by the data set representation 2402 are 1000 calories and 300 calories, respectively, and if a first scaling factor of 1.1 and a second scaling factor of 0.9 are used, then for the data set 2402, the maximum vertical positioning of the y-axis can represent 1100 calories, and the minimum vertical positioning of the y-axis can represent 270 calories. This process can be repeated for each of the displayed data set representations, resulting in different scales for each of the data set representations. This advantageously allows the data set representations to be clearly displayed as superimposed on the same chart. For example, if the same scaling factor is instead used for all data sets, it is possible that the values ​​represented for one data set may be substantially greater than another, causing the other data set display to appear to be a flat line.

[0295] In some examples, one or more of the displayed data set representations may be selected to display additional data associated with the selected data set representation. In some examples, for the purpose of selecting a particular data set representation by a user, the data set representation of the chart view shown in the interface 2400 may be associated with a range (e.g., a unique range) of vertical positioning within the chart. For example, the chart shown in the interface 2400 may be divided into four ranges of vertical positions 2410, 2412, 2414, and 2416 separated by dashed lines. In this example, the data set representation 2402 may be associated with a first range of vertical positioning 2410, the data set representation 2404 may be associated with a second range of vertical positioning 2412, the data set representation 2406 may be associated with a third range of vertical positioning 2414, and the data set representation 2408 may be associated with a fourth range of vertical positioning 2416. Selection of one of the data set representations may be performed by entering a user input within the range of vertical positioning corresponding to the desired data set representation, regardless of the horizontal positioning of the user input. For example, to select data set representation 2402, user input in the form of a touch event by a finger or other device on a touch-sensitive display, a click of a mouse or other device, a touch event on a touch pad, etc. may be performed at location 2418 having a vertical position within vertical position 2410. In response to detecting user input at location 2418 having a vertical position within first range 2410, user device 610 may display an indication that data set representation 2402 is selected. For example, Fig.25 Interface 2500 is shown, which can be displayed in response to detecting input received at position 2418 in interface 2400. As shown, a circle marker can be displayed as superimposed on data set representation 2410 at a horizontal position corresponding to the horizontal position of position 2418. Additionally, a numerical value of 480 kcal can be displayed, indicating that the value of the data set represented by data set representation 2402 has a value of 480 at the horizontal position of the user input (e.g., the horizontal position of position 2418). As shown, data set representation 2402 can be selected by the user input at position 2418 even if the line of data set representation 2402 is not located near position 2418. This can advantageously allow a user to select a desired data set representation without having to select a specific portion of the data set representation, which may be difficult in locations where multiple data set representations overlap.

[0296] In some examples, one of the data set representations 2402, 2404, 2406, or 2408 may represent blood pressure data. In these embodiments, for the purpose of generating a line for the data set representation, the dependent variable for the blood pressure data may include an average of the systolic and diastolic pressures associated with the time corresponding to the horizontal position of the user input. However, the data displayed in response to the selection of the data set representation for the blood pressure data may include a high value for the diastolic pressure, a low value for the diastolic pressure, a high value for the systolic pressure, and a low value for the systolic pressure.

[0297] In some examples, one of the data set representations 2402, 2404, 2406, or 2408 may represent heart rate data. In these examples, the numerical values ​​displayed in response to selection of the data set representation for heart rate data may include a high value for heart rate and a low value for heart rate associated with a time corresponding to the horizontal position of the user input.

[0298] In some examples, the indication of the selection displayed in response to detecting the user input can further include highlighting an area below the line of the selected data set representation. For example, the area below the line of the selected data set representation can be dimmed, illuminated, displayed with a different color, or highlighted relative to other portions of the chart to change the line chart into an area chart of the selected data set. In some examples, the currently unselected data set representations can be removed from display, grayed out, or otherwise made less visible within the chart.

[0299] In some examples, the user input can be continuously applied to the displayed chart and moved in a horizontal direction within one of the ranges of vertical positioning to erase the value of the selected data set representation. For example, in response to detecting that the user input received at position 2418 is moved in the left direction, the circle marker displayed on the data set representation 2402 can be animated so that it appears to move along the line of the data set representation 2402 at the horizontal position of the data set representation 2402 corresponding to the current horizontal position of the user input. Similarly, the displayed value can change to reflect the value of the data set represented by the data set representation 2402 at the horizontal position of the user input.

[0300] In some examples, the vertical range of values ​​within a chart associated with a data set representation can be static. In other examples, the vertical range of values ​​within a chart associated with a data set representation can change. For example, in response to detecting a user input at a location within the first range 2410, the size of the first range 2410 can be extended based on the length of time the detected user input remains within the first range 2410. As a result, other vertical areas can shrink or reduce in size. In some examples, the size of the first range 2410 can be extended to cover the entire chart. In other examples, the size of the first range 2410 can be extended to a predefined limit. Extending the size of the vertically positioned selected range advantageously provides users with greater tolerance for vertical deviations as users move their user input in a horizontal direction to select different portions of the data set representation.

[0301] In some examples, interface 2400 or 2500 may include a comparison option 2420 to select a set of health or non-health data to be displayed within the chart view. Fig.26 An example interface 2600 is illustrated, which can be displayed in response to a user selection of the comparison option 2420 in the interface 2400 or 2500. As shown, the interface 2600 includes a list of types of health or non-health data that can be displayed in the chart view. Each type of health or non-health data can be associated with a selectable option (such as option 2602) to allow the user to add or remove the associated type of health or non-health data from the chart view. In the illustrated example, data sets corresponding to calorie data, step data, blood pressure data, and heart rate data are selected to be displayed in the chart view, while weight data is not displayed. In some examples, the list of health or non-health data displayed in the interface 2600 may include the types of health or non-health data represented by the partitions of the interfaces 2200 and 2300.

[0302] In some examples, a detailed view of wellness or non-wellness data may be displayed in response to a detailed view input received while any of interfaces 2400, 2500, or 2600 is displayed. In some examples, the detailed view input may include a detected change in the orientation of user device 610. For example, interface 2200 or 2300 may be displayed in response to detecting that user device 610 is rotated to a portrait view.

[0303] Although the chart views shown in interfaces 2400 and 2500 include four data set representations, it should be appreciated that a chart may include any number of data set representations. Additionally, the number of vertically positioned ranges may vary based on the number of data set representations displayed (e.g., equal to the number of data set representations displayed). For example, if six data set representations are displayed within a chart, six vertically positioned discrete ranges may be associated with the data set representations to allow a user to select a desired data set representation.

[0304] Fig. 27 An example process 2700 is illustrated for displaying health or non-health data according to various examples. Process 2700 can be performed at an electronic device (e.g., device 610) having a display. In some examples, the display can include a touch display. In other examples, the display can be separated from the touch-sensitive surface. Some blocks of process 2700 can be combined and / or the order of some blocks can be changed.

[0305] As described below, process 2700 provides an intuitive way to select overlapping data set representations in a chart view. The process allows a user to select a specific data set representation without having to target a specific location on the data set representation, which may be difficult in locations where multiple data set representations overlap.

[0306] At box 2702, a chart view of health or non-health data can be displayed on a display of a user device (e.g., user device 610). For example, an interface similar to or identical to interface 2400 or 2500 can be displayed. The chart view can include a first data set representation (e.g., data set representation 2402) of a first data set and a second data set representation (e.g., data set representation 2404) of a second data set, wherein a first dependent variable changes as an independent variable changes in the first data set and a second dependent variable changes as an independent variable changes in the second data set. The first data set representation can be associated with a first range (e.g., first range 2410) positioned vertically within the chart, and the second data set representation can be associated with a second range (e.g., first range 2412) positioned vertically within the chart.

[0307] In some examples, the first data set representation can be displayed in a chart that overlaps with the second data set representation. For example, data set representations 2402, 2404, 2406, and 2408 are shown as overlapping in interfaces 2400 and 2500. In some examples, the first data set representation and the second data set representation can be color-coded based on the type of data they represent.

[0308] In some examples, the first data set may include a first set of health data, and the second data set may include a second set of health data.In some examples, the dependent variable for the first data set may be measured in different units from the dependent variable for the second data set.

[0309] In some examples, a vertically positioned first range can be uniquely associated with a first data set representation, and a vertically positioned second range can be uniquely associated with a second data set representation. For example, first range 2410 is uniquely associated with data set representation 2402, and second range 2412 is uniquely associated with data set representation 2404 in interfaces 2400 and 2500.

[0310] In some examples, the vertical scale for displaying the first data set representation may be different from the vertical scale for displaying the second data set representation. In these examples, displaying the chart may include determining the vertical scale for the first data set representation based on the maximum and minimum values ​​of the first dependent variable of the first data set representation to be displayed in the chart. Displaying the chart may further include determining the vertical scale for the second data set representation based on the maximum and minimum values ​​of the second dependent variable of the second data set representation to be displayed in the chart. In some examples, the vertical scale for the first data set representation may be defined by a maximum vertical position and a minimum vertical position within the chart, the maximum vertical position corresponding to a first multiplication factor multiplied by the maximum value of the first dependent variable of the first data set representation to be displayed in the chart, and the minimum vertical position corresponding to a second multiplication factor multiplied by the minimum value of the first dependent variable of the first data set representation to be displayed in the chart. In some examples, the vertical scale for the second data set representation may be defined by a maximum vertical position and a minimum vertical position within the chart, the maximum vertical position corresponding to a third multiplication factor multiplied by the maximum value of the second dependent variable of the second data set representation to be displayed in the chart, and the minimum vertical position corresponding to a fourth multiplication factor multiplied by the minimum value of the second dependent variable of the second data set representation to be displayed in the chart.

[0311] At block 2704, a user input may be detected at the location of the display. Detecting the user input may include detecting a touch or hover event by a finger or other device on a touch-sensitive display, a click of a mouse or other device, a touch or hover event on a touch pad, and the like.

[0312] At block 2706, a location of the user input may be determined. For example, a vertical and horizontal location (e.g., y and x axis coordinates) of the user input may be determined. In response to determining that the location of the user input on the display detected at block 2704 has a vertical location associated with a first range of vertical locations, an indication of a selection of the first data set representation may be displayed. Alternatively, in response to determining that the location of the user input on the display detected at block 2704 has a vertical location associated with a second range of vertical locations, an indication of a selection of the second data set representation may be displayed.

[0313] In some examples, displaying the indication of the selection may include displaying a marker overlaid on the selected data set representation at a horizontal position corresponding to the horizontal position of the location of the user input. For example, a circular marker may be displayed in response to detecting the user input at position 2418 in interface 2400. Fig.25 In some examples, displaying an indication of the selection may further include displaying a numerical value of a data entry of the data set represented by the selected data set representation. The data entry may be associated with a value of a dependent variable positioned horizontally corresponding to the location of the detected user input. For example, a numerical value of 480 kcal may be displayed in response to receiving the user input at location 2418.

[0314] In some examples, the first data set and the second data set may include blood pressure data. In these examples, the displayed values ​​of the data entries may include a high value for diastolic pressure, a low value for diastolic pressure, a high value for systolic pressure, and a low value for systolic pressure. In some examples, the dependent variable represented by the first data set or the second data set may include an average of the blood pressure values.

[0315] In other examples, the first data set or the second data set may include heart rate data. In these examples, the displayed values ​​of the data entry may include a high value for heart rate and a low value for heart rate.

[0316] In some examples, the first data set representation can include a first line in a chart. In these examples, displaying an indication that the first data set representation has been selected can include highlighting an area below the first line. For example, the area below the line of the selected data set representation can be dimmed, illuminated, displayed in a different color, or otherwise highlighted relative to other portions of the chart to change the line chart to an area chart of the selected data set. In some examples, currently unselected data set representations can be removed from display, grayed out, or otherwise made less visible within the chart.

[0317] In some examples, a first range of vertical positioning within the chart can be extended based on a length of time of user input detected while the vertical positioning of the location of the user input is within the first range of vertical positioning. In other examples, a second range of vertical positioning within the chart can be extended based on a length of time of user input detected while the vertical positioning of the location of the user input is within the second range of vertical positioning.

[0318] At block 2708, a detailed view input may be detected at the electronic device. In some examples, detecting the detailed view input may include detecting a change in the orientation of the electronic device while the chart is displayed. For example, detecting the detailed view input may include detecting a change in the orientation of the electronic device from a landscape view (e.g., in Figure 24 to Figure 26 ) to a portrait view (e.g., Figure 22 to Figure 23 ). In other examples, the detailed view input may include other types of input.

[0319] At block 2710, in response to detecting a detail view input, a detail view of the first data set and the second data set can be displayed. For example, a detail view similar or identical to those shown in interfaces 2200 and 2300 can be displayed. The detail view can include a first partition associated with the first data set (e.g., partition 2202) and a second partition associated with the second data set (e.g., partition 2204).

[0320] In some examples, the first partition may include a first chart representation of the first data set (e.g., chart 2208), and the second partition may include a second chart representation of the second data set (e.g., chart 2208). In some examples, unlike the first and second data set representations of the chart view, the first chart representation may not overlap with the second chart representation in the detailed view.

[0321] In some examples, the first partition can be displayed in a color that matches the color of the first data set representation, and the second partition can be displayed in a color that matches the color of the second data set representation. For example, partition 2202 can be displayed in a color that matches the color of data set representation 2402, and partition 2204 can be displayed in a color that matches the color of data set representation 2404.

[0322] In some examples, process 2700 may also include detecting a request to scroll the detailed view, and in response to detecting the request to scroll the detailed view, scrolling the detailed view. For example, the detailed view shown in interface 2200 may be scrolled in an upward direction to display interface 2300 containing other partitions that were not previously displayed.

[0323] In some examples, process 2700 may also include detecting a request to reorder the first partition and the second partition, and in response to detecting the request to reorder the first partition and the second partition, reordering the first partition and the second partition in the detailed view. In some examples, detecting the request to reorder may include detecting a selection of one of the partitions for greater than a threshold time length. After detecting the selection for the threshold time length, user device 610 may animate the partition in a manner indicating that the partition may be reordered. The partition may be displayed as being reordered in response to detecting that the selected partition is dragged to a new position within the detailed view.

[0324] In some examples, the process may also include detecting a chart view input at the electronic device, and in response to detecting the chart view input, displaying a chart including a first data set representation of the first data set and a second data set representation of the second data set. In some examples, detecting the chart view input may include detecting a change in the orientation of the electronic device. For example, interface 2400 may be displayed in response to detecting a change in the orientation of the electronic device from a portrait view to a landscape view.

[0325] It should be understood that the Fig. 27 The specific order of operations in is merely exemplary and is not intended to indicate that the described order is the only order in which the operations may be performed. One of ordinary skill will recognize various ways to reorder the operations described herein. Additionally, it should be noted that the details of other processes described herein with respect to other processes described herein (e.g., process 900, 1600, 1800, 2100, 2700, 3800, or 4500) may also be applied in a similar manner to the above description of the operations described herein. Fig. 27 The process described is 2700. For the sake of brevity, these details are not repeated here.

[0326] Granular input and output of health data

[0327] Fig.28An example interface 2800 is illustrated, which can be displayed by the user device 610 to display the user's health or non-health data. Interface 2800 may include a list 2802 of categories of health or non-health data. These categories may include one or more subcategories of health or non-health data. These subcategories may also include any number of additional subcategories. For example, the category "physical fitness" may include subcategories of "body mass index", "body fat percentage", "height", "body mass", "lean body mass", "number of steps", "distance", "calories burned", "active hours" and "number of steps of stairs". The category "vital signs" may include subcategories of "heart rate", "systolic blood pressure", "diastolic blood pressure", "oxygen saturation", "respiratory rate" and "body temperature". The category "experimental results" may include subcategories of "blood sugar" and "blood alcohol content". The category "Nutrition" may include subcategories "Total Fat", "Polyunsaturated Fat", "Monounsaturated Fat", "Saturated Fat", "Cholesterol", "Sodium", "Potassium", "Carbohydrates from Sugars", "Dietary Fiber", "Carbohydrates", "Dietary Calories", "Calories from Fat", "Protein", "Vitamin A", "Vitamin B6", "Vitamin B12", "Vitamin C", "Vitamin D", "Vitamin E", "Vitamin K", "Calcium", "Ions", "Thiamine", "Riboflavin", "Niacin", "Folic Acid", "Biotin", "Pantothenic Acid", "Phosphorus", "Iodine", "Magnesium", "Zinc", "Selenium", "Copper", "Manganese", "Chromium", "Molybdenum", and "Chloride". The category "Diagnosis" may include subcategories "Number of Time Drops", "Galvanic Skin Response", and "Body Heat Flux". The category "Medications" may include subcategories "Inhaler Use". The category "Sleep" may include subcategories "Number of Hours Sleeped". The category "Me" may include subcategories "Name", "Birthday", "Gender", "Blood Type". It should be appreciated that the above list is provided only as an example, and additional or fewer categories may be included within interface 2800. Additionally, it should be appreciated that the categories of interface 2800 may include additional or fewer subcategories.

[0328] In some examples, each item in list 2802 may include an indicator 2804 that may be color-coded based on the type of health or non-health data associated with the item in list 2802. For example, an indicator 2804 associated with "fitness" may have a different color than an indicator 2804 associated with "vital signs." In some examples, the items in list 2802 may also include a selectable option 2806 that may be used to expand the associated category.

[0329] For example, Fig.29An interface 2900 is illustrated, which may be displayed in response to a selection of option 2806 associated with "physical fitness". As shown, the interface 2900 may include a list 2902 of subcategories falling into the broader category "physical fitness" selected in the interface 2800. The list 2902 of subcategories may be displayed in place of the previously displayed list 2802. Similar to the list 2802, the items in the list 2902 may include an indicator 2904 that may be color-coded based on the type of health or non-health data associated with the items in the list 2902. In this example, since all subcategories displayed within the list 2902 fall into the same category or type of health or non-health data, the indicator 2904 associated with each item may be the same color. In some examples, the color of the indicator 2904 associated with the items in the list 2902 may be the same color as the indicator 2804 associated with "physical fitness". In other examples, the color of the indicator 2904 associated with an item in the list 2902 may be a different color than the indicator 2804 associated with “Physical Fitness.” For example, the indicator 2904 may be light green, while the indicator 2804 associated with “Physical Fitness” may be dark green.

[0330] Reference back Fig.28 , interface 2800 (and interface 2900) may further include a search box 2808 for performing a keyword search within the categories listed in list 2802. For example, Fig.30Interface 3000 is illustrated, which can be displayed in response to a user entering a search query "calories" in search box 2808. As shown, interface 3000 can include a list 3002 of subcategories that match the search query "calories". The subcategories can be subcategories of any category of list 2802. For "burned calories", "diet calories" can be a subcategory of "nutrition", and "calories from fat" can be a subcategory of "nutrition". Interface 3000 can further include indicators 3004 associated with items in list 3002. Similar to indicators 2804 and 2904, indicator 3004 can be color-coded based on the type of health or non-health data associated with the items in list 3002. In this example, the indicator 3004 of "diet calories" can be the same color as the indicator 3004 of "calories from fat" because they both fall into the broader category "nutrition". In some examples, the color of the "diet calories" and "calories from fat" indicators 3004 can be the same color as the indicator 2804 for "nutrition". In other examples, the color of the "diet calories" and "calories from fat" indicators 3004 can be different shades from the indicator 2804 for "nutrition". The indicator 3004 for "calories burned" can be different from the color of the "diet calories" and "calories from fat" indicators 3004 because "calories burned" falls into a different category (e.g., "physical fitness"). In some examples, the color of the indicator 3004 for "calories burned" can be the same color as the indicator 2804 for "physical fitness". In other examples, the color of the indicator 3004 for "calories burned" can be a color of different shades from the indicator 2804 for "physical fitness".

[0331] In some examples, any of the subcategories shown in interfaces 2900 and 3000 can be selected to display a detailed view of the subcategory. For example, Fig.31 An example interface 3100 is illustrated, which may be displayed in response to selecting "Calories Burned" from either interface 2900 or 3000. As shown, interface 3100 may include a textual indication of the type of health or non-health data being displayed in the detailed view. For example, interface 3100 includes the text "Calories Burned" to indicate that the information displayed within interface 3100 represents information associated with calories burned.

[0332] In some examples, interface 3100 may further include a daily value 3104 of 1250 kcal and a graphical representation 3102 showing the number of calories burned over time throughout the day. Interface 3100 may further include a "show all data" option 3106, which may be used to display all data falling into the subcategory "calories burned." For example, Fig.33 An example interface 3300 is illustrated, which can be displayed in response to a selection of option 3106 in interface 3100. As shown, interface 3300 can include a list 3302 of all data entries representing calories burned (e.g., stored in health database 611). As shown, the data entries in list 3302 can include the numerical value of the data entry and the associated date (and can also include time) for which the corresponding data entry is recorded. For example, the first data entry in list 3302 can include the number 860 associated with the date 3 / 1 / 2014, thereby indicating that 860 calories were burned on 3 / 1 / 2014. The data entry in list 3302 can further include an indicator 3304. Indicator 3304 can include a graphic, text, or other image representing the source of the data entry. For example, if the first data entry is obtained from wearable electronic device 1, the indicator 3304 associated with the data entry can include an image of the logo of the company that manufactured device 1 or some other image associated with device 1. Similarly, if the second data entry in list 3302 is obtained from software application App 1, the indicator 3304 associated with the second data entry may include an image associated with a logo of a company that created App 1 or some other image associated with App 1.

[0333] Although shown with respect to calories burned, it should be appreciated that a list of data entries associated with any type of sub-category of health or non-health data may be displayed in a similar manner.

[0334] Reference Fig.31 , interface 3100 may further include an "add data point" option 3108, which may be used to display an interface for manually entering data entries within the "calories burned" subcategory. For example, Fig.34An example interface 3400 is illustrated, which may be displayed in response to a selection of option 3108 in interface 3100. As shown, interface 3400 may include fields 3402, 3404, and 3406 for entering a date, time, and number of calories burned, respectively, for a data entry for a conditioning input. Interface 3400 may further include a numerical input pad 3408 for filling in fields 3402, 3404, and 3406. Interface 3400 may further include an "add" button 3410, which may be selected to add the information contained in interface 3400 as a data entry within the calories burned subcategory (e.g., stored in health database 611). Interface 3400 may further include a "cancel" button 3412 for canceling the entry of a data entry.

[0335] Reference Fig.31 , interface 3100 (and interface 3200) may further include a “show on dashboard” option 3112 having option 3120 for selectively causing an associated subcategory of data (e.g., calories burned) to be displayed in the detailed views of interfaces 2200 and 2300. When the switch of option 3120 is placed in the on position, the associated subcategory of data may be included in the detailed views of interfaces 2200 and 2300. However, when the switch of option 3120 is placed in the off position, the associated subcategory of data may not be included in the detailed views of interfaces 2200 and 2300.

[0336] like Fig.31 As shown in , interface 3100 may further include graph 3114. Graph 3114 may include any image or other graphical representation of health or non-health data displayed in interface 3100. For example, graph 3114 may include a balance showing the relative values ​​of calories consumed and calories expended by the user. However, it should be appreciated that any other graph or image may be shown.

[0337] In some examples, the detailed view of the subcategory may further include additional information that is not shown in interface 3100. In these examples, the user may initiate a scroll request by swiping up or down on the touch-sensitive display, by clicking or dragging on the display using a mouse or other input device, by operating a scroll wheel, by performing a swipe gesture on a touch pad, etc. In response to detecting the scroll request, user device 610 may scroll the view of interface 3100 to display information that was not previously displayed (or was partially shown).

[0338] For example, Fig.32An example interface 3200 is illustrated, which can be displayed in response to a user initiating a scroll request to scroll the view of the interface 3100 in an upward direction. In the interface 3200, the graphic 3114 and the options 3106, 3108, 3110, and 3112 can still be displayed, but can be positioned near the top of the display. The interface 3200 can further include a text description 3122 below the graphic 3114. The text description 3122 can include text that describes what health or non-health data the data shown in the interface 3200 represents. For example, the text description 3122 can provide an explanation of what "calories burned" means, such as how it is calculated, what the daily average is for a typical individual, how to increase the amount of miles burned, etc.

[0339] Reference Fig.31 , the interface 3100 may further include a “share data” option 3100 with an option 3116 for turning data sharing on or off. Data sharing may represent the ability for other devices or applications to access the user's health or non-health data (e.g., stored in the health database 611). For example, Fig.35 An example interface 3500 is illustrated, which may be displayed in response to selection of option 3110 in interface 3100. As shown, interface 3500 may include a share option 3502 with a selectable option 3512. The position of the switch of option 3512 may be used to turn data sharing on or off. For example, when moved to the right, as shown in FIG. Fig.35 As shown in , the switch of option 3512 can turn on the sharing option 3502. However, when moved to the left, the switch of option 3512 can turn off the sharing option 3502.

[0340] Interface 3500 may further include a list 3504 of known possible destinations for health or non-health data. This list may include known devices or software applications that can potentially receive health or non-health data of the user (e.g., stored in health database 611). When option 3512 of sharing option 3502 is moved to the off position, data sharing for all listed devices and applications is turned off. In this way, selectable options 3514, 3516, and 3518 can be removed from interface 3500 or otherwise deactivated. When option 3512 of sharing option 3502 is moved to the on position, selectable options 3514, 3516, and 3518 associated with the destination in list 3504 may be displayed or made selectable. Similar to option 3512, the position of the switch of options 3514, 3516, and 3518 can be changed to turn on or off data sharing for the associated destination. For example, option 3514 for device 1 is in the off position, which indicates that data sharing is not turned on for device 1. However, options 3516 and 3518 are in the on position, which indicates that data sharing is turned on for App 1 and App 2. When data sharing is turned on, the associated device or application can access the user's health or non-health data (e.g., stored in the health database 611). For example, App 1, which may represent a weight tracking application, can access the user's physical fitness and nutritional data to track the user's calorie intake and expenditure. When data sharing is turned off, the associated device or application may be blocked from accessing the user's health or non-health data (e.g., stored in the health database 611). For example, device 1 may not be able to access data stored in the health database 611.

[0341] Interface 3500 may further include a source list 3506 containing a list of known devices and applications that can potentially provide health or non-health data (e.g., stored in health database 611). The devices and applications in source list 3506 can be arranged in order based on their priority. For example, as shown, device 1 has a priority over device 2, and device 2 has a priority over application 3. These relative priorities can be used to de-duplicate health or non-health data generated by two or more sources. For example, if device 1 represents a fitness tracking watch and device 2 represents a mobile phone, it is possible that both devices can provide step data associated with the user. Therefore, by giving priority to different sources, data from a higher-level source can be used to replace data from a lower-level source, or take precedence over data from a lower-level source. This can be advantageous when one device is more likely to produce more accurate results than another device. In some examples, duplicate data entries can be detected by identifying metadata indicating that they are of the same type (e.g., step data, calories burned, etc.) and two or more data entries with associated timestamps within a threshold time length from each other.

[0342] In some examples, interface 3500 may further include edit option 3508 for changing the order of sources in source list 3506. For example, in response to selection of option 3508, each item in source list 3506 may be moved relative to each other (e.g., by clicking and dragging, etc.). The new order of sources within source list 3506 may define a new priority between the sources.

[0343] In some examples, the "Sources" option of source list 3506 can be selected to display a more detailed view of the source. For example, Fig.36 An example interface 3600 is illustrated, which may be displayed in response to a selection of the "Source" option of the source list 3506. As shown, the interface 3600 may include a source list 3606 similar to the source list 3506. However, the source list 3606 may further include sources App2 and App1, which are not displayed within the interface 3500 because they cannot fit within the display. The interface 3600 may further include a numerical indicator associated with a source (e.g., device 1) indicating the number of new types of health or non-health data that the associated source can provide. For example, since the last time the user viewed the interface 3600, device 1 is now able to provide two new types of data (e.g., calories burned and number of stairs climbed). The interface 3600 may further include options 3610 associated with the sources in the source list 3606 to provide more detailed control over the types of data that each source can provide.

[0344] For example, Fig.37 An example interface 3700 is illustrated, which may be displayed in response to selection of option 3610 in interface 3600 associated with device 1 or option 3510 in interface 3500. As shown, interface 3700 may include an upload option 3702 with a selectable option 3704. The position of the switch of option 3704 may be used to turn on or off uploading data from the device or application (e.g., stored in health database 611). For example, when moved to the right, as in Fig.37 As shown in , the switch of option 3704 can turn on data uploading of device 1. However, when moved to the left, the switch of option 3704 can turn off data uploading of device 1.

[0345] Interface 3700 may further include a list 3706 of data types that may be provided by device 1. When option 3512 of share option 3704 is moved to the off position, data upload for all listed types of data may be turned off. Thus, selectable options 3708, 3710, 3712, and 3714 may be removed from interface 3700 or otherwise deactivated. When option 3704 of upload data option 3702 is moved to the on position, selectable options 3708, 3710, 3712, and 3714 associated with list 3706 of data types may be displayed or made selectable. Similar to option 3704, the position of the switches of options 3708, 3710, 3712, and 3714 may be changed to turn on or off data upload for associated data types. For example, option 3708 for blood pressure is in the off position, indicating that data upload is not turned on for blood pressure data from device 1. However, options 3710, 3712, and 3714 are in the on position, indicating that data upload is turned on for calories, steps, and stairs climbed data. When data upload is turned on, the associated data type can be provided by a device or application to be stored by the user device 610 (e.g., in the health database 611). For example, calories generated by device 1 can be received by the user device 610 from device 1 and stored in the health database 611. When data upload is turned off, the associated data type may not be provided by a device or application to be stored by the user device 610 (e.g., in the health database 611). For example, blood pressure data generated by device 1 may not be received by the user device 610 from device 1 and stored in the health database 611. The options of interface 3700 advantageously allow the user to specifically define what data types can be provided by a particular device or application.

[0346] Despite Figure 30 to Figure 34 The example shown in is for calories burned, but it should be appreciated that a similar interface may also be displayed for other types of health or non-health data.

[0347] Fig.38A An example process 3800 for managing and displaying health or non-health data according to various examples is illustrated. Process 3800 can be performed at an electronic device (e.g., device 610) having a display. In some examples, the display can include a touch-sensitive display. In other examples, the display can be separate from the touch-sensitive surface. Some blocks of process 2800 can be combined and / or the order of some blocks can be changed.

[0348] As described below, process 3800 provides an intuitive way to manage the sources and destinations of data stored in health database 611. The process allows a user to specify which devices and applications can access data in health database 611, as well as specifying devices and applications that can be sources of data to be stored in health database 611. Additionally, for sources, a user can specify what types of data those sources can provide, and which sources take precedence over other sources. This can be advantageous when one device is more likely to produce more accurate results than another device.

[0349] At box 3802, information identifying multiple approved sources of health data can be received from a user by a user device (e.g., user device 610). In some examples, the information identifying the multiple approved sources can identify one or more types of health or non-health data that are approved to be received from the multiple approved sources and stored in a health database (e.g., health database 611). For example, the information identifying the multiple approved sources can be received via an interface similar to or the same as interfaces 3500, 3600, and 3700. In these examples, the user can specify which types of data can be provided by each of the multiple approved sources to be stored in the health database.

[0350] At block 3804, information identifying a plurality of approved destinations for health or non-health data may be received from a user by a user device (e.g., user device 610). For example, the information identifying a plurality of approved destinations may be received via an interface similar to or the same as interface 3500. In these embodiments, the user may specify which destinations are approved to access data from the health database.

[0351] In some examples, the plurality of approved sources may include electronic devices or software applications. For example, an approved electronic device such as a watch, mobile phone, etc. may provide health or non-health data to a user device 610 to be stored in a health database 611. Similarly, an approved software application on or otherwise associated with a user device 610 may provide health or non-health data to the user device 610 to be stored in a health database 611. In some examples, the approved software application may be a software application associated with an electronic device and capable of communicating with the electronic device.

[0352] Similarly, in some examples, the plurality of approved destinations may include electronic devices or software applications. For example, an approved electronic device such as a watch, mobile phone, etc. may access health or non-health data stored in health database 611. Similarly, an approved software application on or otherwise associated with user device 610 may access health or non-health data stored in health database 611. In some examples, the approved software application may be a software application associated with an electronic device and capable of communicating with the electronic device.

[0353] In some examples, multiple approved sources can be ranked relative to each other. In some examples, an interface similar or identical to interface 3500 can be used to display and adjust the relative ranking of approved sources. For example, as shown in interface 3500, device 1 can be ranked higher than device 2 so that data from device 1 takes precedence over data from device 2, and device 2 can be ranked higher than application 3 so that data from device 1 and device 2 takes precedence over data from application 3.

[0354] In some examples, process 3800 may further include, at block 3806, identifying a first health data entry and a second health data entry that are duplicate entries of each other. In some examples, this may include identifying, in the health database, a first health data entry received from a first approved source of a plurality of approved sources, the first health data entry including a first health data type and a first timestamp, and including, in the health database, identifying a second health data entry received from a second approved source of a plurality of approved sources, the second health data entry including a second health data type and a second timestamp, wherein the first health data type and the second health data type are the same, and wherein the first timestamp is within a threshold time length from the second timestamp. For example, the first data entry may have a type of "step data" and an associated timestamp of "March 1, 2014, 2:30 p.m.". The second data entry may have a type of "step data" and an associated timestamp of "March 1, 2014, 2:31 p.m.". If the threshold time length used at block 3806 is 5 minutes, it may be determined that the first data entry and the second data entry are of the same data type and include timestamps within a threshold time length of each other. This may indicate that the first data entry and the second data entry are likely duplicate entries representing the same action performed by the user.

[0355] At box 3808, based on the ranking of multiple sources, one of the first data entry and the second data entry can be prioritized or otherwise identified as preferred over the other. For example, as discussed above, multiple approved sources can be ranked relative to each other (e.g., as shown in interface 3500). In some examples, if the first approved source providing the first data entry is identified by the user as preferred over the second approved source, box 3808 can include using the first health data entry instead of using the second health data entry. For example, this can include deleting the second data entry from the health database 611, or otherwise ignoring the second data entry for the purpose of being displayed or presented to the user. In other examples, if the user has identified the first approved source as preferred over the second approved source, box 3806 can include prioritizing the first health data entry over the second health data entry. A data entry that is prioritized over another data entry can be used to replace the other (e.g., for the other data entry to be displayed, used in calculations, etc.).

[0356] In other examples, if the user has identified the second approved source as preferred over the first approved source, block 3806 may include prioritizing the second health data entry over the first health data entry. The data entry that is prioritized over another data entry may be used to replace the other data entry (e.g., displayed for the other data entry, used in a calculation, etc.).

[0357] In some examples, such as in Fig.38B As shown in , process 3800 may further include, at block 3810, displaying, by the electronic device, multiple categories of health data stored in the health database on a display. For example, an interface similar to or the same as interface 2800 may be displayed. The interface may include any number or type of categories of health or non-health data.

[0358] At box 3812, a selection of a category of health data from a plurality of categories of health data displayed can be detected at the electronic device. For example, a selection of one of the categories displayed in an interface similar to or identical to interface 2800 can be detected via a touch event of a finger or other device on a touch-sensitive display, a click of a mouse or other device, a touch event on a touchpad, and the like. In some examples, each of the plurality of categories displayed may include an indicator (e.g., indicator 2804), which may be color-coded based on the type of health or non-health data of the category. For example, an indicator associated with "physical fitness" may have a different color than an indicator associated with "vital signs."

[0359] At block 3814, in response to detecting selection of a category of health data, one or more subcategories of the category of health data may be displayed. For example, an interface similar or identical to interface 2900 may be displayed that includes a list of subcategories that fall within the category selected at block 3812. In some examples, the displayed interface may include an indicator that may be color-coded based on the type of health or non-health data it represents.

[0360] At block 3816, selection of a subcategory from the displayed one or more subcategories can be detected. For example, selection of one of the subcategories displayed in an interface similar to or the same as interface 2900 can be detected via a touch event of a finger or other device on a touch-sensitive display, a click of a mouse or other device, a touch event on a touch pad, etc.

[0361] At box 3818, in response to detecting the selection of a subcategory at box 3816, a detailed view of the selected subcategory can be displayed. For example, an interface similar to or identical to interface 3200 can be displayed. The detailed view of the subcategory can include a graphical representation of the subcategory of data (e.g., chart 3102) and daily values ​​of numerical values ​​(e.g., daily values ​​3104). The detailed view can further include an option to show all data (e.g., option 3106), an option to add data points (e.g., option 3108), an option to share data (e.g., option 3110), and an option to show on a dashboard (e.g., option 3112). The detailed view can further include a graphical representation of the subcategory (e.g., graph 3114) and a text description of the subcategory (e.g., description 3122).

[0362] In some examples, process 3800 may include, in response to selection of an add data point option (e.g., option 3108), displaying an interface similar or identical to interface 3400. The interface may include one or more input fields (e.g., fields 3402, 3404, and 3406) for entering information associated with a health data entry. In some examples, process 3800 may further include receiving a health data entry to be stored in a health database, the health data entry being an input into an input field (e.g., an input into fields 3402, 3404, and 3406).

[0363] In some examples, process 3800 can further include, in response to selection of a show all data option (e.g., option 3106), displaying an interface similar or identical to interface 3300. The interface can include a plurality of health data entries corresponding to subcategories stored in the health database (e.g., entries in list 3302). In some examples, each of the plurality of health data entries can include a value of the data entry, a timestamp, and an identification of a source of the data entry (e.g., indicator 3304).

[0364] In some examples, process 3800 can further include, in response to a selection of a share data option (e.g., option 3110), displaying a data sharing interface similar or identical to interface 3500. The interface can include a plurality of approved sources (e.g., source list 3506) and a plurality of approved destinations (e.g., list 3504). In some examples, the electronic device can detect a request to reorder the plurality of approved sources to be displayed. For example, a selection of edit button 3508 can be received, and movement of one or more of the sources in source list 3506 can be detected. In response to detecting a request to reorder the plurality of approved sources to be displayed, the plurality of approved sources to be displayed can be reordered according to the detected request to reorder the plurality of approved sources to be displayed.

[0365] In some examples, the data sharing interface (eg, interface 3500 ) may further include options (eg, options 3512 , 3514 , 3516 , and 3518 ) to add and remove approved destinations to and from the plurality of approved destinations.

[0366] In some examples, process 3800 may further include receiving a search query at an electronic device. In response, one or more subcategories of a plurality of categories that match the search query may be displayed. The one or more subcategories displayed that match the search query may be color-coded based on their respective categories. For example, a search query may be received from a search box (e.g., search box 2808) displayed in an interface similar or identical to interface 2800 or 2900. In response to the search query, a search result interface similar or identical to interface 3000 may be displayed. The search result interface may include one or more subcategories that match the search query.

[0367] In some examples, process 3800 may further include displaying on the display a source interface that includes a list of known sources. For example, an interface with a list of known sources (e.g., list 3606) similar to or identical to interface 3600 may be displayed. The source interface may further include a numerical indicator associated with one of the known sources that represents the number of new types of health data that may be provided by the known source. For example, the number "2" is shown for device 1, indicating that two new types of data (e.g., calories burned and stairs climbed) are available.

[0368] In some examples, process 3800 may further include detecting a selection of a known source from a list of displayed sources. In response to detecting a selection of a known source, a list of types of health data that a known source can provide may be displayed. For example, by a user selecting option 3610 associated with a source, a source may be received from source list 3606 of interface 3600. In response, an interface similar to or identical to interface 3700 may be displayed. The displayed interface may include a list of known types of data that the source can provide (e.g., list 3706). In some examples, for each type of health data that a known source can provide, the list of types of health data that a known source can provide may include selectable options (e.g., options 3704, 3708, 3710, 3712, and 3714) to approve or reject the associated type of health data.

[0369] In some examples, process 3800 may further include detecting, at the electronic device, a selection of a selectable option for a type of health data that a known source can provide. In response to detecting the selection of the selectable option, process 3800 may further include approving or rejecting the type of health data that a known source can provide based on the detected selection of the selectable option. For example, based on the position of the switches of options 3704, 3708, 3710, 3712, and 3714, user device 610 may accept or reject the type of health data shown in interface 3700.

[0370] It should be understood that the described Fig.38A and Fig.38B The specific order of operations in is merely illustrative and is not intended to indicate that the described order is the only order in which the operations can be performed. Persons of ordinary skill in the art will recognize various ways to reorder the operations described herein. Additionally, it should be noted that for other processes described herein (e.g., process 800, 1500, 1700, 2000, 2700, or 4400), the details of the other processes described herein can also be utilized in an analogous manner to the above-described process for Fig.38A and Fig.38B 3800. For the sake of brevity, these details are not repeated here.

[0371] Medical identification information

[0372] Fig.39 An example lock screen interface 3900 is illustrated, which can be displayed by the user device 610 when the user device is in a locked state. In some examples, the locked state can represent a state in which the user device 610 restricts the execution of one or more functions. For example, the user device 610 can prevent the user from running applications, changing settings, etc. when in a locked state. In other examples, the locked state can represent a state in which the user device 610 additionally or alternatively blocks access to at least a subset of the data stored on the device. For example, the user device 610 can prevent the user from viewing photos or videos, accessing documents, etc. when in a locked state. In other examples, the locked state can represent a state in which the user device 610 additionally or alternatively restricts communications from the electronic device. For example, the user device 610 can prevent the user from sending SMS messages or emails, or calling non-emergency phone numbers.

[0373] As in Fig.39As shown in , the lock screen interface 3900 may include the current date and time. The lock screen interface 3900 may further respond to user input to allow the user to unlock the device. For example, the swipe gesture may cause the user device 610 to display a numeric input pad to allow the user to enter a password to unlock the device. The lock screen interface 3900 may further include an emergency option 3902 for accessing emergency features of the user device 610. For example, Fig.40 An exemplary emergency dialing interface 4000 is illustrated, which can be displayed in response to the selection of the emergency option 3902. As shown, the emergency dialing interface 4000 may include a numerical input board 4004, which is used to allow a temporary user to enter an emergency phone number for dialing when the device is in a locked state. In some examples, if the number entered is a predefined phone number (e.g., 9-1-1), the user device 610 can call the number entered using the input board 4004. In some examples, when the main user of the device is unable to operate the user device 610 (e.g., due to the main user being unconscious or injured), the temporary user can be a first responder or other person who meets the main user of the device. Therefore, the emergency dialing interface 4000 allows the temporary user to call a predetermined emergency phone number without the temporary user unlocking the user device 610.

[0374] Interface 4000 may further include a medical ID or emergency information option 4002 for viewing medical information associated with the user by the temporary user. In this example, the user may be a primary user or owner of user device 610, who has customized the device by installing applications and / or entering personal information to user device 610. Therefore, medical ID or emergency information option 4002 may be selected by the temporary user to view emergency information associated with the primary user without requiring the temporary user to unlock user device 610.

[0375] For example, Fig.41 An exemplary emergency information interface 4100 is illustrated, which may be displayed in response to selection of a medical ID or emergency information option 4002 in interface 4000. As shown, interface 4100 may include user information 4102 including the user's name and date of birth. Interface 4100 may further include free-form fields 4104, which may be used to store and display descriptions of any medical conditions the user may have. Interface 4100 may further include free-form fields 4106, which may be used to store and display any other relevant medical records about the user. Interface 4100 may further include free-form fields 4108, which may be used to store and display descriptions of any allergies or reactions the user may have to medications or any other substances. Interface 4100 may further include free-form fields 4110, which may be used to store and display descriptions of any medications the user may be taking or that the user may need.

[0376] Interface 4100 may further include emergency contacts 4112. Emergency contacts 4112 may include a list of one or more people that the user has designated as his / her emergency contacts. Emergency contacts 4112 may include the name of each emergency contact and the relationship between the user and the emergency contact. For example, an entry for an emergency contact may include the name "Jane Smith" which has a relationship "mother" with the user. In some examples, emergency contacts 4112 may further include contact information of the emergency contact, such as a phone number, an email address, etc. In other examples, emergency contacts 4112 may not include contact information of the emergency contact, such as a phone number, an email address, etc. This may be done to protect the privacy of the emergency contact. In either example, when user device 610 remains in a locked state, user device 610 may allow a temporary user to select one of the displayed emergency contacts to initiate communication with the contact (even if the emergency contact's phone number is not displayed). For example, when the device remains in a locked state, in response to a selection of one of the emergency contacts, user device 610 may initiate a phone call to the contact, send an SMS message to the contact, send an email to the emergency contact, etc. In some examples, when the user device 610 initiates a call to the emergency contact in response to the selection of the emergency contact, the user device 610 may identify the call as an emergency call. In some examples, the emergency call may be accepted by the receiving device in any operating state. For example, when in a do not disturb mode, a silent mode, etc., a call identified as an emergency call may cause the receiving device to ring. Additionally, an indicator may be displayed on the receiving device notifying the recipient that the call is an emergency call.

[0377] In some examples, the primary user can create their medical identification from the contact list of the user device 610. For example, Fig.42 An example interface 4200 is illustrated that may be displayed to display a user's contact list. As shown, interface 4200 may include a "Create Medical ID" button 4202 for creating a medical identification. Fig.43 An example interface 4300 is illustrated that may be displayed in response to selection of button 4202. As shown, interface 4300 includes a text description 4302 that may provide information about the medical identification, such as the purpose of the medical identification, privacy settings for information contained in the medical identification, and the like.

[0378] Fig.44An example interface 4400 is illustrated, which is displayed in response to the user accepting or confirming the content of the description 4302 in the interface 4300. As shown, the interface 4400 may include user information 4402, which may correspond to the user information 4102 in the interface 4100. In some examples, this information may be automatically popped up by the user device 610 based on previously known information about the user. In some examples, the user may manually enter this information. The interface 4400 may further include free-form text fields 4404, 4406, 4408, and 4410, which may correspond to the fields 4104, 4106, 4108, and 4110 of the interface 4100. Therefore, the information entered in the fields 4404, 4406, 4408, and 4410 may be displayed in the fields 4104, 4106, 4108, and 4110 of the interface 4100. The interface 4400 may further include a contact 4412 to allow the user to enter one or more emergency contacts. In some examples, one or more emergency contacts may be selected from a user's contact list on user device 610. In other examples, one or more emergency contacts may be manually entered by the user. In still other examples, emergency contacts may be selected from a user's contact list on user device 610, and additional information (e.g., relationship information) may be manually added by the user. Interface 4400 may further include a "show medical ID" option 4414 with a selectable option 4416. The position of the switch for option 4416 may be used to turn on or off the display of the user's medical information when the device is in a locked state. For example, Fig.44 , when moved to the right, the switch of option 4416 may cause user device 610 to display option 4002 in emergency dialing interface 4000, and to display interface 4100 in response to selection of option 4002. However, when moved to the left, the switch of option 4416 may prevent user device 610 from displaying option 4002 in emergency dialing interface 4000, and may prevent user device 610 from displaying interface 4100 in response to selection of option 4002.

[0379] Fig.45 An exemplary process 4500 for displaying medical information on a locked device is illustrated. Process 4500 may be performed at an electronic device (e.g., device 610) having a display. In some examples, the display may include a touch-sensitive display. In other examples, the display may be separate from the touch-sensitive surface. Some blocks of process 4500 may be combined and / or the order of some blocks may be changed.

[0380] As described above, process 4500 provides a way for a temporary user to view medical information associated with a primary user or owner of an electronic device while the device remains in a locked state. Process 4500 also allows a temporary user to initiate a communication with an emergency contact of the primary user while the device remains in a locked state. This advantageously allows the temporary user to locate the primary user (e.g., in a situation where the primary user is unable to operate the electronic device or communicate) to assist the primary user in obtaining appropriate medical care.

[0381] At box 4502, when the electronic device is in a locked state, at the electronic device (e.g., user device 610), a request to display emergency information about the user of the device can be detected. For example, a request to display emergency information can be received while displaying an emergency dialing interface similar or identical to interface 4000, and the request can include a selection of an emergency information option similar or identical to option 4002. Emergency information about the user of the device can include the user's name, birthday, medical condition, allergies and reactions, medication, or one or more emergency contacts of the user. As discussed above, the user can be the primary user or owner of the user device 610, who has customized the device by installing applications and / or entering personal information to the user device 610. When the primary user of the device is unable to operate the user device 610 (e.g., due to the primary user being unconscious or injured), a request to display medical information can be made by a temporary user (such as a first responder or other person who encounters the primary user of the device).

[0382] At block 4504, in response to detecting the request, without unlocking the device, an emergency information interface including emergency information about the user of the device can be displayed. For example, an interface similar to or the same as interface 4100 can be displayed.

[0383] In some examples, emergency information about a user may include information associated with an emergency contact. Information associated with an emergency contact may include the name of the emergency contact and the relationship between the user and the emergency contact. For example, information about an emergency contact may be displayed in a manner similar to or the same as emergency contact 4112 in interface 4100. An example emergency contact may include the name of the contact "Jane Smith" and the relationship between the user and the contact "Mother".

[0384] At block 4506, user device 610 may detect a request to communicate with an emergency contact while the electronic device is in a locked state. For example, selection of contact 4112 from interface 4100 may be detected.

[0385] At box 4508, in response to detecting a request for communication, user device 610 can initiate communication with an emergency contact. In some examples, initiating communication with an emergency contact includes sending an SMS message or email to the emergency contact. In other examples, initiating communication with an emergency contact can include calling a phone number associated with the emergency contact. In some examples, calling a phone number associated with an emergency contact can include marking the call to the phone number as an emergency call. In some examples, the phone number associated with the emergency contact can be included in the information associated with the emergency contact displayed in the emergency information interface (e.g., interface 4100). In other examples, the phone number associated with the emergency contact may not be included in the information associated with the emergency contact displayed in the emergency information interface (e.g., interface 4100). However, calls or other communications can still be made to this emergency contact. This can be done to protect the privacy of the emergency contact.

[0386] In some examples, process 4500 may include displaying an emergency dialing interface before displaying the emergency information interface. The emergency dialing interface may include a numeric input pad and an emergency information option. For example, an emergency dialing interface similar to or identical to interface 4000 may be displayed before displaying emergency information interface 4100. Emergency dialing interface 4000 may include a numeric input pad similar to or identical to input pad 4004 and an emergency information option similar to or identical to option 4002. In some examples, in response to selection of an emergency information option (e.g., option 4002), an emergency information interface (e.g., interface 4100) may be displayed.

[0387] In some examples, process 4500 may further include detecting a predefined telephone number entered using a digital input pad while the electronic device is in a locked state. In response to detecting the predefined telephone number, process 4500 may further include calling the predefined telephone number. For example, user device 610 may detect a predefined telephone number (e.g., 9-1-1) entered in a digital input pad (e.g., input pad 4004). In response to detecting the predefined telephone number, user device 610 may call the predefined telephone number while still in a locked state. In some examples, calling the predefined telephone number may include marking the call to the predefined telephone number as an emergency call.

[0388] In some examples, a call marked as an emergency call may be accepted by a receiving electronic device in any operating state. For example, a call marked as an emergency call may cause the receiving device to ring when in a do not disturb mode, a silent mode, etc. Additionally, an indicator may be displayed on the receiving device notifying the recipient that the call is an emergency call.

[0389] In some examples, process 4500 may further include displaying a lock screen interface including an emergency option before displaying the emergency dialing interface. For example, an interface similar or identical to interface 3900 may be displayed as having an emergency option similar or identical to option 3902. The lock screen interface may further include one or more controls for unlocking the device. For example, a digital input board may be displayed to allow a user to enter a password, or the user device 610 may be configured to detect a predefined gesture to unlock the device. In these examples, process 4500 may further include detecting a selection of an emergency option, and displaying the emergency dialing interface in response to the detected selection of the emergency option. For example, in response to detecting a selection of option 3902, the user device 610 may detect the selection of option 3902 and display interface 4000.

[0390] It should be understood that the described Fig.45 The specific order of operations in the description is only exemplary and is not intended to indicate that the described order is the only order in which the operations can be performed. Those of ordinary skill in the art will recognize various ways to reorder the operations described herein.

[0391] In some examples, Figure 22 to Figure 23 , Figures 28 to 36 as well as Figure 41 to Figure 43 The interface shown in 2150 may include a menu bar 2150 for navigating between various interfaces. For example, in response to a selection of “Dashboard” in menu 2150, interface 2100 or 2200 may be displayed. In response to a selection of “My Health” in menu 2150, interface 2700 may be displayed. In response to a selection of “Medical ID” in menu 2150, interface 4400 may be displayed. In response to a selection of “Settings” in menu 2150, interface 3600 may be displayed.

[0392] One or more of the functions related to aggregating and sharing health data may be performed by Fig.464600. System 4600 may include instructions stored in a non-transient computer-readable storage medium (such as memory 4604 or storage device 4602) and executed by processor 4606. Instructions may also be stored and / or transmitted in any non-transient computer-readable storage medium used by or associated with an instruction execution system, device or equipment (such as a computer-based system, a system including a processer, or other system that can obtain instructions from an instruction execution system, device or equipment and execute instructions). In the context of this document, a "non-transient computer-readable storage medium" may be any medium that can contain or store a program used by or associated with an instruction execution system, device or equipment. Non-transitory computer-readable storage media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, apparatuses or devices, portable computer disks (magnetic), random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM) (magnetic), portable optical disks such as CD, CD-R, CD-RW, DVD, DVD-R or DVD-RW, or flash memory such as compact flash cards, secure digital cards, USB memory devices, memory sticks, etc.

[0393] Instructions may also be propagated in any transmission medium used by or in connection with an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processor), or other system that can obtain instructions from and execute instructions on the instruction execution system, apparatus, or device. In the context of this document, a "transmission medium" may be any medium that can convey, propagate, or transmit a program used by or in connection with an instruction execution system, apparatus, or device. Transmission media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, or infrared wired or wireless propagation media.

[0394] In some examples, system 4600 may be included in user device 610 or a user server. Processor 4606 may be configured to perform processes 800, 900, 1500, 1800, 2100, 2700, 3800, or 4500. It should be understood that the system is not comprised of Fig.46 The present invention is not limited to the components and configurations of the present invention, but may include other or additional components in multiple configurations according to various examples.

[0395] According to some examples, Fig.47 4700 is a functional block diagram of an electronic device 4700 configured according to various described examples. The functional blocks of the device can be implemented by hardware, software, or a combination of hardware and software to perform the principles of various described examples. It should be understood by those skilled in the art that Fig.47The functional blocks described in the present invention may be combined or separated to realize the principles of various described examples. Therefore, the description in this document optionally supports any possible combination or separation of the functional blocks described in this document.

[0396] like Fig.47 As shown in , the electronic device 4700 may include a display unit 4702 for displaying a user interface, and optionally, a sensor unit 4702 configured to receive touch input. The electronic device 4700 may further include a processing unit 4708 coupled to the optional sensor unit 4702 and the display unit 4704. In some examples, the processing unit 4708 may include one or more of the following: a display enabling unit 4710, a receiving unit 4712, and a generating unit 4714.

[0397] Processing unit 4708 can be configured to: enable display of an aggregate view of multiple types of health data (e.g., using display enabling unit 4710), wherein the aggregate view includes multiple partitions, each of the multiple partitions being associated with one of the multiple types of health data; receive (e.g., using receiving unit 4712) a selection of one of the multiple partitions; and enable display of an expanded view of the selected partition of the multiple partitions (e.g., using display enabling unit 4710).

[0398] In some embodiments, in an aggregate view, each of the multiple partitions includes an identifier of an associated type of health data and a first portion of the associated type of health data displayed therewith, and wherein the expanded view includes an enlarged view of a selected partition of the multiple partitions and a second portion of the associated type of health data displayed therewith.

[0399] In some embodiments, the first portion of the health data includes recent values ​​of the associated type of health data, and wherein the second portion of the associated type of health data includes a representation of the associated type of health data over time.

[0400] In some embodiments, the processing unit is configured to enable display of an expanded view of the selected partition by at least enabling display of a collapsed set of partitions representing partitions in the plurality of partitions that are not selected (eg, using the display enabling unit 4710).

[0401] In some embodiments, the plurality of partitions are ordered within the display based on a frequency of use of an associated type of health data, a time of most recently added value of an associated type of health data, or a time of day.

[0402] In some embodiments, the expanded view of the selected partition includes a selectable element to share the health data associated with the partition via email or text message.

[0403] In some embodiments, the multiple types of health data include weight data, blood sugar data, blood pressure data, activity data, or heart rate data.

[0404] In some embodiments, the electronic device further includes a plurality of sensor units coupled to the processing unit 4708 and the display unit 4704. The processing unit 4708 is further configured to generate (e.g., using the generating unit 4714) at least one of a plurality of types of health data from the sensor data obtained by the plurality of sensors.

[0405] In some embodiments, the expanded view includes a chart associated with the type of health data, and wherein the chart includes segments generated from the health data obtained by different sensors.

[0406] In some embodiments, one of the plurality of partitions is a user-generated partition.

[0407] In some embodiments, the multiple partitions have the appearance of multiple cards displayed in a stack.

[0408] By Figure 1A to Figure 1B or Fig.47 The components depicted in the above reference may optionally implement Fig.16 operations described. For example, display operations 1602 and 1606 and receiving operation 1604 may be implemented by event classifier 170, event identifier 180, and event handler 190. Event monitor 171 in event classifier 170 detects contact on touch-sensitive display 112, and event dispatcher module 174 delivers event information to application 136. The corresponding event identifier 180 of application 136 compares the event information with the corresponding event definition 186 and determines whether the first contact at the first position on the touch-sensitive surface corresponds to a predefined event or sub-event such as activation of functional visibility on a user interface. When a corresponding predefined event or sub-event is detected, event identifier 180 activates event handler 190 associated with the detection of the event or sub-event. Event handler 190 may utilize or call data updater 176 or object updater 177 to update application internal state 192. In some embodiments, event handler 190 accesses the corresponding GUI updater 178 to update the content displayed by the application. Similarly, based on Figure 1A to Figure 1B , it will be clear to a person skilled in the art how other processes can be implemented.

[0409] According to some examples, Fig.484800 is a functional block diagram of an electronic device configured according to the principles of the various described examples. The functional blocks of the device can be implemented by hardware, software, or a combination of hardware and software to perform the principles of the various described examples. It should be understood by those skilled in the art that the electronic device 4800 can be configured according to the principles of the various described examples. Fig.48 The functional blocks described in the present invention may be combined or separated to realize the principles of various described examples. Therefore, the description in this document optionally supports any possible combination or separation of the functional blocks described in this document.

[0410] like Fig.48 As shown in , the electronic device 4800 may include a display unit 4802 for displaying a user interface, and optionally, a gyroscope and / or accelerometer unit 4810. The electronic device 4800 may further include a processing unit 4804 coupled to the display unit 4802 and optionally, to the gyroscope and / or accelerometer unit 4810. In some examples, the processing unit 4804 may include one or more of the following: a display enabling unit 4806, a selection unit 4808, a detection unit 4812, and an identification unit 4814.

[0411] Processing unit 4804 can be configured to: enable display of multiple partitions (e.g., using display enabling unit 4806), wherein each of the multiple partitions is associated with a type of health data of multiple types of health data; in response to detecting a change in orientation of the device, select (e.g., using selection unit 4808) a subset of the multiple partitions; and enable display of the selected subset of the multiple partitions (e.g., using display enabling unit 4806).

[0412] In some embodiments, the electronic device further includes a gyroscope and / or accelerometer unit 4810 coupled to the processing unit 4804, and the processing unit 4804 is further configured to: detect (e.g., using a detection unit 4812) a change in the orientation of the device based on data from the gyroscope and / or accelerometer unit.

[0413] In some embodiments, the processing unit is further configured to detect (eg, using the detection unit 4812) a change in the orientation of the device by detecting at least a threshold amount of change in the orientation of the electronic device.

[0414] In some embodiments, each of the displayed subsets of the plurality of partitions includes a graphical representation of at least a portion of an associated type of health data displayed therewith.

[0415] In some embodiments, the processing unit is further configured to select (e.g., using selection unit 4808) a subset of multiple partitions by at least: identifying (e.g., using identification unit 4818) correlations between multiple types of health data; and selecting (e.g., using selection unit 4808) partitions associated with the related types of health data as a subset of multiple partitions.

[0416] By Figure 1A to Figure 1B or Fig.48 The components depicted in the above reference may optionally implement Fig.18 operations described. For example, display operations 1802 and 1808 and detection operation 1804 may be implemented by event classifier 170, event identifier 180, and event handler 190. Event monitor 171 in event classifier 170 detects contact on touch-sensitive display 112, and event dispatcher module 174 delivers event information to application 136. The corresponding event identifier 180 of application 136 compares the event information with the corresponding event definition 186 and determines whether the first contact at the first position on the touch-sensitive surface corresponds to a predefined event or sub-event such as activation of functional visibility on a user interface. When a corresponding predefined event or sub-event is detected, event identifier 180 activates event handler 190 associated with the detection of the event or sub-event. Event handler 190 may utilize or call data updater 176 or object updater 177 to update application internal state 192. In some embodiments, event handler 190 accesses the corresponding GUI updater 178 to update the content displayed by the application. Similarly, based on the Figure 1A to Figure 1B It will be clear to a person skilled in the art how other processes can be implemented with the components depicted in the drawings.

[0417] According to some examples, Fig.49 4900 is a functional block diagram of an electronic device configured according to the principles of various described examples. The functional blocks of the device can be implemented by hardware, software, or a combination of hardware and software to perform the principles of various described examples. It should be understood by those skilled in the art that Fig.49 The functional blocks described in the present invention may be combined or separated to realize the principles of various described examples. Therefore, the description in this document optionally supports any possible combination or separation of the functional blocks described in this document.

[0418] As in Fig.49 As shown in , the electronic device 4900 may include a display unit 4902 for displaying a user interface. The electronic device 4900 may further include a processing unit 4904 coupled to the display unit 4902. In some examples, the processing unit 4904 may include a display causing unit 4906 and a receiving unit 4908.

[0419] The processing unit 4904 can be configured to: cause display of a first plurality of partitions associated with a first user (e.g., using the display causing unit 4806), wherein each of the first plurality of partitions is associated with a type of health data of the first user; and in response to receiving (e.g., using the receiving unit 4908) a request to view a second plurality of partitions associated with a second user, cause display of a second plurality of partitions associated with the second user (e.g., using the display causing unit 4906), wherein each of the second plurality of partitions is associated with a type of health data of the second user.

[0420] In some embodiments, the request to view the second plurality of partitions includes a request to scroll the first plurality of partitions to be displayed in a horizontal direction.

[0421] In some embodiments, the request to view the second plurality of partitions includes a selection of a second user from the list of users.

[0422] In some embodiments, the second user has authorized the first user to view the second plurality of partitions.

[0423] By Figure 1A to Figure 1B or Fig.49 The components depicted in the above reference may optionally implement Fig.21 operations described. For example, display operations 2102 and 2106 and receiving operation 2104 may be implemented by event classifier 170, event identifier 180, and event handler 190. Event monitor 171 in event classifier 170 detects contact on touch-sensitive display 112, and event dispatcher module 174 delivers event information to application 136. The corresponding event identifier 180 of application 136 compares the event information with the corresponding event definition 186 and determines whether the first contact at the first position on the touch-sensitive surface corresponds to a predefined event or sub-event such as activation of functional visibility on a user interface. When a corresponding predefined event or sub-event is detected, event identifier 180 activates event handler 190 associated with the detection of the event or sub-event. Event handler 190 may utilize or call data updater 176 or object updater 177 to update application internal state 192. In some embodiments, event handler 190 accesses the corresponding GUI updater 178 to update the content displayed by the application. Similarly, based on Figure 1A to Figure 1B It will be clear to a person skilled in the art how the components described in the drawings can implement other processes.

[0424] According to some examples, Fig.501 shows a functional block diagram of an electronic device 5000 configured according to the principles of the various described examples. The functional blocks of the device can be implemented by hardware, software, or a combination of hardware and software to perform the principles of the various described examples. It should be understood by those skilled in the art that the electronic device 5000 can be configured according to the principles of the various described examples. Fig.50 The functional blocks described in the present invention may be combined or separated to realize the principles of various described examples. Therefore, the description in this document optionally supports any possible combination or separation of the functional blocks described in this document.

[0425] like Fig.50 As shown in , the electronic device 5000 may include a display unit 5002 for displaying a user interface. The electronic device 5000 may further include a processing unit 5004 coupled to the display unit 5002. In some examples, the processing unit 5004 may include a receiving unit 5006 and a transmitting unit 5008.

[0426] The processing unit 5004 can be configured to: receive (e.g., using the receiving unit 5006) an identification of a user who is authorized to access the collection of health data; in response to detecting an update to the collection of health data, transmit (e.g., using the transmitting unit 5008) a notification to the user who is authorized to access the collection of health data to notify the user who is authorized to access the collection of health data that an update to the collection of health data has been detected; and transmit (e.g., using the transmitting unit 5008) at least a portion of the collection of health data to the user who is authorized to access the collection of health data.

[0427] According to some embodiments, the identification of the user authorized to access the collection of health data includes a name, username, or contact information.

[0428] According to some embodiments, at least a portion of the set of health data is transmitted in response to receiving a request from a user authorized to access the set of health data.

[0429] By Figure 1A to Figure 1B or Fig.50 The components depicted in the above reference may optionally implement Figure 8The operations described. For example, the receiving operation 802 and the transmitting operations 806 and 808 can be implemented by the event classifier 170, the event identifier 180, and the event handler 190. The event monitor 171 in the event classifier 170 detects contact on the touch-sensitive display 112, and the event dispatcher module 174 delivers event information to the application 136. The corresponding event identifier 180 of the application 136 compares the event information with the corresponding event definition 186 and determines whether the first contact at the first position on the touch-sensitive surface corresponds to a predefined event or sub-event such as the activation of a functional visibility on the user interface. When the corresponding predefined event or sub-event is detected, the event identifier 180 activates the event handler 190 associated with the detection of the event or sub-event. The event handler 190 can utilize or call the data updater 176 or the object updater 177 to update the application internal state 192. In some embodiments, the event handler 190 accesses the corresponding GUI updater 178 to update the content displayed by the application. Similarly, based on the Figure 1A to Figure 1B It will be clear to a person skilled in the art how other processes can be implemented with the components depicted in the drawings.

[0430] According to some examples, Fig.51 1 shows a functional block diagram of an electronic device 5100 configured according to the principles of the various described examples. The functional blocks of the device can be implemented by hardware, software, or a combination of hardware and software to perform the principles of the various described examples. It should be understood by those skilled in the art that the electronic device 5100 can be configured according to the principles of the various described examples. Fig.51 The functional blocks described in the present invention may be combined or separated to realize the principles of various described examples. Therefore, the description in this document optionally supports any possible combination or separation of the functional blocks described in this document.

[0431] like Fig.51 As shown in , the electronic device 5100 may include a display unit 5102 for displaying a user interface. The electronic device 5100 may further include a processing unit 5104 coupled to the display unit 5102. In some examples, the processing unit 5104 may include one or more of a receiving unit 5106 and a transmitting unit 5108.

[0432] The processing unit 5104 can be configured to: receive (e.g., using the receiving unit 5106) a request from the first user to access health data associated with the second user; transmit (e.g., using the transmitting unit 5108) to the second user a request to authorize the first user to access health data associated with the second user; and in response to receiving authorization from the second user, transmit (e.g., using the transmitting unit 5108) the health data associated with the second user to the first user.

[0433] In some embodiments, the first user is a medical provider and the second user is a patient, and wherein, prior to an appointment between the first user and the second user, a request to access health data associated with the second user is received.

[0434] In some embodiments, a request to authorize the first user to access health data associated with the second user is displayed on the second user's mobile device.

[0435] By Figure 1A to Figure 1B or Fig.51 The components depicted in the above reference may optionally implement Fig. 9 The operations described. For example, the receiving operation 902 and the transmitting operations 904 and 908 can be implemented by the event classifier 170, the event identifier 180, and the event handler 190. The event monitor 171 in the event classifier 170 detects contact on the gate display 112, and the event dispatcher module 174 delivers the event information to the application 136. The corresponding event identifier 180 of the application 136 compares the event information with the respective event definitions 186 and determines whether the first contact at the first position on the touch-sensitive surface corresponds to a predefined event or sub-event such as the activation of a functional visibility on the user interface. When the corresponding predefined event or sub-event is detected, the event identifier 180 activates the event handler 190 associated with the detection of the event or sub-event. The event handler 190 can utilize or call the data updater 176 or the object updater 177 to update the application internal state 192. In some embodiments, the event handler 190 accesses the corresponding GUI updater 178 to update the content displayed by the application. Similarly, based on the Figure 1A to Figure 1B It will be clear to a person skilled in the art how other processes can be implemented with the components depicted in the drawings.

[0436] According to some examples, Fig.52 1 shows a functional block diagram of an electronic device 5200 configured according to the principles of the various described examples. The functional blocks of the device can be implemented by hardware, software, or a combination of hardware and software to perform the principles of the various described examples. It should be understood by those skilled in the art that the electronic device 5200 can be configured according to the principles of the various described examples. Fig.52 The functional blocks described in the present invention may be combined or separated to realize the principles of various described examples. Therefore, the description in this document optionally supports any possible combination or separation of the functional blocks described in this document.

[0437] like Fig.52As shown in , the electronic device 5200 may include a display unit 5202 for displaying a user interface. The electronic device 5200 may further include a processing unit 5204 coupled to the display unit 5202. In some examples, the processing unit 5204 may include one or more of the following: a display enabling unit 5206, a detection unit 5208, a scroll enabling unit 5210, and a reordering unit 5212.

[0438] The processing unit 5204 can be configured to: enable display of a chart on a display (e.g., using the display enabling unit 5206), the chart comprising a first data set representation of a first data set and a second data set representation of a second data set, in which the first data set representation of the first data set, the first dependent variable changes as the independent variable changes, and in the second data set representation of the second data set, the second dependent variable changes as the independent variable changes, wherein the first data set representation is associated with a first range of vertical positioning within the chart, and the second data set representation is associated with a second range of vertical positioning within the chart; detect (e.g., using the detection unit 2108) user input at a corresponding position on the display; in response to detecting the user input: based on determining that the corresponding position is within the first range of vertical positioning associated with the first data set representation, enable display of an indication that the first data set representation has been selected on the display (e.g., using the display enabling unit 5206); and based on determining that the corresponding position is within the second range of vertical positioning associated with the second data set representation, enable display of an indication that the second data set representation has been selected on the display (e.g., using the display enabling unit 5206).

[0439] In some embodiments, processing unit 5204 is further configured to enable display of the first data set representation overlapping the second data set representation in the chart (eg, using display enabling unit 5206 ).

[0440] In some embodiments, the first data set includes a first set of health data, and wherein the second data set includes a second set of health data.

[0441] In some embodiments, a first range of vertical positions is uniquely associated with a first data set representation, and wherein a second range of vertical positions is uniquely associated with a second data set representation.

[0442] In some embodiments, the first data set representation and the second data set representation are color coded based on the type of data represented by the first data set representation and the second data set representation.

[0443] In some embodiments, the processing unit 5204 is further configured to enable display of an indication that the first data set representation has been selected by at least enabling the display (e.g., using the display enabling unit 5206) by enabling display on the display of a mark superimposed on the first data set representation at a horizontal position corresponding to a corresponding position on the display.

[0444] In some embodiments, the processing unit 5204 is further configured to enable display of an indication that the second data set representation has been selected by at least enabling the display (e.g., using the display enabling unit 5206) by enabling display on the display of a mark superimposed on the second data set representation at a horizontal position corresponding to a corresponding position on the display.

[0445] In some embodiments, the processing unit 5204 is further configured to enable display of an indication that the first data set has been selected by at least enabling the display (e.g., using the display enabling unit 5206) by enabling display on the display of a numerical value of a first data entry of the first data set associated with a horizontally positioned independent variable value corresponding to a corresponding position on the display.

[0446] In some embodiments, the processing unit 5204 is further configured to enable display of an indication that the second data set has been selected by at least enabling the display to display a numerical value of a second data entry of the second data set associated with a horizontally positioned independent variable value corresponding to a corresponding position on the display (e.g., using the display enabling unit 5206).

[0447] In some embodiments, the first data set or the second data set includes blood pressure data, and wherein the values ​​of the first data entry or the values ​​of the second data entry include a high value of diastolic pressure, a low value of diastolic pressure, a high value of systolic pressure, and a low value of systolic pressure.

[0448] In some embodiments, the first data set representation or the second data set representation is generated based on an average of the blood pressure values.

[0449] In some embodiments, the first data set and the second data set include heart rate data, and wherein the value of the first data entry or the value of the second data entry includes a high value for the heart rate and a low value for the heart rate.

[0450] In some embodiments, the first data set representation comprises a first line in a graph, and wherein displaying an indication that the first data set has been selected comprises highlighting an area below the first line.

[0451] In some embodiments, the second data set representation comprises a second line in the graph, and wherein displaying an indication that the second data set has been selected comprises highlighting an area below the second line.

[0452] In some embodiments, based on the length of time the user input is detected, a first range of vertical positioning within the chart is expanded when the vertical positioning of the corresponding position on the display is within a first range of vertical positioning, and based on the length of time the user input is detected, a second range of vertical positioning within the chart is expanded when the vertical positioning of the corresponding position on the display is within a second range of vertical positioning.

[0453] In some embodiments, the dependent variable of the first data set is measured in different units than the dependent variable of the second data set.

[0454] In some embodiments, the vertical scale used to display the first data set representation is different than the vertical scale used to display the second data set representation.

[0455] In some embodiments, a vertical scale of a first data set represented by the first data set to be displayed in a chart is determined based on a maximum value and a minimum value of a first dependent variable represented by the first data set, and a vertical scale of a second data set represented by the second data set to be displayed in a chart is determined based on a maximum value and a minimum value of a second dependent variable represented by the second data set.

[0456] In some embodiments, the vertical scale of a first data set representation of multiple sets of health data is defined by: the maximum vertical position within the chart corresponds to a first multiplication factor multiplied by the maximum value of a first dependent variable represented by the first data set to be displayed in the chart; and the minimum vertical position within the chart corresponds to a second multiplication factor multiplied by the minimum value of the first dependent variable represented by the first data set to be displayed in the chart.

[0457] In some embodiments, the vertical scale of the second data set representation of multiple sets of health data is defined as follows: the maximum vertical position within the chart corresponds to a third multiplication factor multiplied by the maximum value of the second dependent variable represented by the second data set to be displayed in the chart; and the minimum vertical position within the chart corresponds to a fourth multiplication factor multiplied by the minimum value of the second dependent variable represented by the second data set to be displayed in the chart.

[0458] In some embodiments, processing unit 5204 is further configured to: detect (e.g., using detection unit 5208) a detail view input; and in response to detecting the detail view input, enable display of a detail view of the first data set and the second data set, wherein the detail view includes a first partition associated with the first data set and a second partition associated with the second data set.

[0459] In some embodiments, processing unit 5204 is configured to detect (eg, using detection unit 5208) a detail view input by detecting a change in orientation of the electronic device at least while the chart is displayed.

[0460] In some embodiments, the processing unit 5204 is further configured to: detect (e.g., using the detection unit 5208) a request to scroll the detailed view; and in response to detecting the request to scroll the detailed view, enable scrolling of the detailed view (e.g., using the scrolling enabling unit 5210).

[0461] In some embodiments, the first partition includes a first graph representation of a first data set, and wherein the second partition includes a second graph representation of a second data set.

[0462] In some embodiments, the first graphical representation does not overlap with the second graphical representation.

[0463] In some embodiments, processing unit 5204 is further configured to enable display of a first partition of a color matching the color represented by the first data set (e.g., using display enabling unit 5206), and wherein a second partition is displayed as a color matching the color represented by the second data set.

[0464] In some embodiments, processing unit 5204 is further configured to enable display of a first partition of colors matching the colors represented by the first data set (e.g., using display enabling unit 5206), and enable display of a second partition of colors matching the colors represented by the second data set.

[0465] In some embodiments, the processing unit 5204 is further configured to: detect (e.g., using the detection unit 5208) a request to reorder the first partition and the second partition; and in response to detecting the request to reorder the first partition and the second partition, reorder the first partition and the second partition within the detailed view (e.g., using the reordering unit 5212).

[0466] In some embodiments, the processing unit 5204 is further configured to: detect a chart view input; and in response to detecting the chart view input, display a chart including a first data set representation of the first data set and a second data set representation of the second data set.

[0467] By Figure 1A to Figure 1B or Fig.52 The components depicted in the above reference may optionally implement Fig. 27Operations described. For example, display operation 2702, detection operation 2704, display operation 2706, and display operation 2710 may be implemented by event classifier 170, event recognizer 180, and event handler 190. Event monitor 171 in event classifier 170 detects contact on touch-sensitive display 112, and event dispatcher module 174 delivers event information to application 136. The corresponding event recognizer 180 of application 136 compares the event information with the corresponding event definition 186 and determines whether the first contact at the first position on the touch-sensitive surface corresponds to a predefined event or sub-event such as activation of a functional visibility on a user interface. When the corresponding predefined event or sub-event is detected, event recognizer 180 activates the event handler 190 associated with the detection of the event or sub-event. Event handler 190 may utilize or call data updater 176 or object updater 177 to update the application internal state 192. In some embodiments, event handler 190 accesses the corresponding GUI updater 178 to update the content displayed by the application. Similarly, based on Figure 1A to Figure 1B It will be clear to a person skilled in the art how other processes can be implemented with the components depicted in the drawings.

[0468] According to some examples, Fig.53 1 shows a functional block diagram of an electronic device 5300 configured according to the principles of the various described examples. The functional blocks of the device can be implemented by hardware, software, or a combination of hardware and software to perform the principles of the various described examples. It should be understood by those skilled in the art that the electronic device 5300 can be configured according to the principles of the various described examples. Fig.53 The functional blocks described in the present invention may be combined or separated to realize the principles of various described examples. Therefore, the description in this document optionally supports any possible combination or separation of the functional blocks described in this document.

[0469] like Fig.53 As shown in , the electronic device 5300 may include a display unit 5302 for displaying a user interface. The electronic device 5300 may further include a processing unit 5304 coupled to the display unit 5302. In some embodiments, the processing unit 5304 may include one or more of the following: a detection unit 5306, a display enabling unit 5308, a restriction unit 5310, an initiation unit 5312, a sending unit 5314, a call unit 5316, and a marking unit 5318.

[0470] The processing unit 5304 can be configured to: when the electronic device is in a locked state: detect (for example, using the detection unit 5306) a request to display emergency information about the user of the device; and in response to detecting the request, enable display of an emergency information interface including emergency information about the user of the device on the display unit without unlocking the device (for example, using the display enabling unit 5308).

[0471] In some embodiments, the processing unit 5304 is further configured to restrict (eg, using the restriction unit 5310 unit) the use of one or more functions of the electronic device when the electronic device is in a locked state.

[0472] In some embodiments, when the electronic device is in a locked state, at least a subset of the data stored on the device is inaccessible.

[0473] In some embodiments, communications from the electronic device are restricted while the electronic device is in a locked state.

[0474] In some embodiments, the emergency information about the user includes information associated with an emergency contact, and wherein the information associated with the emergency contact includes a name of the emergency contact and a relationship between the user and the emergency contact.

[0475] In some embodiments, the processing unit 5304 is further configured to: when the electronic device is in a locked state, detect (e.g., using the detection unit 5306) a request for communication; and in response to detecting the request for communication, initiate (e.g., using the initiation unit 5312) communication with an emergency contact.

[0476] In some embodiments, processing unit 5304 is configured to initiate communication with the emergency contact by sending (eg, using sending unit 5314) at least an SMS message or an email to the emergency contact.

[0477] In some embodiments, processing unit 5304 is configured to initiate communication with the emergency contact by at least calling (e.g., using calling unit 5316) a telephone number associated with the emergency contact.

[0478] In some embodiments, processing unit 5304 is configured to call a phone number associated with an emergency contact by at least marking (eg, using marking unit 5318) the call to the phone number as an emergency call.

[0479] In some embodiments, the information associated with the emergency contact further includes a telephone number associated with the emergency contact.

[0480] In some embodiments, the information associated with the emergency contact does not include a telephone number associated with the emergency contact.

[0481] In some embodiments, the processing unit 5304 is further configured to: before displaying the emergency information interface: enable display of an emergency dialing interface including a numeric input pad and an emergency information option (for example, using the display enabling unit 5308); when the emergency dialing interface is displayed, detect (for example, using the detection unit 5306) the selection of the emergency information option; and in response to detecting the selection of the emergency information option, enable display of the emergency information interface (for example, using the display enabling unit 5308).

[0482] In some embodiments, the processing unit 5304 is further configured to: when the electronic device is in a locked state, detect (e.g., using the detection unit 5306) a predefined telephone number entered using a numeric input pad; and in response to detecting the predefined telephone number, call the predefined telephone number.

[0483] In some embodiments, processing unit 5304 is configured to call (e.g., using calling unit 5316) the predefined phone number by at least marking (e.g., using marking unit 5318) the call to the predefined phone number as an emergency call.

[0484] In some embodiments, calls marked as emergency calls will be accepted by the receiving electronic device in any operating state.

[0485] In some embodiments, the processing unit 5304 is further configured to: before displaying the emergency dialing interface: enable display of a lock screen interface including an emergency option (e.g., using the display enabling unit 5308); detect (e.g., using the detection unit 5306) selection of the emergency option; and in response to detecting selection of the emergency option, enable display of the emergency dialing interface (e.g., using the display enabling unit 5308).

[0486] In some embodiments, emergency information about the user includes one or more of: the user's name, birthday, medical conditions, allergies and reactions, medications, and one or more emergency contacts of the user.

[0487] By Figure 1A to Figure 1B or Fig.53 The components depicted in the referenced Fig.45operations described. For example, detection operation 4502 and display operation 4505 may be implemented by event classifier 170, event identifier 180, and event handler 190. Event monitor 171 in event classifier 170 detects contact on touch-sensitive display 112, and event dispatcher module 174 delivers event information to application 136. The corresponding event identifier 180 of application 136 compares the event information with the corresponding event definition 186, and determines whether the first contact at the first position on the touch-sensitive surface corresponds to a predefined event or sub-event such as activation of functional visibility on a user interface. When a corresponding predefined event or sub-event is detected, event identifier 180 activates event handler 190 associated with the detection of the event or sub-event. Event handler 190 may utilize or call data updater 176 or object updater 177 to update application internal state 192. In some embodiments, event handler 190 accesses the corresponding GUI updater 178 to update the content displayed by the application. Similarly, based on the Figure 1A to Figure 1B It will be clear to a person skilled in the art how other processes can be implemented with the components depicted in the drawings.

[0488] According to some examples, Fig.54 1 shows a functional block diagram of an electronic device 5400 configured according to the concepts of the various described examples. The functional blocks of the device can be implemented by hardware, software, or a combination of hardware and software to perform the principles of the various described examples. It should be understood by those skilled in the art that the electronic device 5400 can be configured according to the concepts of the various described examples. Fig.54 The functional blocks described in the present invention may be combined or separated to realize the principles of various described examples. Therefore, the description in this document optionally supports any possible combination or separation of the functional blocks described in this document.

[0489] like Fig.54 As shown in , the electronic device 5400 may include a display unit 5402 for displaying a user interface. The electronic device 5400 may further include a processing unit 5404 coupled to the display unit 5402. In some examples, the processing unit 5404 may include one or more of the following: a receiving unit 5406, an identification unit 5408, a use unit 5410, a priority unit 5412, a display enabling unit 5414, a detection unit 5416, a reordering unit 5418, and an approval or rejection unit 5420.

[0490] The processing unit 5404 can be further configured to: receive (e.g., using the receiving unit 5406) ​​information identifying multiple approved sources of health data from a user, wherein the information identifying the multiple approved sources of health data identifies one or more types of health data that are approved to be received from the multiple approved sources and stored in a health database; and receive (e.g., using the receiving unit 5406) ​​information identifying multiple approved destinations of hea...

Claims

1. An electronic device, comprising: Display screen; one or more processors; Memory; as well as One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising instructions for: A chart including a plurality of vertical chart positioning ranges is displayed in a graphical user interface on the display screen, wherein the plurality of vertical chart positioning ranges include a first vertical chart positioning range and a second vertical chart positioning range, the chart including: a first data set representation of a first data set in which a first dependent variable varies as an independent variable varies; a second data set representation of the second data set in which a second dependent variable changes as said independent variable changes; wherein the first data set representation at least partially overlaps with the second data set representation; wherein the first data set representation is associated with the first vertical chart location range of the plurality of vertical chart location ranges within the chart; wherein the first data set representation is at least partially displayed within the first vertical chart location range of the plurality of vertical chart location ranges within the chart; wherein the second data set representation is associated with the second vertical chart location range of the plurality of vertical chart location ranges within the chart, the second vertical chart location range being different from the first vertical chart location range of the plurality of vertical chart location ranges; and wherein the second data set representation is at least partially displayed within the second vertical chart location range of the plurality of vertical chart location ranges within the chart; detecting a user input at a location on the display screen corresponding to one of the plurality of vertical chart positioning ranges within the chart, regardless of horizontal chart positioning; In response to detecting the user input at a location on the display screen corresponding to one of the plurality of vertical chart position ranges within the chart: if it is determined that the position corresponds to the first vertical chart positioning range regardless of the horizontal chart positioning, displaying an indication on the display screen that the first data set representation has been selected; If it is determined that the position corresponds to the second vertical chart positioning range regardless of horizontal chart positioning, displaying an indication on the display screen that the second data set representation has been selected; and If it is determined that the position is outside of the first vertical chart positioning range or the second vertical chart positioning range, then displaying an indication that the first data set representation or the second data set representation has been selected is foregone. 2 . The electronic device of claim 1 , wherein the first data set comprises a first set of health data, and wherein the second data set comprises a second set of health data.

3. The electronic device according to any one of claims 1 to 2, further comprising: In response to detecting the user input, and if it is determined that the position corresponds to an indicator that the first data set representation has been selected, an indication is displayed on the display screen that the second data set representation has not been selected. 4 . The electronic device of claim 1 , wherein the first data set representation and the second data set representation are color coded based on the type of data represented by the first data set representation and the second data set representation.

5. An electronic device according to any one of claims 1-2, wherein the first data set representation includes multiple indicators corresponding to values ​​of one or more dependent variables represented by the first data set, and wherein displaying the indication that the first data set representation has been selected includes displaying a mark superimposed on one of the multiple indicators corresponding to the first data set representation on the display screen, the indicator being displayed at a horizontal position corresponding to the horizontal position of the position on the display screen.

6. The electronic device according to any one of claims 1-2, wherein displaying the indication that the second data set has been selected comprises: A marker is displayed superimposed on the second data set representation on the display screen at a horizontal location corresponding to the horizontal location of the position on the display screen.

7. The electronic device according to any one of claims 1-2, wherein displaying the indication that the first data set has been selected comprises: A textual representation of a first data entry of the first data set associated with a value of the independent variable at a horizontal location corresponding to the position on the display screen is displayed on the display screen.

8. The electronic device according to any one of claims 1-2, wherein displaying the indication that the second data set has been selected comprises: A numerical value of a second data entry of the second data set associated with a value of the independent variable corresponding to the horizontal position of the position on the display screen is displayed on the display screen.

9. The electronic device according to any one of claims 1-2, wherein the first data set or the second data set comprises physiological health data.

10. The electronic device of any of claims 1-2, wherein the second data set representation comprises a line in the graph, and wherein displaying the indication that the second data set representation has been selected comprises highlighting an area below the line.

11. The electronic device according to any one of claims 1-2, wherein based on the length of time that the user input is detected, when the vertical positioning of the position on the display screen is within the second vertical chart positioning range, the second vertical chart positioning range within the chart is expanded.

12. The electronic device of any one of claims 1-2, wherein a vertical scale for the second data set representation is determined based on a maximum value and a minimum value of the dependent variable of the second data set representation to be displayed in the chart.

13. The electronic device of claim 12, wherein the vertical scale for the second data set representation is defined by: The maximum vertical position within the graph corresponds to a multiplication factor times the maximum value of the first dependent variable represented by the second data set to be displayed in the graph; and The minimum vertical positioning within the graph corresponds to a multiplication factor times a minimum value of the first dependent variable represented by the second data set to be displayed in the graph.

14. The electronic device according to any one of claims 1 to 2, further comprising: Detect detail view input; as well as In response to detecting the detail view input, a detail view of the first data set and the second data set is displayed, wherein the detail view includes a first partition associated with the first data set and a second partition associated with the second data set. 15 . The electronic device of claim 14 , wherein detecting the detailed view input comprises detecting a change in orientation of the electronic device while the chart is displayed.

16. The electronic device according to claim 14, further comprising: detecting a request to scroll the detail view; as well as In response to detecting the request to scroll the detail view, the detail view is scrolled. 17 . The electronic device of claim 14 , the first partition comprising a first chart representation of the first data set, and wherein the second partition comprises a second chart representation of the second data set.

18. The electronic device of claim 14, wherein the first partition is displayed in a color that matches a color represented by the first data set, and wherein the second partition is displayed in a color that matches a color represented by the second data set.

19. The electronic device according to claim 14, further comprising: detecting a request to reorder the first partition and the second partition; as well as In response to detecting the request to reorder the first partition and the second partition, the first partition and the second partition are reordered within the detailed view.

20. The electronic device according to any one of claims 1-2, further comprising: Detect chart view input; as well as In response to detecting the chart view input, the chart including the first data set representation of the first data set and the second data set representation of the second data set is displayed.

21. A computer-readable storage medium storing one or more programs, the programs being configured to be executed by an electronic device having one or more processors and a display screen, the one or more programs comprising instructions for: A chart including a plurality of vertical chart positioning ranges is displayed in a graphical user interface on the display screen, wherein the plurality of vertical chart positioning ranges include a first vertical chart positioning range and a second vertical chart positioning range, the chart including: a first data set representation of a first data set in which a first dependent variable varies as an independent variable varies; a second data set representation of the second data set in which a second dependent variable changes as said independent variable changes; wherein the first data set representation at least partially overlaps with the second data set representation; wherein the first data set representation is associated with the first vertical chart location range of the plurality of vertical chart location ranges within the chart; wherein the first data set representation is at least partially displayed within the first vertical chart location range of the plurality of vertical chart location ranges within the chart; wherein the second data set representation is associated with the second vertical chart location range of the plurality of vertical chart location ranges within the chart, the second vertical chart location range being different from the first vertical chart location range of the plurality of vertical chart location ranges; and wherein the second data set representation is at least partially displayed within the second vertical chart location range of the plurality of vertical chart location ranges within the chart; detecting a user input at a location on the display screen corresponding to one of the plurality of vertical chart positioning ranges within the chart, regardless of horizontal chart positioning; In response to detecting the user input at a location on the display screen corresponding to one of the plurality of vertical chart position ranges within the chart: if it is determined that the position corresponds to the first vertical chart positioning range regardless of the horizontal chart positioning, displaying an indication on the display screen that the first data set representation has been selected; if it is determined that the position corresponds to the second vertical chart positioning range regardless of the horizontal chart positioning, displaying an indication on the display screen that the second data set representation has been selected; as well as If it is determined that the position is outside of the first vertical chart positioning range or the second vertical chart positioning range, then displaying an indication that the first data set representation or the second data set representation has been selected is foregone.

22. The computer-readable storage medium of claim 21, wherein the first data set comprises a first set of health data, and wherein the second data set comprises a second set of health data.

23. The computer-readable storage medium of any one of claims 21-22, further comprising instructions that, when executed by one or more processors, cause the electronic device to: In response to detecting the user input, and if it is determined that the position corresponds to an indicator that the first data set representation has been selected, an indication is displayed on the display screen that the second data set representation has not been selected.

24. The computer-readable storage medium of any one of claims 21-22, wherein the first data set representation and the second data set representation are color coded based on the type of data represented by the first data set representation and the second data set representation.

25. A computer-readable storage medium according to any one of claims 21-22, wherein the first data set representation includes multiple indicators corresponding to values ​​of one or more dependent variables represented by the first data set, and wherein displaying the indication that the first data set representation has been selected includes displaying a mark superimposed on one of the multiple indicators corresponding to the first data set representation on the display screen, the indicator being displayed at a horizontal position corresponding to the horizontal position of the position on the display screen.

26. The computer-readable storage medium of any one of claims 21-22, wherein displaying the indication that the second data set representation has been selected comprises: A marker is displayed superimposed on the second data set representation on the display screen at a horizontal location corresponding to the horizontal location of the position on the display screen.

27. The computer-readable storage medium of any one of claims 21-22, wherein displaying the indication that the first data set representation has been selected comprises: A textual representation of a first data entry of the first data set associated with a value of the independent variable positioned horizontally corresponding to the position on the display screen is displayed on the display screen.

28. The computer-readable storage medium of any one of claims 21-22, wherein displaying the indication that the second data set representation has been selected comprises: A numerical value of a second data entry of the second data set associated with a value of the independent variable corresponding to the horizontal position of the position on the display screen is displayed on the display screen.

29. The computer-readable storage medium of any one of claims 21-22, wherein the first data set or the second data set comprises physiological health data.

30. The computer-readable storage medium of any one of claims 21-22, wherein the second data-set representation comprises a line in the graph, and wherein displaying the indication that the second data-set representation has been selected comprises highlighting an area below the line.

31. The computer-readable storage medium of any one of claims 21-22, wherein based on a length of time that the user input is detected, the second vertical chart positioning range within the chart expands when the vertical positioning of the location on the display screen is within the second vertical chart positioning range.

32. The computer-readable storage medium of any one of claims 21-22, wherein a vertical scale for the second data set representation is determined based on a maximum value and a minimum value of the dependent variable of the second data set representation to be displayed in the chart.

33. The computer-readable storage medium of claim 32, wherein the vertical scale for the second data set representation is defined by: The maximum vertical position within the graph corresponds to a multiplication factor times the maximum value of the first dependent variable represented by the second data set to be displayed in the graph; and The minimum vertical positioning within the graph corresponds to a multiplication factor times a minimum value of the first dependent variable represented by the second data set to be displayed in the graph.

34. The computer-readable storage medium of any one of claims 21-22, further comprising: Detect detail view input; as well as In response to detecting the detail view input, a detail view of the first data set and the second data set is displayed, wherein the detail view includes a first partition associated with the first data set and a second partition associated with the second data set.

35. The computer-readable storage medium of claim 34, wherein detecting the detailed view input comprises detecting a change in orientation of the electronic device while displaying the chart.

36. The computer-readable storage medium of claim 34, further comprising instructions that, when executed by one or more processors, cause the electronic device to: detecting a request to scroll the detail view; and In response to detecting the request to scroll the detail view, the detail view is scrolled.

37. The computer-readable storage medium of claim 34, the first partition comprising a first graph representation of the first data set, and wherein the second partition comprises a second graph representation of the second data set.

38. The computer-readable storage medium of claim 34, wherein the first partition is displayed in a color that matches a color represented by the first data set, and wherein the second partition is displayed in a color that matches a color represented by the second data set.

39. The computer-readable storage medium of claim 34, further comprising: detecting a request to reorder the first partition and the second partition; as well as In response to detecting the request to reorder the first partition and the second partition, the first partition and the second partition are reordered within the detailed view.

40. The computer-readable storage medium of any one of claims 21-22, further comprising instructions that, when executed by one or more processors, cause the electronic device to: Detecting chart view input; and In response to detecting the chart view input, the chart including the first data set representation of the first data set and the second data set representation of the second data set is displayed.

41. A method comprising: On electronic devices with a display: A chart including a plurality of vertical chart positioning ranges is displayed in a graphical user interface on the display screen, wherein the plurality of vertical chart positioning ranges include a first vertical chart positioning range and a second vertical chart positioning range, the chart including: a first data set representation of a first data set in which a first dependent variable varies as an independent variable varies; a second data set representation of the second data set in which a second dependent variable changes as said independent variable changes; wherein the first data set representation at least partially overlaps with the second data set representation; wherein the first data set representation is associated with the first vertical chart location range of the plurality of vertical chart location ranges within the chart; wherein the first data set representation is at least partially displayed within the first vertical chart location range of the plurality of vertical chart location ranges within the chart; wherein the second data set representation is associated with the second vertical chart location range of the plurality of vertical chart location ranges within the chart, the second vertical chart location range being different from the first vertical chart location range of the plurality of vertical chart location ranges; and wherein the second data set representation is at least partially displayed within the second vertical chart location range of the plurality of vertical chart location ranges within the chart; detecting a user input at a location on the display screen corresponding to one of the plurality of vertical chart positioning ranges within the chart, regardless of horizontal chart positioning; In response to detecting the user input at a location on the display screen corresponding to one of the plurality of vertical chart position ranges within the chart: if it is determined that the position corresponds to the first vertical chart positioning range regardless of the horizontal chart positioning, displaying an indication on the display screen that the first data set representation has been selected; If it is determined that the position corresponds to the second vertical chart positioning range regardless of horizontal chart positioning, displaying an indication on the display screen that the second data set representation has been selected; and If it is determined that the position is outside of the first vertical chart positioning range or the second vertical chart positioning range, then displaying an indication that the first data set representation or the second data set representation has been selected is foregone.

42. The method of claim 41, wherein the first data set comprises a first set of health data, and wherein the second data set comprises a second set of health data.

43. The method according to any one of claims 41-42, further comprising: In response to detecting the user input, and if it is determined that the position corresponds to an indicator that the first data set representation has been selected, an indication is displayed on the display screen that the second data set representation has not been selected.

44. The method of any one of claims 41-42, wherein the first data set representation and the second data set representation are color coded based on the type of data represented by the first data set representation and the second data set representation.

45. A method according to any one of claims 41-42, wherein the first data set representation includes a plurality of indicators corresponding to values ​​of one or more dependent variables represented by the first data set, and wherein displaying the indication that the first data set representation has been selected includes displaying a mark superimposed on one of the plurality of indicators corresponding to the first data set representation on the display screen, the indicator being displayed at a horizontal position corresponding to the horizontal position of the position on the display screen.

46. ​​The method of any one of claims 41-42, wherein displaying the indication that the second data set representation has been selected comprises: A marker is displayed superimposed on the second data set representation on the display screen at a horizontal location corresponding to the horizontal location of the position on the display screen.

47. The method of any one of claims 41-42, wherein displaying the indication that the first data set representation has been selected comprises: A textual representation of a first data entry of the first data set associated with a value of the independent variable positioned horizontally corresponding to the position on the display screen is displayed on the display screen.

48. The method of any one of claims 41-42, wherein displaying the indication that the second data set representation has been selected comprises: A numerical value of a second data entry of the second data set associated with a value of the independent variable corresponding to the horizontal position of the position on the display screen is displayed on the display screen.

49. The method of any one of claims 41-42, wherein the first data set or the second data set comprises physiological health data.

50. The method of any of claims 41-42, wherein the second data set representation comprises a line in the graph, and wherein displaying the indication that the second data set representation has been selected comprises highlighting an area below the line.

51. The method of any one of claims 41-42, wherein the second vertical chart positioning range within the chart expands when the vertical positioning of the location on the display screen is within the second vertical chart positioning range based on a length of time the user input is detected.

52. The method of any one of claims 41-42, wherein a vertical scale for the second data set representation is determined based on a maximum and a minimum value of the dependent variable of the second data set representation to be displayed in the chart.

53. The method of claim 52, wherein the vertical scale for the second data set representation is defined by: The maximum vertical position within the graph corresponds to a multiplication factor times the maximum value of the first dependent variable represented by the second data set to be displayed in the graph; and The minimum vertical positioning within the graph corresponds to a multiplication factor times a minimum value of the first dependent variable represented by the second data set to be displayed in the graph.

54. The method according to any one of claims 41-42, further comprising: Detect detail view input; as well as In response to detecting the detail view input, a detail view of the first data set and the second data set is displayed, wherein the detail view includes a first partition associated with the first data set and a second partition associated with the second data set.

55. The method of claim 54, wherein detecting the detailed view input comprises detecting a change in orientation of the electronic device while displaying the chart.

56. The method of claim 54, further comprising: detecting a request to scroll the detail view; as well as In response to detecting the request to scroll the detail view, the detail view is scrolled.

57. The method of claim 54, wherein the first partition comprises a first graph representation of the first data set, and wherein the second partition comprises a second graph representation of the second data set.

58. The method of claim 54, wherein the first partition is displayed in a color that matches a color represented by the first data set, and wherein the second partition is displayed in a color that matches a color represented by the second data set.

59. The method of claim 54, further comprising: detecting a request to reorder the first partition and the second partition; as well as In response to detecting the request to reorder the first partition and the second partition, the first partition and the second partition are reordered within the detailed view.

60. The method according to any one of claims 41-42, further comprising: Detect chart view input; as well as In response to detecting the chart view input, the chart including the first data set representation of the first data set and the second data set representation of the second data set is displayed.

61. An electronic device comprising: Display screen; Memory; as well as Apparatus for performing the method according to any one of claims 41-42.

62. A computer program product comprising one or more programs configured to be executed by one or more processors of an electronic device in communication with a display screen, the one or more programs comprising instructions for performing the method according to any one of claims 41-42.