Monitoring of movement disorders

A mobile computing device performs remote movement tests to accurately assess and adjust therapy for movement disorders, addressing the limitations of traditional clinical methods by enabling frequent and precise symptom evaluation and treatment adjustments.

WO2026088149A1PCT designated stage Publication Date: 2026-04-30MEDTRONIC INC
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
MEDTRONIC INC
Filing Date
2025-10-24
Publication Date
2026-04-30

AI Technical Summary

Technical Problem

Existing methods for evaluating and treating movement disorders, such as Parkinson's Disease, are inaccurate, inconsistent, and time-consuming, relying heavily on clinician training and limited clinical visits, and do not account for the variability of medication and electrical stimulation effects.

Method used

A mobile computing device configured to perform remote movement tests, including Finger-To-Nose, tremor, and gait tests, using sensors and a camera, generating metrics that can be analyzed to adjust stimulation therapy and provide real-time feedback to clinicians and patients.

Benefits of technology

Enables frequent, accurate assessment of movement disorder symptoms, improving treatment efficacy and reducing clinical time requirements while providing continuous monitoring and therapy adjustments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2025060846_30042026_PF_FP_ABST
    Figure IB2025060846_30042026_PF_FP_ABST
Patent Text Reader

Abstract

Devices, systems, and techniques for monitoring patient movements using remote sensors are described herein. For example, processing circuitry may be configured to control a user interface of a mobile computing device to deliver a notification to a user to perform at least one movement test and receive, via the user interface, user input requesting to begin the at least one movement test. Responsive to receiving the user input, the processing circuitry can control the user interface to display a set of instructions for the at least one movement test during a period of time, control a camera of the mobile computing device to generate image data of the patient corresponding to the at least one movement test during the period of time, and determine, based on the image data, one or more metrics corresponding to the at least one movement test.
Need to check novelty before this filing date? Find Prior Art

Description

MONITORING OF MOVEMENT DISORDERSCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of priority to U.S. Provisional Application No. 63 / 712,230 filed October 25, 2024, and U.S. Provisional Application No. 63 / 712,237 filed October 25, 2024, each of which is incorporated herein by reference in its entirety.TECHNICAL FIELD

[0002] The disclosure relates to patient monitoring and, more particularly, monitoring patient movement disorders.BACKGROUND

[0003] Various diseases and conditions, such as movement disorders, can cause individuals to experience certain behaviors of movement. For example, a patient diagnosed with Parkinson’s Disease may exhibit movement behaviors that may include one or more of tremor, rigidity, bradykinesia, and dyskinesia. Evaluation and identification of these patient behaviors is typically performed by a clinician viewing the movements of the patient. An example evaluation technique of Parkinson’s Disease involves the use the Unified Parkinson’s Disease Rating Scale, motor scale (mUPDRS). During this test, the clinician asks the patient to perform a routine of passive and active motor tasks, and the clinician provides scores to characterize the movements of the patient during these tasks.

[0004] A clinician may also treat a patient with a movement disorder using one or more therapies. Oral medication may be prescribed for some patients. Patients may also or alternatively be treated using drug delivery therapy and / or electrical stimulation therapy.Electrical stimulation therapy may include deep brain stimulation (DBS), although other types of electrical stimulation therapy may be employed for some patients.SUMMARY

[0005] In general, the disclosure is directed to devices, systems, and techniques for remotely performing objective movement tests on a user. A user may be a patient that has one or more movement disorders and associated symptoms related to body movement. These symptoms may include issues with gait during walking, tremor in one or more limbs, or inability to move the body as desired. A mobile computing device, which may be configured as a programmer that can control an implantable medical device (IMD), may user one or more sensors to obtain movement related information from a user. The mobile computing device may include a user interfaceconfigured to notify the user to conduct one or more movement tests, present instructions for the movement tests, and / or receive input during the one or more movement tests. In addition, the mobile computing device may acquire image data from a camera of the mobile computing device. The mobile computing device may generate data and / or metrics for the one or more movement tests, present the data and / or metrics to the user, and / or transmit the data and / or metrics to a networked server and / or other computing devices for review by other users (e.g., clinicians). This manner, the symptoms of the patient can be evaluated remotely and data distributed for further analysis. In some examples, the movement tests may be directed to symptoms associated with Parkinson’s Disease, by other movement disorders may also be evaluated using similar tests.

[0006] The mobile computing device may be configured to conduct a variety of movement tests, separately or together as part of a movement assessment for the user. These movement tests may include a finger stability test (e.g., a Finger-To-Nose (FTN) test or other type of test), a tremor test, and / or a gait test. The mobile computing device may also present a patient survey (e.g., a survey similar to a MDS-USPDR questionnaire) to acquire subjective information from the user. In some examples, the mobile computing device analyzes sensor data during each movement test to generate respective metrics representative of user movement and compare the metrics to stimulation therapy delivered by an IMD. The mobile computing device may be configured to present this comparison and / or suggest adjustments to one or more parameters that define stimulation therapy in order to reduce symptoms.

[0007] In one example, a method includes controlling, by processing circuitry, a user interface of a mobile computing device to deliver a notification to a user to perform at least one movement test; receiving, by the processing circuitry and via the user interface, user input requesting to begin the at least one movement test; responsive to receiving the user input, controlling, by the processing circuitry, the user interface to display a set of instructions for the at least one movement test during a period of time; controlling, by the processing circuitry, a camera of the mobile computing device to generate image data of the patient corresponding to the at least one movement test during the period of time; determining, by the processing circuitry and based on the image data, one or more metrics corresponding to the at least one movement test; controlling, by the processing circuitry, the user interface to display the one or more metrics of the at least one movement test; and controlling, by the processing circuitry, communication circuitry to transmit the one or more metrics to a remote server via a network.

[0008] In another example, a system includes: processing circuitry configured to: control a user interface of a mobile computing device to deliver a notification to a user to perform at least one movement test; receive, by the processing circuitry and via the user interface, user inputrequesting to begin the at least one movement test; responsive to receiving the user input, control the user interface to display a set of instructions for the at least one movement test during a period of time; control a camera of the mobile computing device to generate image data of the patient corresponding to the at least one movement test during the period of time; determine, based on the image data, one or more metrics corresponding to the at least one movement test; control the user interface to display the one or more metrics of the at least one movement test; and control communication circuitry to transmit the one or more metrics to a remote server via a network.

[0009] In another example, a computer-readable storage medium includes instructions that, when executed, cause processing circuitry to: control a user interface of a mobile computing device to deliver a notification to a user to perform at least one movement test; receive, by the processing circuitry and via the user interface, user input requesting to begin the at least one movement test; responsive to receiving the user input, control the user interface to display a set of instructions for the at least one movement test during a period of time; control a camera of the mobile computing device to generate image data of the patient corresponding to the at least one movement test during the period of time; determine, based on the image data, one or more metrics corresponding to the at least one movement test; control the user interface to display the one or more metrics of the at least one movement test; and control communication circuitry to transmit the one or more metrics to a remote server via a network.

[0010] In another example, a method includes: controlling, by processing circuitry, a display to display a visual target, the display configured to display information; controlling, by the processing circuitry, one or more sensors to generate signals representative of locations of a digit of a user; receiving, by the processing circuitry and from the one or more sensors, the signals representative of the locations of the digit; determining, based on the signals, a movement metric representative of movement of the digit detected by the one or more sensors during a period of time; determining, based on the movement metric, a finger stability metric representative of finger stability of digit of the user for the period of time; and outputting, by the processing circuitry, a representation of finger stability metric.

[0011] In another example, a system includes: a display configured to display information; one or more sensors configured to generate signals representative of locations of a digit of a user; and processing circuitry configured to: control the display to display a visual target; control the one or more sensors to generate signals representative of the locations of the digit of the user; receive, from the one or more sensors, the signals representative of the locations of the digit; determine, based on the signals, a movement metric representative of movement of the digit detected by the one or more sensors during a period of time; determine, based on the movementmetric, a finger stability metric representative of finger stability of digit of the user for the period of time; and output a representation of finger stability metric.

[0012] In another example, a computer-readable storage medium comprising instructions that, when executed, cause processing circuitry to: control a display to display a visual target; control one or more sensors to generate signals representative of the locations of the digit of the user; receive, from the one or more sensors, the signals representative of the locations of the digit; determine, based on the signals, a movement metric representative of movement of the digit detected by the one or more sensors during a period of time; determine, based on the movement metric, a finger stability metric representative of finger stability of digit of the user for the period of time; and output a representation of finger stability metric.

[0013] The details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.BRIEF DESCRIPTION OF DRAWINGS

[0014] FIG. l is a conceptual diagram illustrating an example system that includes an implantable medical device (IMD) configured to deliver deep brain stimulation to a patient.

[0015] FIG. 2 is a block diagram of the example IMD of FIG. 1 for delivering deep brain stimulation therapy.

[0016] FIG. 3 is a block diagram of an external programmer that can be a mobile computing device.

[0017] FIG. 4 is a block diagram illustrating an example system that includes a networked server coupled to an IMD and one or more computing devices via a network.

[0018] FIG. 5 is a conceptual diagram illustrating an example system that includes a networked server for determining movement test metrics based on sensor data from a programmer.

[0019] FIG. 6 is a block diagram of the example networked server of FIG. 4.

[0020] FIG. 7 is a flow diagram of an example technique for initiating and remotely performing one or more movement tests.

[0021] FIG. 8 is a flow diagram of an example technique for initiating and remotely performing a gait test.

[0022] FIG. 9 is a conceptual diagram of an example finger-to-nose (FTN) test performed by a programmer.

[0023] FIGS. 10 A, 10B, and 10C are conceptual diagrams of example trajectories detected during a FTN test.

[0024] FIG. 10D is a flow diagram of an example technique for initiating and remotely performing a FTN test.

[0025] FIG. 11 A is a conceptual diagram of an example finger stability test performed by a programmer.

[0026] FIG. 1 IB is a flow diagram of an example technique for initiating and remotely performing a finger stability test.

[0027] FIG. 12 is a conceptual diagram of an example tremor test remotely performed by a programmer.

[0028] FIG. 13 is a flow diagram of an example technique for initiating and remotely performing a tremor test.

[0029] FIG. 14 is a flow diagram of an example technique for initiating and remotely conducting a patient survey associated with a movement disorder.

[0030] FIG. 15 is a flow diagram of an example technique for initiating and remotely performing one or more movement tests and rerunning tests if needed.

[0031] FIG. 16 is a flow diagram illustrating an example process for controlling therapy based on metrics from one or more remotely performed movement tests.

[0032] FIG. 17 is a graph of example movement test metrics acquired over a plurality of different time periods.DETAILED DESCRIPTION

[0033] This disclosure is generally directed to devices, systems, and techniques for conducting remote movement tests that can assess user movement symptoms and distribute objective information regarding the user movement. A clinician (e.g., doctor, nurse, or other healthcare professional) diagnose or evaluate a movement disorder of a patient may visually monitoring the movements of the patient. A movement disorder may be caused by neurological disorders and / or other physiological disorders. For example, in Parkinson's disease (PD), there is a complex interplay of neural degeneration in the brain, particularly affecting the dopamine-producing neurons. This leads to characteristic motor symptoms such as tremors, rigidity, and bradykinesia. PD is typically treated with medication and / or deep-brain-stimulation (DBS). Due to the complexity of the disease and variety of symptoms, it can be helpful to measure the effectiveness of the therapy.

[0034] Various scales and tests have been developed to perform such evaluations. For example, the Unified Parkinson’s Disease Rating Scale, motor scale (mUPDRS) is typically used to evaluate motor performance of patients suspected or diagnosed with Parkinson’s disease. During the test in clinic, the clinician asks the patient to perform a routine of passive and activemotor tasks while the clinician provides scores intended to characterize the movement and / or capabilities of the patient. However, tests such as the mUPDRS test may be inaccurate, inconsistent, and / or unreliable because they rely on clinician training and experience, are only available during limited visits to a clinic, and are subject to patient and clinician fatigue.Moreover, it can be informative to perform these tests when the user is both taking and not taking drugs, and when the user is receiving and not receiving electrical stimulation therapy. However, it can take hours for medication to become effective or to wear off, and it can be time consuming to track when the patient is influenced or not by electrical stimulation. Therefore, it can be impractical for clinicians to perform these manual tests with these different patient conditions accounted for.

[0035] As described herein, a mobile computing device (e.g., a programmer that can also control an IMD) can be configured to present notifications to perform movement tests and conduct movement tests with a user remotely. A programmer will be described as an example herein, but the mobile computing device may not need to control an IMD in other examples. In some examples, the mobile computing device will execute an application that provides a user interface including instructions to perform one or more movement tests, display the results of the movement tests, provide suggestions or alternatives for subsequent stimulation or drug therapy, and / or send the results of the movements tests (e.g., raw data and / or metrics calculated from the data) to a remote server and / or remote computing device over a network for review by another party (e.g., a clinician).

