METHOD OF CALCULATING BLOOD PRESSURE USING A MOBILE DEVICE

Apparatus and associated methods relate to determining a user's blood pressure via information collected by a camera and a microphone of a portable communication device (PCD). In an illustrative example, the PCD simultaneously records a blood flow and a pulsation for the user. The blood flow may be recorded by positioning the camera such that camera aligns with a finger of a first arm of the user. The pulsation may be recorded by positioning the microphone such that the microphone proximate to an antecubital artery of the second arm of the user. In response, the PCD uses the recorded blood flow and pulsation information to determine a systolic blood pressure and diastolic blood pressure for the user in accordance with previously input body parameters (e.g., height, weight, age, gender) of the user.

TECHNICAL FIELD

Various embodiments relate generally to blood pressure measurement devices.

BACKGROUND

In the medical field, it is common practice to monitor the vital signs of a patient. Vital signs typically include a body temperature, a blood pressure, a pulse, and a breathing rate of a patient. Doctors commonly use vital signs when administering a diagnosis of a patient or determining a treatment plan for the patient.

Various medical equipment may be used to measure a patient's vital signs. For example, a digital thermometer may be used to measure a patient's body temperature. A stethoscope and blood pressure cuff may be used to measure the blood pressure of a patient. While some types of medical equipment may be found in a patient's home such as a thermometer, for example, the medical equipment necessary to monitor vitals requires a visit to a doctor's office, a medical facility, or a medical transportation vehicle (e.g., ambulance).

SUMMARY

Apparatus and associated methods relate to determining a user's blood pressure via information collected by a camera and a microphone of a portable communication device (PCD). In an illustrative example, the PCD simultaneously records a blood flow and a pulsation for the user. The blood flow may be recorded by positioning the camera such that camera aligns with a finger of a first arm of the user. The pulsation may be recorded by positioning the microphone such that the microphone proximate to an antecubital artery of the second arm of the user. In response, the PCD uses the recorded blood flow and pulsation information to determine a systolic blood pressure and diastolic blood pressure for the user in accordance with previously input body parameters (e.g., height, weight, age, gender) of the user.

Various embodiments may achieve one or more advantages. For example, some embodiments may permit the user to transfer the user's inputted body parameters and determined blood pressure to a medical facility, or a doctor' office, for medical diagnosis. The user's inputted body parameters and determined blood pressure may be stored in a data memory to create a metrics history for the user. The stored information may be associated with a unique user profile for the user. The unique user profile, in accordance with the stored information, may provide individual trends and patterns for the user. The individual trends and patterns may assist in a medical diagnosis administered by a healthcare practitioner or self-care by the patient.

In some embodiments, the unique user profile may increase accuracy for determining blood pressure by tailoring an algorithm for specific use with the unique user profile. The algorithm may be updated in real-time to reflect the most recent stored information for the user associated with the unique user profile.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

To aid understanding, this document is organized as follows. First, an exemplary use of a PCD to measure a blood pressure of a user is briefly introduced with reference toFIG. 1. Second, with reference toFIGS. 2-3, the discussion turns to exemplary embodiments that illustrate the hardware architecture and a home screen for measuring a blood pressure of a user. With reference toFIGS. 4-6, software flowcharts illustrate various operations for measuring a blood pressure with a PCD. With reference toFIG. 7, a blood pressure monitoring management system illustrates various applications associated with measuring a blood pressure with a PCD. Finally, with reference toFIG. 8, a flowchart of operations executed between a PCD and a BPMMS for updating and retrieving coefficients and algorithms tailored for an individual user.

