PUSH NOTIFICATION FOR MEDICAL DEVICES
20230413161 ยท 2023-12-21
Inventors
- Adarsh Jayakumar (Valencia, CA, US)
- Joshua Uyeda (Los Angeles, CA, US)
- Lisa Denise Moore (Glendale, CA, US)
- Andrew James Haddock (Los Angeles, CA, US)
Cpc classification
A61N1/37254
HUMAN NECESSITIES
G16H50/20
PHYSICS
G16H20/40
PHYSICS
A61N1/37252
HUMAN NECESSITIES
H04W48/16
ELECTRICITY
A61B5/0002
HUMAN NECESSITIES
A61B5/6867
HUMAN NECESSITIES
G16H50/70
PHYSICS
H04L5/0048
ELECTRICITY
International classification
Abstract
A system may include a first device and a second device. The first device may be configured to send advertising packets with a request to communicate with the second device, and the second device may be configured to discover the first device and initiate a wireless communication session with the first device using the advertising packets. The first device may be configured to send advertising packets and send a request to communicate with the second device, and the second device may be configured to discover the first device and initiate a wireless communication session with the first device using the advertising packets.
Claims
1. A method for establishing wireless communication between a first device and a second device using a communication protocol in which the first device is configured to send advertising packets and the second device is configured to discover the first device using the advertising packets and initiate the wireless communication between the first device and the second device, the method comprising: using the first device to send advertising packets and a request to communicate with the second device; and using the second device to initiate a wireless communication session with the first device using the advertising packets.
2. The method of claim 1, further comprising: using the first device to determine a trigger for requesting communicating with the second device, and respond to the determined trigger by sending the request, wherein the first device requests the second device to initiate communication by including embedded data in the advertising packets, wherein the embedded data signals a request by the first device for the second device to initiate a communication connection; and using the second device to scan for advertising packets to discover the first device, recognize the embedded data in the advertising packets, and initiate the communication connection with first device in response to recognizing the embedded data.
3. The method of claim 1, wherein the first device includes a medical device configured for use in sensing at least one health-related condition, delivering a therapy, or both sensing the at least one health-related condition and delivering the therapy.
4. The method of claim 3, wherein the first device includes an implantable medical device.
5. The method of claim 3, wherein the first device includes a neuromodulator configured to deliver a neuromodulation therapy.
6. The method of claim 1, wherein the using the first device to send advertising packets includes sending the advertising packets according to an advertising interval that specifies time between advertising events, and modifying the advertising interval in response to the determined trigger.
7. The method of claim 6, wherein the first device is configured to determine more than one condition, the method further comprising using the first device to determine at least one condition from the more than one condition, and selecting the advertising interval based on the determined at least one condition, wherein different conditions correspond to different advertising intervals.
8. The method of claim 1, wherein the embedded data in the advertising packets is a bit to signal the request by the first device for the second device to initiate the communication connection.
9. The method of claim 1, wherein the first device is configured for use to determine more than one condition, the further comprising using the first device to determine at least one condition from the more than one condition, and identifying the determined at least one condition in the embedded data.
10. The method of claim 9, further comprising sending a time stamp within the embedded data corresponding to when the determined at least one condition occurred.
11. The method of claim 10, further comprising sending additional information relevant to the determined at least one condition, wherein the additional relevant information includes: an action by the first device, at least one measurement performed by the first device, or an indication of a condition of the first device or a person using the first device.
12. The method of claim 10, further comprising changing operation of the first device based on the determined trigger.
13. The method of claim 12, wherein the first device changes between a closed-loop therapy and an open loop therapy based on the determined trigger.
14. The method of claim 12, wherein the determined trigger includes a determined medical event or a determined device event for the first device.
15. The method of claim 1, wherein: the first device is an implantable medical device configured to be implanted in a patient, the using the first device to send the request includes using the first device to alert the patient of the request for the communication, the first device alerts the patient using a display, an audio signal, or vibration, using the first device to determine that the patient did not acknowledge the request, and automatically broadcast an emergency signal to at least one other device when the patient does not acknowledge the request.
16. The method of claim 1, wherein the second device or a third device is configured to alert the patient of the request for the communication using a display, an audio signal, or vibration, determine that the patient did not acknowledge the request, and automatically broadcast an emergency signal to at least one other device when the patient does not acknowledge the request.
17. A method for establishing wireless communication from an implantable medical device in a patient to an external device using a generical access protocol (GAP) for a Bluetooth Low Energy (BLE) protocol where the external device is configured to operate as a central device and the implantable device is configured to operate as a peripheral device according to the GAP, the method comprising: using the implantable medical device to: send advertising packets over an advertising channel for use by the external device to discover the implantable medical device; recognize a condition; and respond to the recognized condition by requesting the external device to initiate communication with the implantable device, wherein the implantable medical device requests the external device to initiate communication by including embedded data in the advertising packets, wherein the embedded data signals a request by the implantable device for the external device to initiate a communication connection; using the external device to: scan for advertising packets to discover the implantable medical device; recognize the embedded data in the advertising packets; and initiate the communication connection with implantable medical device in response to recognizing the embedded data.
18. The method of claim 17, wherein: the implantable medical device includes a neuromodulator or a cardiac stimulator; the external device includes a remote control, a clinician programmer, or a personal electronic device; and the recognized condition includes: abnormal sensed data; or a change in the implantable medical device.
19. A system, comprising: a first device and a second device, wherein the first device is configured to send advertising packets and send a request to communicate with the second device, and wherein the second device is configured to discover the first device and initiate a wireless communication session with the first device using the advertising packets.
20. The system of claim 19, wherein: the first device is configured to determine a trigger for requesting communicating with the second device, and respond to the determined trigger by sending the request, wherein the first device requests the second device to initiate communication by including embedded data in the advertising packets, and wherein the embedded data signals a request by the first device for the second device to initiate a communication connection; and the second device is configured to scan for advertising packets to discover the first device, recognize the embedded data in the advertising packets, and initiate the communication connection with first device in response to recognizing the embedded data.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Various embodiments are illustrated by way of example in the figures of the accompanying drawings. Such embodiments are demonstrative and not intended to be exhaustive or exclusive embodiments of the present subject matter.
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
DETAILED DESCRIPTION
[0058] The following detailed description of the present subject matter refers to the accompanying drawings which show, by way of illustration, specific aspects and embodiments in which the present subject matter may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the present subject matter. Other embodiments may be utilized and structural, logical, and electrical changes may be made without departing from the scope of the present subject matter. References to an, one, or various embodiments in this disclosure are not necessarily to the same embodiment, and such references contemplate more than one embodiment. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope is defined only by the appended claims, along with the full scope of legal equivalents to which such claims are entitled.
[0059]
[0060] Aspects of the present subject matter involve the first device providing a push notification to a second device where the first device is not configured to initiate a communication session. For example, various embodiments of the present subject matter implement a push notification routine from peripheral device to a central device. Various embodiments may implement a custom modification of the advertising packet data to relay information from the peripheral device to the central device. Thus, information such as emergency information may be sent from the peripheral device to the central device using embedded data within the broadcasted advertising packet from the peripheral device. Examples of emergencies for which it may be desirable to provide an emergency push notification may include, but are not limited to, a fall detected from IPG, a heart rate showing strange behavior, a disrupted closed-loop control, and abnormal sensed data such as abnormal evoked compound action potentials (ECAPs), local field potentials (LFPs), evoked resonant neural activity (ERNAs), and the like. The embedded data may be a bit that may function as a mailbox flag signal the central device that it should initiate a connection to peripheral device to read the underlying information. This avoids the privacy problem where patients are tracked through their resolvable private address (RPA) and advertising packet contents. The embedded data may include opcode that may identify the emergency, a timestamp for the emergency, other relevant associated with the emergency such as, by way of example and not limitation, sensing paused, or an implementation of a default stimulation program or the withdraw of stimulation.
[0061] Various embodiments may modify the advertising interval to relay the emergency information. The advertising interval may be sped up for some duration to increase the chance that the scanning external sees the embedded data. Different emergency states could affect advertising interval speed up differently. For example, a detected heart arrhythmia may correspond to a short advertising interval whereas an IPG-initiated change from closed loop to open loop may correspond to a long advertising interval.
[0062]
[0063] Unlike the known protocol in
[0064]
[0065]
[0066] The first device 400 may also be configured to detect a trigger or condition at 411 which warrants a communication session with the second device. Examples of such triggers or conditions include emergency situations that warrant an emergency notification. In response to the detected trigger condition, the first device 400 may embed the request for communication within the advertising packets, and those advertising packets may be broadcast to request a connection, as illustrated at 410. The second device may scan the advertising packets to discover peripherals, and may recognize the embedded data in the advertising packets sent at 410. The second device 401 may recognize the request for connection 409 from the advertising packets, and then may determine to initiate the wireless connection 404, and initiate the wireless connection 405 in response to the request. The first device 400 may accept the connection by tuning into the right frequency at the right time to send a scan response 406 and establish the connection. The first device 400 and the second device 401 communicate (e.g., see communication session 407 activities performed by the first device 400 and communication session 408 activities performed by the second device 401) at the identified channels and times as long as the connection is established.
[0067]
[0068]
[0069] By way of example and not limitation, the IPG may detect a variety of situations for which a push notification is desirable. For example, the detected situations may be classified as an emergency using sensors such as accelerometers in the IPG, through an internal sensed signal in the brain, or some other means. These signals may indicate a potential medical emergency requiring a very quick response or may indicate an event with a high medical relevance but that is not life threatening. For example, accelerometer data may be used to identify a fall, heart rate variability, or respiration. Electrical signals sensed using electrode(s) on at least one lead may include heart rate and neural activity, including aberrant or absence of neural activity.
[0070] Falls may occur as a result of gait disturbances or other health related events, and thus are a serious concern within the movement disorder population. By way of example and not limitation, a fall may be measured by rapid acceleration followed by a sudden impact event recorded. The fall event may be further analyzed to determine if a fall event requires assistance. For example, a fall event followed by little or lack of change in sensor data for some set period may indicate that the patient has not moved or sat up or stood after the fall.
[0071] Implanted accelerometers located near the heart can detect the underlying heartbeat of the individual. This can also provide meaningful health information to the patient as an emergency event. Heart Rate Variability or arrythmias may be measured by the change in frequency patterns between successive phases of the heartbeat. A rapid heart rate may be measured by the frequency of the heartbeat can indicate stress or other medical factors. A myocardial infarction may be determined by a significant sustained change in heart rate followed by change in the pattern of cardiac signal. A loss of a heartbeat signal may indicate a cardiac arrest requiring assistance. An irregular and inconsistent cardiac rhythm may indicate an atrial fibrillation.
[0072] Respiration may cause a consistent rhythmic change in the position of the chest with inspiration and expiration, which may be detected by an accelerometer. Respiration can also provide meaningful health information to the patient as an emergency event. The respiration rate refers to the timing between inspiratory of expiratory peaks, respiratory volume refers to the amplitude between peaks of inspiration and expiration, a loss of respiration may signal a significant medical event, and high amplitude events affecting all axis occurring regularly in succession, and correlating with phase of respiration may indicate a coughing occurrence. The amplitude of the cough signal may indicate cough volume, and an average of amplitude change over time during a cough may indicate a cough flow rate.
[0073] Events that are considered to be of lesser severity may include signals related to IPG function. For example, stimulation may be off on a lead previously delivering treatment, the battery may be low or extremely low and in need of being recharged, the battery is nearing the end of life, or the IPG has entered a fallback mode. An example of a fallback mode is disabling closed loop therapy and enabling open loop therapy. The underlying issue that triggered the fallback mode may be required to be addressed before reenabling or restoring operation back from the fallback mode.
[0074] The medical device may sense or otherwise provide measurements and may monitor its own functionality for conditions or events of interest. It may be desirable to communicate these measurement(s), condition(s) or event(s) to another device or devices. For example, A user should be signaled if the battery needs to be recharged or replaced soon. By way of another example, if the stimulation is off or at 0 mA after having been on for over 24 hours (or some other set time) and this is not part of a schedule, then this may indicate a medical concern related to the function of the device that should be communicate. An emergency may be indicated after a set time in the off state when stimulation is not resumed. Sensed neural activity is expected to have certain definable characteristics. An emergency event may be determined if sensed neural activity is absent, highly repetitive (e.g., at amplitudes above noise such as a seizure), or generally outside of expected characteristics. Certain events (e.g., data anomaly, controller instability, etc.) may lead to closed-loop stimulation reverting to open-loop stimulation in a fallback mode. The external device may require notification to solve the issue or to seek help from a representative of the device manufacturer.
[0075] The present subject matter enables push notification from a medical device that is not configured to initiate a communication session. Examples of the medical device include a therapy-delivery device such as, but are not limited to, a neuromodulation device. Examples of a medical device include a monitor, which may but does not necessarily also delivery a therapy, as generally discussed. Examples of system that include such medical devices that may use BLE communication are generally discussed with respect to
[0076] After an initial activation of the device (e.g., implantation of an implantable device), the patient may be required to periodically visit the clinic in order to verify if their device is working correctly and programmed optimally. Device follow-ups may be performed by the clinicians and may be assisted by the sales representative from the device manufacturers. The present document discusses neuromodulation, also referred to as neurostimulation, as a specific example of a medical device. An implantable neuromodulation system may include an implantable neuromodulator attached to one or more implantable leads, where each lead may include one or more electrodes. The implantable neuromodulator delivers neuromodulation energy through one or more electrodes placed on or near a target site in the nervous system. An external programming device is commonly used to program the implantable neurostimulator with stimulation parameters controlling the delivery of the neurostimulation energy. Modulation parameters may comprise electrode combinations, which define the electrodes that are activated as anodes (positive), cathodes (negative), and turned off (zero), percentage of modulation energy assigned to each electrode (fractionalized electrode configurations), and electrical pulse parameters, which define the pulse amplitude (measured in milliamps or volts depending on whether the pulse generator supplies constant current or constant voltage to the electrode array), pulse width (measured in microseconds), pulse rate (measured in pulses per second), and burst rate (measured as the modulation on duration X and modulation off duration Y). The values for these parameters may be customized to a patient. The modulation parameters may be configured as a neuromodulation program capable of being implemented by the neuromodulator, and the neuromodulator may he programmed with more than one program. in order to find a program that effectively provides a therapy (e.g., pain relief) with negligible side effects, the patient or clinician may implement different programs within the neuromodulator.
[0077]
[0078]
[0079]
[0080] More particularly,
[0081] The communication between the medical device 927 and the user personal device 935 may include a wireless communication protocol such as, but not limited to, BLE. In various embodiments, the medical device 927 may be configured as a GAP peripheral device, and the user personal device 935 may be configured as a GAP central device. The medical device 927 is capable of sending a push notification, e.g., via advertising packets, that requests the user personal device 935 to initiate a communication session. Once established, the communication session may be used to communicate just with the user device 935, just with the remote system 936 using the user device 935 as a communication bridge, or with both the user device 935 and the remote system 936.
[0082]
[0083] The therapy delivery device 1027 may provide an open-loop therapy or a closed-loop therapy. Sensing circuitry may be configured for use to detect a biological signal for use to provide feedback for the closed-loop therapy. Sensing circuitry may include various components such as an application specific integrated circuit (ASIC), hardware and/or firmware. Sensing circuitry may include software implemented using a processor to further analyze feature(s) of the biological signal. The biological signal may be a measurable signal produced by electrical, chemical or mechanical activity. Examples of electrical signals may include sensing electrical activity in the brain (e.g., EEGs), electrical activity in nerves and muscles (e.g., EMGs), cardiac activity (e.g., ECGs), and other nerve sensing including both non-evoked responses and evoked responses (e.g., evoked compound action potentials (ECAPs) or evoked resonant nerve activity (ERNA)). Examples of mechanical signals may include sounds contractions detected via flex or strain sensors. Examples of chemical signals may include detected analyte concentrations such as glucose and the like. The system may include a feature detector that is configured to detect a plurality of available features of the biological signal. At least one of the features may be used as a closed-loop sensed feature of the biological signal, which may be used by a controller to provide a closed-loop therapy. The closed-loop sensed feature may be compared to a setpoint of that feature, and the difference may be fed into a feedback control algorithm.
[0084] The user device 1035 may be a personal device of the user such as the user's smartphone, the user's tablet, or the user's wearable device such as a smart watch. The user may install a downloadable app 1038 to be executed on the user device 1035 to enable the user device to communicate with the therapy delivery device and to communicate with the remote, clinician programming device 1036 through pass-through device(s) (cloud 1037).
[0085] The communication between the therapy delivery device 1027 and the user personal device 1035 may include a wireless communication protocol such as, but not limited to, BLE. In various embodiments, the therapy delivery device 1027 may be configured as a GAP peripheral device, and the user personal device 1035 may be configured as a GAP central device. The therapy delivery device 1027 is capable of sending a push notification, e.g., via advertising packets, that requests the user personal device 1035 to initiate a communication session. Once established, the communication session may be used to communicate just with the user device 1035, just with the remote clinician programming device 1036 using the user device 1035 as a communication bridge, or with both the user device 1035 and the remote clinician programming device 1036.
[0086]
[0087] The illustrated monitoring system 1127 may include at least one data collection platform 1139, an event detector 1140, and a data output 1141. The data collection platform(s) 1129 may be configured to collect healthcare-related data and the data output 1130 may be configured to use BLE to transfer at least some of the collected data to a central device 1134 such as a phone or through the network(s) 1137 to a data receiving system 1136, which may include one or more server(s) or other systems remotely located from the patient. The data transfer may use various network protocols, including cryptographic protocols such as TLS, to communicate and transfer data through one or more networks which may include the Internet. The data collection platform(s) 1129 may include at least one processor configured to execute instructions stored in memory (e.g., illustrated as processor(s)/memory) to perform processes to collect and transfer data. The event detector(s) 1128 may be configured for detecting event(s), which may be used to determine when or how data is collected. The event detector 1128 may detect event(s) using sensor(s), using user input(s), using a timer or clock, using indicator(s) of device usage, patient compliance with data collection and/or therapy, or various combinations thereof. Examples of healthcare data 1142 may include patient data, medical device data, patient environmental data, therapy data, or various combinations thereof. The patient data may include objective data such as data collected from physiological sensor(s) and subjective data such as data collected from user-answered question(s) (e.g., How do you rate your pain?).
[0088] A monitoring system 1127 may include medical device(s), external system(s) or other healthcare related data source(s) configured for use to collect healthcare-related data for transfer to a data receiving system. One or more of the medical device(s), external system(s) or other healthcare-related data source(s) may include technology used by the system to collect data, and thus may form part of the data collection platform. The data collection platform may be on one device or may be distributed among more than one device in the system. The monitoring system may include more than one medical device configured to communicate with each other or to an external system. Examples of medical devices include implantable and wearable devices. The medical device may be configured to only collect data, to only deliver therapy, or to both collect data and deliver therapy. The medical device may include sensor(s) configured for use to collect patient data (e.g., objective patient data). The medical device may be configured to collect and provide medical device data such as device model, configuration, settings, and the like. Thus, the medical device may be configured to collect patient data, medical device data, environmental data, and therapy data such as stimulation settings. Examples of external system(s) include remote controls, programmers, and personal devices such as phones, tablets, smart watches, personal computers, and the like. The external system(s) may include at least one user interface configured for use to receive user input, which may include user answers to questions. The user answers received via the user interface(s) may include subjective patient data (e.g., How do you rate your pain? or Where do you feel pain?) or objective patient data (e.g., What is your heart rate?, What is your blood pressure?, or When did you fall asleep and wake up?). The external system may be configured to collect medical device data from the medical device. Other healthcare-related data source(s) may include patient data received via a provider's server that stores patient health records. For example, patients may use a patient portal to access their health records such as test results, doctor notes, prescriptions, and the like. Other healthcare-related data sources may include various apps on a patient's phone or other device, or the data on a server accessed by those apps. By way of example and not limitation, this type of data may include heart rate, blood pressure, weight, respiration activity, muscle activity, analyte measurements (e.g., glucose measurements from a continuous glucose monitor), and the like. An app on a phone or patient's device may include or may be configured to access environmental data such as weather data and air quality information or location elevation data such as may be determined using cellular networks and/or a global positioning system (GPS). Weather data may include, but is not limited to, barometric pressure, temperature, sunny or cloud cover, wind speed, and the like.
[0089] The communication between the monitoring system 1127 and the central device 1134 (e.g., phone or tablet) may include a wireless communication protocol such as, but not limited to, BLE. In various embodiments, the monitoring system 1127 may be configured as a GAP peripheral device. The monitoring system is capable of sending a push notification, e.g., via advertising packets, that requests the central device 1134 to initiate a communication session. Once established, the communication session may be used to communicate just with the central device 1134, just with the remote system 1136 using the central device 1134 as a communication bridge, or with both the central device 1134 and the remote system 1136.
[0090]
[0091] The controller 1246 may include a data collection control 1250 configured for use to collect healthcare related data. The controller 1246 may include a memory 1251 with instructions 1252 for use to control the data collection using the data collection control 1250 and control the stimulation via the stimulation control 1248. The memory 1251 may also include storage for storing different types of collected healthcare-related data 1252, such as physiological data, therapy data, data regarding the operational status of the device, and times/trends for data. Examples of physiological data may include, by way of example and not limitation, heart rate, heart rate variability, oxygen saturation, activity, posture, steps, gait, temperature, evoked compound action potentials (ECAPS), electromyograms (EMGs), electroencephalograms (EEGs), weight, blood pressure, and the like. Examples of therapy data may include, by way of example and not limitation, stimulations settings such as amplitude, pulse width, pulse frequency period, duration of burst of pulses, active electrodes, electrode fractionalization controlling the distribution of energy (e.g., current) to active electrodes, waveforms, pulse patterns including various complex patterns, and the like. Examples of data regarding the operational status of the device may include, by way of example and not limitation, electrode-tissue impedance, fault conditions, battery information such as battery health, battery life, voltage, charge state, charging history if rechargeable, MM status, Bluetooth connection logs, connection with Clinician Programmer, hours of operation/duration of implant, and the like. Other device information may include device model and lead model. Examples of time or trend data may include changes (e.g., increases and/or decreases) in activity, pain, function and sleep. The neuromodulation device may include communication circuitry 1253 configured for use to communicate with other device(s) such as a programmer, remote control, phone, tablet and the like. The healthcare-related data may be transferred out from the neuromodulation device for transfer to a data receiving system.
[0092]
[0093] From the previous discussion of
[0094] By way of example, it is noted that anomalous data may trigger a push notification. For example, machine learning may be used to develop an algorithm using training data. A therapy may use the developed algorithm to control the therapy. However, various embodiments monitor the data for anomalies to prevent the therapy from being delivered using anomalous data.
[0095]
[0096]
[0097] Machine learning is a field of study that gives computers the ability to learn without being explicitly programmed. Machine learning explores the study and construction of algorithms that may learn from existing data (e.g., training data or learning data) and make predictions about new data. Such machine-learning tools may build a model from example training data 1557 in order to make data-driven predictions or decisions expressed as outputs or 1558. The machine-learning algorithms may use the training 1557 to find correlations among identified features 1559 that affect the outcome.
[0098] The machine-learning algorithms use features 1559 for analyzing the data to generate assessments 1558. A feature is an individual measurable property of the observed phenomenon. In the context of a biological signal, some examples of features may include, but are not limited to, peak(s) such as a minimum peak, a maximum peak as well as local minimum and maximum peaks, a range between peaks, a difference in values for features, a feature change with respect to a baseline, an area under a curve, a curve length, an oscillation frequency, and a rate of decay for peak amplitude. Inflection points in the signal may also be an observable feature of the signal, as an inflection point is a point where the signal changes concavity (e.g., from concave up to concave down, or vice versa), and may be identified by determining where the second derivative of the signal is zero. Detected feature(s) may be partially defined by time (e.g., length of curve over a time duration, area under a curve over a time duration, maximum or minimum peak within a time duration, etc.). The features may include time domain features, frequency domain features, or wavelet domain features.
[0099] The machine-learning algorithms use the training data 1557 to find correlations among the identified features 1559 that affect the outcome or assessment 1558. With the training data 1557 and the identified features 1559, the machine-learning tool is trained at operation 1560. The machine-learning tool appraises the value of the features 1559 as they correlate to the training data 1557. The result of the training is the trained machine-learning program 1561. Various machine learning techniques may be used to train models to make predictions based on data fed into the models. During a learning phase, the models are developed against a training dataset of inputs to optimize the models to correctly predict the output for a given input. A training data set may be defined for desired functionality of the closed-loop algorithm and closed loop parameters may be defined for desired functionality of the closed-loop algorithm. Generally, the learning phase may be supervised, semi-supervised, or unsupervised; indicating a decreasing level to which the correct outputs are provided in correspondence to the training inputs. In a supervised learning phase, all of the outputs are provided to the model and the model is directed to develop a general rule or algorithm that maps the input to the output. In contrast, in an unsupervised learning phase, the desired output is not provided for the inputs so that the model may develop its own rules to discover relationships within the training dataset. In a semi-supervised learning phase, an incompletely labeled training set is provided, with some of the outputs known and some unknown for the training dataset.
[0100] Models may be run against a training dataset for several epochs (e.g., iterations), in which the training dataset is repeatedly fed into the model to refine its results. For example, in a supervised learning phase, a model is developed to predict the output for a given set of inputs, and is evaluated over several epochs to more reliably provide the output that is specified as corresponding to the given input for the greatest number of inputs for the training dataset. In another example, for an unsupervised learning phase, a model is developed to cluster the dataset into n groups, and is evaluated over several epochs as to how consistently it places a given input into a given group and how reliably it produces the n desired clusters across each epoch.
[0101] Once an epoch is run, the models are evaluated and the values of their variables are adjusted to attempt to better refine the model in an iterative fashion. In various aspects, the evaluations are biased against false negatives, biased against false positives, or evenly biased with respect to the overall accuracy of the model. The values may be adjusted in several ways depending on the machine learning technique used. For example, in a genetic or evolutionary algorithm, the values for the models that are most successful in predicting the desired outputs are used to develop values for models to use during the subsequent epoch, which may include random variation/mutation to provide additional data points. One of ordinary skill in the art will be familiar with several other machine learning algorithms that may be applied with the present disclosure, including linear regression, neural networks, and the like.
[0102] New data 1562 is provided as an input to the trained machine-learning program 1561, and the trained machine-learning program 1561 generates the assessment 1558 as output. The outputted assessment 1558 may be out of an expected range (e.g., anomalous), indicating that remedial action such as retraining 1563 of the machine learning algorithm(s) is warranted. The system also may be configured to determine that the new data 1562 includes anomalous data with respect to the training data 1557 that was used to train the machine-learning program. The detection of new data that is anomalous may trigger remedial action(s) such as, if it is determined that the previously used training data is outdated, retraining 855 the machine learning program using updated training data. By way of example and not limitation, the remedial action may be initially triggered using a push notification of the anomalous data, which alerts a central device of the need to establish a communication session, which can then be used to communicate that remedial action should be taken to retrain or otherwise address the anomalous data, or to communicate that the device is changing operational modes to appropriately accommodate that the data is determined to be anomalous.
[0103]
[0104] The anomaly detection may be performed in real-time or in near real-time, or may be intermittently performed as an audit of stored feature data. For example, the anomaly detector may look for anomalies every epoch, such as a stimulation epoch between stimulation pulses or a control epoch between times when the programmed control algorithm executes and updates stimulation. The anomaly detector timing may use instances of detected features, which indicates times when a set of one or more feature(s) are extracted from a sensed signal. The instances of detected features may correspond to a control epoch, reflecting a period of time when the programmed control algorithm executes, analyzes sensor activity, and updates stimulation. However, a single control epoch may include one or more instances of detecting/extracting a set of one or more feature(s) in the sensed signal(s). The programmed control algorithm may be configured to use more than one feature detection instance to control the therapy. The anomaly detection may be configured to audit stored feature data (or stored signals) every time period (e.g., one the order of hours, days, or weeks). The time period may space across a plurality of instances of detected features or control epochs. The time period may be adjusted by the system or a user of the system.
[0105] In addition or alternative to communicating a push notification from the IPG using advertising packets, the IPG may attempt to use a display, tone, vibration, or other means of recognition to inform the patient that they have a serious alert and must acknowledge. More serious emergency situations may have different methods of communication to indicate seriousness (i.e., loud ringing vs. small buzz). The acknowledgement may be indicated by tapping the IPG twice or through interaction with an external device in communication with the IPG. If acknowledgement is made, the nature of the emergency can be shown on the RC or some other external device.
[0106] When it is a medical emergency, the device may ask or recommend that the patient immediately contact their hospital or emergency services. The device can then facilitate this communication. If the signal is an emergency signal and the patient does not acknowledge the alert, then the emergency signal may be automatically broadcast to additional devices which could include but are not limited to an emergency service, a hospital or physician, a representative of the device manufacturer, a caregiver, and/or another emergency contact. The device may detect anomalous data. For example, if measurements consistently indicate potential emergency events but they are not sustained, the device may send a notification to a connected patient external device or to the physician suggesting medical follow up.
[0107] Devices may include a broadcaster that may be a non-connectable advertiser, observer scanner that does not initiate connections, a peripheral connectable advertiser that does not initiate connections, a central scanner that initiates connections. An IPG may be configured to function as a multi role device (i.e., a central device for limited amount of time when emergency occurs). An external device may have a second advertising channel looking for this connection.
[0108] The above detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are also referred to herein as examples. Such examples may include elements in addition to those shown or described. However, the present inventors also contemplate examples in which only those elements shown or described are provided. Moreover, the present inventors also contemplate examples using combinations or permutations of those elements shown or described.
[0109] Method examples described herein may be machine or computer-implemented at least in part. Some examples may include a computer-readable medium or machine-readable medium encrypted with instructions operable to configure an electronic device to perform methods as described in the above examples. An implementation of such methods may include code, such as microcode, assembly language code, a higher-level language code, or the like. Such code may include computer readable instructions for performing various methods. The code may form portions of computer program products. Further, in an example, the code may be tangibly stored on one or more volatile, non-transitory, or non-volatile tangible computer-readable media, such as during execution or at other times. Examples of these tangible computer-readable media may include, but are not limited to, hard disks, removable magnetic disks or cassettes, removable optical disks (e.g., compact disks and digital video disks), memory cards or sticks, random access memories (RAMs), read only memories (ROMs), and the like.
[0110] The above description is intended to be illustrative, and not restrictive. For example, the above-described examples (or one or more aspects thereof) may be used in combination with each other. Other embodiments may be used, such as by one of ordinary skill in the art upon reviewing the above description. The scope of the invention should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.