[0036] The mobile computing device running the application and the networked solutions (e.g., remote monitoring capability using a remote server and / or computing device) can provide a remote monitoring platform for clinicians to monitor patients and / or patients to receive more frequent feedback on disease progression and / or therapy efficacy. For example, the platform can enable the mobile computing device to provide notifications to the user when one or more movement tests should be performed. The user can then approve or otherwise engage in the one or more movement tests provided by the same mobile computing device. For example, one or more sensors (e.g., camera, presence-sensitive screen, accelerometer, etc.) can detect user movement during each movement test. The mobile computing device can transmit the raw data to the remote server for further processing and analysis and / or determine one or more metrics for the movement tests on the device. The mobile computing device may be configured to perform these tests when the patient is, or is not, receiving therapy (e.g., stimulation therapy and / or drug therapy). In some examples, the mobile computing device may initiate, or request, one or more movement tests in response to determining that the patient has taken medication, that medication should have worn off, that electrical stimulation is being delivered, or that electrical stimulationis not currently being delivered. In this manner, the system can generate data and / or metrics for movement tests under different patient conditions.

[0037] Example movement tests that the mobile computing device can perform include a Finger-To-Nose (FTN) test (e.g., testing the ability of the user to move a digit from an anatomical landmark to the screen of the mobile computing device), a tremor test (e.g., testing characteristics of limb movement such as a hand), and / or a gait test (e.g., testing the gait of the user when walking). The mobile computing device may generate this data using a camera (e.g., image data), interaction with a user interface (e.g., presence-sensitive screen such as a touch screen), accelerometer, or other sensors. The mobile computing device may also present a patient survey (e.g., a survey similar to a Movement Disorder Society sponsored revision of the Unified Parkinson's Disease Rating Scale (MDS-USPDR) questionnaire) to acquire subjective information from the user. In some examples, the mobile computing device analyzes sensor data during each movement test to generate respective metrics representative of user movement and compare the metrics to stimulation therapy delivered by an IMD. The mobile computing device may be configured to present this comparison and / or suggest adjustments to one or more parameters that define stimulation therapy in order to reduce symptoms.

[0038] In some examples, the mobile computing device may monitor acquired data from the one or more sensors during each movement test and determine if the raw data, or computed metrics, are outside of an acceptable or “normal” range for the user. If the acquired data seems compromised or otherwise outside of typical ranges, the mobile computing device may request that the user rerun, or re-perform, the movement test. In some examples, the mobile computing device may present instructions that indicate to the user how to improve the quality of the sensed data, such as where to place the camera with respect to the user, or other improvements to performing the movement test.

[0039] The remote movement tests and generated metrics described herein can provide numerous advantages. For example, the user can perform these movement tests on their own time, which can save time and money for the users and reduce time requirements of clinicians. This remote movement testing can also provide improved insight into treatment effectiveness (e.g., drug and / or electrical stimulation) and disease progression by repeating the movement tests more frequently (e.g., monthly, weekly, or even daily). The systems described herein may thus provide improved information regarding current patient symptom, more frequent therapy updates, and ultimately improved quality of life for the user.

[0040] FIG. 1 is a conceptual diagram illustrating an example system 10 that includes an implantable medical device (IMD) 16 configured to deliver deep brain stimulation to a patient 12. System 10 may be configured to treat a patient condition, such as a movement disorder (e.g.,Parkinson’s Disease), neurodegenerative impairment, a mood disorder or a seizure disorder of patient 12. Patient 12 ordinarily will be a human patient. In some cases, however, therapy system 10 may be applied to other mammalian or non-mammalian, non-human patients. While movement disorders and neurodegenerative impairment are primarily referred to herein, in other examples, therapy system 10 may provide therapy to manage symptoms of other patient conditions, such as, but not limited to, seizure disorders (e.g., epilepsy) or mood (or psychological) disorders (e.g., major depressive disorder (MDD), bipolar disorder, anxiety disorders, post-traumatic stress disorder, dysthymic disorder, and obsessive-compulsive disorder (OCD)). At least some of these disorders may be manifested in one or more patient movement behaviors. As described herein, a movement disorder or other neurodegenerative impairment may include symptoms such as, for example, muscle control impairment, motion impairment or other movement problems, such as rigidity, spasticity, bradykinesia, rhythmic hyperkinesia, nonrhythmic hyperkinesia, and akinesia. In some cases, the movement disorder may be a symptom of Parkinson’s disease. However, the movement disorder may be attributable to other patient conditions.

[0041] Example therapy system 10 includes medical device programmer 30 (an example mobile computing device), implantable medical device (IMD) 16, lead extension 20, and leads 22A and 22B (collectively “leads 22”) with respective sets of electrodes 24A, 24B (collectively “electrodes 24”). In the example shown in FIG. 1, electrodes 24 of leads 22 are positioned to deliver electrical stimulation to a tissue site within brain 26, such as a deep brain site under the dura mater of brain 26 within head 14 of patient 12. In some examples, delivery of stimulation to one or more regions of brain 26, such as the subthalamic nucleus, globus pallidus or thalamus, may be an effective treatment to manage movement disorders, such as Parkinson’s disease.Electrodes 24 are also positioned to sense bioelectrical brain signals within brain 26 of patient 12. In some examples, some of electrodes 24 may be configured to sense bioelectrical brain signals and others of electrodes 24 may be configured to deliver electrical stimulation to brain 26. In other examples, all of electrodes 24 are configured to both sense bioelectrical brain signals and deliver electrical stimulation to brain 26.

[0042] IMD 16 includes a therapy module that includes a stimulation generator that generates and delivers electrical stimulation therapy to patient 12 via a subset of electrodes 24 of leads 22, respectively. The subset of electrodes 24 that are used to deliver electrical stimulation to patient 12, and, in some cases, the polarity of the subset of electrodes 24, may be referred to as a stimulation electrode combination. As described in further detail below, the stimulation electrode combination can be selected for a particular patient 12 and target tissue site (e.g., selected based on the patient condition) based on one or more frequency domain characteristicsof a bioelectrical brain signal (e.g., a patient parameter) that is sensed by one or more groups of electrodes 24 that are associated with the stimulation electrode combination. The group of electrodes 24 includes at least one electrode and can include a plurality of electrodes. In some examples, the bioelectrical signals sensed within brain 26 may reflect changes in electrical current produced by the sum of electrical potential differences across brain tissue. Examples of bioelectrical brain signals include, but are not limited to, electrical signals generated from local field potentials (LFP) sensed within one or more regions of brain 26, such as an electroencephalogram (EEG) signal, or an electrocorticogram (ECoG) signal. Local field potentials, however, may include a broader genus of electrical signals within brain 26 of patient 12. Each of these signals may be correlated or calibrated with the identified patient behavior and used for feedback in controlling the delivery of therapy.

[0043] In some examples, the bioelectrical brain signals that are used to select a stimulation electrode combination may be sensed within the same region of brain 26 as the target tissue site for the electrical stimulation. As previously indicated, these tissue sites may include tissue sites within the thalamus, subthalamic nucleus or globus pallidus of brain 26, as well as other target tissue sites. The specific target tissue sites and / or regions within brain 26 may be selected based on the patient condition. Thus, in some examples, both a stimulation electrode combination and sense electrode combinations may be selected from the same set of electrodes 24. In other examples, the electrodes used for delivering electrical stimulation may be different than the electrodes used for sensing bioelectrical brain signals.

[0044] Electrical stimulation generated by IMD 16 may be configured to manage a variety of disorders and conditions. In some examples, the stimulation generator of IMD 16 is configured to generate and deliver electrical pulses to patient 12 via electrodes of a selected stimulation electrode combination. However, in other examples, the stimulation generator of IMD 16 may be configured to generate and deliver a continuous wave signal, e.g., a sine wave or triangle wave. In either case, a signal generator within IMD 16 may generate the electrical stimulation therapy for DBS according to a therapy program that is selected at that given time in therapy. In examples in which IMD 16 delivers electrical stimulation in the form of stimulation pulses, a therapy program may include a set of therapy parameter values, such as a stimulation electrode combination for delivering stimulation to patient 12, pulse frequency, pulse width, and a current or voltage amplitude of the pulses. As previously indicated, the stimulation electrode combination may indicate the specific electrodes 24 that are selected to deliver stimulation signals to tissue of patient 12 and the respective polarity of the selected electrodes.

[0045] IMD 16 may be implanted within a subcutaneous pocket above the clavicle, or, alternatively, the abdomen, back or buttocks of patient 12, on or within cranium 14 or at anyother suitable site within patient 12. Generally, IMD 16 is constructed of a biocompatible material that resists corrosion and degradation from bodily fluids. IMD 16 may comprise a hermetic housing to substantially enclose components, such as a processor, therapy module, and memory.

[0046] As shown in FIG. 1, implanted lead extension 20 is coupled to IMD 16 via connector 18 (also referred to as a connector block or a header of IMD 16). In the example of FIG. 1, lead extension 20 traverses from the implant site of IMD 16 and along the neck of patient 12 to cranium 14 of patient 12 to access brain 26. In the example shown in FIG. 1, leads 22 are implanted within the right and left hemispheres, respectively, of patient 12 in order deliver electrical stimulation to one or more regions of brain 26, which may be selected based on the patient condition or disorder controlled by therapy system 10. The specific target tissue site and the stimulation electrodes used to deliver stimulation to the target tissue site, however, may be selected, e.g., according to the identified patient behaviors and / or other sensed patient parameters. Other lead 20 and IMD 16 implant sites are contemplated. For example, IMD 16 may be implanted on or within cranium 26, in some examples. Or leads 22 may be implanted within the same hemisphere or IMD 16 may be coupled to a single lead.

[0047] Although leads 22 are shown in FIG. 1 as being coupled to a common lead extension 20, in other examples, leads 22 may be coupled to IMD 16 via separate lead extensions or directly to connector 18. Leads 22 may be positioned to deliver electrical stimulation to one or more target tissue sites within brain 26 to manage patient symptoms associated with a movement disorder of patient 12. Leads 22 may be implanted to position electrodes 24 at desired locations of brain 26 through respective holes in cranium 14. Leads 22 may be placed at any location within brain 26 such that electrodes 24 are capable of providing electrical stimulation to target tissue sites within brain 26 during treatment. For example, electrodes 24 may be surgically implanted under the dura mater of brain 26 or within the cerebral cortex of brain 26 via a burr hole in cranium 32 of patient 12, and electrically coupled to IMD 16 via one or more leads 22.

[0048] In the example shown in FIG. 1, electrodes 24 of leads 22 are shown as ring electrodes. Ring electrodes may be used in DBS applications because they are relatively simple to program and are capable of delivering an electrical field to any tissue adjacent to electrodes 24. In other examples, electrodes 24 may have different configurations. For example, in some examples, at least some of the electrodes 24 of leads 22 may have a complex electrode array geometry that is capable of producing shaped electrical fields. The complex electrode array geometry may include multiple electrodes (e.g., partial ring or segmented electrodes) around the outer perimeter of each lead 330, rather than one ring electrode. In this manner, electrical stimulation may be directed in a specific direction from leads 22 to enhance therapy efficacy andreduce possible adverse side effects from stimulating a large volume of tissue. In some examples, a housing of IMD 16 may include one or more stimulation and / or sensing electrodes. In alternative examples, leads 22 may have shapes other than elongated cylinders as shown in FIG. 1. For example, leads 22 may be paddle leads, spherical leads, bendable leads, or any other type of shape effective in treating patient 12 and / or minimizing invasiveness of leads 22.

[0049] In the example shown in FIG. 1, IMD 16 includes a memory (shown in FIG. 2) to store a plurality of therapy programs that each define a set of therapy parameter values. In some examples, IMD 16 may select a therapy program from the memory based on various parameters, such as sensed patient parameters and the identified patient behaviors. IMD 16 may generate electrical stimulation based on the selected therapy program to manage the patient symptoms associated with a movement disorder.

[0050] External programmer 30 wirelessly communicates with IMD 16 as needed to provide or retrieve therapy information. Programmer 30 may communicate directly with IMD 16 or indirectly with IMD 16 via interface device 32. Interface device 32 may be configured to modulate data and / or convert between different communication protocols used by IMD 16 and programmer 30. Interface device 32, or another charging device, may be configured to recharge the battery of IMD 16. Programmer 30 is an external computing device (e.g., a mobile computing device) that the user, e.g., clinician 22 and / or patient 12, may use to communicate with IMD 16. For example, programmer 30 may be a clinician programmer that the clinician uses to communicate with IMD 16 and program one or more therapy programs for IMD 16. Alternatively, programmer 30 may be a patient programmer that allows patient 12 to select programs and / or view and modify therapy parameters. The clinician programmer may include more programming features than the patient programmer. In other words, more complex or sensitive tasks may only be allowed by the clinician programmer to prevent an untrained patient from making undesirable changes to IMD 16. In other examples, programmer 30 may be a separate mobile computing device from the mobile computing device configured to perform the movement tests as described herein.

[0051] When programmer 30 is configured for use by the clinician, programmer 30 may be used to transmit initial programming information to IMD 16. This initial information may include hardware information, such as the type of leads 22 and the electrode arrangement, the position of leads 22 within brain 26, the configuration of electrodes 24, initial programs defining therapy parameter values, and any other information the clinician desires to program into IMD 16. Programmer 30 may also be capable of completing functional tests (e.g., measuring the impedance of electrodes 24 of leads 22).

[0052] The clinician may also store therapy programs within IMD 16 with the aid of programmer 30. During a programming session, the clinician may determine one or more therapy programs that may provide efficacious therapy to patient 12 to address symptoms associated with the patient condition, and, in some cases, specific to one or more different patient states, such as a sleep state, movement state or rest state. For example, the clinician may select one or more stimulation electrode combination with which stimulation is delivered to brain 26. During the programming session, patient 12 may provide feedback to the clinician as to the efficacy of the specific program being evaluated or the clinician may evaluate the efficacy based on one or more physiological parameters of patient 12 (e.g., muscle activity or muscle tone). Programmer 30 may assist the clinician in the creation / identification of therapy programs by providing a methodical system for identifying potentially beneficial therapy parameter values using the data and / or metrics generated from the movement tests.

[0053] Programmer 30 may also be configured for use by patient 12. When configured as a patient programmer, programmer 30 may have limited functionality (compared to a clinician programmer) in order to prevent patient 12 from altering critical functions of IMD 16 or applications that may be detrimental to patient 12. In this manner, programmer 30 may only allow patient 12 to adjust values for certain therapy parameters or set an available range of values for a particular therapy parameter.

[0054] Programmer 30 may also provide an indication to patient 12 when therapy is being delivered, when patient input has triggered a change in therapy or when the power source within programmer 30 or IMD 16 needs to be replaced or recharged. For example, programmer 30 may include an alert LED, may flash a message to patient 12 via a programmer display, generate an audible sound or somatosensory cue to confirm patient input was received, e.g., to indicate a patient state or to manually modify a therapy parameter.

[0055] Therapy system 10 may be implemented to provide chronic stimulation therapy to patient 12 over the course of several months or years. However, system 10 may also be employed on a trial basis to evaluate therapy before committing to full implantation. If implemented temporarily, some components of system 10 may not be implanted within patient 12. For example, patient 12 may be fitted with an external medical device, such as a trial stimulator, rather than IMD 16. The external medical device may be coupled to percutaneous leads or to implanted leads via a percutaneous extension. If the trial stimulator indicates DBS system 10 provides effective treatment to patient 12, the clinician may implant a chronic stimulator within patient 12 for relatively long-term treatment.

[0056] As described herein, programmer 30 may incorporate data and / or metrics determined from movement tests in order to adjust one or more parameters that define electrical stimulationtherapy for patient 12. Programmer 30 may include one or more sensors, such as camera 306 and presence-sensitive display 304. Camera 306 may be configured to generate image data representative of the patient 12 movement during a movement test. In addition, presencesensitive display 304 may be configured to detect a digit or other body part of patient 12 during a movement test to indicate the ability of the patient to target and move the body as desired. Other sensors, such as additional cameras, accelerometers, and / or gyroscopes may generate movement data during one or more movement tests provided by programmer 30 in order to analyze the movement and identify any symptoms of the patient.

[0057] A variety of different patient parameters may be monitored and used to provide feedback to control stimulation therapy. For example, a patient parameter may be a local field potential (LFP), an electroencephalogram (ECG), an electrogram (EEG), an acceleration of the patient, a relative motion between two locations of the patient, blood pressure, heart rate, patient speech pattern, patient breathing pattern, sleep indication, or a chemical indication. In this manner, one or more sensors may sense a respective patient parameter. IMD 16 may include one or more sensors or be coupled to one or more sensors via lead 22. For example, electrodes 24 may be used to sense LFP or ECG signals and an accelerometer or gyroscope may be included within IMD 16 or on lead 22 to sense accelerations or rotations of the patient.

[0058] Although IMD 16 is described as delivering electrical stimulation therapy to brain 26, IMD 16 may be configured to direct electrical stimulation to other anatomical regions of patient 12. In other examples, system 320 may include an implantable drug pump in addition to, or in place of, electrical stimulator 324. Further, as described in FIG. 20, an IMD may provide other electrical stimulation such as spinal cord stimulation to treat a movement disorder.

[0059] FIG. 2 is a block diagram of the example IMD 16 of FIG. 1 for delivering deep brain stimulation therapy. In the example shown in FIG. 2, IMD 16 includes processing circuitry 100, memory 110, stimulation generator 102, sensing module 104, telemetry module 106, sensor 108, and power source 118. Memory 110 may include any volatile or non-volatile media, such as a random- access memory (RAM), read only memory (ROM), non-volatile RAM (NVRAM), electrically erasable programmable ROM (EEPROM), flash memory, and the like. Memory 110 may store computer-readable instructions that, when executed by processing circuitry 100, cause IMD 16 to perform various functions. Memory 110 may be a storage device or other non-transitory medium.

[0060] In the example shown in FIG. 2, memory 110 stores therapy programs 112, sense electrode combinations and associated stimulation electrode combinations 116, and feedback control 114 in separate memories within memory 110 or separate areas within memory 110. Each stored therapy program 112 defines a particular set of electrical stimulation parameters(e.g., a therapy parameter set), such as a stimulation electrode combination, electrode polarity, current or voltage amplitude, pulse width, and pulse rate. In some examples, individual therapy programs may be stored as a therapy group, which defines a set of therapy programs with which stimulation may be generated. The stimulation signals defined by the therapy programs of the therapy group may be delivered together on an overlapping or non-overlapping (e.g., time-interleaved) basis.

[0061] Sense and stimulation electrode combinations 116 stores sense electrode combinations and associated stimulation electrode combinations. As described above, in some examples, the sense and stimulation electrode combinations may include the same subset of electrodes 24, or may include different subsets of electrodes. Thus, memory 110 can store a plurality of sense electrode combinations and, for each sense electrode combination, store information identifying the stimulation electrode combination that is associated with the respective sense electrode combination. The associations between sense and stimulation electrode combinations can be determined, e.g., by a clinician or automatically by processing circuitry 100. In some examples, corresponding sense and stimulation electrode combinations may comprise some or all of the same electrodes. In other examples, however, some or all of the electrodes in corresponding sense and stimulation electrode combinations may be different. For example, a stimulation electrode combination may include more electrodes than the corresponding sense electrode combination in order to increase the efficacy of the stimulation therapy. In some examples, as discussed above, stimulation may be delivered via a stimulation electrode combination to a tissue site that is different than the tissue site closest to the corresponding sense electrode combination but is within the same region, e.g., the thalamus, of brain 26 in order to mitigate any irregular oscillations or other irregular brain activity within the tissue site associated with the sense electrode combination.

[0062] Feedback control 114 may include instructions that determine what feedback to use when controlling therapy delivery such as which therapy programs, therapy parameter sets, or individual therapy parameter values to select. Feedback control 114 may include associations of values for one or more sensed patient parameters (e.g., LFP signals or patient accelerations) to respective therapy parameter sets. The values of the sensed patient parameters may be calibrated or correlated with identified movements or other metrics from the movement tests described herein. In any case, IMD 16 may use the instructions within feedback control 114 to adjust the therapy delivered to patient 12.

[0063] Stimulation generator 102, under the control of processing circuitry 100, generates stimulation signals for delivery to patient 12 via selected combinations of electrodes 24. Anexample range of electrical stimulation parameters believed to be effective in DBS to manage a movement disorder of patient include:1. Frequency: between approximately 100 Hz and approximately 500 Hz, such as approximately 130 Hz.2. Voltage Amplitude: between approximately 0.1 volts and approximately 50 volts, such as between approximately 0.5 volts and approximately 20 volts, or approximately 5 volts.3. Current Amplitude: A current amplitude may be defined as the biological load in which the voltage is delivered. In a current-controlled system, the current amplitude, assuming a lower-level impedance of approximately 500 ohms, may be between approximately 0.2 milliAmps to approximately 100 milliAmps, such as between approximately 1 milliAmps and approximately 40 milliAmps, or approximately 10 milliAmps. However, in some examples, the impedance may range between about 200 ohms and about 2 kiloohms.4. Pulse Width: between approximately 10 microseconds and approximately 5000 microseconds, such as between approximately 100 microseconds and approximately 1000 microseconds, or between approximately 180 microseconds and approximately 450 microseconds.

[0064] Accordingly, in some examples, stimulation generator 102 generates electrical stimulation signals in accordance with the electrical stimulation parameters noted above. Other ranges of therapy parameter values may also be useful, and may depend on the target stimulation site within patient 12. While stimulation pulses are described, stimulation signals may be of any form, such as continuous-time signals (e.g., sine waves) or the like.

[0065] Processing circuitry 100 may include any one or more of a microprocessor, a controller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), discrete logic circuitry, and the functions attributed to processing circuitry 100 herein may be embodied as firmware, hardware, software or any combination thereof. Processing circuitry 100 controls stimulation generator 102 according to therapy programs 112 stored in memory 110 to apply particular stimulation parameter values specified by one or more of programs, such as amplitude, pulse width, and pulse rate.