FIG. 1depicts an exemplary use of a PCD for measuring a blood pressure of a user. A portable communication device (PCD)100includes a display screen105. The PCD100may be a smartphone, such as an iPhone®, commercially available from Apple of Washington, or a smartphone for Android™, commercially available from Google of California. As depicted, the display screen105illustrates body parameters110associated with a user120. The user120holds the PCD100with a hand of a first arm125positioning a finger of the first arm125such that the finger aligns with a camera130of the PCD100. The person, with the finger aligned with the camera130, positions a microphone135of the PCD100proximate to an antecubital artery of the second arm140of the user120. The PCD100simultaneously records a pulse flow, via the camera130, and a pulsation, via the microphone130. In response to the recorded pulse flow and the recorded pulsation, the PCD100, in accordance with the inputted body parameters, determines a systolic blood pressure140and a diastolic blood pressure150. The display screen105displays the systolic blood pressure140and the diastolic blood pressure150.

In some embodiments, the body parameters110may include medical conditions for the user120administering the blood pressure measurement. For example, the body parameters110may include whether the user120suffers from diabetes. The body parameters110may modify an algorithm for specific use with the user120. For example, a second person having a same gender, height and weight as the user120, but having a different age, may require modification to the algorithm used for determining the blood pressure of the second person.

In various embodiments, the PCD100may store inputted and recorded information to a data store. The data store may be in the PCD100, or in a remote database accessible from the PCD100via a communication network. The stored information may be used to analyze trends of the blood pressure for the user120. In some embodiments, the stored information may be used to create trends for various body parameters, such as, for example, weight loss and weight gain. The data store may be used to create statistics to improve the accuracy of an algorithm associated with the user120.

FIG. 2depicts a schematic view of an exemplary PCD for measuring a blood pressure of a user. A PCD200includes a processor205operably connected to an input interface210. The input interface210may be used by a user120to input the user's body parameters110. The processor205operably connects to an input sound processor215to receive input sound signals from a microphone220. The processor205operably connects to an image processor225to receive image information from a camera230. A light source235in proximity to the camera235operably connects to the processor205. The processor205operably connects to a random-access-memory module (RAM)240and a storage device245. The storage device module245may be a data store. A network interface250transmits communication information between the processor205and an external source (not shown). A display processor255operably connects to the processor205to receive image information for display on the display screen105.

In an illustrative embodiment, the processor205may transmit positioning instructions to the display processor255via the image processor225to be displayed on the display screen105. The positioning instructions may include instructions to the user120for positioning the PCD200such that the camera230aligns with a finger of the first arm125of the user120and the microphone220of the PCD200may be proximate to an antecubital artery of the second arm140of the user120. In some embodiments, the PCD200may transmit an output sound signal to a speaker (not show) to indicate proper positioning of the PCD200. In various embodiments, the PCD200may transmit an output sound signal to indicate the PCD200is not properly positioned to begin recording a pulse flow and a pulsation of the user.

In some embodiments, the storage device245may include instructions for execution by the processor205. For example, the storage device245may include instructions for execution by the processor205to initiate, via the input sound processor215, the microphone220to begin recording sound samples from the antecubital artery of the user120. In various embodiments, the storage device245may include instructions for execution by the processor to initiate the camera230, via the image processor225, and the light source235to begin recording image frames from the finger of the user120to determine pulse flow. In various embodiments, the storage device245may include instructions for the processor205to simultaneously record the sound samples and the image frames.

In some embodiments, the processor205may transmit to the display processor255status updates for display on the display screen105. The status updates may indicate to the user120progress information concerning a recording of the sound samples and image frames. For example, an empty status bar may be displayed to indicate the recording of sound samples and image frames has not commenced. When the recordings begin, the status bar may fill incrementally to indicate progress. The progress indicated may be time transpired or time remaining. In various embodiments, a fixed number of sound samples and image frames may need to be recorded, for example, a sample size of thirty may be required for a more accurate blood pressure measurement. The status bar may indicate how many sound samples and image frames have been recorded or remain to be recorded. In some embodiments, multiple status bars may indicate statuses for different processes.

FIG. 3depicts a home screen for an exemplary blood pressure measuring application running on a PCD. In the illustrated embodiment, the home screen300includes a pair of soft switches305a,305b. As depicted, the soft switches305a,305bmay be toggled to select a specific parameter associated with the user105. For example, the soft switch305amay be a toggle between a “Male” position and a “Female” position to indicate the sex of the user105. Soft switch305bmay be toggled between a “Yes” position and a “No” position to indicate whether the user105has diabetes. In some embodiments, more soft switches may be included on the home screen300. Each soft switch may indicate a distinct parameter for the user105. For example, a soft switch may be used to indicate whether a blood pressure measurement should be transmitted to an external source, such as, for example, the user's120doctor.