[0066] In the example shown in FIG. 2, the set of electrodes 24 includes electrodes A, B, C, and D within each of electrodes 24A and 24B. Processing circuitry 100 also controls switches to apply the stimulation signals generated by stimulation generator 102 to selected combinations of electrodes 24. Stimulation generator 102 may be a single channel or multi-channel stimulation generator. In particular, stimulation generator 102 may be capable of delivering a single stimulation pulse, multiple stimulation pulses, or a continuous signal at a given time via a single electrode combination or multiple stimulation pulses at a given time via multiple electrodecombinations. Switches may connect or disconnect the lines from stimulation generator 102 to the appropriate electrodes.

[0067] In other examples, a switch module may couple stimulation signals to selected conductors within leads 22, which, in turn, deliver the stimulation signals across selected electrodes 24. The switch module may be a switch array, switch matrix, multiplexer, or any other type of switching module configured to selectively couple stimulation energy to selected electrodes 24 and to selectively sense bioelectrical brain signals with selected electrodes 24. Hence, stimulation generator 102 is coupled to electrodes 24 via a switch module and conductors within leads 22. In some examples, stimulation generator 102 and switch module may be configured to deliver multiple channels on a time-interleaved basis. For example, the switch module may serve to time divide the output of stimulation generator 102 across different electrode combinations at different times to deliver multiple programs or channels of stimulation energy to patient 12.

[0068] Although sensing module 104 is incorporated into a common housing with stimulation generator 102 and processing circuitry 100 in FIG. 21, in other examples, sensing module 104 may be in a separate housing from IMD 16 and may communicate with processing circuitry 100 via wired or wireless communication techniques. Example bioelectrical brain signals include, but are not limited to, a signal generated from local field potentials within one or more regions of brain 26. EEG and ECoG signals are examples of local field potentials that may be measured within brain 26. However, local field potentials may include a broader genus of electrical signals within brain 26 of patient 12.

[0069] Sensor 108 may include one or more sensing elements that sense values of a respective patient parameter. For example, sensor 108 may include one or more accelerometers, optical sensors, chemical sensors, temperature sensors, pressure sensors, or any other types of sensors. Sensor 108 may output patient parameter values that may be used as feedback to control delivery of therapy. Feedback control 114 may include instructions for processing circuitry 100 on how to utilize the signals or values provided by sensor 108. IMD 16 may include additional sensors within the housing of IMD 16 and / or coupled via one of leads 22 or other leads. In addition, IMD 16 may receive sensor signals wirelessly from remote sensors via telemetry module 106, for example. In some examples, one or more of these remote sensors may be external to patient (e.g., carried on the external surface of the skin, attached to clothing, or otherwise positioned external to the patient). Each of the sensor signals may be calibrated by identified patient behavior from video information and incorporated in the feedback control of therapy.

[0070] Telemetry module 106 supports wireless communication between IMD 16 and an external programmer 30 or another computing device under the control of processing circuitry 100. Processing circuitry 100 of IMD 16 may receive, as updates to programs, values for various stimulation parameters such as amplitude and electrode combination, from programmer 30 via telemetry module 106. The updates to the therapy programs may be stored within therapy programs 362 portion of memory 110. Telemetry module 106 in IMD 16, as well as telemetry modules in other devices and systems described herein, such as programmer 30, may accomplish communication by radiofrequency (RF) communication techniques. In addition, telemetry module 106 may communicate with external medical device programmer 30 via proximal inductive interaction of IMD 16 with programmer 30. Accordingly, telemetry module 106 may send information to external programmer 30 on a continuous basis, at periodic intervals, or upon request from IMD 16 or programmer 30.

[0071] Power source 118 delivers operating power to various components of IMD 16. Power source 118 may include a small rechargeable or non-rechargeable battery and a power generation circuit to produce the operating power. Recharging may be accomplished through proximal inductive interaction between an external charger and an inductive charging coil within IMD 16. In some examples, power requirements may be small enough to allow IMD 16 to utilize patient motion and implement a kinetic energy-scavenging device to trickle charge a rechargeable battery. In other examples, traditional batteries may be used for a limited period of time.

[0072] Throughout the disclosure, a group of electrodes may refer to any electrodes located at the same position along the longitudinal axis of one or more leads. A group of electrodes may include one or more electrodes.

[0073] FIG. 3 is a block diagram of external programmer 30. Although programmer 30 may generally be described as a hand-held mobile computing device, programmer 30 may be a larger portable device or a more stationary device. In addition, in other examples, programmer 30 may be included as part of an external charging device or include the functionality of an external charging device. As illustrated in FIG. 3, programmer 30 may include a processing circuitry 300, memory 302, user interface 304, telemetry module 308, camera 306, and power source 312. Memory 302 may store instructions that, when executed by processing circuitry 300, cause processing circuitry 300 and external programmer 30 to provide the functionality ascribed to external programmer 30 throughout this disclosure. For example, processing circuitry 300 may be configured to control user interface 304, camera 306 and / or other sensor(s) 310 to perform one or more movement tests as described herein.