The home screen300includes input fields310a-cto receive, via the input interface210, inputted body parameters about the user105. As depicted, the input field310ais configured to receive the weight of the user105. The input field310bis configured to receive the height of the user105and the input field310cis configured to receive the age of the user105. In response to the received body parameters from the input fields310a-c, the processor205may retrieve a blood pressure measurement algorithm tailored according to the received body parameters of the user105. In some embodiments, more input fields may be included on the home screen300and configured to receive different information. For example, the user105may input the amount of sleep averaged in a 24-hour span.

The home screen300includes display fields315a-jto display values determined via a blood measuring algorithm. As depicted, the display field315adisplays a determined blood speed of the user105. The display fields315b,315cdisplay a determined body surface area and a determined stroke volume, respectively, for the user105. The display fields315d,315edisplay a determined systolic blood pressure and a determined diastolic blood pressure, respectively, for the user105. As depicted, display fields315f-315jdisplay, respectively, a determined body water, a determined fat-free mass, a determined normal body mass index, a determined body mass index, and a determined pulse pressure. In some embodiments, the display fields may display other types of information. For example, a normal body mass index (NBMI) can be displayed as a reference point.

The home screen300includes a status display field320. As depicted the status display field320is configured to display real-time data progression information. In the illustrated embodiment, thirty recordings of the pulse flow and pulsation are required to measure the blood pressure of the user120. The status display field320displays the amount of recordings taken over the total amount of recordings needed. In some embodiments, the status display field320may display the number of recordings remaining. The home screen300includes a status bar325to indicate a progress of a specific operation. For example, the status bar325may be an illustrative depiction of the information displayed via status display field320. In various embodiments, the status bar325may indicate progress information not associated with the information displayed via the status display field.320.

The home screen300includes display fields330,335to display pulse information and pulse oxygenation levels (SpO2), respectively. As depicted, a pulse graph340illustrates a heart rate for the user120. The pulse graph340may be used to indicate whether the camera230is receiving blood flow information. The home screen300includes a sound graph345. The sound graph345may indicate whether the microphone220is receiving pulsation information about the user120. The home screen300includes a camera window350. The camera window350may show whether a finger of the user120properly aligns with the camera130to indicate proper usage of the camera for determining a blood pressure of the user120. In some embodiments, the camera window350may indicate whether a finger of the user120entirely or partially covers the camera130.

In some embodiments, the home screen300may arrange the input fields, the soft switches, the display fields, and the graphs in a different manner. In various embodiments, different screens may be included to display distinct information, such as, for example, a screen may include the input fields310a-cwithout the display fields or the graphs. Multiple screens may be included to guide a user120. For example, a first screen may be included such that the user120needs to fill in the input fields before the user120may continue to a next step. A next step may be a screen displaying instruction for positions the PCD200for proper operations of a retrieved blood measuring algorithm.

FIG. 4depicts a flowchart for an exemplary set of steps to measure a user's blood pressure with a PCD. The user120begins, at405, by inputting, into the PCD200, the user's120body parameters110. At410, after the PCD200receives the body parameters110, the PCD200records pulse signals from the user120. The PCD200, at415, processes the recorded signals. If the recorded signals do not exceed a predetermined threshold, the PCD200continues to record pulse signals, at410. If the recorded signals do exceed a predetermined threshold, the PCD200determines, at425, a systolic blood pressure for the user120. At430, the PCD200determines the diastolic blood pressure for the user120. At435, the PCD200displays, via the display screen105, the determined systolic blood pressure, from425, and the determined diastolic blood pressure, from430.