[0074] In general, programmer 30 comprises any suitable arrangement of hardware, alone or in combination with software and / or firmware, to perform the techniques attributed toprogrammer 30, and processing circuitry 300, user interface 304, and telemetry module 308 of programmer 30. In various examples, programmer 30 may include one or more processors, such as one or more microprocessors, DSPs, ASICs, FPGAs, or any other equivalent integrated or discrete logic circuitry, as well as any combinations of such components. Programmer 30 also, in various examples, may include a memory 302, such as RAM, ROM, PROM, EPROM, EEPROM, flash memory, a hard disk, a CD-ROM, comprising executable instructions for causing the one or more processors to perform the actions attributed to them. Moreover, although processing circuitry 300 and telemetry module 308 are described as separate modules, in some examples, processing circuitry 300 and telemetry module 308 are functionally integrated. In some examples, processing circuitry 300 and telemetry module 308 correspond to individual hardware units, such as ASICs, DSPs, FPGAs, or other hardware units.

[0075] Memory 302 (e.g., a storage device) may store instructions that, when executed by processing circuitry 300, cause processing circuitry 300 and programmer 30 to provide the functionality ascribed to programmer 30 throughout this disclosure. For example, memory 302 may include instructions that cause processing circuitry 300 to obtain a parameter set from memory, select a spatial electrode movement pattern, or receive a user input and send a corresponding command to IMD 14, or instructions for any other functionality. In addition, memory 302 may include a plurality of programs, where each program includes a parameter set that defines stimulation therapy. Memory 302 may also include instructions for performing movement tests, provide notifications, generate data, generate metrics from sensed data, and / or transmit data / metrics to other networked devices.

[0076] User interface 304 may include a button or keypad, lights, a speaker for voice commands, a display, such as a liquid crystal (LCD), light-emitting diode (LED), or organic light-emitting diode (OLED). In some examples the display may be a presence-sensitive display (e.g., a touch screen). User interface 304 may be configured to display any information related to the delivery of stimulation therapy, notifications, movement tests, results of movement tests, sensed patient parameter values, suggested parameter values, for therapy, or any other such information. User interface 304 may also receive user input via user interface 304. The input may be, for example, in the form of pressing a button on a keypad or selecting an icon from a touch screen. The input may request starting or stopping electrical stimulation, the input may request performing a movement test or other aspect related to remote monitoring of patient symptoms and / or therapy information.

[0077] Telemetry module 308 may support wireless communication between IMD 14 and programmer 30 under the control of processing circuitry 300. Telemetry module 308 may also be configured to communicate with another computing device via wireless communicationtechniques, or direct communication through a wired connection. In some examples, telemetry module 308 may provide wireless communication via an RF or proximal inductive medium. In some examples, telemetry module 308 may include an antenna, which may take on a variety of forms, such as an internal or external antenna.

[0078] Examples of local wireless communication techniques that may be employed to facilitate communication between programmer 30 and IMD 324 include RF communication according to the 802.11 or Bluetooth specification sets or other standard or proprietary telemetry protocols. In this manner, other external devices may be capable of communicating with programmer 30 without needing to establish a secure wireless connection. As described herein, telemetry module 308 may be configured to transmit a spatial electrode movement pattern or other stimulation parameter values to IMD 324 for delivery of stimulation therapy.

[0079] In some examples, selection of therapy parameters or therapy programs may be transmitted to a medical device (e.g., IMD 16) for delivery to patient 12. In other examples, the therapy may include medication, activities, or other instructions that patient 12 must perform themselves or a caregiver perform for patient 12. For example, in response to receiving an indication of an identified therapy efficacy or sensed patient parameter value, processing circuitry 300 may select a medication and / or dosage of the medication to treat the movement disorder. Processing circuitry 300 may control user interface 304 to display such information to the user. In some examples, programmer 30 may provide visual, audible, and / or tactile notifications that indicate there are new instructions. Programmer 30 may require receiving user input acknowledging that the instructions have been completed in some examples.

[0080] In other examples, programmer 30 may be configured to receive user input or indications of user input indicating the type of medication, dosage, and / or time the medication was taken by patient 12. Programmer 30 may create a log of the medications or other therapies manually taken by patient 12 in this manner. In some examples, programmer 30 may adjust electrical stimulation therapy and / or drug delivery therapy based on the medication that patient 12 has consumed. For example, programmer 30 may determine (e.g., adjust or maintain) one or more electrical stimulation therapy parameters based on the indication of the drug dosage taken by patient 12. This adjustment may be made due to physiological alterations of patient 12 by the medication.

[0081] FIG. 4 is a block diagram illustrating example system 400 that includes networked server 44 coupled to IMD 16 and one or more computing devices 404 via network 42. System 400 may be similar to system 500 of FIG. 5. As shown in FIG. 4, server 44 (e.g., a networked external computing device) and one or more computing devices 404A-404N that are coupled to the IMD 16 and programmer 30 shown in FIG. 1 via a network 42. Network 42 may begenerally used to transmit information, such as sensed data and / or generated metrics from movement tests, commands to present notifications for movement tests, therapy parameter information, or any other data between IMD 16 programmer 30, server 44 and / or computing devices 404. In some examples programmer 30 may transmit information to IMD 16 via interface device 32 instead of, or in addition to, direct communication with IMD 16.

[0082] In some examples, the information transmitted by IMD 16 and / or programmer 30 (e.g., via the one or more movement tests and / or surveys) may allow a clinician or other healthcare professional to monitor patient 12 remotely. In some examples, IMD 16 may use a telemetry module to communicate with programmer 30 via a first wireless connection, and to communicate with access point 402 via a second wireless connection, e.g., at different times. In the example of FIG. 24, access point 402, programmer 30, server 44 and computing devices 404A-404N are interconnected, and able to communicate with each other through network 42. In some cases, one or more of access point 402, programmer 30, server 44 and computing devices 404A-404N may be coupled to network 42 via one or more wireless connections. IMD 324, programmer 30, server 44, and computing devices 404A-404N may each comprise one or more processors, such as one or more microprocessors, DSPs, ASICs, FPGAs, programmable logic circuitry, or the like, that may perform various functions and operations, such as those described herein.

[0083] Access point 402 may comprise a device that connects to network 42 via any of a variety of connections, such as telephone dial-up, digital subscriber line (DSL), or cable modem connections. In other examples, access point 402 may be coupled to network 42 through different forms of connections, including wired or wireless connections. In some examples, access point 402 may be co-located with patient 14 and may comprise one or more programming units and / or computing devices (e.g., one or more monitoring units) that may perform various functions and operations described herein. For example, access point 402 may include a homemonitoring unit that is co-located with patient 14 and that may monitor the activity of IMD 16. In some examples, server 44 or computing devices 404 may control or perform any of the various functions or operations described herein.

[0084] In some cases, server 44 may be configured to provide a secure storage site for archival of video information, therapy parameters, patient parameters, or other data that has been collected and generated from IMD 16 and / or programmer 30. Network 42 may comprise a local area network, wide area network, or global network, such as the Internet. The system of FIG. 4 may be implemented, in some aspects, with general network technology and functionality similar to that provide by the Medtronic CareLink® Network developed by Medtronic, Inc., of Minneapolis, MN.

[0085] FIG. 5 is a conceptual diagram illustrating example system 500 that includes networked server 504 configured to recent metrics / data 510A from programmer 30 and / or send metrics / data 510B to computing device 502 via network 42. Any of the movement tests, therapy adjustments, or other aspects may be performed remotely from a clinician or clinic using a system such as system 500. For example, using camera 306 and / or other sensors which may include a presence-sensitive display 520, programmer 30 may generate data representative of patient 12 during one or more movement tests. In some examples, programmer may generate metrics based on the sensed data and send that information to server 504 and / or directly to computing device 502 via network 42. In this manner, metrics / data 510A may be the same as, or different from, metrics / data 510B depending on whether server 504 processes or generates any part of metrics / data 510B. Computing device 502 which may be used by a clinician can generate commands 512A which may be directly sent to programmer 30 as commands 512B via network 42, or server 504 may modulate commands 512A to generate commands 512B.

[0086] Computing device 30 may be configured to connect to network 42 (e.g., a wired or wireless network). Although network 42 may be a single network, network 42 may be representative of two or more networks configured to provide network access to server 504 and / or repository 506.

[0087] Networked server 504 and repository 506 may each include one or more servers or databases, respectively. In this manner, networked server 504 and repository 506 may be embodied as any hardware necessary to store data and / or metrics or any other information related to the diagnosis, monitoring, and / or treatment of patient 12. Networked server 504 may include one or more servers, desktop computers, mainframes, minicomputers, or other computing devices capable of executing computer instructions and storing data. In some examples, functions attributable to networked server 504 herein may be attributed to respective different servers for respective functions. Repository 506 may include one or more memories, repositories, hard disks, or any other data storage device. In some examples, repository 506 may be included within networked server 504.

[0088] Repository 506 may be included in, or described as, cloud storage. In other words, EGM signal data, EGM summaries, patient reports, instructions, or any other such information may be stored in one or more locations in the cloud (e.g., one or more repositories 46).Networked server 504 may access the cloud and retrieve the appropriate data as necessary. In some examples, repository 506 may include Relational Database Management System (RDBMS) software. In one example, repository 506 may be a relational database and accessed using a Structured Query Language (SQL) interface that is well known in the art. Repository 506 may alternatively be stored on a separate networked computing device and accessed by networkedserver 504 through a network interface or system bus. Repository 506 may thus be an RDBMS, an Object Database Management System (ODBMS), Online Analytical Processing (OLAP) database, or any other suitable data management system.

[0089] FIG. 6 is a functional block diagram illustrating an example configuration of networked server 44 and repository 46 of FIG. 4. FIG. 5 illustrates only one particular example of server 44, and many other example embodiments of server 44 may be used in other instances. For example, server 44 may include additional components and run multiple different applications. Server 44 may be configured to generate metrics from data obtained during movement tests and, in some examples, suggest adjustments to one or more parameters that define stimulation therapy. For example, server 44 may be configured to perform some or all of the processes described with respect to FIGS. 7-17.

[0090] As shown in the specific example of FIG. 6, server 44 may include and / or house one or more processors 80, memory 82, a network interface 84, user interface 86, behavior identification module 88, and power source 90. Server 44 may be in communication with repository 46, such that repository 46 is located external of server 44. In other examples, repository 46 may include one or more storage devices within an enclosure of server 44. Server 44 may also include an operating system, which may include modules and / or applications that are executable by processors 80 and server 44. Each of components 80, 82, 84, 86, 88, and 90 may be interconnected (physically, communicatively, and / or operatively) for inter-component communications.

[0091] Processors 80, in one example, are configured to implement functionality and / or process instructions for execution within server 44, such as generating metrics of movement tests based on respective sensed information (e.g., image data and / or presence-sensitive display signals). For example, processors 80 may be capable of processing instructions stored in memory 82 or instructions stored in repository 46. These instructions may define or otherwise control the operation of server 44.

[0092] Memory 82, in one example, is configured to store information within server 44 during operation. Memory 82, in some examples, is described as a computer-readable storage medium. Memory 82 may also be described as a storage device or computer-readable storage device. In some examples, memory 82 is a temporary memory, meaning that a primary purpose of memory 82 is not long-term storage. However, memory 82 may also be described as non-transitory. Memory 82, in some examples, may be described as a volatile memory, meaning that memory 82 does not maintain stored contents when the computer is turned off. Examples of volatile memories include random access memories (RAM), dynamic random-access memories (DRAM), static random-access memories (SRAM), and other forms of volatile memories knownin the art. In some examples, memory 82 is used to store program instructions for execution by processors 80. Memory 82, in one example, is used by software or applications running on server 44 to temporarily store information during program execution. Although memory 82 of FIG. 5 is not described as including motion detection rules 98, movement test instructions 96, metrics 94, or video information 92 (e.g., image data), for example, memory 82 may store such instructions and other data in other examples.

[0093] Repository 46, in some examples, also includes one or more computer-readable storage media, such as one or more storage devices. Repository 46 may be configured to store larger amounts of information than memory 82. Repository 46 may further be configured for long-term storage of information. In some examples, repository 46 may include non-volatile storage elements. Examples of such non-volatile storage elements include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories.

[0094] Repository 46 may be configured to store information related to or collected from each of multiple patients. For example, repository 46 may be configured to store data collected from one or more patients as video information 92. Each patient, and each period of time during which video information was captured for each patient, may have separate memories or allocated space to store such data. Repository 46 may also store the metrics from movement tests generated for each patient. Repository 46 may also store additional data, such as movement parameter values, that is generated during the process of identifying patient behavior from video information.

[0095] Repository 46 may also include data used to allocate sample areas of respective anatomical regions represented within the plurality of frames of the video information and analyze the frames. For example, sample area information may include instructions for allocating, or determining, sample areas used to track anatomical region movement between frames of the captured video information. The instructions of sample area information may request a user to define a sample area corresponding to an anatomical region in a sample frame. In addition, sample area information may include instructions for automatically defining a supplemental sample area based on the location of the sample area defined by the user (e.g., the sample area may represent head 14 of patient 12 and the supplemental sample area may be torso 16 of patient 12). In some examples, sample area information may include instructions for automatically analyzing, or searching, the video frames of the captured video information for one or more frames suitable for defining a sample area. Repository 46 may also store any sample areas defined by user input and / or determined by server 44.