FIG. 5depicts a flowchart of an exemplary method of using a PCD to capture image frames and sound samples. In an illustrative embodiment, the processor205begins execution of the method410by determining whether the camera230is initialized, at505. If the camera230is not initialized, the processor205initializes, at510, the camera230. If the camera230is initialized, the processor205determines, at515, whether the microphone220is initialized. If the microphone220is not initialized, the processor205initializes, at520, the microphone220. If the microphone220is initialized, the processor205simultaneously captures image frames from the camera230and captures sound samples from the microphone220.

At530, the processor205assigns a variable r_p (red plane) a value of zero. The variable r_p represents the sum of all red values of a captured frame. For example, each pixel has a red value of 0-255 and the variable r_p represents the sum of all red values in the each red pixel of a frame. At535, the processor205assigns a counter variable (i) a value of zero. At540, the processor determines whether the value of the counter variable (i) exceeds a predetermined pixel count threshold. If the value of the counter variable (i) does not exceed the predetermined pixel count threshold, a variable (r) receives, at545, an assigned value equal to the number of red pixels for a frame at the counter variable (i). The variable (r_p) increases, at550, by the value of the variable (r), from545. The counter variable (i) increases by one, at555. The processor205repeats, at540, determining whether the most recent value of the counter variable (i) is less than the predetermined pixel count threshold.

If, at540, the counter variable (i) exceeds the predetermined pixel count threshold, the processor205determines, at560, a quotient blood rate such that the quotient blood rate equals the most recent value of r_p divided by the value of the most recent counter variable (i).

At565, the processor205assigns a variable (f_sum) a value of zero. The variable f_sum represents sum of all values of all captured audio samples. For example, each audio sample has an audio value that is a sound level. The variable f_sum represents the sum all audio values in all audio samples. At570, the processor205assigns a sample counter variable (Is) a value of zero. At575, the processor determines whether the value of the sample counter variable (Is) exceeds a predetermined audio sample threshold. If the value of the sample counter variable (Is) does not exceed the predetermined audio sample threshold, a variable (fr) receives, at580, an assigned value equal to the number of audio detections for an audio sample at the sample counter variable (Is). The variable (f_sum) increases, at585, by the value of the variable (fr), from580. The sample counter variable (Is) increases by one, at590. The processor205repeats, at575, determining whether the most recent value of the sample counter variable (Is) is less than the predetermined audio sample threshold.

If, at575, the sample counter variable (Is) exceeds the predetermined audio sample threshold, the processor205determines, at560, a quotient average audio sample (avg_fr) such that the quotient average audio sample equals the most recent value of f_sum divided by the value of the most recent sample audio counter variable (Is).

In some embodiments, the predetermined pixel count threshold may be equal to 50. The predetermined pixel count threshold and the predetermined audio sample threshold may be equal, such as, for example, both the predetermined pixel count threshold and the predetermined audio sample threshold may both equal thirty. In various embodiments, the predetermined pixel count threshold and the predetermined audio sample threshold may be different values. For example, the predetermined pixel count threshold may equal forty and the predetermined audio sample threshold may equal sixty.

FIG. 6a flowchart of an exemplary method of using a PCD to measure a blood pressure for a user. In some examples, some of the steps in a method600may be included in a program of instructions stored in the data storage device245. The method600illustrates an exemplary process for determining a user's120blood pressure, the blood pressure being a function of the inputted body parameters110, pulse propagation time, body surface area, body water, fat-free mass, body mass index, stroke volume, and pulse pressure. In some embodiments, a normal body mass index may be included as a parameter from which the blood pressure is a function thereof. The method600receives, at602, inputted body parameters110via the input interface220. The processor205, based on the inputted body parameters110, determines, at604, the gender of the user120. At606and608, the processor205determines, based on the inputted body parameters110, whether the user is diabetic.

At606, if a male user is not diabetic, the processor205retrieves from the data store245, at610, a set of coefficients and a blood measuring algorithm (M-ND) based on the inputted body parameters110. If a male user is diabetic, the processor205retrieves from the data store245, at612, a set of coefficients and a blood measuring algorithm (M-D) based on the inputted body parameters110. At608, if a female user is diabetic, the processor205retrieves from the data store245, at614, a set of coefficients and a blood measuring algorithm (F-D) based on the inputted body parameters110. If a female user is not diabetic, the processor205retrieves from the data store245, at616, a set of coefficients and a blood measuring algorithm (F-ND) based on the inputted body parameters110. In various embodiments, the data store may be at a remote location. The processor205may transmit and retrieve information from the remote data store via the network interface250.

At618, the processor transmits, via the display processor255, to the display105instructions for positioning the PCD200such that a finger of a first arm125aligns with the camera230and positions a microphone220proximate to an antecubital artery of the second arm140of the user120. At620, the processor determines whether a pulse flow is detected by the camera230. If a pulse flow is not detected, the processor re-transmits, at618, positioning instructions to the display105. If a pulse flow is detected, the processor205determines whether a pulsation is detected by the microphone220, at622. If a pulsation is not detected, the processor re-transmits, at622, positioning instructions to the display105.

If a pulsation is detected, at622, the processor205simultaneously records, at624, received information from the camera230and the microphone220. The received information may be captured via the method410. The processor determines, at626, a body surface for the user105based on the retrieved coefficients and body measuring algorithm in accordance with the inputted body parameters110. For example, if the inputted body parameters indicate the user is a female with diabetes, the processor may user the coefficients and body measuring algorithm (F-D), from614, to determine the body surface of the user.

At628, the processor205, in response to the record information from the camera230and the microphone220, determines an average time difference between the pulse flow and the pulsation to determine a pulse propagation time. The processor205determines a body mass index and a normal body mass index. The processor205determines a body mass index correlation using the determined body mass index and the determined normal body mass index. Using a predetermined coefficient (k) retrieved from the data store245and the determined body mass index correlation, the processor205determines a systolic blood pressure. In some embodiments, the predetermined coefficient (k) is determined through statistical research based on recorded pulse propagation and blood pressure measurements recorded using a vital signs monitor, such as, for example, a Spot Vital Signs® Device as distributed by WelchAllyn®, Inc. of New York. At630, the processor205determines a body surface area, a body water, a fat-free mass, a stroke volume, and a pulse pressure. The processor205determines a diastolic blood pressure. In some embodiments, the diastolic pressure may be the difference between the predetermined systolic pressure and the pulse pressure. At632, the processor205transmits the determined systolic blood pressure and the determined diastolic blood pressure to the display105via the display processor255.

The processor205, at636, transmits the determined systolic blood pressure and the determined diastolic blood pressure to the data store245to store. At638, the processor205retrieves, from the data store245, a blood pressure history for the user120. In some embodiments, the processor205may transmit the inputted body parameters, the determined systolic blood pressure and the determined diastolic blood pressure to a remote data store via the network interface250. The processor205may receive, from the remote data store via the network interface, a blood pressure history for the user120. In various embodiments, the processor205may retrieve from the remote data store the coefficients and body measuring algorithm for the user105based on the inputted parameters.

At640, it is determined whether the determined systolic blood pressure and the determined diastolic blood pressure are within a predetermined blood pressure range. The predetermined blood pressure range may be based on the inputted body parameters110of the user120. If the determined systolic blood pressure and the determined diastolic blood pressure are not within the predetermined blood pressure range, the processor205transmits, at642, an alert to the display105via the display processor255. The alert may advise the user120to measure the user's120blood pressure again. If the determined systolic blood pressure and the determined diastolic blood pressure are within the predetermined blood pressure range, the processor205may transmit, at644, a message indicating a successful measurement of blood pressure to the display105.

In some embodiments, the predetermined blood pressure range may be based on a combination of user's105blood pressure history and the inputted body parameters. In various embodiments, the processor205may transmit, via the network interface250, the determined systolic blood pressure and the determined diastolic blood pressure to a remote medical facility. For example, the determined information may be transmitted to a doctor's office for analysis or to assist in a diagnosis of the user120. In various embodiments, if the determined systolic blood pressure and the determined diastolic blood pressure are not within the predetermined blood pressure range based on the inputted body parameters, the processor205may execute a self-diagnosis routine to ensure proper functioning of the PCD200.