[0096] In addition, repository 46 may store additional rules and instructions used to identify patient behavior from video information. Motion detection rules 98 may include rules or instructions for processors 80 to determine motion of anatomical regions between frames of image data, such as video information. For example, motion detection rules 98 may instruct processors 80 to filter the captured pixels and generate a motion track map.

[0097] Server 44, in some examples, also includes a network interface 84. Server 44, in one example, utilizes network interface 84 to communicate with other computing devices (e.g., computing device 54 of FIG. 3), programmers (e.g., programmer 30 of FIG. 3), medical devices, or more networks, such as network 42 shown in FIG. 3. In this manner, server 44 may receive video information 50 and transmit information such as behavior information 50. Network interface 84 may be a network interface card, such as an Ethernet card or other wired interface. In other examples, network interface 84 may include an optical transceiver, a radio frequency transceiver, or any other type of device that can send and receive information. Other examples of such network interfaces may include Bluetooth, 3G and WiFi radios in mobile computing devices as well as USB. In some examples, server 44 utilizes network interface 84 to wirelessly communicate with another computing device (e.g., computing device 54 of FIG. 3) or other networked computing devices.

[0098] Server 44, in one example, also includes one or more user interfaces 86. User interface 86 may include a touch-sensitive and / or a presence-sensitive screen, mouse, a keyboard, a voice responsive system, camera, or any other type of device for detecting a command from a user. In one example, user interface 86 may include a touch-sensitive screen, sound card, a video graphics adapter card, or any other type of device for converting a signal into an appropriate form understandable to humans or machines. In addition, user interface 86 may include a speaker, a cathode ray tube (CRT) monitor, a liquid crystal display (LCD), or any other type of device that can generate intelligible output to a user.

[0099] Server 44, in some examples, includes one or more power sources 90, which provide power to server 44. Generally, power source 90 may utilize power obtained from a wall receptacle or other alternating current source. However, in other examples, power source 90, may include one or more rechargeable or non-rechargeable batteries (e.g., constructed from nickel-cadmium, lithium-ion, or other suitable material). In other examples, power source 90 may be a power source capable of providing stored power or voltage from another power source.

[0100] FIG. 7 is a flow diagram of an example technique for initiating and remotely performing one or more movement tests. As shown in FIG. 7, an example overall process may be used by processing circuitry 300 of programmer 30 to perform one or more movement tests using sensors such as camera 306. However, the process of FIG. 7 may alternatively beperformed by other devices and / or processing circuitry, such as processing circuitry 80 of remote server 44.

[0100] As shown in the example of FIG. 7, processing circuitry 300 can control user interface 304 of the mobile computing device (e.g., programmer 30) to deliver a notification to perform a movement test (700). Processing circuitry 300 can then receive, via user interface 304, user input to begin the one or more movement tests (702). Processing circuitry 300 can then control user interface 304 to present instructions for the movement test to be performed (704). During this period of time of the movement test, processing circuitry 300 can also control camera 306 to generate image data of the patient during the movement test (706). If the sensed data is not within an acceptable range (“NO” branch of block 708), processing circuitry 300 can again control user interface 304 to rerun the test and again present instructions for the movement test. If the sensed data is within the range (“YES” branch of block 708), processing circuitry 300 can finalize the generated data for the movement test. This finalization can include generate one or more metrics representative of the sensed data during the movement test.

[0101] If processing circuitry 300 is to perform another movement test (“YES” branch of block 710), processing circuitry 300 selects the next movement test (712) and then presents the new instructions for the new movement test (704). If processing circuitry 300 determines there are no other tests to be run (“NO” branch of block 710), processing circuitry 300 can control user interface 304 to display metrics (or just raw data) for the movement tests to be viewed by the user (712). Processing circuitry 300 can also transmit the metrics (and / or the raw sensed data) to a remote server or remote computer for review by a clinician or other entity (714). This process of FIG. 7 can be repeated periodically according to a schedule monitored by processing circuitry 300 or networked server 44 (for example) or in response to a request by a clinician, a request by a patient, or in response to a detected change with therapy or patient condition.

[0102] In some examples, the one or more metrics for each movement test may include a difference between certain criteria that may be indicative of the severity of the condition or some other aspect associated with the respective movement test. This may require the system to perform the movement tests during different conditions or activities of the patient. For example, for one, some, or all of the movement tests, processing circuitry 300 may be configured to determine at least one of a difference between stimulation therapy being on and off, a difference from one or more prior movement tests, a difference from an average patient of a population, a difference from an aged-match patient population average, a difference between a healthy person, a difference between different therapy modalities, or a difference between patients within a same Parkinson's scoring group. Any of these differences may provide insight on the progression ofthe condition, the severity of the condition, or how therapy may be improving (or not improving) that type of movement of the patient.

[0103] Example movement tests such as a finger stability test, a gait test, and a tremor quantification test have been described herein, other movement tests may additionally or alternatively be used. One example movement test is a spiral test in which the patient is asked to draw a presented spiral on the screen with his / her finger. The camera and / or other sensors (e.g., presence sensitive screen) of the device can then detect the movement of the finger with respect to the presented spiral on the screen. Processing circuitry 300 may analyze the finger movement to determine a deviation metric and / or speed metric (or combination metric) that is indicative of the deviation of the finger movement from the presented spiral. Greater deviation and / or slower speed may be indicative of tremor or other movement disorder of the patient. Another example movement test may be an eye plinking test. In this test, the patient may be asked to look at the screen or into the camera of the device so that the device can detect the frequency (or number) of blinks within a predetermined period of time. For example, lower frequency of blinks may be indicative of patients with Parkinson’s Disease.

[0104] In some examples, one or more movement tests described herein may be used to determine severity of Parkinson’s Disease (PD) or some other disorder. For example, processing circuitry 300 may be configured to assess the severity of PD for the patient using a model that incorporates the one or more movement disorders (e.g., one or more of a finger stability test, a gait test, and a tremor quantification test). For example, each of the movement tests may be assigned the resulting metrics for the respective test, and processing circuitry 300 may apply the metrics to the model. In some examples the movement tests in the model may be assigned different weights in order for certain tests to have more impact on the resulting severity of PD from the model. The weights may be determined empirically from PD population information, patient specific information, or any other data. In some examples, the model may be a machine learning model that is trained on metrics of the different movement tests from patients within the training data.

[0105] In addition, or alternatively, to the severity score, the movement test metrics may be used as feedback (e.g., closed-loop control) of one or more parameters that define therapy. The therapy may include medication, so the feedback may impact recommended medication changes based on the metrics of the one or more movement tests. In some examples, the therapy may include electrical stimulation therapy, where processing circuitry 300 or other device may automatically adjust one or more parameters that define electrical stimulation therapy based on the one or more metrics (and / or the severity score) from the movement tests.

[0106] In some examples, the movement tests described herein may enable processing circuitry 300, a remote server, or some other device of a distributed system to determine different parameter values for electrical stimulation at different times of day and / or for different activities of the patient. For example, the system may identify different programs (e.g., sets of parameter values defining stimulation) for different situations. In one example, a program may be determined and used by IMD 16 to deliver stimulation targeting decreasing gait rigidity during the day. A different program may be activated at another time of day that is targeting reduced tremor so that the patient can hold a remote to watch television, type on a keyboard, eat, or even play a musical instrument, as some examples. In some examples, IMD 16 may cycle through these different programs at predetermined times of day and / or in response to user request to shift to a different program for a desired activity.

[0107] FIG. 8 is a flow diagram of an example technique for initiating and remotely performing a gait test. As shown in FIG. 8, an example overall process may be used by processing circuitry 300 of programmer 30 to perform a gait test using sensors such as camera 306. However, the process of FIG. 8 may alternatively be performed by other devices and / or processing circuitry, such as processing circuitry 80 of remote server 44.

[0108] As shown in the example of FIG. 8, processing circuitry 300 can control user interface 304 of the mobile computing device (e.g., programmer 30) to deliver a notification to perform a gait test (800). Processing circuitry 300 can then receive, via user interface 304, user input to begin the gait tests (802). Processing circuitry 300 can then control user interface 304 to present instructions for the gait test to be performed (804). During this period of time of the movement test, processing circuitry 300 can also control camera 306 to generate image data of the patient during the gait test (806). Processing circuitry 300 can generate metrics or other data representative of the image data for processing, such as body mesh and pose estimation from the image data and determine one or more metrics representative of the detected gait of the patient (808). In some examples, the metrics may include representations of various aspects of the user during the gait test, such as the elevation of the toe of one or more feet from the ground, the angle within one or both knees, the angle from the tip of the toe - to the ground - to the heel, or any other distances, angles or shapes of limbs of the patient. Gait freeze, for example, may be determined when one or more of these metrics are compared to normal gait metrics and / or one or more thresholds of the respective metric.

[0109] If the sensed data or metrics are not within an acceptable range (“NO” branch of block 810), processing circuitry 300 can again control user interface 304 to rerun the gait test (812) and again present instructions for the gait test. If the sensed data is within the range (“YES” branch of block 810), processing circuitry 300 can finalize the generated data for the gaittest. This finalization can include generate one or more metrics representative of the sensed data during the gait test. For example, based on the body mesh and pose estimation, processing circuitry 300 can determine one or more scores of a Parkinson’s Disease rating scale for the patient. In some examples, these metrics may be indicative of essential tremor or some severity thereof.

[0110] Processing circuitry 300 can control user interface 304 to display metrics (or just raw data) for the gait test to be viewed by the user (814). Processing circuitry 300 can also transmit the metrics (and / or the raw sensed data) to a remote server or remote computer for review by a clinician or other entity (816). This process of FIG. 8 can be repeated periodically according to a schedule monitored by processing circuitry 300 or networked server 44 (for example) or in response to a request by a clinician, a request by a patient, or in response to a detected change with therapy or patient condition.[OHl] FIG. 9 is a conceptual diagram of an example finger-to-nose (FTN) test performed by a programmer. The finger-to-nose test (FNT) is an example of a finger stability test and is a basic and simple physical examination that can used to examine cerebellar function (bradykinesia or intention tremor). In the FNT, patients are prompted by programmer 30 to alternately touch their own nose 904 (e.g., an example anatomical landmark) and touch a visual target 906 displayed by programmer 30.

[0112] Programmer 30 may display visual target 906 and detect the location 908 on presence-sensitive display 304 that is touched by digit 902 (e.g., a finger). Programmer 30 may generate signals indicative of the distance between visual target 906 and location 908. In some examples, programmer 30 may change the location of visual target 906 during the test in order to track how the patient can adapt to different locations. In addition to the deviation from visual target 906, camera 306 may be configured to generate image data of digit 902 during the period of time of the test. From the image data, programmer 30 may be configured to identify trajectories 910A and 910B during each iteration of the movement. The shape of these trajectories may be indicative of the patient symptoms. In addition, programmer 30 may count the number of times that the patient can complete the movements within a period of time or how long it takes to perform a certain number of iterations. Therefore, programmer 30 can generate metrics of the FTN test which may include the speed of the movements, the accuracy of touch to visual target 906, the shape of the trajectories of digit 902, or other such information.

[0113] FIGS. 10 A, 10B, and 10C are conceptual diagrams of example trajectories detected during a FTN test. FIG. 10A indicates a direct shape 1002. FIG. 10B indicates a wandering shape 1004, and FIG. 10C indicates a vibratory shape 1006. Shapes of the trajectories that are less smooth and less direct may indicate symptoms of a movement disorder.

[0114] FIG. 10D is a flow diagram of an example technique for initiating and remotely performing a FTN test. As shown in FIG. 10D, an example overall process may be used by processing circuitry 300 of programmer 30 to perform a FTN test using sensors such as camera 306 and presence-sensitive display 304. However, the process of FIG. 10D may alternatively be performed by other devices and / or processing circuitry, such as processing circuitry 80 of remote server 44.

[0115] As shown in the example of FIG. 10D, processing circuitry 300 can control user interface 304 of the mobile computing device (e.g., programmer 30) to deliver a notification to perform a FTN test (1010). Processing circuitry 300 can then receive, via user interface 304, user input to begin the FTN tests (1012). Processing circuitry 300 can then control user interface 304 to present instructions for the FTN test to be performed (1014). During this period of time of the movement test, processing circuitry 300 can also control camera 306 to generate image data of the digit (or other body parts) during the FTN test (1016). Processing circuitry 300 can generate signals representative of digit presence with respect to the displayed visual target during the movement test (1018). In some examples, this sensed data or processed data may include a movement metric representative of movement of the digit detected at the presence-sensitive screen of display 304.

[0116] If the sensed data or metrics are not within an acceptable range (“NO” branch of block 1020), processing circuitry 300 can again control user interface 304 to rerun the FTN test (1022) and again present instructions for the FTN test. If the sensed data is within the range (“YES” branch of block 1020), processing circuitry 300 can finalize the generated data for the FTN test. This finalization can include generate one or more metrics representative of the sensed data during the FTN test. For example, processing circuitry 300 may determine, based on the generated signals, an accuracy metric of digit location with respect to a target location of the visual target displayed by the presence-sensitive display. Processing circuitry 300 may also determine, based on the image data from the camera, one or more trajectories of the digit between a user anatomical landmark and the presence-sensitive display during the period of time of the test. The one or more metrics may include, or represent, the number of times, the accuracy metric, and / or the one or more trajectories that indicate how the patient can move their finger. For example, greater deviation from a straight trajectory, deviation from touching the visual target, and / or slower movements, may all be indicative of greater instability and evidence of more severe movement disorders.

[0117] Processing circuitry 300 can control user interface 304 to display metrics (or just raw data) for the FTN test to be viewed by the user (1024). Processing circuitry 300 can also transmit the metrics (and / or the raw sensed data) to a remote server or remote computer for review by aclinician or other entity (1026). This process of FIG. 10D can be repeated periodically according to a schedule monitored by processing circuitry 300 or networked server 44 (for example) or in response to a request by a clinician, a request by a patient, or in response to a detected change with therapy or patient condition.

[0118] FIG. 11 A is a conceptual diagram of system 1100 in which an example finger stability test performed by a programmer. The finger stability test of FIG. 11 A is one example of a finger stability test and is a basic and simple physical examination that can used to examine cerebellar function (bradykinesia or intention tremor). In the finger stability test, patients are prompted by programmer 30 to trace visual target 1106 (e.g., a line, which could be straight or curved) displayed in display 304 with a digit, such as a finger. Programmer 30 is used as one example, but other devices with a display and one or more sensors may be used in other examples.

[0119] Programmer 30 may display visual target 1106 and detect the location of digit 1102 (e.g., a finger of the user) by camera 306. Camera 306 may be one sensor that can generate signals representative of the location of digit 1102, and using camera 306 may enable programmer 30 to track the movement 1110 of digit 1102 in free space to allow minor movements to be detected. In addition, or alternatively, other sensors may be used to generate signals representative of the location of digit 1102, such as a presence-sensitive display (e.g., tracking the touch of digit 1102 across display 304), infrared sensors, or any other type of sensors. In some examples, the signals generated for digit 1102 may track the location with respect to visual target 1106 to determine the deviation of the movement 1110 of digit 1102 from visual target 1106. In some examples, programmer 30 may change the location and / or shape of visual target 1106 during the test in order to track how the patient can adapt to different movements.