FIG. 7depicts an illustration of an exemplary blood pressure monitoring management system (BPMMS) integrated for use multi-use applications. A user605measures the user's705blood pressure715using a PCD710. The PCD710transmits, via a network interface720, the measured blood pressure715to a blood pressure monitoring management system (BPMMS)725. The BPMMS725includes a user profile engine730. The user profile engine730may associate a unique user identification (UID) with information received about the user's705measured blood pressure715. A data store, also included in the BPMMS725, may store the received information such that the information may be retrieved using the user's UID. In some embodiments, other information, such as, for example, the user's705body parameters, may be transmitted from the PCD710and received by the user profile engine730to configure for storing.

A coefficient and algorithm engine (CAE)740, also included in the BPMMS725, may determine a set of coefficients and a blood pressure algorithm based on the stored information, in the data store735associated with the UID of the user705. The CAE740may transmit the determined set of coefficients and blood pressure algorithm to the PCD710for use in measuring a blood pressure of the user705. In some embodiments, as information continues to be stored in the data store735, the CAE740may continuously modify the set of coefficients and the blood pressure algorithm associated with the UID of the user705such the accuracy of the blood pressure measurements for the user705increases as more information about the user705is stored in the data store735.

The BPMMS725includes a recommendation engine745. The recommendation engine745may transmit, in response to a user's705blood pressure measurement715, recommendations from the BPMMS725to the PCD710. For example, if the blood pressure measurement715indicates that the user is experiencing high blood pressure, the recommendation engine715may transmit a recommendation to the user705that an appointment be scheduled with a doctor. In some embodiments, the recommendation engine may propose appointment times based a user's705doctor's office calendar, and in response to the user705selecting an appointment time, schedule the appointment with the user's705office.

The BPMMS725further includes a third party engine750. The third party engine705may be configured to communicate with a third party fitness application755. The third party fitness application includes a user profile engine760, an activity engine765, an analytics engine770, and data store775. The third party engine750may receive, via a network interface780, from the user profile engine760identifying information about the user705such that the user profile engine730associates the received identifying information with the UID of the user705. In response to associating the received identifying information with the UID, the third party engine750may receive from the activity engine765and the analytics engine770activity data (e.g., types of activities such as running) and activity trends data (e.g., amount of daily activity time). The received activity data and the activity trends data may be stored in the data store735. An analytic engine785of the BPMMS725, may perform analytics on the stored data in the data store735. For example, the analytic engine may determine trends about the user's705blood pressure715as it relates to the user's activity data. The results of the analytics performed by the analytic engine735may be transmitted to the PCD710for display or to a doctor to assist in a diagnosis of the user705.

A doctor785may retrieve the user's705blood pressure measurement715in real-time. For example, a doctor may conduct a consultation with the user705over a telephone. During the consultation, the doctor785may request the user705perform a blood pressure measurement715to assist the doctor785with a diagnosis. In response to the user705using the PCD710to take a blood pressure measurement715, the blood pressure measurement may be transmitted, via the network interface720, to a PCD790of the doctor785. The PCD790may be a computer, an iPad©, or a tablet for use Android™. In some embodiments, the doctor785may retrieve from the BPMMS725information pertaining to the UID of the user705. As depicted, the retrieved information may include blood pressure history, body parameters, analytics, and activity levels for the user705. In various embodiments, the doctor785, via the BPMMS725, may create a schedule to define times when the user705needs to take a blood pressure measurement.

The BPMMS725includes an analytics engine795. The analytics engine795may generate trends based on the information stored in the data store735. For example, the analytics engine may generate a graph charting the relationship between the user's120weight and the user's120blood pressure. In various embodiments, the analytics engine795may factor in information received from a third party app. For example, the analytics engine may generate a graph illustrating the user's120blood pressure as it relates to the user's120activity levels. The generated trends may be transmitted to the PCD710to be displayed for the user120to review. In some embodiments, the generated trends may be transmitted to the PCD790for the doctor785to review.

FIG. 8depicts a flowchart of an exemplary PCD-BPMMS operations executed between a PCD and a BPMMS. In some examples, some of the steps in a method800may be included in a program of instructions. The program of instructions may be stored in either the data storage device245or the BPMMS725. In some embodiments, the PCD200may store a subset of the program of instructions in the data store device245, and the BPMMS725may store a remaining subset of the program of instructions in the data store735.

At805, the PCD200receives, via the input interface210, inputted body parameters. The PCD200associates the inputted body parameters with a previously create user profile. The user profile may include identifying information, such as, for example, a name and a birthday, to identify the user120. In some embodiments, the PCD200may include a multitude of user profiles such that each profile is associated with an individual user. An individual user may select a user profile that corresponds to the individual user before inputting the body parameters.

At810, the PCD200transmits, via the network interface250, the inputted body parameters with the associated user profile to the BPMMS725. At820, the BPMMS725receives, via the network interface780, the transmitted inputted body parameters and the associated user profile. At825, the BPMMS725stores the received inputted body parameters such that the received user profile may be used to retrieved the saved inputted body parameters.

At830, the BPMMS725determines whether a set of coefficients and an algorithm associated with the received user profile needs to be modified in response to the received inputted body parameters. For example, if a weight of the user120increases since a previous measurement, the set of coefficients and an algorithm associated with the user120may need to be modified to account for the increase in weight. In some embodiments, the determination of whether the set of coefficients and the algorithm associated with the received user profile needs to be modified may include factors received from a third party. For example, the BPMMS725may receive, from the fitness app755, data about the activity levels of the user120. In the event the user's120activity levels have decreased, the CAE740may need to modify the set of coefficients and the algorithm to reflect the decrease in activity levels.

If the BPMMS725determines that the set of coefficients and the algorithm associated with the received user profile needs to be modified, the BPMMS725, via the CAE740, modifies, at835, the set of coefficients and the algorithm associated with the received user profile to reflect the received inputted body parameters. In various embodiments, the accuracy of the of the blood pressure measurement may increase as the set of coefficients and the algorithm are modified over time. If the BPMMS725determines that the set of coefficients and the algorithm associated with the received user profile does not need to be modified, the set of coefficients and the algorithm associated with the received user profile remain unchanged. In some embodiments, a user profile may not have an associated set of coefficients nor an associated algorithm. As such, the BPMMS725may provide a default set of coefficients and a default algorithm based only on the user inputted body parameters.

At840, the BPMMS725retrieves the set of coefficients and the algorithm associated with the received user profile as determined from830. The BPMMS725transmits, at845, the retrieved set of coefficients and the retrieved algorithm to the PCD200. The PCD200receives, at850, the transmitted set of coefficients and the transmitted algorithm. At855, the PCD200uses the set of coefficients and the algorithm received, from850, along with blood flow and pulsation information received from the camera230and the microphone220to determine a blood pressure measurement for the user120.