[0120] Processing circuity 300 may determine the movement metric based on captured data from camera 306 and / or other sensors. Processing circuitry 300 may analyze the captured data using one or more techniques, such as tracking the total time it took for digit 1102 to complete the task, the distance digit moved (e.g., total distance or deviation away (above or below) the visual target 1106, and / or the velocity digit 1102 had during the test. The distance moved, or deviated, from the shape of visual target 1106 may be the total distance moved (e.g., adding distance of all detected oscillations during the test), the maximum deviation from visual target 1106, or any other such indications of digit distance traveled. The velocity may be an average velocity during the time of the test, the maximum velocity during the test, and / or any other velocity representative of digit movement. Processing circuitry 300 may, for the example of image data from camera 306, count pixels digit 1102 moved to determine these aspects from the captured data to generate the movement metric. In some examples, processing circuity 300 mayterminate the test in response to determining that digit 1102 completed the trace, the user speaks that the test is done, processing circuitry 300 determines that sufficient data has been generated to determine the finger stability metric, or a time of the test has expired.

[0121] Processing circuitry 300 may generate a finger stability metric based on the one or more movement metrics. For example, the movement metric from the user can be compared to expected movement without a disorder. The finger stability metric may be a binary metric indicating a movement disorder, or no movement disorder, or the finger stability metric may indicate the severity of the movement disorder using a numerical scale, category, or other type of information.

[0122] In this manner, processing circuitry 300 may be configured to perform a finger stability test by at least controlling display to display 304 to display visual target 1106 and control one or more sensors, such as camera 306, to generate signals representative of locations of digit 1102 of a user. Processing circuitry 300 may then receive, from the one or more sensors, the signals representative of the locations 1110 of the digit 1102 and determine, based on the signals, a movement metric representative of movement of the digit detected by the one or more sensors during a period of time. Processing circuitry 300 can then determine, based on the movement metric, a finger stability metric representative of finger stability of digit of the user for the period of time and output a representation of finger stability metric (e.g., transmit the finger stability metric and / or display the metric on display 304). In some examples, processing circuitry 300 can determine the movement metric by at least determining a velocity of the digit during the period of time and / or determining a distance moved from the visual target during the period of time. Visual target 1106 may include a line (straight or curved), and programmer 30 can instruct the user to move digit 1102 along the line during the period of time.

[0123] FIG. 1 IB is a flow diagram of an example technique for initiating and remotely performing a finger stability test. As shown in FIG. 11B, an example overall process may be used by processing circuitry 300 of programmer 30 to perform a finger stability test using sensors such as camera 306 and display 304. However, the process of FIG. 11B may alternatively be performed by other devices and / or processing circuitry, such as processing circuitry 80 of remote server 44.

[0124] As shown in the example of FIG. 11B, processing circuitry 300 can control user interface 304 of the mobile computing device (e.g., programmer 30) to deliver a notification to perform a finger stability test (1120). Processing circuitry 300 can then receive, via user interface 304, user input to begin the finger stability test (1122). Processing circuitry 300 can then control user interface 304 to present instructions for the finger stability test to be performed (1124). During this period of time of the movement test, processing circuitry 300 can alsocontrol camera 306 to generate image data of the digit (or other body parts) during the finger stability test (1126). Processing circuitry 300 can generate signals representative of digit movement and / or presence with respect to the displayed visual target during the movement test (1128). In some examples, this sensed data or processed data may include a movement metric representative of movement of the digit detected by camera 306 and / or at the presence-sensitive screen of display 304. Various analytics of captured data may be used to determine the movement metric.

[0125] If the sensed data or metrics are not within an acceptable range (“NO” branch of block 1130), processing circuitry 300 can again control user interface 304 to rerun the finger stability test (1124) and again present instructions for the finger stability test. If the sensed data is within the range (“YES” branch of block 1130), processing circuitry 300 can finalize the generated data for the finger stability test. This finalization can include generate one or more metrics representative of the sensed data during the finger stability test. For example, greater deviation from the visual target and / or slower times may all be indicative of greater instability and evidence of more severe movement disorders.

[0126] Processing circuitry 300 can control user interface 304 to display metrics (or just raw data) for the finger stability test to be viewed by the user (1134). Processing circuitry 300 can also transmit the metrics (and / or the raw sensed data) to a remote server or remote computer for review by a clinician or other entity (1136). This process of FIG. 1 IB can be repeated periodically according to a schedule monitored by processing circuitry 300 or networked server 44 (for example) or in response to a request by a clinician, a request by a patient, or in response to a detected change with therapy or patient condition.

[0127] FIG. 12 is a conceptual diagram of an example tremor test remotely performed by a programmer. In some examples, image 1200 may be one of a set of images of video data, or image data, acquired by camera 306 of programmer 30 or another mobile computing device. Image 1200 indicates that a hand 1202 has been detected, and processing circuitry 300 has identified different major markers 1204 A indicative of major anatomical markers and different minor markers 1204B indicative of minor anatomical marker indicative of movement joints between major markers 1204A. Connections 1206 may also be determined which connect major markers 1204A and minor markers 1204B in order to track movement of the hand. Using multiple images 1200 over time, processing circuitry 300, or other device, may determine the movement of hand 1202 during a tremor test. Processing circuitry 300 may generate different metrics from this data, such as amplitude of the tremor, motion change, and / or frequency of the tremor. In some examples, a total tremor metric may be generated from these different movement metrics for the tremor test.

[0128] FIG. 13 is a flow diagram of an example technique for initiating and remotely performing a tremor test. As shown in FIG. 13, an example overall process may be used by processing circuitry 300 of programmer 30 to perform a tremor test using sensors such as camera 306. However, the process of FIG. 13 may alternatively be performed by other devices and / or processing circuitry, such as processing circuitry 80 of remote server 44.

[0129] As shown in the example of FIG. 13, processing circuitry 300 can control user interface 304 of the mobile computing device (e.g., programmer 30) to deliver a notification to perform a tremor test (1300). Processing circuitry 300 can then receive, via user interface 304, user input to begin the tremor test (1302). Processing circuitry 300 can then control user interface 304 to present instructions for the tremor test to be performed (1304). During this period of time of the movement test, processing circuitry 300 can also control camera 306 to generate image data of the hand (or other body parts) during the tremor test (1306). Processing circuitry 300 can generate metrics representative of the hand movement during the tremor test based on the processed image data (1308). In some examples, the metrics may include the amplitude of the tremor, frequency of the tremor, and / or motion direction change of the tremor.

[0130] If the sensed data or metrics are not within an acceptable range (“NO” branch of block 1310), processing circuitry 300 can again control user interface 304 to rerun the tremor test (1312) and again present instructions for the tremor test. If the sensed data is within the range (“YES” branch of block 1310), processing circuitry 300 can finalize the generated data for the tremor test. This finalization can include generate one or more metrics representative of the sensed data during the tremor test.

[0131] Processing circuitry 300 can control user interface 304 to display metrics (or just raw data) for the tremor test to be viewed by the user (1314). Processing circuitry 300 can also transmit the metrics (and / or the raw sensed data) to a remote server or remote computer for review by a clinician or other entity (1316). This process of FIG. 13 can be repeated periodically according to a schedule monitored by processing circuitry 300 or networked server 44 (for example) or in response to a request by a clinician, a request by a patient, or in response to a detected change with therapy or patient condition.

[0132] FIG. 14 is a flow diagram of an example technique for initiating and remotely conducting a patient survey associated with a movement disorder. As shown in FIG. 14, an example overall process may be used by processing circuitry 300 of programmer 30 to conduct a patient survey of subjective information related to symptoms. However, the process of FIG. 14 may alternatively be performed by other devices and / or processing circuitry, such as processing circuitry 80 of remote server 44.

[0133] As shown in the example of FIG. 14, processing circuitry 300 can control user interface 304 of the mobile computing device (e.g., programmer 30) to deliver a notification to conduct a patient survey (1400). Processing circuitry 300 can then receive, via user interface 304, user input to begin the patient survey (1402). Processing circuitry 300 can then control user interface 304 to present instructions for the patient survey to be performed (1404).

[0134] If the survey needs test data from any movement test (“YES” branch of block 1410), processing circuitry 300 can acquire test metrics (1412) and control user interface 304 to display the results of the patient survey to be viewed by the user (1414). Processing circuitry 300 can also transmit the results of the survey to a remote server or remote computer for review by a clinician or other entity (1416). This process of FIG. 14 can be repeated periodically according to a schedule monitored by processing circuitry 300 or networked server 44 (for example) or in response to a request by a clinician, a request by a patient, or in response to a detected change with therapy or patient condition.

[0135] FIG. 15 is a flow diagram of an example technique for initiating and remotely performing one or more movement tests and rerunning tests if needed. As shown in the example of FIG. 15, programmer can monitor the data from sensors during any movement test and rerun the test to improve the quality of the data. In the example of FIG. 15, an example overall process may be used by processing circuitry 300 of programmer 30 to perform the tests. However, the process of FIG. 15 may alternatively be performed by other devices and / or processing circuitry, such as processing circuitry 80 of remote server 44.

[0136] As shown in the example of FIG. 15, processing circuitry 300 can control user interface 304 of the mobile computing device (e.g., programmer 30) to deliver a notification to perform a movement test (1500) (e.g., gait test, finger stability test, etc.). Processing circuitry 300 can then receive, via user interface 304, user input to begin the movement test (1502).Processing circuitry 300 can then control user interface 304 to present instructions for the movement test to be performed (1504). During this period of time of the movement test, processing circuitry 300 can also control one or more sensors to acquire data (e.g., generate signals) during the movement test (1506).

[0137] If the user needs additional instructions (“YES” branch of block 1508), processing circuitry can again control user interface to present instructions for the movement test (1504). The trigger for these instructions may be an input by the user requesting instructions or automatically determining from the acquired data that the patient is not performing the test appropriately. If the sensed data or metrics are not within an acceptable range (“NO” branch of block 1510), processing circuitry 300 can again control user interface 304 to rerun the movement test (1512) and again present instructions for the finger stability test. If the sensed data is withinthe range (“YES” branch of block 1510), processing circuitry 300 can finalize the generated data (e.g., the results) for the movement test to a remote server. This finalization can include generate one or more metrics representative of the sensed data during the test. Processing circuitry 300 can also transmit the metrics (and / or the raw sensed data) to a remote server or remote computer for review by a clinician or other entity. The movement test is then re-performed in response to receiving clinician requests to rerun the movement test (1516).

[0138] In some examples, processing circuitry 300 may monitor the metrics of one or more movement tests over time. Processing circuitry 300 may store the metrics for different periods of time and compare a new metric with one or more previous metrics to determine trend information representative of the change in the metrics over the different periods of time. In some examples, processing circuitry 300 may generate graphs or even simply an indication of severity increasing or decreasing. Programmer 30 or another device may present this information to the user as desired.

[0139] FIG. 16 is a flow diagram illustrating an example process for controlling therapy based on metrics from one or more remotely performed movement tests. As shown in FIG. 16, an example overall process may be used by processing circuitry 300 of programmer 30 to analyze the efficacy of stimulation therapy using the metrics generated from one or more movement tests as described herein. However, the process of FIG. 16 may alternatively be performed by other devices and / or processing circuitry, such as processing circuitry 80 of remote server 44.

[0140] As shown in the example of FIG. 16, processing circuitry 300 can control user interface 304 of the mobile computing device (e.g., programmer 30) to perform one or more movement tests (1600). Processing circuitry 300 can then analyze one or more metrics from each movement test with respect to stimulation therapy data (1602). During this analysis, processing circuitry 300 can attempt to correlate the metrics to various stimulation activity and / or programs to identify therapy efficacy. If therapy is not effective at controlling the one or more movement disorders according to the metric(s) (“NO” branch of block 1604), processing circuitry 300 (or other processing circuitry) may adjust one or more therapy parameters that defines stimulation therapy in order to attempt to reduce the movement symptoms indicated by the movement test metrics (1606). Example adjustments may include increasing stimulation amplitude, changing electrode combinations, increasing the duty cycle of the stimulation pulses, or any other changes. Processing circuitry 300 can then control IMD 16 to deliver subsequent therapy according to the updated, or selected, therapy parameters (1608). Although electrical stimulation is described herein as one example, parameters of other therapies (e.g., medication schedule, medication dosage, etc.) may also be adjusted.

[0141] If therapy is effective at controlling the one or more movement disorders according to the metric(s) (“YES” branch of block 1604), processing circuitry can determine whether or not to perform another test (1610). If no additional test is needed at the time (“NO” branch of block 1610), processing circuitry 300 can control IMD 16 (or simply allow IMD 16 to continue) to deliver therapy (1608). If another test is needed at the time (“YES” branch of block 1610), processing circuitry 300 can again initiate performance of another movement test (1600).

[0142] FIG. 17 is a graph of example movement test metrics acquired over a plurality of different time periods. As shown in the example of FIG. 17, the metrics generated by the different movement tests may change over time and from day to day. These metrics may change due to disease progression, therapy efficacy, or other factors. However, this information can provide objecting information that can be used to improve patient therapy efficacy and outcomes. For example, symptom A is tremor, symptom B is rigidity, and symptom C is gait slowness. A certain medication in a certain individual, can decrease symptom A (tremor), but does increase symptom B (rigidity) slightly. Two days after the intake of the drug, symptom C (gait slowness) increases again. Before the medication, the physician can set timepoints on which the patient should be evaluated on all symptoms to elucidate the effect of the medication (e.g., every morning). The metrics can now show a decrease of tremor, slight increase of rigidity over time, and after two days gait is much slower. Based on these quantitative results, the clinician can adjust therapy and / or the system can suggest alternative parameter values that define stimulation or different drug dosages or timings.

[0143] This objective data generated from a quantifiable monitoring platform (e.g., using programmer 300 and movement tests) lies within the data representation that can give insight in the complex disease and medication / stimulation combination. As different medication / stimulation settings influence multiple symptoms (like tremor, rigidity, etc.), data collection on all these symptoms / parameters in a set of metrics can help clinicians understand the right stimulation setting, medication dose or time, etc.

[0144] Table 1 below indicates example metrics for different movement tests that can be generated for a patient. These different metrics can be analyzed and obtained periodically to monitor the progression of the patient. These metrics are shown as numerical on a scale of 1 to 6, but other metric scales may be used in other examples.MED DBS Day ENT ENT Gait Gait Gait Tremor Tremor Status Program Speed Trajectory Swing Strike Rigidity Freq. Amp OFF X 0 6 2 1 3 2 3 1 ON Y 1 2 3 1 6 1 6 4 ON Y 2 2 4 1 2 1 2 5ON Z 3 3 5 5 2 1 2 6 ON Z 4 1 5 2 3 2 1 5

[0145] In some examples, improved settings can be derived from the metrics. Determination of the improved setup can be based on least cumulative score, patient experience, situation, etc. From all this data, the system can utilize a feed-back loop and / or suggestive settings group to patients and / or medication consumption alarm, where setting Z indicates the best metrics.However, when Symptom A is worsening over time, setting Y is switched on or a medication needs to be consumed. Or after enough data acquisitions: when it is evening and the patient is mainly in rest, there is a setting switch to a setting which increases Gait rigidity but decreases hand tremor, allowing the patient to handle the TV remote.

[0146] This testing platform programmer 30 and remote monitoring can offer quantifiability of symptoms over (pre-set) time within a certain therapy protocol. This can result in metrics that can correlate therapy protocol, symptom parameters, and time to optimize the therapy. When enough data is collected on a patient, routines can be analyzed to adjust therapy protocol to patient specific needs.

[0147] The following examples are described herein.

[0148] Example 1. A method comprising: controlling, by processing circuitry, a user interface of a mobile computing device to deliver a notification to a user to perform at least one movement test; receiving, by the processing circuitry and via the user interface, user input requesting to begin the at least one movement test; responsive to receiving the user input, controlling, by the processing circuitry, the user interface to display a set of instructions for the at least one movement test during a period of time; controlling, by the processing circuitry, a camera of the mobile computing device to generate image data of the patient corresponding to the at least one movement test during the period of time; determining, by the processing circuitry and based on the image data, one or more metrics corresponding to the at least one movement test; controlling, by the processing circuitry, the user interface to display the one or more metrics of the at least one movement test; and controlling, by the processing circuitry, communication circuitry to transmit the one or more metrics to a remote server via a network.

[0149] Example 2. The method of example 1, wherein the at least one movement test comprises a finger stability test, a gait test, and a tremor quantification test.

[0150] Example 3. The method of any of examples 1 and 2, further comprising receiving, from the remote server and via the network, a command to deliver the notification.

[0151] Example 4. The method of any of examples 1 through 3, further comprising: monitoring a test schedule for the at least one movement test; and responsive to the test scheduleindicating to perform the at least one movement test, controlling the user interface to deliver the notification.

[0152] Example 5. The method of any of examples 1 through 4, further comprising determining, for each movement test of the at least one movement test, at least one of a difference between stimulation therapy being on and off, a difference from one or more prior movement tests, a difference from an average patient of a population, a difference from an aged-match patient population average, a difference between a healthy person, a difference between different therapy modalities, or a difference between patients within a same Parkinson's scoring group.

[0153] Example 6. The method of any of examples 1 through 5, wherein the at least one movement test comprises a finger stability test, and wherein, to perform the finger stability test, the method comprises: controlling a presence-sensitive display of the user interface to display a visual target, the presence-sensitive display configured to display information and generate signals representative of a presence of a digit of a user; receiving, from the presence-sensitive display, the signals representative of the presence of the digit; determining, based on the signals, a movement metric representative of movement of the digit detected at the presence-sensitive display during a period of time; determining, based on the movement metric, a finger stability metric representative of finger stability of digit of the user for the period of time.

[0154] Example 7. The method of any of examples 1 through 6, wherein the at least one movement test comprises a gait test, and wherein, to perform the gait test, the method comprises: controlling a presence-sensitive display of the user interface to display the set of instructions comprising to walk within a field of view of the camera; generate, from the image data of the user, a body mesh and pose estimation; and determine, based on the body mesh and pose estimation, scores of a Parkinson’s Disease rating scale.

[0155] Example 8. The method of any of examples 1 through 7, wherein the at least one movement test comprises a tremor quantification test, and wherein, to perform the tremor quantification test, the method comprises: controlling a presence-sensitive display of the user interface to display the set of instructions comprising to hold a hand within a field of view of the camera; detect, from the image data, a plurality of points associated with respective portions of the hand; determine, based on movement of a set of points of the plurality of points over a plurality of frames, an amplitude of tremor, a direction of motion associated with the tremor, and a frequency of the tremor; and determine, based on the amplitude of tremor, the direction of motion associated with the tremor, and the frequency of the tremor, a tremor metric representative of the tremor detected from the image data.

[0156] Example 9. The method of any of examples 1 through 8, wherein the period of time is a first period of time, and wherein the method further comprises: comparing the one or more metrics for the first period of time to a respective acceptable range; determining that at least one metric of the one or more metrics is outside of the respective acceptable range; and responsive to the determination, reperforming the at least one movement test.

[0157] Example 10. The method of any of examples 1 through 9, wherein the mobile computing device comprises the processing circuitry.

[0158] Example 11. The method of any of examples 1 through 10, wherein at least one of the processing circuitry or the remote server is configured to determine a Parkinson’s Disease severity score based on the one or more metrics of the at least one movement test.

[0159] Example 12. The method of any of examples 1 through 11, wherein at least one of the processing circuitry or the remote server is configured to adjust, based on the one or more metrics of the at least one movement test, a value of one or more parameters that at least partially define electrical stimulation therapy configured to treat one or more movement disorders.

[0160] Example 13. A system comprising: processing circuitry configured to: control a user interface of a mobile computing device to deliver a notification to a user to perform at least one movement test; receive, by the processing circuitry and via the user interface, user input requesting to begin the at least one movement test; responsive to receiving the user input, control the user interface to display a set of instructions for the at least one movement test during a period of time; control a camera of the mobile computing device to generate image data of the patient corresponding to the at least one movement test during the period of time; determine, based on the image data, one or more metrics corresponding to the at least one movement test; control the user interface to display the one or more metrics of the at least one movement test; and control communication circuitry to transmit the one or more metrics to a remote server via a network.

[0161] Example 14. The system of example 13, wherein the at least one movement test comprises a finger stability test, a gait test, and a tremor quantification test.

[0162] Example 15. The system of any of examples 13 and 14, further comprising receiving, from the remote server and via the network, a command to deliver the notification.

[0163] Example 16. The system of any of examples 13 through 15, further comprising: monitoring a test schedule for the at least one movement test; and responsive to the test schedule indicating to perform the at least one movement test, controlling the user interface to deliver the notification.

[0164] Example 17. The system of any of examples 13 through 16, further comprising determining, for each movement test of the at least one movement test, at least one of adifference between stimulation therapy being on and off, a difference from one or more prior movement tests, a difference from an average patient of a population, or a difference from an aged-match patient population average, a difference between a healthy person, a difference between different therapy modalities, or a difference between patients within a same Parkinson's scoring group.

[0165] Example 18. The system of any of examples 13 through 17, wherein the at least one movement test comprises a finger stability test, and wherein, to perform the finger stability test, the method comprises: controlling a presence-sensitive display of the user interface to display a visual target, the presence-sensitive display configured to display information and generate signals representative of a presence of a digit of a user; receiving, from the presence-sensitive display, the signals representative of the presence of the digit; determining, based on the signals, a movement metric representative of movement of the digit detected at the presence-sensitive display during a period of time; determining, based on the movement metric, a finger stability metric representative of finger stability of digit of the user for the period of time.

[0166] Example 19. The system of any of examples 13 through 18, wherein the at least one movement test comprises a gait test, and wherein, to perform the gait test, the method comprises: controlling a presence-sensitive display of the user interface to display the set of instructions comprising to walk within a field of view of the camera; generate, from the image data of the user, a body mesh and pose estimation; and determine, based on the body mesh and pose estimation, scores of a Parkinson’s Disease rating scale.

[0167] Example 20. The system of any of examples 13 through 19, wherein the at least one movement test comprises a tremor quantification test, and wherein, to perform the tremor quantification test, the method comprises: controlling a presence-sensitive display of the user interface to display the set of instructions comprising to hold a hand within a field of view of the camera; detect, from the image data, a plurality of points associated with respective portions of the hand; determine, based on movement of a set of points of the plurality of points over a plurality of frames, an amplitude of tremor, a direction of motion associated with the tremor, and a frequency of the tremor; and determine, based on the amplitude of tremor, the direction of motion associated with the tremor, and the frequency of the tremor, a tremor metric representative of the tremor detected from the image data.

[0168] Example 21. The system of any of examples 13 through 20, wherein the period of time is a first period of time, and wherein the method further comprises: comparing the one or more metrics for the first period of time to a respective acceptable range; determining that at least one metric of the one or more metrics is outside of the respective acceptable range; and responsive to the determination, reperforming the at least one movement test.

[0169] Example 22. A computer-readable storage medium comprising instructions that, when executed, cause processing circuitry to: control a user interface of a mobile computing device to deliver a notification to a user to perform at least one movement test; receive, by the processing circuitry and via the user interface, user input requesting to begin the at least one movement test; responsive to receiving the user input, control the user interface to display a set of instructions for the at least one movement test during a period of time; control a camera of the mobile computing device to generate image data of the patient corresponding to the at least one movement test during the period of time; determine, based on the image data, one or more metrics corresponding to the at least one movement test; control the user interface to display the one or more metrics of the at least one movement test; and control communication circuitry to transmit the one or more metrics to a remote server via a network.

[0170] Example 101. A method comprising: controlling, by processing circuitry, a display to display a visual target, the display configured to display information; controlling, by the processing circuitry, one or more sensors to generate signals representative of locations of a digit of a user; receiving, by the processing circuitry and from the one or more sensors, the signals representative of the locations of the digit; determining, based on the signals, a movement metric representative of movement of the digit detected by the one or more sensors during a period of time; determining, based on the movement metric, a finger stability metric representative of finger stability of digit of the user for the period of time; and outputting, by the processing circuitry, a representation of finger stability metric.

[0171] Example 102. The method of example 101, wherein determining the movement metric comprises: determining a velocity of the digit during the period of time; and determining a distance moved from the visual target during the period of time.

[0172] Example 103. The method of any of examples 101 or 102, wherein the visual target comprises a line, and wherein the user is instructed to move the digit along the line during the period of time.

[0173] Example 104. The method of any of examples 101 through 103, wherein the display is a presence-sensitive display and the one or more sensors comprises a camera, and wherein determining the movement metric comprises: determining, by the processing circuitry and based on the signals, a number of times the digit was detected at the presence-sensitive display during the period of time; determining, by the processing circuitry and based on the signals, an accuracy metric of digit location with respect to a target location of the visual target displayed by the presence-sensitive display; receiving, by the processing circuitry, image data generated by the camera; and determining, by the processing circuitry and based on the image data, one or more trajectories of the digit between a user anatomical landmark and the presence-sensitive displayduring the period of time; and wherein determining the finger stability metric comprises determining the finger stability metric based on the number of times, the accuracy metric, and the one or more trajectories.

[0174] Example 105. The method of example 104, wherein: determining the accuracy metric comprises determining at least one of an average distance between the target location and a plurality of respective digit locations, an accuracy difference compared to a previous period of time, or a distance difference compared to a previous average distance between the target location and a previously detected plurality of digit locations during a prior period of time, determining the number of times the digit was detected comprises counting the number of times, within the period of time, that a sequence of the digit to the anatomical landmark, the digit to the presence-sensitive display, and the digit back to the anatomical landmark, and determining the one or more trajectories comprises: determining, for each trajectory of the one or more trajectories, a plurality of vectors of movement of the digit within each respective frame of a plurality of frames from the image data; plotting the plurality of vectors in a three-dimensional coordinate system; and determining, from the plot, the trajectory for each respective trajectory of the one or more trajectories.

[0175] Example 106. The method of any of examples 101 through 105, wherein outputting the finger stability metric comprises controlling the display to present the finger stability metric as a numerical score.

[0176] Example 107. The method of any of examples 101 through 106, further comprising: retrieving stimulation therapy data associated with the period of time; determining a therapy efficacy metric based on the finger stability metric.

[0177] Example 108. The method of any of examples 101 through 107, further comprising receiving a command to initiate a test configured to determine the finger stability metric, wherein the command is received from one of a memory of a patient device comprising the processing circuitry or a remote server networked with the patient device.

[0178] Example 109. The method of any of examples 101 through 108, wherein outputting the finger stability metric comprises transmitting, by communication circuitry, the finger stability metric to a remote server via a network.

[0179] Example 110. The method of any of examples 101 through 109, wherein the period of time is a first period of time, and wherein the method further comprises: comparing at least the movement metric for the first period of time to a respective acceptable range; determining that the movement metric is outside of the respective acceptable range; and responsive to the determination, reacquiring the signals during a second period of time and redetermining, based on the reacquired signals, the movement metric for the second period of time.

[0180] Example 111. The method of any of examples 101 through 110, wherein a mobile computing device comprises the display, the one or more sensors, and the processing circuitry.

[0181] Example 112. The method of any of examples 101 through 111, further comprising determining at least one of a finger stability metric difference between stimulation therapy being on and off, a finger stability metric difference from one or more prior finger stability tests, a finger stability metric difference from an average patient of a population, a finger stability metric difference from an aged-match patient population average, a finger stability metric difference between a healthy person, a finger stability metric difference between different therapy modalities, or a finger stability metric difference between patients within a same Parkinson's scoring group.

[0182] Example 113. A system comprising: a display configured to display information; one or more sensors configured to generate signals representative of locations of a digit of a user; and processing circuitry configured to: control the display to display a visual target; control the one or more sensors to generate signals representative of the locations of the digit of the user; receive, from the one or more sensors, the signals representative of the locations of the digit; determine, based on the signals, a movement metric representative of movement of the digit detected by the one or more sensors during a period of time; determine, based on the movement metric, a finger stability metric representative of finger stability of digit of the user for the period of time; and output a representation of finger stability metric.

[0183] Example 114. The system of example 113, wherein the processing circuitry is configured to determine the movement metric by at least: determining a velocity of the digit during the period of time; and determining a distance moved from the visual target during the period of time.

[0184] Example 115. The system of any of examples 113 or 114, wherein the visual target comprises a line, and wherein the user is instructed to move the digit along the line during the period of time.

[0185] Example 116. The system of any of examples 113 through 115, wherein the display is a presence-sensitive display and the one or more sensors comprises a camera, and wherein the processing circuitry is configured to determine the movement metric by at least: determining, based on the signals, a number of times the digit was detected at the presence- sensitive display during the period of time; determining, based on the signals, an accuracy metric of digit location with respect to a target location of the visual target displayed by the presence-sensitive display; receiving image data generated by the camera; and determining, based on the image data, one or more trajectories of the digit between a user anatomical landmark and the presence-sensitive display during the period of time; and wherein the processing circuitry is configured to determinethe finger stability metric by at least determining the finger stability metric based on the number of times, the accuracy metric, and the one or more trajectories.

[0186] Example 117. The system of any of examples 113 through 116, wherein the processing circuitry is configured to receive a command to initiate a test configured to determine the finger stability metric, wherein the command is received from one of a memory of a patient device comprising the processing circuitry or a remote server networked with the patient device.

[0187] Example 118. The system of any of examples 112 through 117, wherein the processing circuitry is configured to output the finger stability metric by at least controlling communication circuitry to transmit the finger stability metric to a remote server via a network.

[0188] Example 119. The system of any of examples 112 through 117, wherein the period of time is a first period of time, and wherein the processing circuitry is configured to: compare at least the movement metric for the first period of time to a respective acceptable range; determine that the movement metric is outside of the respective acceptable range; and responsive to the determination, reacquire the signals during a second period of time and redetermining, based on the reacquired signals, the movement metric for the second period of time.

[0189] Example 120. The system of any of examples 113 through 119, further comprising a mobile computing device comprising the display, the one or more sensors, and the processing circuitry.

[0190] Example 121. A computer-readable storage medium comprising instructions that, when executed, cause processing circuitry to: control a display to display a visual target; control one or more sensors to generate signals representative of the locations of the digit of the user; receive, from the one or more sensors, the signals representative of the locations of the digit; determine, based on the signals, a movement metric representative of movement of the digit detected by the one or more sensors during a period of time; determine, based on the movement metric, a finger stability metric representative of finger stability of digit of the user for the period of time; and output a representation of finger stability metric.

[0191] The disclosure contemplates computer-readable storage media comprising instructions to cause a processor to perform any of the functions and techniques described herein. The computer-readable storage media may take the example form of any volatile, non-volatile, magnetic, optical, or electrical media, such as a RAM, ROM, NVRAM, EEPROM, or flash memory that is tangible. The computer-readable storage media may be referred to as non-transitory. A programmer, such as patient programmer or clinician programmer, or other computing device may also contain a more portable removable memory type to enable easy data transfer or offline data analysis.

[0192] The techniques described in this disclosure, including those attributed to server 44 and programmer 30, and various constituent components, may be implemented, at least in part, in hardware, software, firmware or any combination thereof. For example, various aspects of the techniques may be implemented within one or more processors, including one or more microprocessors, DSPs, ASICs, FPGAs, or any other equivalent integrated or discrete logic circuitry, as well as any combinations of such components, embodied in programmers, such as physician or patient programmers, stimulators, remote servers, or other devices. The term “processor” or “processing circuitry” may generally refer to any of the foregoing logic circuitry, alone or in combination with other logic circuitry, or any other equivalent circuitry.

[0193] Such hardware, software, firmware may be implemented within the same device or within separate devices to support the various operations and functions described in this disclosure. For example, any of the techniques or processes described herein may be performed within one device or at least partially distributed amongst two or more devices, such as between programmer 30 and server 44. In addition, any of the described units, modules or components may be implemented together or separately as discrete but interoperable logic devices. Depiction of different features as modules or units is intended to highlight different functional aspects and does not necessarily imply that such modules or units must be realized by separate hardware or software components. Rather, functionality associated with one or more modules or units may be performed by separate hardware or software components, or integrated within common or separate hardware or software components.

[0194] The techniques described in this disclosure may also be embodied or encoded in an article of manufacture including a computer-readable storage medium encoded with instructions. Instructions embedded or encoded in an article of manufacture including a computer-readable storage medium encoded, may cause one or more programmable processors, or other processors, to implement one or more of the techniques described herein, such as when instructions included or encoded in the computer-readable storage medium are executed by the one or more processors. Example computer-readable storage media may include random access memory (RAM), read only memory (ROM), programmable read only memory (PROM), erasable programmable read only memory (EPROM), electronically erasable programmable read only memory (EEPROM), flash memory, a hard disk, a compact disc ROM (CD-ROM), a floppy disk, a cassette, magnetic media, optical media, or any other computer readable storage devices or tangible computer readable media. The computer-readable storage medium may also be referred to as storage devices.

[0195] In some examples, a computer-readable storage medium comprises non-transitory medium. The term “non-transitory” may indicate that the storage medium is not embodied in acarrier wave or a propagated signal. In certain examples, a non -transitory storage medium may store data that can, over time, change (e.g., in RAM or cache).

[0196] Various examples have been described herein. Any combination of the described operations or functions is contemplated. These and other examples are within the scope of the following claims.

Claims

WHAT IS CLAIMED IS:

1. A system comprising:a display configured to display information;one or more sensors configured to generate signals representative of locations of a digit of a user; andprocessing circuitry configured to:control the display to display a visual target;control the one or more sensors to generate signals representative of the locations of the digit of the user;receive, from the one or more sensors, the signals representative of the locations of the digit;determine, based on the signals, a movement metric representative of movement of the digit detected by the one or more sensors during a period of time;determine, based on the movement metric, a finger stability metric representative of finger stability of digit of the user for the period of time; andoutput a representation of finger stability metric.

2. The system of claim 1, wherein the processing circuitry is configured to determine the movement metric by at least:determining a velocity of the digit during the period of time; anddetermining a distance moved from the visual target during the period of time3. The system of any of claims 1 or 2, wherein the visual target comprises a line, and wherein the user is instructed to move the digit along the line during the period of time.

4. The system of any of claims 1 through 3, wherein the display is a presence-sensitive display and the one or more sensors comprises a camera, and wherein the processing circuitry is configured to determine the movement metric by at least:determining, based on the signals, a number of times the digit was detected at the presence-sensitive display during the period of time;determining, based on the signals, an accuracy metric of digit location with respect to a target location of the visual target displayed by the presence-sensitive display;receiving image data generated by the camera; anddetermining, based on the image data, one or more trajectories of the digit between a user anatomical landmark and the presence-sensitive display during the period of time; and wherein the processing circuitry is configured to determine the finger stability metric by at least determining the finger stability metric based on the number of times, the accuracy metric, and the one or more trajectories.

5. The system of claim 4, wherein the processing circuitry is configured to:determine the accuracy metric by at least determining at least one of an average distance between the target location and a plurality of respective digit locations, an accuracy difference compared to a previous period of time, or a distance difference compared to a previous average distance between the target location and a previously detected plurality of digit locations during a prior period of time,determine the number of times the digit was detected by at least counting the number of times, within the period of time, that a sequence of the digit to the anatomical landmark, the digit to the presence-sensitive display, and the digit back to the anatomical landmark, and determine the one or more trajectories by at least:determining, for each trajectory of the one or more trajectories, a plurality of vectors of movement of the digit within each respective frame of a plurality of frames from the image data;plotting the plurality of vectors in a three-dimensional coordinate system; and determining, from the plot, the trajectory for each respective trajectory of the one or more trajectories.

6. The system of any of claims 1 through 5, wherein the processing circuitry is configured to output the finger stability metric by at least controlling the display to present the finger stability metric as a numerical score.

7. The system of any of claims 1 through 6, wherein the processing circuitry is configured to:retrieve stimulation therapy data associated with the period of time;determine a therapy efficacy metric based on the finger stability metric.

8. The system of any of claims 1 through 7, wherein the processing circuitry is configured to receive a command to initiate a test configured to determine the finger stability metric, whereinthe command is received from one of a memory of a patient device comprising the processing circuitry or a remote server networked with the patient device.

9. The system of any of claims 1 through 8, wherein the processing circuitry is configured to output the finger stability metric by at least controlling communication circuitry to transmit the finger stability metric to a remote server via a network.

10. The system of any of claims 1 through 9, wherein the period of time is a first period of time, and wherein the processing circuitry is configured to:compare at least the movement metric for the first period of time to a respective acceptable range;determine that the movement metric is outside of the respective acceptable range; and responsive to the determination, reacquire the signals during a second period of time and redetermining, based on the reacquired signals, the movement metric for the second period of time.

11. The system of any of claims 1 through 10, further comprising a mobile computing device comprising the display, the one or more sensors, and the processing circuitry.

12. The system of any of claims 1 through 11, wherein the processing circuitry is configured to determine at least one of:a finger stability metric difference between stimulation therapy being on and off, or a finger stability metric difference between different therapy modalities.

13. The system of any of claims 1 through 12, wherein the processing circuitry is configured to determine a finger stability metric difference from one or more prior finger stability tests.

14. The system of any of claims 1 through 13, wherein the processing circuitry is configured to determine at least one of:a finger stability metric difference from an average patient of a population,a finger stability metric difference from an aged-match patient population average, a finger stability metric difference between a healthy person, ora finger stability metric difference between patients within a same Parkinson's scoring group.

15. A computer-readable storage medium comprising instructions that, when executed, cause the processing circuitry to perform the function of any of claims 1 through 14.

Citation Information

Patent Citations

  • Movement disorder therapy system and methods of tuning remotely, intelligently and / or automatically

    US10092754B1

  • Methods for the diagnosis and treatment of neurological disorders

    US10176299B2

  • Sensor measurement for motor control

    US11771344B2