At860, the PCD200determines whether a security setting for the associated user profile permits the syncing the determined blood pressure measurement with the BPMMS725. If the security setting does permit syncing, the PCD200transmits the determined blood pressure measurement to the BPMMS725. At865, the BPMMS725receives the transmitted blood pressure measurement. The BPMMS725stores, at870, the received blood pressure measurement. In some embodiments, the BPMMS725may store the blood pressure measurements such that a third party (e.g., doctor's office) may retrieve the blood pressure measurements associated with an individual user profile based on security setting of the BPMMS725.

If the security setting does not permit syncing, the PCD200determines, at875, whether to store the blood pressure measurement locally. If the blood pressure measurement is not to be stored locally, the PCD200discards, at880, the blood pressure measurement. If the blood pressure measurement is to be stored locally, the PCD200stores, at885, the blood pressure measurement to the data store device245. In various embodiments, a user may manually sync blood pressure measurements at a later time. For example, the user may decide to store a number of blood pressure measurements locally and sync the stored blood pressure measurements at a same time. In some embodiments, the BPMMS725, via the analytics engine795, may generate trends to be used with inputted body parameters in determining a set of coefficients and an algorithm.

Although various embodiments have been described with reference to the Figures, other embodiments are possible. For example, the blood pressure measurement may be directed towards a mobile software application (App) that resides on a mobile device, such as a smartphone. The App may measure a user's blood pressure without the need for any external devices, such as, for example, an arm cuff. When the App is activated to measure blood pressure, the App, through the camera and the microphone of a mobile device, may gather pulse data from a user's index finger and elbow artery. In response to the gathered pulse data, the App may use the user's input body parameters (e.g., gender, age, weight, height) to calculate systolic and diastolic pressure and may display the results on a graphical display of the mobile device.

In some embodiments the BPMMS725may include a HIPPA management engine to manage hippa compliance of the information being received, stored, and transmitted. In various embodiments, the blood pressure measurement system may include a reminder engine to notify a user of a next scheduled blood pressure measurement. In some embodiments, the reminder engine may alert a user after a predetermined time period has been exceed since the most recent blood pressure measurement. In various embodiments, the reminder engine may be included in the BPMMS725.

Some aspects of embodiments may be implemented as a computer system. For example, various implementations may include digital and/or analog circuitry, computer hardware, firmware, software, or combinations thereof. Apparatus elements can be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device, for execution by a programmable processor; and methods can be performed by a programmable processor executing a program of instructions to perform functions of various embodiments by operating on input data and generating an output. Some embodiments can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and/or at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

Suitable processors for the execution of a program of instructions include, by way of example and not limitation, both general and special purpose microprocessors, which may include a single processor or one of multiple processors of any kind of computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including, by way of example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and, CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits). In some embodiments, the processor and the member can be supplemented by, or incorporated in hardware programmable devices, such as FPGAs, for example.

In some implementations, each system may be programmed with the same or similar information and/or initialized with substantially identical information stored in volatile and/or non-volatile memory. For example, one data interface may be configured to perform auto configuration, auto download, and/or auto update functions when coupled to an appropriate host device, such as a desktop computer or a server.

In some implementations, one or more user-interface features may be custom configured to perform specific functions. An exemplary embodiment may be implemented in a computer system that includes a graphical user interface and/or an Internet browser. To provide for interaction with a user, some implementations may be implemented on a computer having a display device, such as an LCD (liquid crystal display) monitor for displaying information to the user, a keyboard, and a pointing device, such as a mouse or a trackball by which the user can provide input to the computer.

In various implementations, the system may communicate using suitable communication methods, equipment, and techniques. For example, the system may communicate with compatible devices (e.g., devices capable of transferring data to and/or from the system) using point-to-point communication in which a message is transported directly from the source to the first receiver over a dedicated physical link (e.g., fiber optic link, point-to-point wiring, daisy-chain). The components of the system may exchange information by any form or medium of analog or digital data communication, including packet-based messages on a communication network. Examples of communication networks include, e.g., a LAN (local area network), a WAN (wide area network), MAN (metropolitan area network), wireless and/or optical networks, and the computers and networks forming the Internet. Other implementations may transport messages by broadcasting to all or substantially all devices that are coupled together by a communication network, for example, by using Omni-directional radio frequency (RF) signals. Still other implementations may transport messages characterized by high directivity, such as RF signals transmitted using directional (i.e., narrow beam) antennas or infrared signals that may optionally be used with focusing optics. Still other implementations are possible using appropriate interfaces and protocols such as, by way of example and not intended to be limiting, USB 2.0, Fire wire, ATA/IDE, RS-232, RS-422, RS-485, 802.11a/b/g, Wi-Fi, Ethernet, IrDA, FDDI (fiber distributed data interface), token-ring networks, or multiplexing techniques based on frequency, time, or code division. Some implementations may optionally incorporate features such as error checking and correction (ECC) for data integrity, or security measures, such as encryption (e.g., WEP) and password protection.